diff --git a/.github/workflows/compile-queries.yml b/.github/workflows/compile-queries.yml index 36171543cac..c8f6301bb53 100644 --- a/.github/workflows/compile-queries.yml +++ b/.github/workflows/compile-queries.yml @@ -17,9 +17,41 @@ permissions: contents: read jobs: - compile-queries: + detect-changes: if: github.repository_owner == 'github' + runs-on: ubuntu-latest + outputs: + languages: ${{ steps.detect.outputs.languages }} + steps: + - uses: actions/checkout@v5 + - name: Detect changed languages + id: detect + run: | + if [[ "${{ github.event_name }}" == "pull_request" ]]; then + # For PRs, detect which languages have changes + changed_files=$(gh pr view ${{ github.event.pull_request.number }} --json files --jq '.files.[].path') + languages=() + for lang in actions cpp csharp go java javascript python ql ruby rust swift; do + if echo "$changed_files" | grep -qE "^($lang/|shared/)" ; then + languages+=("$lang") + fi + done + echo "languages=$(jq -c -n '$ARGS.positional' --args "${languages[@]}")" >> $GITHUB_OUTPUT + else + # For pushes to main/rc branches, run all languages + echo 'languages=["actions","cpp","csharp","go","java","javascript","python","ql","ruby","rust","swift"]' >> $GITHUB_OUTPUT + fi + env: + GH_TOKEN: ${{ github.token }} + + compile-queries: + needs: detect-changes + if: github.repository_owner == 'github' && needs.detect-changes.outputs.languages != '[]' runs-on: ubuntu-latest-xl + strategy: + fail-fast: false + matrix: + language: ${{ fromJson(needs.detect-changes.outputs.languages) }} steps: - uses: actions/checkout@v5 @@ -31,16 +63,16 @@ jobs: id: query-cache uses: ./.github/actions/cache-query-compilation with: - key: all-queries + key: ${{ matrix.language }}-queries - name: check formatting - run: find shared */ql -type f \( -name "*.qll" -o -name "*.ql" \) -print0 | xargs -0 -n 3000 -P 10 codeql query format -q --check-only + run: find shared ${{ matrix.language }}/ql -type f \( -name "*.qll" -o -name "*.ql" \) -print0 | xargs -0 -n 3000 -P 10 codeql query format -q --check-only - name: compile queries - check-only # run with --check-only if running in a PR (github.sha != main) if : ${{ github.event_name == 'pull_request' }} shell: bash - run: codeql query compile -q -j0 */ql/{src,examples} --keep-going --warnings=error --check-only --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 --ram=56000 + run: codeql query compile -q -j0 ${{ matrix.language }}/ql/{src,examples} --keep-going --warnings=error --check-only --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 --ram=56000 - name: compile queries - full # do full compile if running on main - this populates the cache if : ${{ github.event_name != 'pull_request' }} shell: bash - run: codeql query compile -q -j0 */ql/{src,examples} --keep-going --warnings=error --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 --ram=56000 + run: codeql query compile -q -j0 ${{ matrix.language }}/ql/{src,examples} --keep-going --warnings=error --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" --compilation-cache-size=500 --ram=56000 diff --git a/actions/ql/examples/codeql-pack.lock.yml b/actions/ql/examples/codeql-pack.lock.yml new file mode 100644 index 00000000000..53004274575 --- /dev/null +++ b/actions/ql/examples/codeql-pack.lock.yml @@ -0,0 +1,4 @@ +--- +lockVersion: 1.0.0 +dependencies: {} +compiled: false diff --git a/actions/ql/examples/qlpack.yml b/actions/ql/examples/qlpack.yml new file mode 100644 index 00000000000..45be7ae0135 --- /dev/null +++ b/actions/ql/examples/qlpack.yml @@ -0,0 +1,7 @@ +name: codeql/actions-examples +groups: + - actions + - examples +dependencies: + codeql/actions-all: ${workspace} +warnOnImplicitThis: true diff --git a/actions/ql/examples/snippets/uses_pinned_sha.ql b/actions/ql/examples/snippets/uses_pinned_sha.ql new file mode 100644 index 00000000000..84b2cdae0fd --- /dev/null +++ b/actions/ql/examples/snippets/uses_pinned_sha.ql @@ -0,0 +1,12 @@ +/** + * @name Uses step with pinned SHA + * @description Finds 'uses' steps where the version is a pinned SHA. + * @id actions/examples/uses-pinned-sha + * @tags example + */ + +import actions + +from UsesStep uses +where uses.getVersion().regexpMatch("^[A-Fa-f0-9]{40}$") +select uses, "This 'uses' step has a pinned SHA version." diff --git a/actions/ql/lib/CHANGELOG.md b/actions/ql/lib/CHANGELOG.md index 4713be3d4f5..1759333d659 100644 --- a/actions/ql/lib/CHANGELOG.md +++ b/actions/ql/lib/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.4.26 + +### Major Analysis Improvements + +* The query `actions/code-injection/medium` has been updated to include results which were incorrectly excluded while filtering out results that are reported by `actions/code-injection/critical`. + +## 0.4.25 + +No user-facing changes. + ## 0.4.24 No user-facing changes. diff --git a/actions/ql/lib/change-notes/released/0.4.25.md b/actions/ql/lib/change-notes/released/0.4.25.md new file mode 100644 index 00000000000..b6bf0f1e3ab --- /dev/null +++ b/actions/ql/lib/change-notes/released/0.4.25.md @@ -0,0 +1,3 @@ +## 0.4.25 + +No user-facing changes. diff --git a/actions/ql/lib/change-notes/2025-11-28-fix-code-injection-alert-filtering.md b/actions/ql/lib/change-notes/released/0.4.26.md similarity index 81% rename from actions/ql/lib/change-notes/2025-11-28-fix-code-injection-alert-filtering.md rename to actions/ql/lib/change-notes/released/0.4.26.md index b80ef77c2bc..80962fa638e 100644 --- a/actions/ql/lib/change-notes/2025-11-28-fix-code-injection-alert-filtering.md +++ b/actions/ql/lib/change-notes/released/0.4.26.md @@ -1,4 +1,5 @@ ---- -category: majorAnalysis ---- +## 0.4.26 + +### Major Analysis Improvements + * The query `actions/code-injection/medium` has been updated to include results which were incorrectly excluded while filtering out results that are reported by `actions/code-injection/critical`. diff --git a/actions/ql/lib/codeql-pack.release.yml b/actions/ql/lib/codeql-pack.release.yml index b26f62aec37..06a4605c767 100644 --- a/actions/ql/lib/codeql-pack.release.yml +++ b/actions/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.4.24 +lastReleaseVersion: 0.4.26 diff --git a/actions/ql/lib/qlpack.yml b/actions/ql/lib/qlpack.yml index 2ef4b7765bf..27d4fa665e9 100644 --- a/actions/ql/lib/qlpack.yml +++ b/actions/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-all -version: 0.4.25-dev +version: 0.4.27-dev library: true warnOnImplicitThis: true dependencies: diff --git a/actions/ql/src/CHANGELOG.md b/actions/ql/src/CHANGELOG.md index 9a9f8964755..f667d284185 100644 --- a/actions/ql/src/CHANGELOG.md +++ b/actions/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.6.18 + +No user-facing changes. + +## 0.6.17 + +No user-facing changes. + ## 0.6.16 No user-facing changes. diff --git a/actions/ql/src/change-notes/released/0.6.17.md b/actions/ql/src/change-notes/released/0.6.17.md new file mode 100644 index 00000000000..8f59252451e --- /dev/null +++ b/actions/ql/src/change-notes/released/0.6.17.md @@ -0,0 +1,3 @@ +## 0.6.17 + +No user-facing changes. diff --git a/actions/ql/src/change-notes/released/0.6.18.md b/actions/ql/src/change-notes/released/0.6.18.md new file mode 100644 index 00000000000..77cbff5698a --- /dev/null +++ b/actions/ql/src/change-notes/released/0.6.18.md @@ -0,0 +1,3 @@ +## 0.6.18 + +No user-facing changes. diff --git a/actions/ql/src/codeql-pack.release.yml b/actions/ql/src/codeql-pack.release.yml index 169788bff08..b694a16787b 100644 --- a/actions/ql/src/codeql-pack.release.yml +++ b/actions/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.6.16 +lastReleaseVersion: 0.6.18 diff --git a/actions/ql/src/qlpack.yml b/actions/ql/src/qlpack.yml index 51286147674..e93b555f030 100644 --- a/actions/ql/src/qlpack.yml +++ b/actions/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-queries -version: 0.6.17-dev +version: 0.6.19-dev library: false warnOnImplicitThis: true groups: [actions, queries] diff --git a/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/exprs.ql b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/exprs.ql new file mode 100644 index 00000000000..661e1680456 --- /dev/null +++ b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/exprs.ql @@ -0,0 +1,17 @@ +class Expr extends @expr { + string toString() { none() } +} + +class Location extends @location_default { + string toString() { none() } +} + +predicate isExprWithNewBuiltin(Expr expr) { + exists(int kind | exprs(expr, kind, _) | 394 <= kind and kind <= 396) +} + +from Expr expr, int kind, int kind_new, Location location +where + exprs(expr, kind, location) and + if isExprWithNewBuiltin(expr) then kind_new = 1 else kind_new = kind +select expr, kind_new, location diff --git a/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/old.dbscheme b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/old.dbscheme new file mode 100644 index 00000000000..1402ab319d2 --- /dev/null +++ b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/old.dbscheme @@ -0,0 +1,2479 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/1402ab319d20cdc9289deb7bfc1c70f36be44d44/semmlecode.cpp.dbscheme b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..d2d611b3fdc --- /dev/null +++ b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/semmlecode.cpp.dbscheme @@ -0,0 +1,2469 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/1402ab319d20cdc9289deb7bfc1c70f36be44d44/upgrade.properties b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/upgrade.properties new file mode 100644 index 00000000000..08afc1981d7 --- /dev/null +++ b/cpp/downgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/upgrade.properties @@ -0,0 +1,4 @@ +description: Add new builtin operations and this parameter access table +compatibility: partial +exprs.rel: run exprs.qlo +param_ref_to_this.rel: delete diff --git a/cpp/downgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/old.dbscheme b/cpp/downgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/old.dbscheme new file mode 100644 index 00000000000..83100310bf7 --- /dev/null +++ b/cpp/downgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/old.dbscheme @@ -0,0 +1,2483 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/semmlecode.dbscheme b/cpp/downgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/semmlecode.dbscheme new file mode 100644 index 00000000000..1402ab319d2 --- /dev/null +++ b/cpp/downgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/semmlecode.dbscheme @@ -0,0 +1,2479 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/upgrade.properties b/cpp/downgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/cpp/downgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/old.dbscheme b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/old.dbscheme new file mode 100644 index 00000000000..9439176c1d1 --- /dev/null +++ b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/old.dbscheme @@ -0,0 +1,2489 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 17 = @ppd_embed +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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 +); + +embeds( + unique int id: @ppd_embed ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/9439176c1d1312787926458dd54d65a849069118/preprocdirects.ql b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/preprocdirects.ql new file mode 100644 index 00000000000..c8f927943bd --- /dev/null +++ b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/preprocdirects.ql @@ -0,0 +1,13 @@ +class PreprocessorDirective extends @preprocdirect { + string toString() { none() } +} + +class Location extends @location_default { + string toString() { none() } +} + +from PreprocessorDirective ppd, int kind, int kind_new, Location l +where + preprocdirects(ppd, kind, l) and + if kind = 17 then kind_new = /* ppd_warning */ 18 else kind_new = kind +select ppd, kind_new, l diff --git a/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/semmlecode.cpp.dbscheme b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..83100310bf7 --- /dev/null +++ b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/semmlecode.cpp.dbscheme @@ -0,0 +1,2483 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/9439176c1d1312787926458dd54d65a849069118/upgrade.properties b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/upgrade.properties new file mode 100644 index 00000000000..a1d5935c29b --- /dev/null +++ b/cpp/downgrades/9439176c1d1312787926458dd54d65a849069118/upgrade.properties @@ -0,0 +1,4 @@ +description: Support embed preprocessor directive +compatibility: partial +embeds.rel: delete +preprocdirects.rel: run preprocdirects.qlo diff --git a/cpp/downgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/old.dbscheme b/cpp/downgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/old.dbscheme new file mode 100644 index 00000000000..d2d611b3fdc --- /dev/null +++ b/cpp/downgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/old.dbscheme @@ -0,0 +1,2469 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/semmlecode.cpp.dbscheme b/cpp/downgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..a42ce5fc943 --- /dev/null +++ b/cpp/downgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/semmlecode.cpp.dbscheme @@ -0,0 +1,2469 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/upgrade.properties b/cpp/downgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/upgrade.properties new file mode 100644 index 00000000000..233ff863eca --- /dev/null +++ b/cpp/downgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/upgrade.properties @@ -0,0 +1,2 @@ +description: Remove _Decimal{32,64,128} types +compatibility: full diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index e0c8b287adc..a626fec99ae 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,31 @@ +## 7.0.0 + +### Breaking Changes + +* The `_Decimal32`, `_Decimal64`, and `_Decimal128` types are no longer exposed as builtin types. Support for these gcc-specific types was incomplete, and are generally not used in C/C++ codebases. + +### Deprecated APIs + +* The `OverloadedArrayExpr::getArrayOffset/0` predicate has been deprecated. Use `OverloadedArrayExpr::getArrayOffset/1` and `OverloadedArrayExpr::getAnArrayOffset` instead. + +### New Features + +* Added subclasses of `BuiltInOperations` for the `__is_bitwise_cloneable`, `__is_invocable`, and `__is_nothrow_invocable` builtin operations. +* Added a `isThisAccess` predicate to `ParamAccessForType` that holds when the access is to the implicit object parameter. +* Predicates `getArrayOffset/1` and `getAnArrayOffset` have been added to the `OverloadedArrayExpr` class to support C++23 multidimensional subscript operators. + +### Minor Analysis Improvements + +* Some constants will now be represented by their unfolded expression trees. The `isConstant` predicate of `Expr` will no longer yield a result for those constants. + +### Bug Fixes + +* Fixed a bug in the `DataFlow::BarrierGuard<...>::getABarrierNode` predicate which caused the predicate to return `DataFlow::Node`s with incorrect indirections. If you use `getABarrierNode` to implement barriers in a dataflow/taint-tracking query it may result in more query results. You can use `DataFlow::BarrierGuard<...>::getAnIndirectBarrierNode` to remove those query results. + +## 6.1.4 + +No user-facing changes. + ## 6.1.3 No user-facing changes. diff --git a/cpp/ql/lib/change-notes/2026-01-02-constant-folding.md b/cpp/ql/lib/change-notes/2026-01-02-constant-folding.md deleted file mode 100644 index 8ac0f91b939..00000000000 --- a/cpp/ql/lib/change-notes/2026-01-02-constant-folding.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Some constants will now be represented by their unfolded expression trees. The `isConstant` predicate of `Expr` will no longer yield a result for those constants. diff --git a/cpp/ql/lib/change-notes/2026-01-19-embed.md b/cpp/ql/lib/change-notes/2026-01-19-embed.md new file mode 100644 index 00000000000..26d495277b5 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-01-19-embed.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added a subclass `Embed` of `PreprocessorDirective` for C23 and C++26 `#embed` preprocessor directives. diff --git a/cpp/ql/lib/change-notes/2026-01-19-parameterized-barrier-guard.md b/cpp/ql/lib/change-notes/2026-01-19-parameterized-barrier-guard.md new file mode 100644 index 00000000000..4f2d754c0b8 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-01-19-parameterized-barrier-guard.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added modules `DataFlow::ParameterizedBarrierGuard` and `DataFlow::ParameterizedInstructionBarrierGuard`. These modules provide the same features as `DataFlow::BarrierGuard` and `DataFlow::InstructionBarrierGuard`, but allow for an additional parameter to support properly using them in dataflow configurations that uses flow states. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/released/6.1.4.md b/cpp/ql/lib/change-notes/released/6.1.4.md new file mode 100644 index 00000000000..7c4728fafa4 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/6.1.4.md @@ -0,0 +1,3 @@ +## 6.1.4 + +No user-facing changes. diff --git a/cpp/ql/lib/change-notes/released/7.0.0.md b/cpp/ql/lib/change-notes/released/7.0.0.md new file mode 100644 index 00000000000..737d9def38a --- /dev/null +++ b/cpp/ql/lib/change-notes/released/7.0.0.md @@ -0,0 +1,23 @@ +## 7.0.0 + +### Breaking Changes + +* The `_Decimal32`, `_Decimal64`, and `_Decimal128` types are no longer exposed as builtin types. Support for these gcc-specific types was incomplete, and are generally not used in C/C++ codebases. + +### Deprecated APIs + +* The `OverloadedArrayExpr::getArrayOffset/0` predicate has been deprecated. Use `OverloadedArrayExpr::getArrayOffset/1` and `OverloadedArrayExpr::getAnArrayOffset` instead. + +### New Features + +* Added subclasses of `BuiltInOperations` for the `__is_bitwise_cloneable`, `__is_invocable`, and `__is_nothrow_invocable` builtin operations. +* Added a `isThisAccess` predicate to `ParamAccessForType` that holds when the access is to the implicit object parameter. +* Predicates `getArrayOffset/1` and `getAnArrayOffset` have been added to the `OverloadedArrayExpr` class to support C++23 multidimensional subscript operators. + +### Minor Analysis Improvements + +* Some constants will now be represented by their unfolded expression trees. The `isConstant` predicate of `Expr` will no longer yield a result for those constants. + +### Bug Fixes + +* Fixed a bug in the `DataFlow::BarrierGuard<...>::getABarrierNode` predicate which caused the predicate to return `DataFlow::Node`s with incorrect indirections. If you use `getABarrierNode` to implement barriers in a dataflow/taint-tracking query it may result in more query results. You can use `DataFlow::BarrierGuard<...>::getAnIndirectBarrierNode` to remove those query results. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index e641a874973..e0db21c7869 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 6.1.3 +lastReleaseVersion: 7.0.0 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 76f68c8b83e..4ee4779041d 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 6.1.4-dev +version: 7.0.1-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/lib/semmle/code/cpp/Preprocessor.qll b/cpp/ql/lib/semmle/code/cpp/Preprocessor.qll index 6a57f0bcae7..a0dfdcb9382 100644 --- a/cpp/ql/lib/semmle/code/cpp/Preprocessor.qll +++ b/cpp/ql/lib/semmle/code/cpp/Preprocessor.qll @@ -328,3 +328,27 @@ class PreprocessorPragma extends PreprocessorDirective, @ppd_pragma { class PreprocessorLine extends PreprocessorDirective, @ppd_line { override string toString() { result = "#line " + this.getHead() } } + +/** + * A C23 or C++26 `#embed` preprocessor directive. For example, the following code + * contains one `Embed` directive: + * ```cpp + * char arr[] = { + * #embed "bin" + * }; + * ``` + */ +class Embed extends PreprocessorDirective, @ppd_embed { + override string toString() { result = "#embed " + this.getIncludeText() } + + /** + * Gets the token which occurs after `#embed`, for example `"filename"` + * or ``. + */ + string getIncludeText() { result = this.getHead() } + + /** + * Gets the file directly embedded by this `#embed`. + */ + File getEmbeddedFile() { embeds(underlyingElement(this), unresolveElement(result)) } +} diff --git a/cpp/ql/lib/semmle/code/cpp/PrintAST.qll b/cpp/ql/lib/semmle/code/cpp/PrintAST.qll index 4c13125cdbb..cf9ecd21ca9 100644 --- a/cpp/ql/lib/semmle/code/cpp/PrintAST.qll +++ b/cpp/ql/lib/semmle/code/cpp/PrintAST.qll @@ -1050,10 +1050,10 @@ private predicate namedExprChildPredicates(Expr expr, Element ele, string pred) expr.(Call).getQualifier() = ele and pred = "getQualifier()" or - // OverloadedArrayExpr::getArrayBase/0 and OverloadedArrayExpr::getArrayOffset/0 also consider arguments, and are already handled below. + // OverloadedArrayExpr::getArrayBase/0 and OverloadedArrayExpr::getArrayOffset/1 also consider arguments, and are already handled below. exists(int n, Expr arg | expr.(Call).getArgument(n) = arg | not expr.(OverloadedArrayExpr).getArrayBase() = arg and - not expr.(OverloadedArrayExpr).getArrayOffset() = arg and + not expr.(OverloadedArrayExpr).getAnArrayOffset() = arg and arg = ele and pred = "getArgument(" + n.toString() + ")" ) @@ -1062,7 +1062,10 @@ private predicate namedExprChildPredicates(Expr expr, Element ele, string pred) or expr.(OverloadedArrayExpr).getArrayBase() = ele and pred = "getArrayBase()" or - expr.(OverloadedArrayExpr).getArrayOffset() = ele and pred = "getArrayOffset()" + exists(int n | + expr.(OverloadedArrayExpr).getArrayOffset(n) = ele and + pred = "getArrayOffset(" + n.toString() + ")" + ) or // OverloadedPointerDereferenceExpr::getExpr/0 also considers qualifiers, and is already handled above for all Call classes. not expr.(OverloadedPointerDereferenceExpr).getQualifier() = diff --git a/cpp/ql/lib/semmle/code/cpp/Type.qll b/cpp/ql/lib/semmle/code/cpp/Type.qll index d9a61865c96..fa2d2d605d8 100644 --- a/cpp/ql/lib/semmle/code/cpp/Type.qll +++ b/cpp/ql/lib/semmle/code/cpp/Type.qll @@ -802,15 +802,6 @@ private predicate floatingPointTypeMapping( // _Complex __float128 kind = 39 and base = 2 and domain = TComplexDomain() and realKind = 38 and extended = false or - // _Decimal32 - kind = 40 and base = 10 and domain = TRealDomain() and realKind = 40 and extended = false - or - // _Decimal64 - kind = 41 and base = 10 and domain = TRealDomain() and realKind = 41 and extended = false - or - // _Decimal128 - kind = 42 and base = 10 and domain = TRealDomain() and realKind = 42 and extended = false - or // _Float32 kind = 45 and base = 2 and domain = TRealDomain() and realKind = 45 and extended = false or @@ -871,9 +862,8 @@ private predicate floatingPointTypeMapping( /** * The C/C++ floating point types. See 4.5. This includes `float`, `double` and `long double`, the - * fixed-size floating-point types like `_Float32`, the extended-precision floating-point types like - * `_Float64x`, and the decimal floating-point types like `_Decimal32`. It also includes the complex - * and imaginary versions of all of these types. + * fixed-size floating-point types like `_Float32`, and the extended-precision floating-point types + * like `_Float64x`. It also includes the complex and imaginary versions of all of these types. */ class FloatingPointType extends ArithmeticType { final int base; @@ -991,42 +981,6 @@ class Float128Type extends RealNumberType, BinaryFloatingPointType { override string getAPrimaryQlClass() { result = "Float128Type" } } -/** - * The GNU C `_Decimal32` primitive type. This is not standard C/C++. - * ``` - * _Decimal32 d32; - * ``` - */ -class Decimal32Type extends RealNumberType, DecimalFloatingPointType { - Decimal32Type() { builtintypes(underlyingElement(this), _, 40, _, _, _) } - - override string getAPrimaryQlClass() { result = "Decimal32Type" } -} - -/** - * The GNU C `_Decimal64` primitive type. This is not standard C/C++. - * ``` - * _Decimal64 d64; - * ``` - */ -class Decimal64Type extends RealNumberType, DecimalFloatingPointType { - Decimal64Type() { builtintypes(underlyingElement(this), _, 41, _, _, _) } - - override string getAPrimaryQlClass() { result = "Decimal64Type" } -} - -/** - * The GNU C `_Decimal128` primitive type. This is not standard C/C++. - * ``` - * _Decimal128 d128; - * ``` - */ -class Decimal128Type extends RealNumberType, DecimalFloatingPointType { - Decimal128Type() { builtintypes(underlyingElement(this), _, 42, _, _, _) } - - override string getAPrimaryQlClass() { result = "Decimal128Type" } -} - /** * The C/C++ `void` type. See 4.7. * ``` diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll index 7232326f1b3..eecacb14834 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll @@ -95,6 +95,7 @@ import cpp private import new.DataFlow +private import semmle.code.cpp.controlflow.IRGuards private import semmle.code.cpp.ir.dataflow.internal.DataFlowPrivate as Private private import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil private import internal.FlowSummaryImpl @@ -367,6 +368,8 @@ private predicate elementSpec( ) { sourceModel(namespace, type, subtypes, name, signature, ext, _, _, _, _) or sinkModel(namespace, type, subtypes, name, signature, ext, _, _, _, _) or + barrierModel(namespace, type, subtypes, name, signature, ext, _, _, _, _) or + barrierGuardModel(namespace, type, subtypes, name, signature, ext, _, _, _, _, _) or summaryModel(namespace, type, subtypes, name, signature, ext, _, _, _, _, _) } @@ -1028,6 +1031,84 @@ private module Cached { isSinkNode(n, kind, model) and n.asNode() = node ) } + + private newtype TKindModelPair = + TMkPair(string kind, string model) { isBarrierGuardNode(_, _, kind, model) } + + private GuardValue convertAcceptingValue(Public::AcceptingValue av) { + av.isTrue() and result.asBooleanValue() = true + or + av.isFalse() and result.asBooleanValue() = false + or + // NOTE: The below cases don't contribute anything currently since the + // callers immediately use `.asBooleanValue()` to convert the `GuardValue` + // to a boolean. Once we're willing to accept the breaking change of + // converting the barrier guard API to use `GuardValue`s instead `Boolean`s + // we can remove this restriction. + av.isNoException() and result.getDualValue().isThrowsException() + or + av.isZero() and result.asIntValue() = 0 + or + av.isNotZero() and result.getDualValue().asIntValue() = 0 + or + av.isNull() and result.isNullValue() + or + av.isNotNull() and result.isNonNullValue() + } + + private predicate barrierGuardChecks(IRGuardCondition g, Expr e, boolean gv, TKindModelPair kmp) { + exists( + SourceSinkInterpretationInput::InterpretNode n, Public::AcceptingValue acceptingvalue, + string kind, string model + | + isBarrierGuardNode(n, acceptingvalue, kind, model) and + n.asNode().asExpr() = e and + kmp = TMkPair(kind, model) and + gv = convertAcceptingValue(acceptingvalue).asBooleanValue() and + n.asNode().(Private::ArgumentNode).getCall().asCallInstruction() = g + ) + } + + private newtype TKindModelPairIntPair = + MkKindModelPairIntPair(TKindModelPair pair, int indirectionIndex) { + indirectionIndex > 0 and + Private::nodeHasInstruction(_, _, indirectionIndex) and + exists(pair) + } + + private predicate indirectBarrierGuardChecks( + IRGuardCondition g, Expr e, boolean gv, TKindModelPairIntPair kmp + ) { + exists( + SourceSinkInterpretationInput::InterpretNode interpretNode, + Public::AcceptingValue acceptingvalue, string kind, string model, int indirectionIndex, + Private::ArgumentNode arg + | + isBarrierGuardNode(interpretNode, acceptingvalue, kind, model) and + arg = interpretNode.asNode() and + arg.asIndirectExpr(indirectionIndex) = e and + kmp = MkKindModelPairIntPair(TMkPair(kind, model), indirectionIndex) and + gv = convertAcceptingValue(acceptingvalue).asBooleanValue() and + arg.getCall().asCallInstruction() = g + ) + } + + /** + * Holds if `node` is specified as a barrier with the given kind in a MaD flow + * model. + */ + cached + predicate barrierNode(DataFlow::Node node, string kind, string model) { + exists(SourceSinkInterpretationInput::InterpretNode n | + isBarrierNode(n, kind, model) and n.asNode() = node + ) + or + DataFlow::ParameterizedBarrierGuard::getABarrierNode(TMkPair(kind, + model)) = node + or + DataFlow::ParameterizedBarrierGuard::getAnIndirectBarrierNode(MkKindModelPairIntPair(TMkPair(kind, + model), _)) = node + } } import Cached @@ -1044,6 +1125,12 @@ predicate sourceNode(DataFlow::Node node, string kind) { sourceNode(node, kind, */ predicate sinkNode(DataFlow::Node node, string kind) { sinkNode(node, kind, _) } +/** + * Holds if `node` is specified as a barrier with the given kind in a MaD flow + * model. + */ +predicate barrierNode(DataFlow::Node node, string kind) { barrierNode(node, kind, _) } + private predicate interpretSummary( Function f, string input, string output, string kind, string provenance, string model ) { diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/FlowSummaryImpl.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/FlowSummaryImpl.qll index a1d9dd86c40..3c4177dc856 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/FlowSummaryImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/FlowSummaryImpl.qll @@ -149,16 +149,27 @@ module SourceSinkInterpretationInput implements } predicate barrierElement( - Element n, string output, string kind, Public::Provenance provenance, string model + Element e, string output, string kind, Public::Provenance provenance, string model ) { - none() + exists( + string namespace, string type, boolean subtypes, string name, string signature, string ext + | + barrierModel(namespace, type, subtypes, name, signature, ext, output, kind, provenance, model) and + e = interpretElement(namespace, type, subtypes, name, signature, ext) + ) } predicate barrierGuardElement( - Element n, string input, Public::AcceptingValue acceptingvalue, string kind, + Element e, string input, Public::AcceptingValue acceptingvalue, string kind, Public::Provenance provenance, string model ) { - none() + exists( + string package, string type, boolean subtypes, string name, string signature, string ext + | + barrierGuardModel(package, type, subtypes, name, signature, ext, input, acceptingvalue, kind, + provenance, model) and + e = interpretElement(package, type, subtypes, name, signature, ext) + ) } private newtype TInterpretNode = diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Access.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Access.qll index 333493e6f5d..d181299f2ff 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Access.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Access.qll @@ -394,6 +394,11 @@ class FunctionAccess extends Access, @routineexpr { */ class ParamAccessForType extends Expr, @param_ref { override string toString() { result = "param access" } + + /** + * Holds if the accessed parameter is implicit object parameter of the function. + */ + predicate isThisAccess() { param_ref_to_this(underlyingElement(this)) } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll b/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll index dc55bcda9e6..2246a887b9c 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll @@ -1941,3 +1941,61 @@ class BuiltInOperationIsTriviallyRelocatable extends BuiltInOperation, @istrivia override string getAPrimaryQlClass() { result = "BuiltInOperationIsTriviallyRelocatable" } } + +/** + * A C++ `__is_bitwise_cloneable` built-in operation. + * + * Returns `true` if an object of type `_Tp` is bitwise cloneable. + * + * ``` + * template + * struct is_bitwise_cloneable + * : public integral_constant + * {}; + * ``` + */ +class BuiltInOperationIsBitwiseCloneable extends BuiltInOperation, @isbitwisecloneable { + override string toString() { result = "__is_bitwise_cloneable" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsBitwiseCloneable" } +} + +/** + * A C++ `__is_invocable` built-in operation (used by some implementations + * of the `` header). + * + * Returns `true` if a function of type `_FTpn` can be invoked with arguments of + * type `_Tps`. + * + * ``` + * template + * struct is_invocable + * : public integral_constant + * {}; + * ``` + */ +class BuiltInOperationIsInvocable extends BuiltInOperation, @isinvocable { + override string toString() { result = "__is_invocable" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsInvocable" } +} + +/** + * A C++ `__is_nothrow_invocable` built-in operation (used by some implementations + * of the `` header). + * + * Returns `true` if a function of non-throwing type `_FTpn` can be invoked + * with arguments of type `_Tps`. + * + * ``` + * template + * struct is_nothrow_invocable + * : public integral_constant + * {}; + * ``` + */ +class BuiltInOperationIsNothrowInvocable extends BuiltInOperation, @isnothrowinvocable { + override string toString() { result = "__is_nothrow_invocable" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsNothrowInvocable" } +} diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll index 24ae703697c..4ef241e3d25 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll @@ -387,10 +387,23 @@ class OverloadedArrayExpr extends FunctionCall { /** * Gets the expression giving the index. + * + * DEPRECATED: Use getArrayOffset/1 instead. */ - Expr getArrayOffset() { - if exists(this.getQualifier()) then result = this.getChild(0) else result = this.getChild(1) + deprecated Expr getArrayOffset() { result = this.getArrayOffset(0) } + + /** + * Gets the expression giving the nth index. + */ + Expr getArrayOffset(int n) { + n >= 0 and + if exists(this.getQualifier()) then result = this.getChild(n) else result = this.getChild(n + 1) } + + /** + * Gets an expression giving an index. + */ + Expr getAnArrayOffset() { result = this.getArrayOffset(_) } } /** 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 1185b6a0c9c..1c338d5a52d 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 @@ -156,7 +156,7 @@ class Node extends TIRDataFlowNode { * If `isGLValue()` holds, then the type of this node * should be thought of as "pointer to `getType()`". */ - DataFlowType getType() { none() } // overridden in subclasses + Type getType() { none() } // overridden in subclasses /** Gets the instruction corresponding to this node, if any. */ Instruction asInstruction() { result = this.(InstructionNode).getInstruction() } @@ -541,7 +541,7 @@ class Node extends TIRDataFlowNode { /** * Gets an upper bound on the type of this node. */ - DataFlowType getTypeBound() { result = this.getType() } + Type getTypeBound() { result = this.getType() } /** Gets the location of this element. */ cached @@ -585,7 +585,7 @@ private class Node0 extends Node, TNode0 { override string toStringImpl() { result = node.toString() } - override DataFlowType getType() { result = node.getType() } + override Type getType() { result = node.getType() } override predicate isGLValue() { node.isGLValue() } } @@ -704,7 +704,7 @@ class SsaSynthNode extends Node, TSsaSynthNode { override Declaration getFunction() { result = node.getBasicBlock().getEnclosingFunction() } - override DataFlowType getType() { result = node.getSourceVariable().getType() } + override Type getType() { result = node.getSourceVariable().getType() } override predicate isGLValue() { node.getSourceVariable().isGLValue() } @@ -732,7 +732,7 @@ class SsaIteratorNode extends Node, TSsaIteratorNode { override Declaration getFunction() { result = node.getFunction() } - override DataFlowType getType() { result = node.getType() } + override Type getType() { result = node.getType() } final override Location getLocationImpl() { result = node.getLocation() } @@ -792,7 +792,7 @@ class FinalGlobalValue extends Node, TFinalGlobalValue { override Declaration getFunction() { result = globalUse.getIRFunction().getFunction() } - override DataFlowType getType() { + override Type getType() { exists(int indirectionIndex | indirectionIndex = globalUse.getIndirectionIndex() and result = getTypeImpl(globalUse.getUnderlyingType(), indirectionIndex) @@ -826,7 +826,7 @@ class InitialGlobalValue extends Node, TInitialGlobalValue { final override predicate isGLValue() { globalDef.getIndirectionIndex() = 0 } - override DataFlowType getType() { result = globalDef.getUnderlyingType() } + override Type getType() { result = globalDef.getUnderlyingType() } final override Location getLocationImpl() { result = globalDef.getLocation() } @@ -853,7 +853,7 @@ class BodyLessParameterNodeImpl extends Node, TBodyLessParameterNodeImpl { /** Gets the indirection index of this node. */ int getIndirectionIndex() { result = indirectionIndex } - override DataFlowType getType() { + override Type getType() { result = getTypeImpl(p.getUnderlyingType(), this.getIndirectionIndex()) } @@ -1117,8 +1117,8 @@ private module RawIndirectNodes { override predicate isGLValue() { this.getOperand().isGLValue() } - override DataFlowType getType() { - exists(int sub, DataFlowType type, boolean isGLValue | + override Type getType() { + exists(int sub, Type type, boolean isGLValue | type = getOperandType(this.getOperand(), isGLValue) and if isGLValue = true then sub = 1 else sub = 0 | @@ -1163,8 +1163,8 @@ private module RawIndirectNodes { override predicate isGLValue() { this.getInstruction().isGLValue() } - override DataFlowType getType() { - exists(int sub, DataFlowType type, boolean isGLValue | + override Type getType() { + exists(int sub, Type type, boolean isGLValue | type = getInstructionType(this.getInstruction(), isGLValue) and if isGLValue = true then sub = 1 else sub = 0 | @@ -1263,7 +1263,7 @@ class FinalParameterNode extends Node, TFinalParameterNode { result.asSourceCallable() = this.getFunction() } - override DataFlowType getType() { result = getTypeImpl(p.getUnderlyingType(), indirectionIndex) } + override Type getType() { result = getTypeImpl(p.getUnderlyingType(), indirectionIndex) } final override Location getLocationImpl() { // Parameters can have multiple locations. When there's a unique location we use @@ -1539,7 +1539,7 @@ abstract class PostUpdateNode extends Node { */ abstract Node getPreUpdateNode(); - final override DataFlowType getType() { result = this.getPreUpdateNode().getType() } + final override Type getType() { result = this.getPreUpdateNode().getType() } } /** @@ -1632,9 +1632,7 @@ class VariableNode extends Node, TGlobalLikeVariableNode { result.asSourceCallable() = v } - override DataFlowType getType() { - result = getTypeImpl(v.getUnderlyingType(), indirectionIndex - 1) - } + override Type getType() { result = getTypeImpl(v.getUnderlyingType(), indirectionIndex - 1) } final override Location getLocationImpl() { // Certain variables (such as parameters) can have multiple locations. @@ -2419,6 +2417,19 @@ class ContentSet instanceof Content { } } +private signature class ParamSig; + +private module WithParam { + /** + * 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, P param); +} + /** * Holds if the guard `g` validates the expression `e` upon evaluating to `branch`. * @@ -2440,7 +2451,7 @@ private predicate controls(IRGuardCondition g, Node n, boolean edge) { * This is expected to be used in `isBarrier`/`isSanitizer` definitions * in data flow and taint tracking. */ -module BarrierGuard { +module ParameterizedBarrierGuard::guardChecksSig/4 guardChecks> { bindingset[value, n] pragma[inline_late] private predicate convertedExprHasValueNumber(ValueNumber value, Node n) { @@ -2450,12 +2461,13 @@ module BarrierGuard { ) } - private predicate guardChecksNode(IRGuardCondition g, Node n, boolean branch) { - guardChecks(g, n.asOperand().getDef().getConvertedResultExpression(), branch) + private predicate guardChecksNode(IRGuardCondition g, Node n, boolean branch, P p) { + guardChecks(g, n.asOperand().getDef().getConvertedResultExpression(), branch, p) } /** - * Gets an expression node that is safely guarded by the given guard check. + * Gets an expression node that is safely guarded by the given guard check + * when the parameter is `p`. * * For example, given the following code: * ```cpp @@ -2486,19 +2498,27 @@ module BarrierGuard { * * NOTE: If an indirect expression is tracked, use `getAnIndirectBarrierNode` instead. */ - Node getABarrierNode() { + Node getABarrierNode(P p) { exists(IRGuardCondition g, ValueNumber value, boolean edge | convertedExprHasValueNumber(value, result) and guardChecks(g, - pragma[only_bind_into](value.getAnInstruction().getConvertedResultExpression()), edge) and + pragma[only_bind_into](value.getAnInstruction().getConvertedResultExpression()), edge, p) and controls(g, result, edge) ) or - result = SsaImpl::BarrierGuard::getABarrierNode() + result = SsaImpl::BarrierGuard::getABarrierNode(p) } /** - * Gets an indirect expression node that is safely guarded by the given guard check. + * Gets an expression node that is safely guarded by the given guard check. + * + * See `getABarrierNode/1` for examples. + */ + Node getABarrierNode() { result = getABarrierNode(_) } + + /** + * Gets an indirect expression node that is safely guarded by the given + * guard check with parameter `p`. * * For example, given the following code: * ```cpp @@ -2530,6 +2550,13 @@ module BarrierGuard { * * NOTE: If a non-indirect expression is tracked, use `getABarrierNode` instead. */ + Node getAnIndirectBarrierNode(P p) { result = getAnIndirectBarrierNode(_, p) } + + /** + * Gets an indirect expression node that is safely guarded by the given guard check. + * + * See `getAnIndirectBarrierNode/1` for examples. + */ Node getAnIndirectBarrierNode() { result = getAnIndirectBarrierNode(_) } bindingset[value, n] @@ -2544,10 +2571,10 @@ module BarrierGuard { } private predicate guardChecksIndirectNode( - IRGuardCondition g, Node n, boolean branch, int indirectionIndex + IRGuardCondition g, Node n, boolean branch, int indirectionIndex, P p ) { guardChecks(g, n.asIndirectOperand(indirectionIndex).getDef().getConvertedResultExpression(), - branch) + branch, p) } /** @@ -2584,19 +2611,44 @@ module BarrierGuard { * * NOTE: If a non-indirect expression is tracked, use `getABarrierNode` instead. */ - Node getAnIndirectBarrierNode(int indirectionIndex) { + Node getAnIndirectBarrierNode(int indirectionIndex, P p) { exists(IRGuardCondition g, ValueNumber value, boolean edge | indirectConvertedExprHasValueNumber(indirectionIndex, value, result) and guardChecks(g, - pragma[only_bind_into](value.getAnInstruction().getConvertedResultExpression()), edge) and + pragma[only_bind_into](value.getAnInstruction().getConvertedResultExpression()), edge, p) and controls(g, result, edge) ) or result = - SsaImpl::BarrierGuardWithIntParam::getABarrierNode(indirectionIndex) + SsaImpl::BarrierGuardWithIntParam::getABarrierNode(indirectionIndex, + p) } } +/** + * 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 { + private predicate guardChecks(IRGuardCondition g, Expr e, boolean branch, Unit unit) { + guardChecks(g, e, branch) and + exists(unit) + } + + import ParameterizedBarrierGuard +} + +private module InstrWithParam { + /** + * Holds if the guard `g` validates the instruction `instr` upon evaluating to `branch`. + */ + signature predicate instructionGuardChecksSig( + IRGuardCondition g, Instruction instr, boolean branch, P p + ); +} + /** * Holds if the guard `g` validates the instruction `instr` upon evaluating to `branch`. */ @@ -2608,7 +2660,9 @@ signature predicate instructionGuardChecksSig(IRGuardCondition g, Instruction in * This is expected to be used in `isBarrier`/`isSanitizer` definitions * in data flow and taint tracking. */ -module InstructionBarrierGuard { +module ParameterizedInstructionBarrierGuard< + ParamSig P, InstrWithParam

::instructionGuardChecksSig/4 instructionGuardChecks> +{ bindingset[value, n] pragma[inline_late] private predicate operandHasValueNumber(ValueNumber value, Node n) { @@ -2618,21 +2672,27 @@ module InstructionBarrierGuard::getABarrierNode() + result = SsaImpl::BarrierGuard::getABarrierNode(p) } + /** Gets a node that is safely guarded by the given guard check. */ + Node getABarrierNode() { result = getABarrierNode(_) } + bindingset[value, n] pragma[inline_late] private predicate indirectOperandHasValueNumber(ValueNumber value, int indirectionIndex, Node n) { @@ -2643,25 +2703,52 @@ module InstructionBarrierGuard::getABarrierNode(indirectionIndex) + SsaImpl::BarrierGuardWithIntParam::getABarrierNode(indirectionIndex, + p) } + + /** + * Gets an indirect node that is safely guarded by the given guard check + * with parameter `p`. + */ + Node getAnIndirectBarrierNode(P p) { result = getAnIndirectBarrierNode(_, p) } + + /** Gets an indirect node that is safely guarded by the given guard check. */ + Node getAnIndirectBarrierNode() { result = getAnIndirectBarrierNode(_) } +} + +/** + * 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 { + private predicate instructionGuardChecks( + IRGuardCondition g, Instruction i, boolean branch, Unit unit + ) { + instructionGuardChecks(g, i, branch) and + exists(unit) + } + + import ParameterizedInstructionBarrierGuard } /** diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaImpl.qll index 8dc3513b444..d4a80ff25c8 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaImpl.qll @@ -53,7 +53,7 @@ private module SourceVariables { * the type of this source variable should be thought of as "pointer * to `getType()`". */ - DataFlowType getType() { + Type getType() { if this.isGLValue() then result = base.getType() else result = getTypeImpl(base.getType(), ind - 1) @@ -1035,13 +1035,23 @@ class SynthNode extends DataFlowIntegrationImpl::SsaNode { SynthNode() { not this.asDefinition() instanceof SsaImpl::WriteDefinition } } -signature predicate guardChecksNodeSig(IRGuards::IRGuardCondition g, Node e, boolean branch); +private signature class ParamSig; -signature predicate guardChecksNodeSig( - IRGuards::IRGuardCondition g, Node e, boolean branch, int indirectionIndex -); +private module ParamIntPair { + newtype TPair = MkPair(P p, int indirectionIndex) { nodeHasInstruction(_, _, indirectionIndex) } +} -module BarrierGuardWithIntParam { +private module WithParam { + signature predicate guardChecksNodeSig(IRGuards::IRGuardCondition g, Node e, boolean gv, P param); +} + +private module IntWithParam { + signature predicate guardChecksNodeSig( + IRGuards::IRGuardCondition g, Node e, boolean gv, int indirectionIndex, P param + ); +} + +module BarrierGuardWithIntParam::guardChecksNodeSig/5 guardChecksNode> { private predicate ssaDefReachesCertainUse(Definition def, UseImpl use) { exists(SourceVariable v, IRBlock bb, int i | use.hasIndexInBlock(bb, i, v) and @@ -1052,34 +1062,44 @@ module BarrierGuardWithIntParam { private predicate guardChecksInstr( IRGuards::Guards_v1::Guard g, IRGuards::GuardsInput::Expr instr, IRGuards::GuardValue gv, - int indirectionIndex + ParamIntPair

::TPair pair ) { - exists(Node node | + exists(Node node, int indirectionIndex, P p | + pair = ParamIntPair

::MkPair(p, indirectionIndex) and nodeHasInstruction(node, instr, indirectionIndex) and - guardChecksNode(g, node, gv.asBooleanValue(), indirectionIndex) + guardChecksNode(g, node, gv.asBooleanValue(), indirectionIndex, p) ) } private predicate guardChecksWithWrappers( DataFlowIntegrationInput::Guard g, SsaImpl::Definition def, IRGuards::GuardValue val, - int indirectionIndex + ParamIntPair

::MkPair pair ) { - IRGuards::Guards_v1::ParameterizedValidationWrapper::guardChecksDef(g, - def, val, indirectionIndex) + exists(Instruction e, int indirectionIndex | + IRGuards::Guards_v1::ParameterizedValidationWrapper::TPair, guardChecksInstr/4>::guardChecks(g, + e, val, pair) and + pair = ParamIntPair

::MkPair(_, indirectionIndex) + | + indirectionIndex = 0 and + def.(Definition).getAUse().getDef() = e + or + def.(Definition).getAnIndirectUse(indirectionIndex).getDef() = e + ) } - Node getABarrierNode(int indirectionIndex) { + Node getABarrierNode(int indirectionIndex, P p) { // Only get the SynthNodes from the shared implementation, as the ExprNodes cannot // be matched on SourceVariable. result.(SsaSynthNode).getSynthNode() = - DataFlowIntegrationImpl::BarrierGuardDefWithState::getABarrierNode(indirectionIndex) + DataFlowIntegrationImpl::BarrierGuardDefWithState::MkPair, guardChecksWithWrappers/4>::getABarrierNode(ParamIntPair

::MkPair(p, + indirectionIndex)) or // Calculate the guarded UseImpls corresponding to ExprNodes directly. exists( DataFlowIntegrationInput::Guard g, IRGuards::GuardValue branch, Definition def, IRBlock bb | - guardChecksWithWrappers(g, def, branch, indirectionIndex) and exists(UseImpl use | + guardChecksWithWrappers(g, def, branch, ParamIntPair

::MkPair(p, indirectionIndex)) and ssaDefReachesCertainUse(def, use) and use.getBlock() = bb and DataFlowIntegrationInput::guardControlsBlock(g, bb, branch) and @@ -1089,15 +1109,16 @@ module BarrierGuardWithIntParam { } } -module BarrierGuard { +module BarrierGuard::guardChecksNodeSig/4 guardChecksNode> { private predicate guardChecksNode( - IRGuards::IRGuardCondition g, Node e, boolean branch, int indirectionIndex + IRGuards::IRGuardCondition g, Node e, boolean gv, int indirectionIndex, P p ) { - guardChecksNode(g, e, branch) and indirectionIndex = 0 + indirectionIndex = 0 and + guardChecksNode(g, e, gv, p) } - Node getABarrierNode() { - result = BarrierGuardWithIntParam::getABarrierNode(0) + Node getABarrierNode(P p) { + result = BarrierGuardWithIntParam::getABarrierNode(0, p) } } diff --git a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll index cc4647b54e0..c3c3c2dd3e7 100644 --- a/cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll +++ b/cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll @@ -1709,6 +1709,22 @@ predicate nonNanGuardedVariable(Expr guard, VariableAccess v, boolean branch) { nanExcludingComparison(guard, branch) } +/** + * Adjusts a lower bound to its meaning for integral types. + * + * Examples: + * `>= 3.0` becomes `3.0` + * ` > 3.0` becomes `4.0` + * `>= 3.5` becomes `4.0` + * ` > 3.5` becomes `4.0` + */ +bindingset[strictness, lb] +private float adjustLowerBoundIntegral(RelationStrictness strictness, float lb) { + if strictness = Nonstrict() and lb.floorFloat() = lb + then result = lb + else result = lb.floorFloat() + 1 +} + /** * If the guard is a comparison of the form `p*v + q r`, then this * predicate uses the bounds information for `r` to compute a lower bound @@ -1720,15 +1736,29 @@ private predicate lowerBoundFromGuard(Expr guard, VariableAccess v, float lb, bo | if nonNanGuardedVariable(guard, v, branch) then - if - strictness = Nonstrict() or - not getVariableRangeType(v.getTarget()) instanceof IntegralType - then lb = childLB - else lb = childLB + 1 + if getVariableRangeType(v.getTarget()) instanceof IntegralType + then lb = adjustLowerBoundIntegral(strictness, childLB) + else lb = childLB else lb = varMinVal(v.getTarget()) ) } +/** + * Adjusts an upper bound to its meaning for integral types. + * + * Examples: + * `<= 3.0` becomes `3.0` + * ` < 3.0` becomes `2.0` + * `<= 3.5` becomes `3.0` + * ` < 3.5` becomes `3.0` + */ +bindingset[strictness, ub] +private float adjustUpperBoundIntegral(RelationStrictness strictness, float ub) { + if strictness = Nonstrict() and ub.ceilFloat() = ub + then result = ub + else result = ub.ceilFloat() - 1 +} + /** * If the guard is a comparison of the form `p*v + q r`, then this * predicate uses the bounds information for `r` to compute a upper bound @@ -1740,11 +1770,9 @@ private predicate upperBoundFromGuard(Expr guard, VariableAccess v, float ub, bo | if nonNanGuardedVariable(guard, v, branch) then - if - strictness = Nonstrict() or - not getVariableRangeType(v.getTarget()) instanceof IntegralType - then ub = childUB - else ub = childUB - 1 + if getVariableRangeType(v.getTarget()) instanceof IntegralType + then ub = adjustUpperBoundIntegral(strictness, childUB) + else ub = childUB else ub = varMaxVal(v.getTarget()) ) } diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme index a42ce5fc943..9439176c1d1 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme @@ -617,9 +617,9 @@ case @builtintype.kind of | 37 = @signed_int128 // signed __int128 | 38 = @float128 // __float128 | 39 = @complex_float128 // _Complex __float128 -| 40 = @decimal32 // _Decimal32 -| 41 = @decimal64 // _Decimal64 -| 42 = @decimal128 // _Decimal128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 | 43 = @char16_t | 44 = @char32_t | 45 = @std_float32 // _Float32 @@ -1902,6 +1902,9 @@ case @expr.kind of | 391 = @nested_requirement | 392 = @compound_requirement | 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable ; @var_args_expr = @vastartexpr @@ -2018,6 +2021,9 @@ case @expr.kind of | @istriviallyequalitycomparable | @isscopedenum | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable ; compound_requirement_is_noexcept( @@ -2034,6 +2040,10 @@ new_array_allocated_type( int type_id: @type ref ); +param_ref_to_this( + int expr: @param_ref ref +) + /** * The field being initialized by an initializer expression within an aggregate * initializer for a class/struct/union. Position is used to sort repeated initializers. @@ -2343,6 +2353,7 @@ case @preprocdirect.kind of | 14 = @ppd_ms_import | 15 = @ppd_elifdef | 16 = @ppd_elifndef +| 17 = @ppd_embed | 18 = @ppd_warning ; @@ -2369,6 +2380,11 @@ includes( int included: @file ref ); +embeds( + unique int id: @ppd_embed ref, + int included: @file ref +); + link_targets( int id: @link_target, int binary: @file ref @@ -2379,6 +2395,8 @@ link_parent( int link_target : @link_target ref ); +/*- Database metadata -*/ + /** * The CLI will automatically emit applicable tuples for this table, * such as `databaseMetadata("isOverlay", "true")` when building an @@ -2389,6 +2407,8 @@ databaseMetadata( string value: string ref ); +/*- Overlay support -*/ + /** * The CLI will automatically emit tuples for each new/modified/deleted file * when building an overlay database. diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats index 4ff7d2dd67b..ee25206a25d 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats @@ -2,7 +2,7 @@ @compilation - 12641 + 12591 @externalDataElement @@ -10,35 +10,35 @@ @file - 65204 + 64946 @folder - 12388 + 12339 @diagnostic - 359 - - - @pch - 249 + 357 @location_default - 46943825 + 46837407 + + + @pch + 248 @macro_expansion - 40272429 + 40306104 @other_macro_reference - 300698 + 300641 @normal_function - 2737949 + 2734629 @unknown_function @@ -46,51 +46,51 @@ @constructor - 698692 + 694334 @destructor - 86200 + 85993 @conversion_function - 10354 + 10329 @operator - 652427 + 650865 @user_defined_literal - 997 + 995 @deduction_guide - 5863 + 5849 @fun_decl - 4202854 + 4193289 @var_decl - 9383101 + 9367854 @type_decl - 1633438 + 1629527 @namespace_decl - 407918 + 407977 @using_declaration - 268041 + 266844 @using_directive - 6472 + 6430 @using_enum_declaration @@ -98,27 +98,27 @@ @static_assert - 172982 + 172749 @parameter - 7019643 + 7011797 @membervariable - 1499494 + 1500528 @globalvariable - 488384 + 492566 @localvariable - 726016 + 724695 @enumconstant - 347930 + 347955 @errortype @@ -260,18 +260,6 @@ @complex_float128 124 - - @decimal32 - 124 - - - @decimal64 - 124 - - - @decimal128 - 124 - @char16_t 124 @@ -366,35 +354,35 @@ @pointer - 452457 + 451498 @type_with_specifiers - 693219 + 691559 @array - 90316 + 90100 @routineptr - 684282 + 679848 @reference - 967288 + 964973 @gnu_vector - 675 + 673 @routinereference - 374 + 372 @rvalue_reference - 291034 + 290338 @block @@ -406,15 +394,15 @@ @decltype - 102350 + 101757 @typeof - 816 + 811 @underlying_type - 623 + 622 @bases @@ -458,7 +446,7 @@ @remove_cv - 2062 + 2059 @remove_cvref @@ -486,27 +474,27 @@ @remove_reference - 5715 + 5706 @struct - 979799 + 976596 @union - 20957 + 20907 @enum - 41551 + 41554 @template_parameter - 866985 + 864417 @alias - 1762169 + 1755743 @unknown_usertype @@ -514,55 +502,55 @@ @class - 324966 + 324188 @template_template_parameter - 6114 + 6090 @proxy_class - 48433 + 48241 @scoped_enum - 11601 + 11573 @template_struct - 212057 + 211176 @template_class - 29315 + 29245 @template_union - 1372 + 1368 @mangledname - 6364346 + 6349607 @type_mention - 5907630 + 5911106 @concept_template - 3609 + 3603 @routinetype - 604495 + 600578 @ptrtomember - 9726 + 9677 @specifier - 7734 + 7715 @gnuattribute @@ -570,11 +558,11 @@ @stdattribute - 352784 + 351940 @declspec - 330286 + 330310 @msattribute @@ -582,19 +570,19 @@ @alignas - 2164 + 2160 @attribute_arg_token - 16693 + 16584 @attribute_arg_constant_expr - 71889 + 71584 @attribute_arg_expr - 1404 + 1587 @attribute_arg_empty @@ -606,23 +594,23 @@ @attribute_arg_type - 460 + 459 @derivation - 476878 + 473788 @frienddecl - 700430 + 767816 @comment - 11233100 + 11208571 @namespace - 8649 + 8615 @specialnamequalifyingelement @@ -630,15 +618,15 @@ @namequalifier - 3037638 + 3042586 @value - 13474772 + 13541557 @initialiser - 2247637 + 2244826 @address_of @@ -646,131 +634,131 @@ @indirect - 404158 + 402173 @array_to_pointer - 1953767 + 1953950 @parexpr - 4915249 + 4915709 @arithnegexpr - 586539 + 586594 @unaryplusexpr - 4068 + 4060 @complementexpr - 38200 + 38187 @notexpr - 355767 + 355800 @postincrexpr - 84572 + 84578 @postdecrexpr - 57395 + 57400 @preincrexpr - 96715 + 96724 @predecrexpr - 35821 + 35824 @conditionalexpr - 897887 + 897971 @addexpr - 571560 + 580446 @subexpr - 466803 + 466847 @mulexpr - 435798 + 445092 @divexpr - 52388 + 52392 @remexpr - 16011 + 15908 @paddexpr - 118671 + 118632 @psubexpr - 68017 + 68022 @pdiffexpr - 43910 + 43805 @lshiftexpr - 551703 + 552166 @rshiftexpr - 200557 + 201276 @andexpr - 481224 + 483234 @orexpr - 194058 + 193911 @xorexpr - 73953 + 73958 @eqexpr - 643380 + 643439 @neexpr - 411874 + 411912 @gtexpr - 111150 + 111161 @ltexpr - 139430 + 139443 @geexpr - 81359 + 81365 @leexpr - 292039 + 291944 @assignexpr - 1281160 + 1281279 @assignaddexpr @@ -778,11 +766,11 @@ @assignsubexpr - 15307 + 15309 @assignmulexpr - 11184 + 11140 @assigndivexpr @@ -790,7 +778,7 @@ @assignremexpr - 873 + 871 @assignlshiftexpr @@ -806,15 +794,15 @@ @assignorexpr - 19607 + 19609 @assignxorexpr - 29910 + 29900 @assignpaddexpr - 18628 + 18630 @assignpsubexpr @@ -822,27 +810,27 @@ @andlogicalexpr - 346593 + 346625 @orlogicalexpr - 1103536 + 1103651 @commaexpr - 168283 + 167880 @subscriptexpr - 435148 + 435188 @callexpr - 239767 + 238857 @vastartexpr - 4970 + 4964 @vaargexpr @@ -854,75 +842,75 @@ @vacopyexpr - 136 + 135 @varaccess - 8254733 + 8255498 @runtime_sizeof - 402052 + 401408 @runtime_alignof - 49874 + 49551 @expr_stmt - 148366 + 147518 @routineexpr - 5729912 + 5726204 @type_operand - 1405380 + 1405527 @offsetofexpr - 149026 + 148427 @typescompexpr - 701943 + 702016 @literal - 7966268 + 7985020 @aggregateliteral - 1397522 + 1397523 @c_style_cast - 6026987 + 6027719 @temp_init - 990622 + 980662 @errorexpr - 45480 + 45185 @reference_to - 1903214 + 1880186 @ref_indirect - 2107218 + 2094072 @vacuous_destructor_call - 7835 + 7784 @assume - 4143 + 4138 @conjugation @@ -974,35 +962,35 @@ @thisaccess - 1555764 + 1553672 @new_expr - 46195 + 45896 @delete_expr - 11480 + 11406 @throw_expr - 24214 + 23840 @condition_decl - 408340 + 407684 @braced_init_list - 2146 + 2126 @type_id - 47899 + 47588 @sizeof_pack - 1737 + 1726 @hasassignexpr @@ -1046,7 +1034,7 @@ @isabstractexpr - 68 + 67 @isbaseofexpr @@ -1054,23 +1042,23 @@ @isclassexpr - 2384 + 2380 @isconvtoexpr - 249 + 248 @isemptyexpr - 8857 + 8835 @isenumexpr - 2993 + 2986 @ispodexpr - 834 + 831 @ispolyexpr @@ -1086,75 +1074,75 @@ @hastrivialdestructor - 2793 + 2775 @uuidof - 26695 + 26691 @delete_array_expr - 1246 + 1241 @new_array_expr - 6641 + 6632 @foldexpr - 1246 + 1244 @ctordirectinit - 112831 + 112100 @ctorvirtualinit - 4019 + 3993 @ctorfieldinit - 206206 + 205713 @ctordelegatinginit - 3617 + 3609 @dtordirectdestruct - 39450 + 39194 @dtorvirtualdestruct - 3985 + 3960 @dtorfielddestruct - 39825 + 39567 @static_cast - 348044 + 347211 @reinterpret_cast - 40018 + 39964 @const_cast - 24460 + 24302 @dynamic_cast - 792 + 788 @lambdaexpr - 19023 + 18998 @param_ref - 163867 + 162180 @noopexpr @@ -1162,7 +1150,7 @@ @istriviallyconstructibleexpr - 3742 + 3733 @isdestructibleexpr @@ -1174,19 +1162,19 @@ @istriviallydestructibleexpr - 997 + 995 @istriviallyassignableexpr - 3742 + 3733 @isnothrowassignableexpr - 5114 + 5102 @istrivialexpr - 3375 + 3328 @isstandardlayoutexpr @@ -1194,7 +1182,7 @@ @istriviallycopyableexpr - 1372 + 1368 @isliteraltypeexpr @@ -1214,11 +1202,11 @@ @isconstructibleexpr - 3617 + 3609 @isnothrowconstructibleexpr - 20708 + 20658 @hasfinalizerexpr @@ -1254,11 +1242,11 @@ @isfinalexpr - 9402 + 9341 @noexceptexpr - 28463 + 28138 @builtinshufflevector @@ -1266,11 +1254,11 @@ @builtinchooseexpr - 20701 + 20593 @builtinaddressof - 15468 + 15431 @vec_fill @@ -1286,7 +1274,7 @@ @spaceshipexpr - 1310 + 1308 @co_await @@ -1298,7 +1286,7 @@ @isassignable - 408 + 407 @isaggregate @@ -1310,11 +1298,11 @@ @builtinbitcast - 249 + 248 @builtinshuffle - 612 + 610 @blockassignexpr @@ -1322,7 +1310,7 @@ @issame - 4533 + 4526 @isfunction @@ -1430,7 +1418,7 @@ @reuseexpr - 845836 + 844478 @istriviallycopyassignable @@ -1526,95 +1514,107 @@ @c11_generic - 30117 + 29943 @requires_expr - 16479 + 16453 @nested_requirement - 687 + 686 @compound_requirement - 10936 + 10918 @concept_id - 90305 + 90160 + + + @isinvocable + 2 + + + @isnothrowinvocable + 2 + + + @isbitwisecloneable + 2 @lambdacapture - 31909 + 31866 @stmt_expr - 2031639 + 2031827 @stmt_if - 990227 + 990318 @stmt_while - 39648 + 39652 @stmt_goto - 157889 + 157264 @stmt_label - 78015 + 77727 @stmt_return - 1241800 + 1238149 @stmt_block - 1728620 + 1724481 @stmt_end_test_while - 233644 + 232290 @stmt_for - 84390 + 84398 @stmt_switch_case - 834964 + 833624 @stmt_switch - 411283 + 410623 @stmt_asm - 64199 + 63827 @stmt_decl - 771066 + 770029 @stmt_empty - 428794 + 428127 @stmt_continue - 28091 + 28094 @stmt_break - 137691 + 137506 @stmt_try_block - 26771 + 26372 @stmt_microsoft_try @@ -1630,19 +1630,19 @@ @stmt_assigned_goto - 12427 + 12423 @stmt_range_based_for - 6372 + 6311 @stmt_handler - 43779 + 43218 @stmt_constexpr_if - 106035 + 105781 @stmt_co_return @@ -1662,51 +1662,51 @@ @ppd_if - 590926 + 589512 @ppd_ifdef - 214366 + 214386 @ppd_ifndef - 160378 + 160444 @ppd_elif - 21914 + 21827 @ppd_else - 234898 + 234336 @ppd_endif - 888947 + 886819 @ppd_plain_include - 318524 + 317263 @ppd_define - 2750049 + 2743340 @ppd_undef - 100421 + 100180 @ppd_pragma - 406176 + 405204 @ppd_include_next - 170 + 169 @ppd_line - 18805 + 18770 @ppd_error @@ -1728,6 +1728,10 @@ @ppd_elifndef 1 + + @ppd_embed + 1 + @ppd_warning 13 @@ -1762,60 +1766,13 @@ - - databaseMetadata - 1 - - - metadataKey - 1 - - - value - 1 - - - - - metadataKey - value - - - 12 - - - - - - value - metadataKey - - - 12 - - - - - - - - overlayChangedFiles - 50 - - - path - 50 - - - - compilations - 12641 + 12591 id - 12641 + 12591 cwd @@ -1833,7 +1790,7 @@ 1 2 - 12641 + 12591 @@ -1859,19 +1816,19 @@ compilation_args - 1012084 + 1008080 id - 12641 + 12591 num - 1467 + 1462 arg - 29264 + 29149 @@ -1885,77 +1842,77 @@ 36 42 - 1003 + 999 42 43 - 1098 + 1094 43 44 - 718 + 715 44 45 - 506 + 504 45 51 - 950 + 946 51 70 - 485 + 483 71 72 - 707 + 704 72 90 - 897 + 894 94 96 - 390 + 389 98 99 - 1341 + 1335 100 102 - 95 + 94 103 104 - 1996 + 1988 104 119 - 1066 + 1062 120 138 - 929 + 925 139 140 - 454 + 452 @@ -1971,67 +1928,67 @@ 34 38 - 591 + 589 38 39 - 1499 + 1493 39 40 - 982 + 978 40 42 - 1087 + 1083 42 53 - 601 + 599 53 54 - 707 + 704 54 63 - 897 + 894 64 67 - 401 + 399 67 68 - 1404 + 1399 68 70 - 971 + 967 70 71 - 1404 + 1399 73 79 - 950 + 946 79 89 - 1130 + 1125 89 @@ -2057,7 +2014,7 @@ 90 108 - 116 + 115 108 @@ -2067,7 +2024,7 @@ 198 422 - 116 + 115 422 @@ -2082,17 +2039,17 @@ 605 749 - 116 + 115 750 778 - 116 + 115 781 883 - 116 + 115 930 @@ -2102,7 +2059,7 @@ 1197 1198 - 380 + 378 @@ -2123,7 +2080,7 @@ 5 7 - 116 + 115 9 @@ -2133,17 +2090,17 @@ 12 15 - 116 + 115 15 18 - 95 + 94 18 22 - 116 + 115 22 @@ -2158,7 +2115,7 @@ 29 34 - 116 + 115 34 @@ -2168,17 +2125,17 @@ 45 63 - 116 + 115 67 94 - 116 + 115 94 164 - 116 + 115 171 @@ -2199,22 +2156,22 @@ 1 2 - 13402 + 13349 2 3 - 12683 + 12633 3 103 - 2196 + 2188 104 1198 - 982 + 978 @@ -2230,17 +2187,17 @@ 1 2 - 19379 + 19303 2 3 - 8723 + 8688 3 62 - 1161 + 1157 @@ -2250,19 +2207,19 @@ compilation_expanded_args - 1012084 + 1008080 id - 12641 + 12591 num - 1467 + 1462 arg - 29264 + 29149 @@ -2276,77 +2233,77 @@ 36 42 - 1003 + 999 42 43 - 1098 + 1094 43 44 - 718 + 715 44 45 - 506 + 504 45 51 - 950 + 946 51 70 - 485 + 483 71 72 - 707 + 704 72 90 - 897 + 894 94 96 - 390 + 389 98 99 - 1341 + 1335 100 102 - 95 + 94 103 104 - 1996 + 1988 104 119 - 1066 + 1062 120 138 - 929 + 925 139 140 - 454 + 452 @@ -2362,67 +2319,67 @@ 34 38 - 591 + 589 38 39 - 1499 + 1493 39 40 - 982 + 978 40 42 - 1087 + 1083 42 53 - 601 + 599 53 54 - 707 + 704 54 63 - 897 + 894 64 67 - 401 + 399 67 68 - 1404 + 1399 68 70 - 971 + 967 70 71 - 1404 + 1399 73 79 - 950 + 946 79 89 - 1130 + 1125 89 @@ -2448,7 +2405,7 @@ 90 108 - 116 + 115 108 @@ -2458,7 +2415,7 @@ 198 422 - 116 + 115 422 @@ -2473,17 +2430,17 @@ 605 749 - 116 + 115 750 778 - 116 + 115 781 883 - 116 + 115 930 @@ -2493,7 +2450,7 @@ 1197 1198 - 380 + 378 @@ -2514,7 +2471,7 @@ 5 7 - 116 + 115 9 @@ -2524,17 +2481,17 @@ 12 15 - 116 + 115 15 18 - 95 + 94 18 22 - 116 + 115 22 @@ -2549,7 +2506,7 @@ 29 34 - 116 + 115 34 @@ -2559,17 +2516,17 @@ 45 63 - 116 + 115 67 94 - 116 + 115 94 164 - 116 + 115 171 @@ -2590,22 +2547,22 @@ 1 2 - 13402 + 13349 2 3 - 12683 + 12633 3 103 - 2196 + 2188 104 1198 - 982 + 978 @@ -2621,17 +2578,17 @@ 1 2 - 19379 + 19303 2 3 - 8723 + 8688 3 62 - 1161 + 1157 @@ -2689,19 +2646,19 @@ compilation_compiling_files - 15738 + 15739 id - 2722 + 2723 num - 4519 + 4520 file - 13668 + 13669 @@ -2889,7 +2846,7 @@ 1 2 - 12307 + 12308 2 @@ -2915,7 +2872,7 @@ 1 2 - 12525 + 12526 2 @@ -2935,15 +2892,15 @@ compilation_time - 62953 + 62957 id - 2722 + 2723 num - 4519 + 4520 kind @@ -2951,7 +2908,7 @@ seconds - 18352 + 18516 @@ -3016,7 +2973,7 @@ 4 5 - 2722 + 2723 @@ -3032,22 +2989,22 @@ 3 4 - 653 + 980 4 5 - 707 + 381 - 6 - 9 - 217 + 5 + 7 + 163 - 9 + 8 10 - 108 + 217 10 @@ -3056,27 +3013,27 @@ 11 - 12 + 15 217 - 15 - 17 - 163 + 16 + 18 + 108 - 17 - 21 + 18 + 19 217 - 21 - 51 + 20 + 54 217 - 118 - 119 + 133 + 134 54 @@ -3129,7 +3086,7 @@ 4 5 - 4519 + 4520 @@ -3142,25 +3099,20 @@ 12 - - 2 - 3 - 54 - 3 4 - 1252 + 1797 4 5 - 1089 + 599 5 6 - 163 + 217 6 @@ -3170,7 +3122,7 @@ 7 8 - 272 + 217 8 @@ -3179,17 +3131,17 @@ 9 - 17 + 18 381 - 23 - 53 + 22 + 49 381 - 98 - 99 + 94 + 95 54 @@ -3246,8 +3198,8 @@ 54 - 195 - 196 + 187 + 188 54 @@ -3269,22 +3221,22 @@ 1 2 - 12198 + 12362 2 3 - 4084 + 3757 3 4 - 1415 + 1688 4 - 44 - 653 + 39 + 708 @@ -3300,22 +3252,27 @@ 1 2 - 10891 + 11273 2 3 - 4465 + 4302 3 4 - 1579 + 1470 4 - 71 - 1415 + 44 + 1416 + + + 63 + 64 + 54 @@ -3331,12 +3288,12 @@ 1 2 - 14866 + 15630 2 3 - 3485 + 2886 @@ -3346,15 +3303,15 @@ diagnostic_for - 506 + 504 diagnostic - 359 + 357 compilation - 190 + 189 file_number @@ -3376,7 +3333,7 @@ 1 2 - 211 + 210 2 @@ -3397,7 +3354,7 @@ 1 2 - 359 + 357 @@ -3413,7 +3370,7 @@ 1 2 - 359 + 357 @@ -3455,7 +3412,7 @@ 1 2 - 190 + 189 @@ -3612,19 +3569,19 @@ compilation_finished - 12641 + 12591 id - 12641 + 12591 cpu_seconds - 9409 + 9656 elapsed_seconds - 200 + 210 @@ -3638,7 +3595,7 @@ 1 2 - 12641 + 12591 @@ -3654,7 +3611,7 @@ 1 2 - 12641 + 12591 @@ -3670,17 +3627,17 @@ 1 2 - 7846 + 8394 2 3 - 1130 + 809 3 - 35 - 433 + 32 + 452 @@ -3696,12 +3653,12 @@ 1 2 - 8744 + 9046 2 3 - 665 + 610 @@ -3730,14 +3687,14 @@ 10 - 4 - 5 + 5 + 6 10 - 9 - 10 - 10 + 7 + 8 + 21 10 @@ -3747,51 +3704,46 @@ 11 12 + 21 + + + 15 + 16 10 - 12 - 13 + 20 + 21 10 - 14 - 15 + 31 + 32 10 - 19 - 20 + 61 + 62 10 - 32 - 33 + 172 + 173 10 - 57 - 58 + 231 + 232 10 - 154 - 155 + 286 + 287 10 - 251 - 252 - 10 - - - 306 - 307 - 10 - - - 309 - 310 + 321 + 322 10 @@ -3821,14 +3773,14 @@ 10 - 4 - 5 + 5 + 6 10 - 9 - 10 - 10 + 7 + 8 + 21 10 @@ -3838,51 +3790,46 @@ 11 12 + 21 + + + 15 + 16 10 - 12 - 13 + 20 + 21 10 - 14 - 15 + 31 + 32 10 - 18 - 19 + 61 + 62 10 - 29 - 30 + 165 + 166 10 - 54 - 55 + 168 + 169 10 - 149 - 150 + 216 + 217 10 - 152 - 153 - 10 - - - 228 - 229 - 10 - - - 255 - 256 + 240 + 241 10 @@ -4120,31 +4067,31 @@ locations_default - 46943825 + 46837407 id - 46943825 + 46837407 file - 40917 + 40819 beginLine - 7500418 + 7483207 beginColumn - 21955 + 21902 endLine - 7501541 + 7484203 endColumn - 53391 + 53263 @@ -4158,7 +4105,7 @@ 1 2 - 46943825 + 46837407 @@ -4174,7 +4121,7 @@ 1 2 - 46943825 + 46837407 @@ -4190,7 +4137,7 @@ 1 2 - 46943825 + 46837407 @@ -4206,7 +4153,7 @@ 1 2 - 46943825 + 46837407 @@ -4222,7 +4169,7 @@ 1 2 - 46943825 + 46837407 @@ -4238,67 +4185,67 @@ 1 15 - 3118 + 3111 15 41 - 3118 + 3111 42 72 - 3118 + 3111 72 114 - 3368 + 3360 114 142 - 3118 + 3111 143 211 - 3118 + 3111 213 307 - 3118 + 3111 310 430 - 3118 + 3111 437 596 - 3118 + 3111 607 - 827 - 3118 + 829 + 3111 839 1298 - 3118 + 3111 - 1300 + 1303 2855 - 3118 + 3111 3114 30788 - 3118 + 3111 57880 @@ -4319,67 +4266,67 @@ 1 13 - 3368 + 3360 13 31 - 3368 + 3360 31 47 - 3118 + 3111 47 64 - 3118 + 3111 64 84 - 3118 + 3111 85 115 - 3118 + 3111 116 160 - 3243 + 3235 160 206 - 3118 + 3111 206 291 - 3118 + 3111 298 388 - 3118 + 3111 395 527 - 3118 + 3111 561 1339 - 3118 + 3111 1375 57764 - 2869 + 2862 @@ -4395,67 +4342,67 @@ 1 5 - 3742 + 3733 5 9 - 3118 + 3111 9 15 - 3243 + 3235 15 20 - 3243 + 3235 20 28 - 3243 + 3235 28 36 - 3243 + 3235 36 42 - 3118 + 3111 42 53 - 3368 + 3360 53 62 - 3243 + 3235 62 81 - 3118 + 3111 81 95 - 3118 + 3111 95 111 - 3118 + 3111 112 156 - 1995 + 1991 @@ -4471,67 +4418,67 @@ 1 13 - 3368 + 3360 13 31 - 3368 + 3360 31 46 - 3118 + 3111 46 63 - 3118 + 3111 63 84 - 3118 + 3111 84 114 - 3118 + 3111 118 160 - 3243 + 3235 160 206 - 3118 + 3111 207 291 - 3118 + 3111 300 390 - 3118 + 3111 395 562 - 3118 + 3111 564 1350 - 3118 + 3111 1420 57764 - 2869 + 2862 @@ -4547,67 +4494,67 @@ 1 12 - 3368 + 3360 13 26 - 3492 + 3484 26 34 - 3243 + 3235 34 42 - 3243 + 3235 42 50 - 3243 + 3235 50 61 - 3118 + 3111 61 67 - 3243 + 3235 67 76 - 3492 + 3484 76 88 - 3243 + 3235 89 102 - 3118 + 3111 102 116 - 3492 + 3484 116 133 - 3118 + 3111 136 363 - 1496 + 1493 @@ -4623,32 +4570,32 @@ 1 2 - 4957324 + 4945829 2 3 - 779045 + 778673 3 4 - 543897 + 542719 4 12 - 570343 + 566862 12 - 97 - 563357 + 96 + 561386 - 97 - 637 - 86449 + 96 + 638 + 87736 @@ -4664,27 +4611,27 @@ 1 2 - 5019323 + 5008053 2 3 - 1221273 + 1216856 3 6 - 639952 + 638669 6 - 57 - 563233 + 56 + 562133 - 57 + 56 329 - 56635 + 57495 @@ -4700,27 +4647,27 @@ 1 2 - 5641187 + 5629548 2 3 - 483145 + 483108 3 7 - 582069 + 577316 7 25 - 565229 + 564995 25 94 - 228786 + 228238 @@ -4736,12 +4683,12 @@ 1 2 - 7034363 + 7018144 2 85 - 466055 + 465063 @@ -4757,32 +4704,32 @@ 1 2 - 5026309 + 5014275 2 3 - 739375 + 741090 3 4 - 539780 + 535377 4 12 - 586935 + 584783 12 - 72 - 564106 + 71 + 561760 - 72 + 71 250 - 43910 + 45921 @@ -4798,67 +4745,67 @@ 1 2 - 1746 + 1742 2 6 - 1995 + 1991 6 12 - 1871 + 1866 12 40 - 1746 + 1742 49 128 - 1746 + 1742 129 253 - 1746 + 1742 316 707 - 1746 + 1742 791 1267 - 1746 + 1742 - 1281 + 1280 1943 - 1746 + 1742 - 2017 - 2398 - 1746 + 2016 + 2400 + 1742 - 2493 + 2483 3212 - 1746 + 1742 - 3260 - 7915 - 1746 + 3264 + 8088 + 1742 11053 - 121029 - 623 + 121030 + 622 @@ -4874,67 +4821,67 @@ 1 2 - 1995 + 1991 2 4 - 1746 + 1742 4 7 - 1746 + 1742 7 18 - 1871 + 1866 19 43 - 1746 + 1742 44 60 - 1746 + 1742 66 93 - 1746 + 1742 96 117 - 1746 + 1742 117 150 - 1746 + 1742 150 169 - 1746 + 1742 169 181 - 1746 + 1742 182 217 - 1871 + 1866 243 329 - 498 + 497 @@ -4950,67 +4897,67 @@ 1 2 - 1871 + 1866 2 5 - 1871 + 1866 5 11 - 1746 + 1742 11 36 - 1746 + 1742 36 101 - 1746 + 1742 108 - 217 - 1746 + 218 + 1742 - 225 + 226 543 - 1746 + 1742 - 633 - 1059 - 1746 + 634 + 1057 + 1742 - 1071 - 1410 - 1746 + 1074 + 1407 + 1742 - 1414 - 1610 - 1746 + 1408 + 1603 + 1742 - 1613 - 1807 - 1746 + 1611 + 1810 + 1742 - 1834 - 3791 - 1746 + 1835 + 3794 + 1742 - 3837 - 59554 - 748 + 3838 + 59550 + 746 @@ -5026,67 +4973,67 @@ 1 2 - 1871 + 1866 2 5 - 1871 + 1866 5 11 - 1746 + 1742 11 36 - 1746 + 1742 36 102 - 1746 + 1742 109 - 218 - 1746 + 219 + 1742 - 224 + 225 545 - 1746 + 1742 - 631 - 1057 - 1746 + 632 + 1056 + 1742 - 1073 - 1407 - 1746 + 1076 + 1404 + 1742 - 1423 - 1609 - 1746 + 1417 + 1602 + 1742 - 1612 - 1805 - 1746 + 1610 + 1808 + 1742 - 1835 - 3774 - 1746 + 1836 + 3771 + 1742 - 3830 - 59562 - 748 + 3831 + 59557 + 746 @@ -5102,67 +5049,67 @@ 1 2 - 2120 + 2115 2 5 - 1496 + 1493 5 8 - 1621 + 1617 8 13 - 1746 + 1742 13 23 - 1995 + 1991 23 33 - 1871 + 1866 34 44 - 1746 + 1742 45 57 - 1746 + 1742 58 - 73 - 1496 + 74 + 1991 - 73 - 83 - 1746 + 74 + 86 + 1866 - 83 - 92 - 1746 + 86 + 99 + 1866 - 92 - 144 - 1746 + 100 + 259 + 1742 - 147 + 298 299 - 873 + 124 @@ -5178,32 +5125,32 @@ 1 2 - 4955203 + 4943589 2 3 - 781540 + 782033 3 4 - 544770 + 541972 4 12 - 567848 + 565493 12 95 - 563482 + 562382 95 - 620 - 88695 + 621 + 88731 @@ -5219,27 +5166,27 @@ 1 2 - 5016454 + 5005066 2 3 - 1223768 + 1220465 3 6 - 633340 + 631077 6 - 52 - 564106 + 51 + 562009 - 52 + 51 329 - 63870 + 65584 @@ -5255,12 +5202,12 @@ 1 2 - 7051453 + 7035318 2 15 - 450087 + 448885 @@ -5276,27 +5223,27 @@ 1 2 - 5640314 + 5628179 2 3 - 480525 + 481615 3 7 - 587059 + 581547 7 25 - 568846 + 568355 25 89 - 224794 + 224504 @@ -5312,32 +5259,32 @@ 1 2 - 5024937 + 5012782 2 3 - 743742 + 746317 3 4 - 539531 + 533759 4 12 - 587558 + 586774 12 72 - 562734 + 561635 72 250 - 43037 + 42934 @@ -5353,52 +5300,52 @@ 1 2 - 15718 + 15680 2 3 - 5613 + 5600 3 7 - 4241 + 4231 7 17 - 4116 + 4106 17 33 - 4116 + 4106 33 106 - 4116 + 4106 114 689 - 4116 + 4106 - 721 - 2460 - 4116 + 722 + 2461 + 4106 2595 - 4737 - 4116 + 4749 + 4106 4759 33780 - 3118 + 3111 @@ -5414,52 +5361,52 @@ 1 2 - 18587 + 18542 2 3 - 5613 + 5600 3 5 - 3617 + 3609 5 7 - 3742 + 3733 7 16 - 4366 + 4231 16 - 80 - 4116 + 75 + 4106 - 81 - 152 - 4241 + 79 + 142 + 4106 - 158 - 212 - 4241 + 151 + 208 + 4106 - 212 - 265 - 4116 + 210 + 262 + 4231 - 265 + 262 329 - 748 + 995 @@ -5475,52 +5422,52 @@ 1 2 - 15967 + 15929 2 3 - 5987 + 5973 3 8 - 4241 + 4231 8 18 - 4366 + 4355 18 - 42 - 4116 + 40 + 4106 - 43 - 218 - 4116 + 41 + 217 + 4106 - 234 + 235 758 - 4116 + 4106 - 767 - 2176 - 4116 + 768 + 2172 + 4106 2206 - 2882 - 4116 + 2884 + 4106 - 2890 + 2887 30763 - 2245 + 2240 @@ -5536,52 +5483,52 @@ 1 2 - 17215 + 17173 2 3 - 6237 + 6222 3 4 - 3243 + 3235 4 7 - 4241 + 4231 7 14 - 4241 + 4231 14 28 - 4490 + 4480 28 46 - 4116 + 4106 46 70 - 4116 + 4106 70 82 - 4241 + 4231 82 117 - 1247 + 1244 @@ -5597,52 +5544,52 @@ 1 2 - 15967 + 15929 2 3 - 5987 + 5973 3 8 - 4241 + 4231 8 18 - 4366 + 4355 18 - 41 - 4116 + 40 + 4106 - 43 - 217 - 4116 + 40 + 216 + 4106 - 232 + 233 755 - 4116 + 4106 - 768 - 2176 - 4116 + 769 + 2172 + 4106 2206 2862 - 4116 + 4106 - 2867 + 2864 30757 - 2245 + 2240 @@ -5652,15 +5599,15 @@ files - 65204 + 64946 id - 65204 + 64946 name - 65204 + 64946 @@ -5674,7 +5621,7 @@ 1 2 - 65204 + 64946 @@ -5690,7 +5637,7 @@ 1 2 - 65204 + 64946 @@ -5700,15 +5647,15 @@ folders - 12388 + 12339 id - 12388 + 12339 name - 12388 + 12339 @@ -5722,7 +5669,7 @@ 1 2 - 12388 + 12339 @@ -5738,7 +5685,7 @@ 1 2 - 12388 + 12339 @@ -5748,15 +5695,15 @@ containerparent - 77571 + 77264 parent - 12388 + 12339 child - 77571 + 77264 @@ -5770,42 +5717,42 @@ 1 2 - 6030 + 6006 2 3 - 1520 + 1514 3 4 - 665 + 662 4 6 - 1003 + 999 6 10 - 971 + 967 10 16 - 1003 + 999 16 44 - 929 + 925 44 151 - 264 + 262 @@ -5821,7 +5768,7 @@ 1 2 - 77571 + 77264 @@ -5831,23 +5778,23 @@ numlines - 807862 + 805927 element_id - 806739 + 804807 num_lines - 39420 + 39325 num_code - 34055 + 33974 num_comment - 18337 + 18293 @@ -5861,12 +5808,12 @@ 1 2 - 805616 + 803687 2 3 - 1122 + 1120 @@ -5882,12 +5829,12 @@ 1 2 - 805616 + 803687 2 3 - 1122 + 1120 @@ -5903,12 +5850,12 @@ 1 2 - 806489 + 804559 2 3 - 249 + 248 @@ -5924,27 +5871,27 @@ 1 2 - 26695 + 26631 2 3 - 3742 + 3733 3 5 - 3368 + 3360 5 35 - 2993 + 2986 39 1983 - 2619 + 2613 @@ -5960,27 +5907,27 @@ 1 2 - 27194 + 27129 2 3 - 4116 + 4106 3 4 - 2494 + 2488 4 7 - 3492 + 3484 7 12 - 2120 + 2115 @@ -5996,27 +5943,27 @@ 1 2 - 26820 + 26756 2 3 - 4116 + 4106 3 4 - 2370 + 2364 4 6 - 3243 + 3235 6 10 - 2869 + 2862 @@ -6032,32 +5979,32 @@ 1 2 - 21830 + 21778 2 3 - 3617 + 3609 3 4 - 2370 + 2364 4 13 - 2869 + 2862 14 198 - 2619 + 2613 204 2092 - 748 + 746 @@ -6073,32 +6020,32 @@ 1 2 - 22204 + 22151 2 3 - 3617 + 3609 3 4 - 2120 + 2115 4 6 - 1871 + 1866 6 9 - 2744 + 2737 9 13 - 1496 + 1493 @@ -6114,27 +6061,27 @@ 1 2 - 21955 + 21902 2 3 - 4241 + 4231 3 5 - 2869 + 2862 5 8 - 3118 + 3111 8 12 - 1871 + 1866 @@ -6150,32 +6097,32 @@ 1 2 - 11351 + 11324 2 3 - 1995 + 1991 3 4 - 1122 + 1120 4 7 - 1496 + 1493 8 22 - 1496 + 1493 42 3651 - 873 + 871 @@ -6191,32 +6138,32 @@ 1 2 - 11351 + 11324 2 3 - 1995 + 1991 3 4 - 1122 + 1120 4 7 - 1621 + 1617 8 27 - 1496 + 1493 30 48 - 748 + 746 @@ -6232,32 +6179,32 @@ 1 2 - 11351 + 11324 2 3 - 1995 + 1991 3 4 - 1372 + 1368 4 8 - 1496 + 1493 8 31 - 1496 + 1493 35 42 - 623 + 622 @@ -6267,11 +6214,11 @@ diagnostics - 359 + 357 id - 359 + 357 severity @@ -6287,11 +6234,11 @@ full_error_message - 179 + 178 location - 179 + 178 @@ -6305,7 +6252,7 @@ 1 2 - 359 + 357 @@ -6321,7 +6268,7 @@ 1 2 - 359 + 357 @@ -6337,7 +6284,7 @@ 1 2 - 359 + 357 @@ -6353,7 +6300,7 @@ 1 2 - 359 + 357 @@ -6369,7 +6316,7 @@ 1 2 - 359 + 357 @@ -6673,7 +6620,7 @@ 1 2 - 116 + 115 2 @@ -6694,7 +6641,7 @@ 1 2 - 116 + 115 2 @@ -6736,7 +6683,7 @@ 1 2 - 179 + 178 @@ -6752,7 +6699,7 @@ 1 2 - 179 + 178 @@ -6768,7 +6715,7 @@ 1 2 - 179 + 178 @@ -6784,7 +6731,7 @@ 1 2 - 179 + 178 @@ -6821,7 +6768,7 @@ 1 2 - 179 + 178 @@ -6837,7 +6784,7 @@ 1 2 - 179 + 178 @@ -6853,7 +6800,7 @@ 1 2 - 179 + 178 @@ -6869,7 +6816,7 @@ 1 2 - 179 + 178 @@ -6927,19 +6874,19 @@ pch_uses - 4127 + 4121 pch - 162 + 161 compilation - 4127 + 4121 id - 4127 + 4121 @@ -7135,7 +7082,7 @@ 1 2 - 4127 + 4121 @@ -7151,7 +7098,7 @@ 1 2 - 4127 + 4121 @@ -7167,7 +7114,7 @@ 1 2 - 4127 + 4121 @@ -7183,7 +7130,7 @@ 1 2 - 4127 + 4121 @@ -7193,19 +7140,19 @@ pch_creations - 249 + 248 pch - 249 + 248 compilation - 249 + 248 from - 249 + 248 @@ -7219,7 +7166,7 @@ 1 2 - 249 + 248 @@ -7235,7 +7182,7 @@ 1 2 - 249 + 248 @@ -7251,7 +7198,7 @@ 1 2 - 249 + 248 @@ -7267,7 +7214,7 @@ 1 2 - 249 + 248 @@ -7283,7 +7230,7 @@ 1 2 - 249 + 248 @@ -7299,7 +7246,7 @@ 1 2 - 249 + 248 @@ -7309,11 +7256,11 @@ fileannotations - 4200019 + 4183401 id - 5766 + 5743 kind @@ -7321,11 +7268,11 @@ name - 58709 + 58477 value - 39509 + 39352 @@ -7339,12 +7286,12 @@ 1 2 - 200 + 199 2 3 - 5565 + 5543 @@ -7360,62 +7307,62 @@ 1 86 - 433 + 431 88 206 - 433 + 431 212 291 - 443 + 441 291 359 - 433 + 431 362 401 - 433 + 431 402 479 - 433 + 431 480 549 - 253 + 252 550 551 - 1330 + 1325 553 628 - 433 + 431 631 753 - 454 + 452 753 1231 - 443 + 441 1234 2155 - 242 + 241 @@ -7431,32 +7378,32 @@ 1 98 - 433 + 431 102 244 - 433 + 431 244 351 - 433 + 431 352 434 - 443 + 441 434 490 - 443 + 441 490 628 - 433 + 431 632 @@ -7466,27 +7413,27 @@ 706 707 - 1330 + 1325 710 939 - 433 + 431 939 1038 - 433 + 431 1066 1853 - 433 + 431 1853 3292 - 433 + 431 3423 @@ -7570,62 +7517,62 @@ 1 2 - 11025 + 10982 2 3 - 4361 + 4344 3 5 - 5058 + 5038 5 7 - 4097 + 4081 7 9 - 4594 + 4575 9 16 - 4330 + 4312 16 19 - 4889 + 4870 19 27 - 4256 + 4239 27 47 - 4837 + 4817 47 128 - 4921 + 4902 128 459 - 4625 + 4607 459 546 - 1710 + 1704 @@ -7641,7 +7588,7 @@ 1 2 - 58709 + 58477 @@ -7657,57 +7604,57 @@ 1 2 - 11585 + 11539 2 3 - 7688 + 7658 3 4 - 4097 + 4081 4 6 - 4066 + 4049 6 8 - 3421 + 3408 8 11 - 4741 + 4723 11 17 - 5396 + 5375 17 23 - 4699 + 4681 23 41 - 4678 + 4660 41 95 - 4467 + 4449 95 1726 - 3865 + 3850 @@ -7723,72 +7670,72 @@ 1 2 - 3358 + 3345 2 4 - 1636 + 1630 4 5 - 3189 + 3176 5 8 - 2460 + 2451 8 14 - 2967 + 2955 14 17 - 1932 + 1925 17 24 - 3041 + 3029 24 51 - 3537 + 3523 51 58 - 3031 + 3019 58 80 - 2978 + 2966 81 151 - 3083 + 3071 151 334 - 2978 + 2966 334 473 - 2999 + 2987 473 547 - 2312 + 2303 @@ -7804,7 +7751,7 @@ 1 2 - 39498 + 39342 2 @@ -7825,72 +7772,72 @@ 1 2 - 3400 + 3387 2 4 - 1911 + 1904 4 5 - 3052 + 3040 5 8 - 2481 + 2472 8 14 - 3485 + 3471 14 18 - 3453 + 3439 18 28 - 3200 + 3187 28 34 - 3147 + 3134 34 41 - 3200 + 3187 41 66 - 2988 + 2976 66 92 - 3073 + 3061 92 113 - 2988 + 2976 113 145 - 3031 + 3019 145 172 - 95 + 94 @@ -7900,15 +7847,15 @@ inmacroexpansion - 149997296 + 150011348 id - 24671176 + 24673488 inv - 3705372 + 3705719 @@ -7922,37 +7869,37 @@ 1 3 - 2209512 + 2209721 3 5 - 1474990 + 1475128 5 6 - 1620382 + 1620534 6 7 - 6582599 + 6583216 7 8 - 8719073 + 8719889 8 9 - 3557078 + 3557411 9 22 - 507539 + 507586 @@ -7968,32 +7915,32 @@ 1 2 - 531711 + 531761 2 3 - 743239 + 743308 3 4 - 481516 + 481561 4 7 - 275305 + 275331 7 8 - 282155 + 282181 8 9 - 330249 + 330280 9 @@ -8003,22 +7950,22 @@ 10 11 - 444654 + 444695 11 337 - 307801 + 307829 339 423 - 281757 + 281784 423 7616 - 23935 + 23937 @@ -8028,15 +7975,15 @@ affectedbymacroexpansion - 48736245 + 48740809 id - 7044800 + 7045460 inv - 3803153 + 3803509 @@ -8050,37 +7997,37 @@ 1 2 - 3846743 + 3847103 2 3 - 766311 + 766383 3 4 - 361844 + 361878 4 5 - 772743 + 772815 5 12 - 535164 + 535214 12 50 - 556272 + 556324 50 9900 - 205721 + 205740 @@ -8096,67 +8043,67 @@ 1 4 - 313251 + 313280 4 7 - 316610 + 316639 7 9 - 301090 + 301118 9 12 - 342941 + 342973 12 13 - 456008 + 456051 13 14 - 226101 + 226122 14 15 - 408042 + 408080 15 16 - 166430 + 166446 16 17 - 377681 + 377716 17 18 - 200638 + 200657 18 20 - 344258 + 344290 20 25 - 285395 + 285422 25 207 - 64702 + 64709 @@ -8166,19 +8113,19 @@ macroinvocations - 40354061 + 40387470 id - 40354061 + 40387470 macro_id - 182487 + 182555 location - 5919829 + 5925539 kind @@ -8196,7 +8143,7 @@ 1 2 - 40354061 + 40387470 @@ -8212,7 +8159,7 @@ 1 2 - 40354061 + 40387470 @@ -8228,7 +8175,7 @@ 1 2 - 40354061 + 40387470 @@ -8244,17 +8191,17 @@ 1 2 - 61156 + 61105 2 3 - 27610 + 27666 3 4 - 17971 + 17972 4 @@ -8264,27 +8211,27 @@ 5 7 - 13777 + 13833 7 13 - 14703 + 14704 13 33 - 13777 + 13724 33 182 - 13723 + 13724 185 - 72152 - 9747 + 72208 + 9803 @@ -8300,42 +8247,42 @@ 1 2 - 77656 + 77607 2 3 - 30605 + 30661 3 4 - 14322 + 14377 4 5 - 10292 + 10293 5 8 - 14104 + 14051 8 18 - 14213 + 14214 18 90 - 13723 + 13778 90 - 12187 - 7569 + 12205 + 7570 @@ -8351,12 +8298,12 @@ 1 2 - 177859 + 178035 2 3 - 4628 + 4520 @@ -8372,17 +8319,17 @@ 1 2 - 5256860 + 5261596 2 4 - 428528 + 429484 4 - 72152 - 234440 + 72208 + 234457 @@ -8398,12 +8345,12 @@ 1 2 - 5897665 + 5903373 2 37 - 22164 + 22165 @@ -8419,7 +8366,7 @@ 1 2 - 5919829 + 5925539 @@ -8433,13 +8380,13 @@ 12 - 1499 - 1500 + 1494 + 1495 54 - 739517 - 739518 + 740082 + 740083 54 @@ -8454,13 +8401,13 @@ 12 - 291 - 292 + 289 + 290 54 - 3145 - 3146 + 3146 + 3147 54 @@ -8475,13 +8422,13 @@ 12 - 1078 - 1079 + 1076 + 1077 54 - 107627 - 107628 + 107726 + 107727 54 @@ -8492,15 +8439,15 @@ macroparent - 33658318 + 33684436 id - 33658318 + 33684436 parent_id - 15929108 + 15941258 @@ -8514,7 +8461,7 @@ 1 2 - 33658318 + 33684436 @@ -8530,27 +8477,27 @@ 1 2 - 7809240 + 7815086 2 3 - 1595503 + 1595835 3 4 - 4703025 + 4707394 4 5 - 1295331 + 1296895 5 205 - 526007 + 526045 @@ -8560,15 +8507,15 @@ macrolocationbind - 6033959 + 6022277 id - 4217710 + 4208236 location - 2276069 + 2272393 @@ -8582,27 +8529,27 @@ 1 2 - 3292783 + 3284816 2 3 - 490566 + 489028 3 4 - 7885 + 8602 4 5 - 413303 + 412639 5 17 - 13170 + 13149 @@ -8618,27 +8565,27 @@ 1 2 - 1335114 + 1332220 2 3 - 481456 + 481413 3 4 - 7799 + 7786 4 5 - 427613 + 426926 5 522 - 24085 + 24047 @@ -8648,19 +8595,19 @@ macro_argument_unexpanded - 82486758 + 82169662 invocation - 26280952 + 26182114 argument_index - 697 + 694 text - 343226 + 341868 @@ -8674,22 +8621,22 @@ 1 2 - 9680186 + 9643579 2 3 - 9769396 + 9733520 3 4 - 5001631 + 4982515 4 67 - 1829739 + 1822499 @@ -8705,22 +8652,22 @@ 1 2 - 9862798 + 9825469 2 3 - 9786938 + 9751034 3 4 - 4844988 + 4826449 4 67 - 1786227 + 1779160 @@ -8736,7 +8683,7 @@ 46457 46458 - 612 + 610 46659 @@ -8744,8 +8691,8 @@ 52 - 646840 - 2488458 + 646904 + 2488947 31 @@ -8762,7 +8709,7 @@ 2 3 - 612 + 610 13 @@ -8788,57 +8735,57 @@ 1 2 - 39699 + 39542 2 3 - 62321 + 62074 3 4 - 21027 + 20933 4 5 - 34577 + 34440 5 6 - 39245 + 39089 6 9 - 30870 + 30748 9 15 - 28979 + 28875 15 26 - 25885 + 25772 26 57 - 27142 + 27024 57 517 - 25990 + 25909 518 - 486610 - 7487 + 486643 + 7458 @@ -8854,17 +8801,17 @@ 1 2 - 243149 + 242187 2 3 - 89864 + 89509 3 9 - 10212 + 10172 @@ -8874,19 +8821,19 @@ macro_argument_expanded - 82486758 + 82169662 invocation - 26280952 + 26182114 argument_index - 697 + 694 text - 207906 + 207052 @@ -8900,22 +8847,22 @@ 1 2 - 9680186 + 9643579 2 3 - 9769396 + 9733520 3 4 - 5001631 + 4982515 4 67 - 1829739 + 1822499 @@ -8931,22 +8878,22 @@ 1 2 - 12638489 + 12591345 2 3 - 8427402 + 8396151 3 4 - 4224795 + 4208269 4 9 - 990265 + 986347 @@ -8962,7 +8909,7 @@ 46457 46458 - 612 + 610 46659 @@ -8970,8 +8917,8 @@ 52 - 646840 - 2488458 + 646904 + 2488947 31 @@ -8988,7 +8935,7 @@ 1 2 - 601 + 599 2 @@ -8997,7 +8944,7 @@ 950 - 16176 + 16173 42 @@ -9014,57 +8961,57 @@ 1 2 - 21829 + 21743 2 3 - 26856 + 26750 3 4 - 43490 + 43297 4 5 - 15905 + 15842 5 6 - 3263 + 3250 6 7 - 18397 + 18324 7 10 - 18967 + 18882 10 19 - 18323 + 18251 19 51 - 15778 + 15694 51 - 252 - 15598 + 251 + 15547 - 252 - 1169361 - 9494 + 251 + 1169678 + 9467 @@ -9080,17 +9027,17 @@ 1 2 - 105072 + 104625 2 3 - 88903 + 88551 3 66 - 13930 + 13875 @@ -9100,19 +9047,19 @@ functions - 4049290 + 4043204 id - 4049290 + 4043204 name - 1693316 + 1689262 kind - 873 + 871 @@ -9126,7 +9073,7 @@ 1 2 - 4049290 + 4043204 @@ -9142,7 +9089,7 @@ 1 2 - 4049290 + 4043204 @@ -9158,17 +9105,17 @@ 1 2 - 1447190 + 1441361 2 4 - 138968 + 140377 4 3162 - 107157 + 107523 @@ -9184,12 +9131,12 @@ 1 2 - 1690447 + 1686400 2 3 - 2869 + 2862 @@ -9223,8 +9170,8 @@ 124 - 4453 - 4454 + 4456 + 4457 124 @@ -9233,8 +9180,8 @@ 124 - 21948 - 21949 + 21974 + 21975 124 @@ -9291,26 +9238,26 @@ builtin_functions - 30923 + 30800 id - 30923 + 30800 function_entry_point - 1141776 + 1134648 id - 1138028 + 1130925 entry_point - 1141776 + 1134648 @@ -9324,12 +9271,12 @@ 1 2 - 1134826 + 1127744 2 17 - 3202 + 3181 @@ -9345,7 +9292,7 @@ 1 2 - 1141776 + 1134648 @@ -9355,15 +9302,15 @@ function_return_type - 4066754 + 4060503 id - 4049290 + 4043204 return_type - 619244 + 617761 @@ -9377,12 +9324,12 @@ 1 2 - 4031825 + 4025906 2 3 - 17464 + 17298 @@ -9398,27 +9345,27 @@ 1 2 - 309871 + 309005 2 3 - 213691 + 213180 3 5 - 48027 + 48037 5 365 - 46530 + 46419 432 - 9944 - 1122 + 9958 + 1120 @@ -9698,59 +9645,59 @@ purefunctions - 131626 + 131546 id - 131626 + 131546 function_deleted - 87963 + 87800 id - 87963 + 87800 function_defaulted - 51609 + 51526 id - 51609 + 51526 function_prototyped - 4047793 + 4041711 id - 4047793 + 4041711 deduction_guide_for_class - 5863 + 5849 id - 5863 + 5849 class_template - 2245 + 2240 @@ -9764,7 +9711,7 @@ 1 2 - 5863 + 5849 @@ -9780,12 +9727,12 @@ 1 2 - 1122 + 1120 2 3 - 374 + 373 3 @@ -9795,7 +9742,7 @@ 4 5 - 249 + 248 5 @@ -9805,7 +9752,7 @@ 8 9 - 249 + 248 @@ -9815,15 +9762,15 @@ member_function_this_type - 674133 + 672519 id - 674133 + 672519 this_type - 176018 + 175596 @@ -9837,7 +9784,7 @@ 1 2 - 674133 + 672519 @@ -9853,37 +9800,37 @@ 1 2 - 47154 + 47041 2 3 - 36925 + 36836 3 4 - 32683 + 32605 4 5 - 20084 + 20036 5 6 - 12848 + 12818 6 10 - 14470 + 14436 10 65 - 11850 + 11822 @@ -9893,27 +9840,27 @@ fun_decls - 4208841 + 4199263 id - 4202854 + 4193289 function - 4024715 + 4018688 type_id - 611260 + 609797 name - 1691819 + 1687769 location - 2813171 + 2806436 @@ -9927,7 +9874,7 @@ 1 2 - 4202854 + 4193289 @@ -9943,12 +9890,12 @@ 1 2 - 4196866 + 4187316 2 3 - 5987 + 5973 @@ -9964,7 +9911,7 @@ 1 2 - 4202854 + 4193289 @@ -9980,7 +9927,7 @@ 1 2 - 4202854 + 4193289 @@ -9996,12 +9943,12 @@ 1 2 - 3861171 + 3858647 2 5 - 163543 + 160040 @@ -10017,12 +9964,12 @@ 1 2 - 4006252 + 4000394 2 3 - 18462 + 18293 @@ -10038,7 +9985,7 @@ 1 2 - 4024715 + 4018688 @@ -10054,12 +10001,12 @@ 1 2 - 3881630 + 3878435 2 4 - 143084 + 140253 @@ -10075,27 +10022,27 @@ 1 2 - 295151 + 294444 2 3 - 220552 + 220024 3 5 - 48401 + 48285 5 364 - 45906 + 45797 364 - 10292 - 1247 + 10295 + 1244 @@ -10111,27 +10058,27 @@ 1 2 - 305256 + 304400 2 3 - 211820 + 211313 3 5 - 48027 + 48037 5 1163 - 45906 + 45797 - 1483 - 9893 - 249 + 1485 + 9907 + 248 @@ -10147,22 +10094,22 @@ 1 2 - 491503 + 490326 2 3 - 52892 + 52766 3 7 - 50148 + 50028 7 2238 - 16716 + 16676 @@ -10178,22 +10125,22 @@ 1 2 - 454952 + 453863 2 3 - 69484 + 69317 3 6 - 56011 + 55877 6 4756 - 30812 + 30738 @@ -10209,22 +10156,22 @@ 1 2 - 1331300 + 1328362 2 3 - 194480 + 193392 3 11 - 129487 + 129550 11 - 3169 - 36550 + 3167 + 36463 @@ -10240,17 +10187,17 @@ 1 2 - 1446691 + 1440863 2 4 - 139467 + 140875 4 3162 - 105660 + 106030 @@ -10266,12 +10213,12 @@ 1 2 - 1602002 + 1598166 2 1596 - 89817 + 89602 @@ -10287,17 +10234,17 @@ 1 2 - 1367228 + 1363954 2 3 - 208327 + 207828 3 1592 - 116264 + 115985 @@ -10313,17 +10260,17 @@ 1 2 - 2420218 + 2413303 2 3 - 251490 + 252008 3 211 - 141463 + 141124 @@ -10339,17 +10286,17 @@ 1 2 - 2438930 + 2431971 2 3 - 233277 + 233838 3 211 - 140964 + 140626 @@ -10365,12 +10312,12 @@ 1 2 - 2698778 + 2692317 2 211 - 114393 + 114119 @@ -10386,12 +10333,12 @@ 1 2 - 2774000 + 2767359 2 8 - 39170 + 39076 @@ -10401,22 +10348,22 @@ fun_def - 1422241 + 1418836 id - 1422241 + 1418836 fun_specialized - 7922 + 7911 id - 7922 + 7911 @@ -10434,15 +10381,15 @@ fun_decl_specifiers - 4279573 + 4269576 id - 1748205 + 1744269 name - 1372 + 1368 @@ -10456,22 +10403,22 @@ 1 2 - 362889 + 362269 2 3 - 262218 + 261590 3 4 - 1100144 + 1097510 4 5 - 22953 + 22898 @@ -10515,8 +10462,8 @@ 124 - 1032 - 1033 + 1034 + 1035 124 @@ -10668,26 +10615,26 @@ fun_decl_empty_throws - 421168 + 420764 fun_decl - 421168 + 420764 fun_decl_noexcept - 141823 + 140904 fun_decl - 141823 + 140904 constant - 141346 + 140464 @@ -10701,7 +10648,7 @@ 1 2 - 141823 + 140904 @@ -10717,12 +10664,12 @@ 1 2 - 140903 + 140024 2 - 4 - 442 + 3 + 440 @@ -10732,26 +10679,26 @@ fun_decl_empty_noexcept - 1163640 + 1160854 fun_decl - 1163640 + 1160854 fun_decl_typedef_type - 2760 + 2755 fun_decl - 2760 + 2755 typedeftype_id - 124 + 123 @@ -10765,7 +10712,7 @@ 1 2 - 2760 + 2755 @@ -10781,57 +10728,57 @@ 1 2 - 40 + 39 2 3 - 12 + 11 3 4 - 12 + 11 5 13 - 8 + 7 16 17 - 12 + 11 17 18 - 4 + 3 21 22 - 8 + 7 25 43 - 8 + 7 46 55 - 8 + 7 89 128 - 8 + 7 158 159 - 4 + 3 @@ -10841,11 +10788,11 @@ fun_requires - 29070 + 29023 id - 10098 + 10082 kind @@ -10853,7 +10800,7 @@ constraint - 28834 + 28787 @@ -10867,7 +10814,7 @@ 1 2 - 10033 + 10017 2 @@ -10888,27 +10835,27 @@ 1 2 - 7262 + 7250 2 3 - 494 + 493 3 6 - 859 + 858 6 13 - 322 + 321 13 14 - 1138 + 1136 19 @@ -10971,12 +10918,12 @@ 1 2 - 28597 + 28551 2 3 - 236 + 235 @@ -10992,7 +10939,7 @@ 1 2 - 28834 + 28787 @@ -11002,19 +10949,19 @@ param_decl_bind - 7310179 + 7294544 id - 7310179 + 7294544 index - 7983 + 7964 fun_decl - 3531589 + 3523881 @@ -11028,7 +10975,7 @@ 1 2 - 7310179 + 7294544 @@ -11044,7 +10991,7 @@ 1 2 - 7310179 + 7294544 @@ -11060,31 +11007,31 @@ 2 3 - 3991 + 3982 6 7 - 1995 + 1991 16 20 - 623 + 622 25 147 - 623 + 622 343 - 16215 - 623 + 16218 + 622 - 28310 - 28311 + 28316 + 28317 124 @@ -11101,31 +11048,31 @@ 2 3 - 3991 + 3982 6 7 - 1995 + 1991 16 20 - 623 + 622 25 147 - 623 + 622 343 - 16215 - 623 + 16218 + 622 - 28310 - 28311 + 28316 + 28317 124 @@ -11142,27 +11089,27 @@ 1 2 - 1508940 + 1505701 2 3 - 976270 + 973933 3 4 - 602029 + 600712 4 5 - 290660 + 290089 5 65 - 153688 + 153444 @@ -11178,27 +11125,27 @@ 1 2 - 1508940 + 1505701 2 3 - 976270 + 973933 3 4 - 602029 + 600712 4 5 - 290660 + 290089 5 65 - 153688 + 153444 @@ -11208,27 +11155,27 @@ var_decls - 9389962 + 9374326 id - 9383101 + 9367854 variable - 9034682 + 9027363 type_id - 1456422 + 1452935 name - 852521 + 850480 location - 6274404 + 6259506 @@ -11242,7 +11189,7 @@ 1 2 - 9383101 + 9367854 @@ -11258,12 +11205,12 @@ 1 2 - 9376240 + 9361383 2 3 - 6861 + 6471 @@ -11279,7 +11226,7 @@ 1 2 - 9383101 + 9367854 @@ -11295,7 +11242,7 @@ 1 2 - 9383101 + 9367854 @@ -11311,12 +11258,12 @@ 1 2 - 8703728 + 8704295 2 5 - 330954 + 323068 @@ -11332,12 +11279,12 @@ 1 2 - 8981166 + 8974348 2 3 - 53516 + 53015 @@ -11353,12 +11300,12 @@ 1 2 - 8929271 + 8922205 2 4 - 105411 + 105158 @@ -11374,12 +11321,12 @@ 1 2 - 8783068 + 8783071 2 4 - 251614 + 244292 @@ -11395,27 +11342,27 @@ 1 2 - 849901 + 847867 2 3 - 284049 + 283244 3 5 - 127366 + 127186 5 11 - 113145 + 112874 11 - 2944 - 81958 + 2949 + 81762 @@ -11431,27 +11378,27 @@ 1 2 - 870734 + 868525 2 3 - 269079 + 268435 3 5 - 122751 + 122581 5 11 - 113020 + 112501 11 - 2860 - 80836 + 2872 + 80891 @@ -11467,22 +11414,22 @@ 1 2 - 1119480 + 1116800 2 3 - 192609 + 192148 3 7 - 115266 + 114990 7 1038 - 29066 + 28996 @@ -11498,27 +11445,27 @@ 1 2 - 985377 + 983018 2 3 - 219055 + 218531 3 6 - 133604 + 133284 6 95 - 109278 + 109016 97 2622 - 9106 + 9084 @@ -11534,32 +11481,32 @@ 1 2 - 465930 + 464690 2 3 - 165788 + 164894 3 4 - 59629 + 59361 4 7 - 65866 + 66206 7 25 - 64120 + 64090 25 - 27139 - 31186 + 27136 + 31236 @@ -11575,32 +11522,32 @@ 1 2 - 478904 + 475766 2 3 - 165040 + 164894 3 4 - 54639 + 55130 4 8 - 71604 + 72180 8 - 45 - 64244 + 44 + 63842 - 45 + 44 26704 - 18088 + 18667 @@ -11616,22 +11563,22 @@ 1 2 - 654672 + 653105 2 3 - 110775 + 110510 3 11 - 65492 + 65335 11 3463 - 21581 + 21529 @@ -11647,27 +11594,27 @@ 1 2 - 493748 + 492442 2 3 - 183253 + 182939 3 4 - 51645 + 51521 4 8 - 64993 + 64837 8 22619 - 58880 + 58739 @@ -11683,17 +11630,17 @@ 1 2 - 5774667 + 5758601 2 - 21 - 472292 + 20 + 470788 - 21 - 2943 - 27444 + 20 + 2940 + 30116 @@ -11709,12 +11656,12 @@ 1 2 - 5855503 + 5839244 2 2935 - 418900 + 420262 @@ -11730,12 +11677,12 @@ 1 2 - 5975884 + 5961701 2 2555 - 298519 + 297805 @@ -11751,12 +11698,12 @@ 1 2 - 6262054 + 6247186 2 5 - 12349 + 12320 @@ -11766,37 +11713,37 @@ var_def - 3766862 + 3763195 id - 3766862 + 3763195 var_specialized - 644 + 643 id - 644 + 643 var_decl_specifiers - 489881 + 488708 id - 489881 + 488708 name - 498 + 497 @@ -11810,7 +11757,7 @@ 1 2 - 489881 + 488708 @@ -11851,11 +11798,11 @@ is_structured_binding - 945 + 943 id - 945 + 943 @@ -11920,19 +11867,19 @@ type_decls - 1633438 + 1629527 id - 1633438 + 1629527 type_id - 1614476 + 1610611 location - 1547362 + 1543658 @@ -11946,7 +11893,7 @@ 1 2 - 1633438 + 1629527 @@ -11962,7 +11909,7 @@ 1 2 - 1633438 + 1629527 @@ -11978,12 +11925,12 @@ 1 2 - 1598134 + 1594308 2 10 - 16341 + 16302 @@ -11999,12 +11946,12 @@ 1 2 - 1598259 + 1594433 2 10 - 16217 + 16178 @@ -12020,12 +11967,12 @@ 1 2 - 1525282 + 1521630 2 64 - 22080 + 22027 @@ -12041,12 +11988,12 @@ 1 2 - 1525407 + 1521755 2 64 - 21955 + 21902 @@ -12056,37 +12003,37 @@ type_def - 1095528 + 1092906 id - 1095528 + 1092906 type_decl_top - 675276 + 675760 type_decl - 675276 + 675760 type_requires - 7670 + 7658 id - 2041 + 2037 constraint - 7648 + 7636 @@ -12100,7 +12047,7 @@ 1 2 - 1009 + 1008 2 @@ -12110,7 +12057,7 @@ 5 6 - 601 + 600 6 @@ -12136,7 +12083,7 @@ 1 2 - 7627 + 7615 2 @@ -12151,23 +12098,23 @@ namespace_decls - 407918 + 407977 id - 407918 + 407977 namespace_id - 1840 + 1838 location - 407918 + 407977 bodylocation - 407918 + 407977 @@ -12181,7 +12128,7 @@ 1 2 - 407918 + 407977 @@ -12197,7 +12144,7 @@ 1 2 - 407918 + 407977 @@ -12213,7 +12160,7 @@ 1 2 - 407918 + 407977 @@ -12229,7 +12176,7 @@ 1 2 - 389 + 388 2 @@ -12244,7 +12191,7 @@ 6 15 - 154 + 153 15 @@ -12264,22 +12211,22 @@ 86 144 - 162 + 153 - 151 - 264 + 153 + 232 145 - 270 - 1870 + 263 + 1509 145 - 2205 - 12488 - 32 + 1882 + 12507 + 40 @@ -12295,7 +12242,7 @@ 1 2 - 389 + 388 2 @@ -12310,7 +12257,7 @@ 6 15 - 154 + 153 15 @@ -12330,22 +12277,22 @@ 86 144 - 162 + 153 - 151 - 264 + 153 + 232 145 - 270 - 1870 + 263 + 1509 145 - 2205 - 12488 - 32 + 1882 + 12507 + 40 @@ -12361,7 +12308,7 @@ 1 2 - 389 + 388 2 @@ -12376,7 +12323,7 @@ 6 15 - 154 + 153 15 @@ -12396,22 +12343,22 @@ 86 144 - 162 + 153 - 151 - 264 + 153 + 232 145 - 270 - 1870 + 263 + 1509 145 - 2205 - 12488 - 32 + 1882 + 12507 + 40 @@ -12427,7 +12374,7 @@ 1 2 - 407918 + 407977 @@ -12443,7 +12390,7 @@ 1 2 - 407918 + 407977 @@ -12459,7 +12406,7 @@ 1 2 - 407918 + 407977 @@ -12475,7 +12422,7 @@ 1 2 - 407918 + 407977 @@ -12491,7 +12438,7 @@ 1 2 - 407918 + 407977 @@ -12507,7 +12454,7 @@ 1 2 - 407918 + 407977 @@ -12517,19 +12464,19 @@ usings - 272192 + 270978 id - 272192 + 270978 element_id - 59184 + 58813 location - 26846 + 26740 kind @@ -12547,7 +12494,7 @@ 1 2 - 272192 + 270978 @@ -12563,7 +12510,7 @@ 1 2 - 272192 + 270978 @@ -12579,7 +12526,7 @@ 1 2 - 272192 + 270978 @@ -12595,17 +12542,17 @@ 1 2 - 51453 + 51113 2 5 - 5386 + 5364 5 134 - 2344 + 2335 @@ -12621,17 +12568,17 @@ 1 2 - 51453 + 51113 2 5 - 5386 + 5364 5 134 - 2344 + 2335 @@ -12647,7 +12594,7 @@ 1 2 - 59184 + 58813 @@ -12663,22 +12610,22 @@ 1 2 - 21175 + 21091 2 4 - 2291 + 2293 4 132 - 1953 + 1935 145 - 371 - 1425 + 367 + 1420 @@ -12694,22 +12641,22 @@ 1 2 - 21175 + 21091 2 4 - 2291 + 2293 4 132 - 1953 + 1935 145 - 371 - 1425 + 367 + 1420 @@ -12725,7 +12672,7 @@ 1 2 - 26846 + 26740 @@ -12744,8 +12691,8 @@ 10 - 25380 - 25381 + 25367 + 25368 10 @@ -12765,8 +12712,8 @@ 10 - 5390 - 5391 + 5377 + 5378 10 @@ -12798,15 +12745,15 @@ using_container - 580229 + 577796 parent - 21914 + 21806 child - 272192 + 270978 @@ -12820,42 +12767,42 @@ 1 2 - 10371 + 10330 2 3 - 1615 + 1609 3 6 - 1858 + 1851 6 7 - 2312 + 2282 7 28 - 1668 + 1662 28 136 - 781 + 778 145 146 - 2619 + 2608 146 437 - 686 + 683 @@ -12871,27 +12818,27 @@ 1 2 - 96729 + 96210 2 3 - 120270 + 119794 3 4 - 20097 + 20018 4 5 - 26709 + 26603 5 65 - 8385 + 8352 @@ -12901,27 +12848,27 @@ static_asserts - 172982 + 172749 id - 172982 + 172749 condition - 172982 + 172749 message - 38704 + 38652 location - 22616 + 22585 enclosing - 6819 + 6810 @@ -12935,7 +12882,7 @@ 1 2 - 172982 + 172749 @@ -12951,7 +12898,7 @@ 1 2 - 172982 + 172749 @@ -12967,7 +12914,7 @@ 1 2 - 172982 + 172749 @@ -12983,7 +12930,7 @@ 1 2 - 172982 + 172749 @@ -12999,7 +12946,7 @@ 1 2 - 172982 + 172749 @@ -13015,7 +12962,7 @@ 1 2 - 172982 + 172749 @@ -13031,7 +12978,7 @@ 1 2 - 172982 + 172749 @@ -13047,7 +12994,7 @@ 1 2 - 172982 + 172749 @@ -13063,32 +13010,32 @@ 1 2 - 28454 + 28416 2 3 - 640 + 639 3 4 - 3624 + 3619 4 12 - 2084 + 2081 12 17 - 3130 + 3125 17 513 - 770 + 769 @@ -13104,32 +13051,32 @@ 1 2 - 28454 + 28416 2 3 - 640 + 639 3 4 - 3624 + 3619 4 12 - 2084 + 2081 12 17 - 3130 + 3125 17 513 - 770 + 769 @@ -13145,12 +13092,12 @@ 1 2 - 35866 + 35818 2 33 - 2838 + 2834 @@ -13166,7 +13113,7 @@ 1 2 - 30263 + 30222 2 @@ -13176,17 +13123,17 @@ 3 4 - 3389 + 3385 4 12 - 1905 + 1903 12 43 - 2797 + 2793 @@ -13202,17 +13149,17 @@ 1 2 - 4273 + 4267 2 3 - 3722 + 3717 3 4 - 1743 + 1741 4 @@ -13222,7 +13169,7 @@ 5 6 - 4727 + 4721 6 @@ -13232,7 +13179,7 @@ 14 15 - 2643 + 2640 16 @@ -13242,7 +13189,7 @@ 17 18 - 4387 + 4381 19 @@ -13263,17 +13210,17 @@ 1 2 - 4273 + 4267 2 3 - 3722 + 3717 3 4 - 1743 + 1741 4 @@ -13283,7 +13230,7 @@ 5 6 - 4727 + 4721 6 @@ -13293,7 +13240,7 @@ 14 15 - 2643 + 2640 16 @@ -13303,7 +13250,7 @@ 17 18 - 4387 + 4381 19 @@ -13324,22 +13271,22 @@ 1 2 - 6949 + 6940 2 3 - 7663 + 7652 3 4 - 7768 + 7758 4 7 - 235 + 234 @@ -13355,32 +13302,32 @@ 1 2 - 5060 + 5053 2 3 - 8084 + 8073 3 4 - 1483 + 1481 4 5 - 4751 + 4745 5 13 - 494 + 493 13 14 - 2643 + 2640 16 @@ -13401,17 +13348,17 @@ 1 2 - 5716 + 5709 2 3 - 527 + 526 3 228 - 527 + 526 229 @@ -13432,17 +13379,17 @@ 1 2 - 5716 + 5709 2 3 - 527 + 526 3 228 - 527 + 526 229 @@ -13463,7 +13410,7 @@ 1 2 - 5870 + 5863 2 @@ -13489,12 +13436,12 @@ 1 2 - 5854 + 5846 2 3 - 535 + 534 3 @@ -13509,23 +13456,23 @@ params - 7060560 + 7052243 id - 7019643 + 7011797 function - 3404846 + 3400304 index - 7983 + 7964 type_id - 1220275 + 1217354 @@ -13539,7 +13486,7 @@ 1 2 - 7019643 + 7011797 @@ -13555,7 +13502,7 @@ 1 2 - 7019643 + 7011797 @@ -13571,12 +13518,12 @@ 1 2 - 6978726 + 6971351 2 3 - 40917 + 40445 @@ -13592,27 +13539,27 @@ 1 2 - 1473138 + 1470855 2 3 - 926247 + 924776 3 4 - 578701 + 578187 4 5 - 280805 + 280506 5 65 - 145954 + 145977 @@ -13628,27 +13575,27 @@ 1 2 - 1473138 + 1470855 2 3 - 926247 + 924776 3 4 - 578701 + 578187 4 5 - 280805 + 280506 5 65 - 145954 + 145977 @@ -13664,22 +13611,22 @@ 1 2 - 1781637 + 1778616 2 3 - 1030660 + 1029312 3 4 - 437488 + 437436 4 11 - 155060 + 154938 @@ -13695,31 +13642,31 @@ 2 3 - 3991 + 3982 6 7 - 1995 + 1991 14 18 - 623 + 622 23 138 - 623 + 622 - 320 - 15486 - 623 + 322 + 15505 + 622 - 27294 - 27295 + 27323 + 27324 124 @@ -13736,31 +13683,31 @@ 2 3 - 3991 + 3982 6 7 - 1995 + 1991 14 18 - 623 + 622 23 138 - 623 + 622 - 320 - 15486 - 623 + 322 + 15505 + 622 - 27294 - 27295 + 27323 + 27324 124 @@ -13777,27 +13724,27 @@ 1 2 - 3991 + 3982 2 3 - 1995 + 1991 4 7 - 623 + 622 9 55 - 623 + 622 116 2703 - 623 + 622 7497 @@ -13818,27 +13765,27 @@ 1 2 - 737504 + 735614 2 3 - 240387 + 239687 3 5 - 93186 + 93087 5 13 - 93809 + 93709 13 2574 - 55387 + 55255 @@ -13854,27 +13801,27 @@ 1 2 - 819588 + 817501 2 3 - 179635 + 179081 3 6 - 106159 + 106154 6 27 - 92188 + 91967 27 2562 - 22703 + 22649 @@ -13890,17 +13837,17 @@ 1 2 - 995107 + 992725 2 3 - 166786 + 166387 3 65 - 58381 + 58241 @@ -13910,15 +13857,15 @@ overrides - 159497 + 159153 new - 150804 + 150382 old - 17961 + 17799 @@ -13932,12 +13879,12 @@ 1 2 - 142119 + 141620 2 4 - 8684 + 8762 @@ -13953,32 +13900,32 @@ 1 2 - 9828 + 9685 2 3 - 2432 + 2405 3 4 - 1629 + 1643 4 6 - 1483 + 1481 6 - 18 - 1354 + 17 + 1336 - 18 + 17 230 - 1232 + 1247 @@ -13988,19 +13935,19 @@ membervariables - 1501944 + 1502978 id - 1499494 + 1500528 type_id - 457553 + 457641 name - 642220 + 642756 @@ -14014,7 +13961,7 @@ 1 2 - 1497152 + 1498186 2 @@ -14035,7 +13982,7 @@ 1 2 - 1499494 + 1500528 @@ -14051,17 +13998,17 @@ 1 2 - 339380 + 339459 2 3 - 72592 + 72597 3 10 - 35451 + 35454 10 @@ -14082,17 +14029,17 @@ 1 2 - 356970 + 357050 2 3 - 64750 + 64754 3 57 - 34362 + 34365 60 @@ -14113,22 +14060,22 @@ 1 2 - 421557 + 422023 2 3 - 122421 + 122484 3 5 - 58051 + 58056 5 664 - 40189 + 40192 @@ -14144,17 +14091,17 @@ 1 2 - 524482 + 525010 2 3 - 73191 + 73196 3 668 - 44546 + 44549 @@ -14164,19 +14111,19 @@ globalvariables - 488384 + 492566 id - 488384 + 492566 type_id - 10354 + 10329 name - 112521 + 112252 @@ -14190,7 +14137,7 @@ 1 2 - 488384 + 492566 @@ -14206,7 +14153,7 @@ 1 2 - 488384 + 492566 @@ -14222,32 +14169,32 @@ 1 2 - 6985 + 6969 2 3 - 374 + 373 3 5 - 748 + 746 5 20 - 873 + 871 20 - 74 - 873 + 80 + 871 152 2216 - 498 + 497 @@ -14263,32 +14210,32 @@ 1 2 - 7110 + 7093 2 3 - 374 + 373 3 5 - 748 + 746 5 20 - 748 + 746 20 74 - 873 + 871 125 228 - 498 + 497 @@ -14304,17 +14251,17 @@ 1 2 - 95306 + 94954 2 7 - 8857 + 8835 7 604 - 8358 + 8462 @@ -14330,17 +14277,17 @@ 1 2 - 96928 + 96696 2 3 - 15343 + 15307 3 4 - 249 + 248 @@ -14350,19 +14297,19 @@ localvariables - 726016 + 724695 id - 726016 + 724695 type_id - 53423 + 53298 name - 101594 + 101409 @@ -14376,7 +14323,7 @@ 1 2 - 726016 + 724695 @@ -14392,7 +14339,7 @@ 1 2 - 726016 + 724695 @@ -14408,37 +14355,37 @@ 1 2 - 28857 + 28789 2 3 - 7840 + 7806 3 4 - 4028 + 4020 4 6 - 4064 + 4060 6 12 - 4132 + 4128 12 162 - 4008 + 4000 162 19347 - 492 + 491 @@ -14454,7 +14401,7 @@ 1 2 - 38358 + 38248 2 @@ -14464,12 +14411,12 @@ 3 5 - 4476 + 4468 5 3509 - 3884 + 3877 @@ -14485,32 +14432,32 @@ 1 2 - 62515 + 62402 2 3 - 16032 + 16003 3 4 - 6528 + 6516 4 8 - 8144 + 8129 8 134 - 7620 + 7606 134 7549 - 752 + 750 @@ -14526,22 +14473,22 @@ 1 2 - 84553 + 84399 2 3 - 8408 + 8393 3 15 - 7680 + 7666 15 1509 - 952 + 950 @@ -14551,15 +14498,15 @@ autoderivation - 229160 + 228611 var - 229160 + 228611 derivation_type - 623 + 622 @@ -14573,7 +14520,7 @@ 1 2 - 229160 + 228611 @@ -14619,15 +14566,15 @@ orphaned_variables - 44321 + 44034 var - 44321 + 44034 function - 41051 + 40785 @@ -14641,7 +14588,7 @@ 1 2 - 44321 + 44034 @@ -14657,12 +14604,12 @@ 1 2 - 40199 + 39939 2 47 - 851 + 846 @@ -14672,19 +14619,19 @@ enumconstants - 347930 + 347955 id - 347930 + 347955 parent - 41551 + 41554 index - 13941 + 13942 type_id @@ -14692,11 +14639,11 @@ name - 347549 + 347574 location - 320538 + 320561 @@ -14710,7 +14657,7 @@ 1 2 - 347930 + 347955 @@ -14726,7 +14673,7 @@ 1 2 - 347930 + 347955 @@ -14742,7 +14689,7 @@ 1 2 - 347930 + 347955 @@ -14758,7 +14705,7 @@ 1 2 - 347930 + 347955 @@ -14774,7 +14721,7 @@ 1 2 - 347930 + 347955 @@ -14805,7 +14752,7 @@ 4 5 - 5554 + 5555 5 @@ -14830,7 +14777,7 @@ 10 15 - 3430 + 3431 15 @@ -14840,7 +14787,7 @@ 33 257 - 1306 + 1307 @@ -14871,7 +14818,7 @@ 4 5 - 5554 + 5555 5 @@ -14896,7 +14843,7 @@ 10 15 - 3430 + 3431 15 @@ -14906,7 +14853,7 @@ 33 257 - 1306 + 1307 @@ -14922,7 +14869,7 @@ 1 2 - 41551 + 41554 @@ -14953,7 +14900,7 @@ 4 5 - 5554 + 5555 5 @@ -14978,7 +14925,7 @@ 10 15 - 3430 + 3431 15 @@ -14988,7 +14935,7 @@ 33 257 - 1306 + 1307 @@ -15004,7 +14951,7 @@ 1 2 - 2123 + 2124 2 @@ -15014,7 +14961,7 @@ 3 4 - 8767 + 8768 4 @@ -15182,7 +15129,7 @@ 1 2 - 13941 + 13942 @@ -15390,7 +15337,7 @@ 1 2 - 347168 + 347193 2 @@ -15411,7 +15358,7 @@ 1 2 - 347168 + 347193 2 @@ -15432,7 +15379,7 @@ 1 2 - 347549 + 347574 @@ -15448,7 +15395,7 @@ 1 2 - 347549 + 347574 @@ -15464,7 +15411,7 @@ 1 2 - 347168 + 347193 2 @@ -15485,7 +15432,7 @@ 1 2 - 319503 + 319526 2 @@ -15506,7 +15453,7 @@ 1 2 - 320538 + 320561 @@ -15522,7 +15469,7 @@ 1 2 - 319503 + 319526 2 @@ -15543,7 +15490,7 @@ 1 2 - 320538 + 320561 @@ -15559,7 +15506,7 @@ 1 2 - 319503 + 319526 2 @@ -15574,31 +15521,31 @@ builtintypes - 7609 + 7218 id - 7609 + 7218 name - 7609 + 7218 kind - 7609 + 7218 size - 873 + 871 sign - 374 + 373 alignment - 623 + 622 @@ -15612,7 +15559,7 @@ 1 2 - 7609 + 7218 @@ -15628,7 +15575,7 @@ 1 2 - 7609 + 7218 @@ -15644,7 +15591,7 @@ 1 2 - 7609 + 7218 @@ -15660,7 +15607,7 @@ 1 2 - 7609 + 7218 @@ -15676,7 +15623,7 @@ 1 2 - 7609 + 7218 @@ -15692,7 +15639,7 @@ 1 2 - 7609 + 7218 @@ -15708,7 +15655,7 @@ 1 2 - 7609 + 7218 @@ -15724,7 +15671,7 @@ 1 2 - 7609 + 7218 @@ -15740,7 +15687,7 @@ 1 2 - 7609 + 7218 @@ -15756,7 +15703,7 @@ 1 2 - 7609 + 7218 @@ -15772,7 +15719,7 @@ 1 2 - 7609 + 7218 @@ -15788,7 +15735,7 @@ 1 2 - 7609 + 7218 @@ -15804,7 +15751,7 @@ 1 2 - 7609 + 7218 @@ -15820,7 +15767,7 @@ 1 2 - 7609 + 7218 @@ -15836,7 +15783,7 @@ 1 2 - 7609 + 7218 @@ -15852,7 +15799,7 @@ 2 3 - 249 + 248 8 @@ -15865,8 +15812,13 @@ 124 - 11 - 12 + 10 + 11 + 124 + + + 13 + 14 124 @@ -15874,11 +15826,6 @@ 15 124 - - 15 - 16 - 124 - @@ -15893,7 +15840,7 @@ 2 3 - 249 + 248 8 @@ -15906,8 +15853,13 @@ 124 - 11 - 12 + 10 + 11 + 124 + + + 13 + 14 124 @@ -15915,11 +15867,6 @@ 15 124 - - 15 - 16 - 124 - @@ -15934,7 +15881,7 @@ 2 3 - 249 + 248 8 @@ -15947,8 +15894,13 @@ 124 - 11 - 12 + 10 + 11 + 124 + + + 13 + 14 124 @@ -15956,11 +15908,6 @@ 15 124 - - 15 - 16 - 124 - @@ -15975,12 +15922,12 @@ 1 2 - 249 + 248 3 4 - 623 + 622 @@ -15996,12 +15943,12 @@ 1 2 - 498 + 497 2 3 - 374 + 373 @@ -16025,8 +15972,8 @@ 124 - 43 - 44 + 40 + 41 124 @@ -16051,8 +15998,8 @@ 124 - 43 - 44 + 40 + 41 124 @@ -16077,8 +16024,8 @@ 124 - 43 - 44 + 40 + 41 124 @@ -16095,7 +16042,7 @@ 5 6 - 249 + 248 7 @@ -16116,7 +16063,7 @@ 5 6 - 374 + 373 @@ -16130,8 +16077,8 @@ 12 - 8 - 9 + 7 + 8 124 @@ -16140,13 +16087,18 @@ 124 - 13 - 14 - 249 + 12 + 13 + 124 - 17 - 18 + 13 + 14 + 124 + + + 16 + 17 124 @@ -16161,8 +16113,8 @@ 12 - 8 - 9 + 7 + 8 124 @@ -16171,13 +16123,18 @@ 124 - 13 - 14 - 249 + 12 + 13 + 124 - 17 - 18 + 13 + 14 + 124 + + + 16 + 17 124 @@ -16192,8 +16149,8 @@ 12 - 8 - 9 + 7 + 8 124 @@ -16202,13 +16159,18 @@ 124 - 13 - 14 - 249 + 12 + 13 + 124 - 17 - 18 + 13 + 14 + 124 + + + 16 + 17 124 @@ -16225,7 +16187,7 @@ 2 3 - 623 + 622 @@ -16241,7 +16203,7 @@ 3 4 - 623 + 622 @@ -16251,23 +16213,23 @@ derivedtypes - 3030855 + 3023723 id - 3030855 + 3023723 name - 1460538 + 1457166 kind - 748 + 746 type_id - 1946678 + 1942142 @@ -16281,7 +16243,7 @@ 1 2 - 3030855 + 3023723 @@ -16297,7 +16259,7 @@ 1 2 - 3030855 + 3023723 @@ -16313,7 +16275,7 @@ 1 2 - 3030855 + 3023723 @@ -16329,17 +16291,17 @@ 1 2 - 1344025 + 1340931 2 28 - 109902 + 109639 29 4302 - 6611 + 6595 @@ -16355,7 +16317,7 @@ 1 2 - 1460538 + 1457166 @@ -16371,17 +16333,17 @@ 1 2 - 1344149 + 1341056 2 28 - 109777 + 109514 29 4302 - 6611 + 6595 @@ -16405,8 +16367,8 @@ 124 - 3627 - 3628 + 3628 + 3629 124 @@ -16456,8 +16418,8 @@ 124 - 2654 - 2655 + 2655 + 2656 124 @@ -16487,8 +16449,8 @@ 124 - 3623 - 3624 + 3624 + 3625 124 @@ -16520,22 +16482,22 @@ 1 2 - 1317453 + 1314424 2 3 - 375862 + 374963 3 4 - 123250 + 122955 4 137 - 130111 + 129799 @@ -16551,22 +16513,22 @@ 1 2 - 1318950 + 1315917 2 3 - 375862 + 374963 3 4 - 121753 + 121461 4 137 - 130111 + 129799 @@ -16582,22 +16544,22 @@ 1 2 - 1319325 + 1316290 2 3 - 376486 + 375585 3 4 - 123499 + 123203 4 6 - 127366 + 127061 @@ -16607,19 +16569,19 @@ pointerishsize - 2247318 + 2242062 id - 2247318 + 2242062 size - 249 + 248 alignment - 249 + 248 @@ -16633,7 +16595,7 @@ 1 2 - 2247318 + 2242062 @@ -16649,7 +16611,7 @@ 1 2 - 2247318 + 2242062 @@ -16668,8 +16630,8 @@ 124 - 18012 - 18013 + 18013 + 18014 124 @@ -16686,7 +16648,7 @@ 1 2 - 249 + 248 @@ -16705,8 +16667,8 @@ 124 - 18012 - 18013 + 18013 + 18014 124 @@ -16723,7 +16685,7 @@ 1 2 - 249 + 248 @@ -16733,23 +16695,23 @@ arraysizes - 80586 + 80393 id - 80586 + 80393 num_elements - 17838 + 17796 bytesize - 20209 + 20160 alignment - 623 + 622 @@ -16763,7 +16725,7 @@ 1 2 - 80586 + 80393 @@ -16779,7 +16741,7 @@ 1 2 - 80586 + 80393 @@ -16795,7 +16757,7 @@ 1 2 - 80586 + 80393 @@ -16811,32 +16773,32 @@ 1 2 - 249 + 248 2 3 - 10852 + 10827 3 4 - 249 + 248 4 5 - 3492 + 3484 5 9 - 1496 + 1493 9 42 - 1372 + 1368 56 @@ -16857,22 +16819,22 @@ 1 2 - 11726 + 11698 2 3 - 3991 + 3982 3 5 - 997 + 995 5 11 - 1122 + 1120 @@ -16888,22 +16850,22 @@ 1 2 - 11726 + 11698 2 3 - 3991 + 3982 3 4 - 748 + 746 4 6 - 1372 + 1368 @@ -16919,37 +16881,37 @@ 1 2 - 623 + 622 2 3 - 12724 + 12693 3 4 - 498 + 497 4 5 - 2744 + 2737 5 7 - 1496 + 1493 7 17 - 1621 + 1617 24 45 - 498 + 497 @@ -16965,17 +16927,17 @@ 1 2 - 14595 + 14560 2 3 - 3617 + 3609 3 6 - 1871 + 1866 6 @@ -16996,22 +16958,22 @@ 1 2 - 14844 + 14809 2 3 - 3368 + 3360 3 5 - 1621 + 1617 5 6 - 374 + 373 @@ -17068,7 +17030,7 @@ 16 17 - 249 + 248 48 @@ -17172,15 +17134,15 @@ typedefbase - 1762169 + 1755743 id - 1762169 + 1755743 type_id - 837952 + 834216 @@ -17194,7 +17156,7 @@ 1 2 - 1762169 + 1755743 @@ -17210,22 +17172,22 @@ 1 2 - 662479 + 659332 2 3 - 80940 + 80757 3 6 - 64169 + 63915 6 - 4526 - 30363 + 4525 + 30211 @@ -17235,15 +17197,15 @@ decltypes - 814486 + 814570 id - 27564 + 27567 expr - 814486 + 814570 kind @@ -17269,17 +17231,17 @@ 1 2 - 9737 + 9738 2 3 - 3648 + 3649 4 5 - 3626 + 3627 6 @@ -17325,7 +17287,7 @@ 1 2 - 27564 + 27567 @@ -17341,7 +17303,7 @@ 1 2 - 27564 + 27567 @@ -17357,7 +17319,7 @@ 1 2 - 27564 + 27567 @@ -17373,7 +17335,7 @@ 1 2 - 814486 + 814570 @@ -17389,7 +17351,7 @@ 1 2 - 814486 + 814570 @@ -17405,7 +17367,7 @@ 1 2 - 814486 + 814570 @@ -17421,7 +17383,7 @@ 1 2 - 814486 + 814570 @@ -17501,7 +17463,7 @@ 1 2 - 1208 + 1209 2 @@ -17547,7 +17509,7 @@ 1 2 - 1164 + 1165 2 @@ -17683,15 +17645,15 @@ type_operators - 7949 + 7937 id - 7949 + 7937 arg_type - 7176 + 7164 kind @@ -17699,7 +17661,7 @@ base_type - 5242 + 5234 @@ -17713,7 +17675,7 @@ 1 2 - 7949 + 7937 @@ -17729,7 +17691,7 @@ 1 2 - 7949 + 7937 @@ -17745,7 +17707,7 @@ 1 2 - 7949 + 7937 @@ -17761,12 +17723,12 @@ 1 2 - 6402 + 6392 2 3 - 773 + 772 @@ -17782,12 +17744,12 @@ 1 2 - 6402 + 6392 2 3 - 773 + 772 @@ -17803,7 +17765,7 @@ 1 2 - 7154 + 7143 2 @@ -17917,12 +17879,12 @@ 1 2 - 3631 + 3625 2 3 - 902 + 900 3 @@ -17932,7 +17894,7 @@ 4 6 - 365 + 364 @@ -17948,17 +17910,17 @@ 1 2 - 3781 + 3775 2 3 - 988 + 986 3 4 - 451 + 450 4 @@ -17979,12 +17941,12 @@ 1 2 - 4082 + 4075 2 3 - 1138 + 1136 3 @@ -17999,15 +17961,15 @@ usertypes - 4151247 + 4137505 id - 4151247 + 4137505 name - 918449 + 915352 kind @@ -18025,7 +17987,7 @@ 1 2 - 4151247 + 4137505 @@ -18041,7 +18003,7 @@ 1 2 - 4151247 + 4137505 @@ -18057,22 +18019,22 @@ 1 2 - 654210 + 652073 2 3 - 158649 + 158105 3 8 - 70559 + 70321 8 - 32672 - 35031 + 32667 + 34850 @@ -18088,12 +18050,12 @@ 1 2 - 866710 + 863818 2 10 - 51739 + 51534 @@ -18127,8 +18089,8 @@ 10 - 1595 - 1596 + 1656 + 1657 10 @@ -18142,8 +18104,8 @@ 10 - 20079 - 20080 + 20075 + 20076 10 @@ -18152,18 +18114,18 @@ 10 - 82092 - 82093 + 82174 + 82175 10 - 92774 - 92775 + 92838 + 92839 10 - 166854 - 166855 + 166906 + 166907 10 @@ -18218,8 +18180,8 @@ 10 - 5589 - 5590 + 5586 + 5587 10 @@ -18233,8 +18195,8 @@ 10 - 57611 - 57612 + 57664 + 57665 10 @@ -18245,15 +18207,15 @@ usertypesize - 1363676 + 1359595 id - 1363676 + 1359595 size - 1478 + 1472 alignment @@ -18271,7 +18233,7 @@ 1 2 - 1363676 + 1359595 @@ -18287,7 +18249,7 @@ 1 2 - 1363676 + 1359595 @@ -18303,51 +18265,51 @@ 1 2 - 464 + 462 2 3 - 190 + 189 3 4 - 95 + 94 4 6 - 95 + 94 6 9 - 116 + 115 9 19 - 116 + 115 19 30 - 116 + 115 30 115 - 116 + 115 118 1735 - 116 + 115 1839 - 99777 + 99841 52 @@ -18364,17 +18326,17 @@ 1 2 - 1203 + 1199 2 3 - 179 + 178 3 6 - 95 + 94 @@ -18413,8 +18375,8 @@ 10 - 2080 - 2081 + 2141 + 2142 10 @@ -18423,8 +18385,8 @@ 10 - 114972 - 114973 + 115036 + 115037 10 @@ -18481,26 +18443,26 @@ usertype_final - 11476 + 11449 id - 11476 + 11449 usertype_uuid - 47827 + 47795 id - 47827 + 47795 uuid - 47283 + 47252 @@ -18514,7 +18476,7 @@ 1 2 - 47827 + 47795 @@ -18530,12 +18492,12 @@ 1 2 - 46740 + 46710 2 3 - 543 + 542 @@ -18545,11 +18507,11 @@ usertype_alias_kind - 1762169 + 1755743 id - 1762169 + 1755743 alias_kind @@ -18567,7 +18529,7 @@ 1 2 - 1762169 + 1755743 @@ -18581,13 +18543,13 @@ 12 - 36907 - 36908 + 36914 + 36915 10 - 129947 - 129948 + 129992 + 129993 10 @@ -18598,26 +18560,26 @@ nontype_template_parameters - 766248 + 761283 id - 766248 + 761283 type_template_type_constraint - 27115 + 27071 id - 13364 + 13342 constraint - 25976 + 25934 @@ -18631,22 +18593,22 @@ 1 2 - 10205 + 10189 2 3 - 902 + 900 3 5 - 1031 + 1029 5 14 - 1117 + 1115 14 @@ -18667,12 +18629,12 @@ 1 2 - 24837 + 24797 2 3 - 1138 + 1136 @@ -18682,19 +18644,19 @@ mangled_name - 7853951 + 7910439 id - 7853951 + 7910439 mangled_name - 6364346 + 6349607 is_complete - 249 + 248 @@ -18708,7 +18670,7 @@ 1 2 - 7853951 + 7910439 @@ -18724,7 +18686,7 @@ 1 2 - 7853951 + 7910439 @@ -18740,12 +18702,12 @@ 1 2 - 6036261 + 6016209 2 1120 - 328084 + 333397 @@ -18761,7 +18723,7 @@ 1 2 - 6364346 + 6349607 @@ -18780,8 +18742,8 @@ 124 - 62953 - 62954 + 63558 + 63559 124 @@ -18801,8 +18763,8 @@ 124 - 51012 - 51013 + 51016 + 51017 124 @@ -18813,59 +18775,59 @@ is_pod_class - 593798 + 590966 id - 593798 + 590966 is_standard_layout_class - 1124307 + 1120532 id - 1124307 + 1120532 is_complete - 1346155 + 1341502 id - 1346155 + 1341502 is_class_template - 232144 + 231183 id - 232144 + 231183 class_instantiation - 1125965 + 1122152 to - 1122924 + 1119154 from - 71794 + 71521 @@ -18879,12 +18841,12 @@ 1 2 - 1120790 + 1117061 2 8 - 2133 + 2093 @@ -18900,47 +18862,47 @@ 1 2 - 20499 + 20386 2 3 - 12884 + 12833 3 4 - 7107 + 7111 4 5 - 4657 + 4639 5 7 - 6072 + 6059 7 10 - 5713 + 5680 10 17 - 5903 + 5901 17 - 51 + 52 5396 - 51 + 52 4223 - 3559 + 3513 @@ -18950,19 +18912,19 @@ class_template_argument - 2898347 + 2887353 type_id - 1366971 + 1362193 index - 1182 + 1178 arg_type - 822016 + 818753 @@ -18976,27 +18938,27 @@ 1 2 - 579310 + 577723 2 3 - 410247 + 408634 3 4 - 251017 + 249939 4 7 - 103087 + 102679 7 113 - 23308 + 23216 @@ -19012,22 +18974,22 @@ 1 2 - 607846 + 606156 2 3 - 424251 + 422573 3 4 - 251851 + 250770 4 113 - 83021 + 82692 @@ -19048,31 +19010,31 @@ 4 5 - 749 + 746 5 30 - 95 + 94 33 90 - 95 + 94 95 453 - 95 + 94 643 7128 - 95 + 94 11968 - 129432 + 129492 42 @@ -19094,7 +19056,7 @@ 4 5 - 749 + 746 5 @@ -19104,20 +19066,20 @@ 16 35 - 95 + 94 37 155 - 95 + 94 196 3263 - 95 + 94 - 10413 + 10412 44535 31 @@ -19135,27 +19097,27 @@ 1 2 - 513672 + 511556 2 3 - 167626 + 166889 3 5 - 75079 + 74918 5 - 47 - 61729 + 46 + 61412 - 47 - 12619 - 3907 + 46 + 12620 + 3976 @@ -19171,17 +19133,17 @@ 1 2 - 723744 + 720870 2 3 - 79905 + 79589 3 22 - 18365 + 18293 @@ -19191,19 +19153,19 @@ class_template_argument_value - 510060 + 506789 type_id - 205802 + 204502 index - 306 + 304 arg_value - 509924 + 506653 @@ -19217,17 +19179,17 @@ 1 2 - 155791 + 154815 2 3 - 43368 + 43087 3 8 - 6643 + 6600 @@ -19243,22 +19205,22 @@ 1 2 - 147921 + 146996 2 3 - 40472 + 40210 3 45 - 15534 + 15434 45 154 - 1873 + 1861 @@ -19274,47 +19236,47 @@ 2 3 - 34 + 33 20 21 - 34 + 33 49 50 - 34 + 33 84 85 - 34 + 33 105 106 - 34 + 33 278 279 - 34 + 33 981 982 - 34 + 33 - 2471 - 2472 - 34 + 2472 + 2473 + 33 3753 3754 - 34 + 33 @@ -19330,47 +19292,47 @@ 3 4 - 34 + 33 74 75 - 34 + 33 105 106 - 34 + 33 273 274 - 34 + 33 336 337 - 34 + 33 892 893 - 34 + 33 2433 2434 - 34 + 33 - 4801 - 4802 - 34 + 4802 + 4803 + 33 6051 6052 - 34 + 33 @@ -19386,12 +19348,12 @@ 1 2 - 509787 + 506518 2 3 - 136 + 135 @@ -19407,7 +19369,7 @@ 1 2 - 509924 + 506653 @@ -19417,15 +19379,15 @@ is_proxy_class_for - 48433 + 48241 id - 48433 + 48241 templ_param_id - 45761 + 45580 @@ -19439,7 +19401,7 @@ 1 2 - 48433 + 48241 @@ -19455,12 +19417,12 @@ 1 2 - 45043 + 44865 2 79 - 718 + 715 @@ -19470,19 +19432,19 @@ type_mentions - 5907630 + 5911106 id - 5907630 + 5911106 type_id - 277788 + 277863 location - 5851321 + 5854793 kind @@ -19500,7 +19462,7 @@ 1 2 - 5907630 + 5911106 @@ -19516,7 +19478,7 @@ 1 2 - 5907630 + 5911106 @@ -19532,7 +19494,7 @@ 1 2 - 5907630 + 5911106 @@ -19548,42 +19510,42 @@ 1 2 - 137233 + 137297 2 3 - 31204 + 31206 3 4 - 11653 + 11654 4 5 - 14975 + 14976 5 7 - 19931 + 19932 7 12 - 21837 + 21839 12 28 - 21075 + 21022 28 8941 - 19877 + 19932 @@ -19599,42 +19561,42 @@ 1 2 - 137233 + 137297 2 3 - 31204 + 31206 3 4 - 11653 + 11654 4 5 - 14975 + 14976 5 7 - 19931 + 19932 7 12 - 21837 + 21839 12 28 - 21075 + 21022 28 8941 - 19877 + 19932 @@ -19650,7 +19612,7 @@ 1 2 - 277788 + 277863 @@ -19666,12 +19628,12 @@ 1 2 - 5805631 + 5809100 2 4 - 45690 + 45693 @@ -19687,12 +19649,12 @@ 1 2 - 5805631 + 5809100 2 4 - 45690 + 45693 @@ -19708,7 +19670,7 @@ 1 2 - 5851321 + 5854793 @@ -19722,8 +19684,8 @@ 12 - 108481 - 108482 + 108537 + 108538 54 @@ -19738,8 +19700,8 @@ 12 - 5101 - 5102 + 5102 + 5103 54 @@ -19754,8 +19716,8 @@ 12 - 107447 - 107448 + 107503 + 107504 54 @@ -19766,26 +19728,26 @@ is_function_template - 1331300 + 1328113 id - 1331300 + 1328113 function_instantiation - 973788 + 967580 to - 973788 + 967580 from - 182704 + 181520 @@ -19799,7 +19761,7 @@ 1 2 - 973788 + 967580 @@ -19815,27 +19777,27 @@ 1 2 - 110583 + 109833 2 3 - 42788 + 42545 3 9 - 14444 + 14351 9 104 - 13729 + 13640 119 1532 - 1158 + 1150 @@ -19845,19 +19807,19 @@ function_template_argument - 2484687 + 2468689 function_id - 1453222 + 1443873 index - 476 + 473 arg_type - 297989 + 296058 @@ -19871,22 +19833,22 @@ 1 2 - 782976 + 777936 2 3 - 413137 + 410494 3 4 - 171802 + 170689 4 15 - 85305 + 84752 @@ -19902,22 +19864,22 @@ 1 2 - 802122 + 796958 2 3 - 411230 + 408599 3 4 - 169622 + 168523 4 9 - 70247 + 69792 @@ -19933,52 +19895,52 @@ 1 2 - 170 + 169 7 8 - 34 + 33 45 46 - 34 + 33 77 78 - 34 + 33 138 139 - 34 + 33 280 281 - 34 + 33 2504 2505 - 34 + 33 7547 7548 - 34 + 33 - 19674 - 19675 - 34 + 19675 + 19676 + 33 - 42657 - 42658 - 34 + 42659 + 42660 + 33 @@ -19994,52 +19956,52 @@ 1 2 - 170 + 169 4 5 - 34 + 33 17 18 - 34 + 33 27 28 - 34 + 33 52 53 - 34 + 33 112 113 - 34 + 33 315 316 - 34 + 33 972 973 - 34 + 33 2754 2755 - 34 + 33 6081 6082 - 34 + 33 @@ -20055,37 +20017,37 @@ 1 2 - 174766 + 173634 2 3 - 26334 + 26163 3 4 - 19997 + 19868 4 6 - 22654 + 22508 6 11 - 23234 + 23083 11 76 - 23370 + 23218 79 2452 - 7631 + 7581 @@ -20101,17 +20063,17 @@ 1 2 - 256801 + 255137 2 3 - 32125 + 31917 3 15 - 9061 + 9003 @@ -20121,19 +20083,19 @@ function_template_argument_value - 452758 + 449825 function_id - 196774 + 195499 index - 476 + 473 arg_value - 450067 + 447151 @@ -20147,17 +20109,17 @@ 1 2 - 151396 + 150415 2 3 - 42891 + 42613 3 8 - 2486 + 2470 @@ -20173,22 +20135,22 @@ 1 2 - 144480 + 143544 2 3 - 36690 + 36453 3 54 - 14853 + 14757 54 113 - 749 + 744 @@ -20204,52 +20166,52 @@ 1 2 - 170 + 169 2 3 - 34 + 33 3 4 - 34 + 33 4 5 - 34 + 33 15 16 - 34 + 33 27 28 - 34 + 33 1345 1346 - 34 + 33 1388 1389 - 34 + 33 1850 1851 - 34 + 33 2547 2548 - 34 + 33 @@ -20265,52 +20227,52 @@ 1 2 - 170 + 169 2 3 - 34 + 33 3 4 - 34 + 33 4 5 - 34 + 33 51 52 - 34 + 33 63 64 - 34 + 33 1906 1907 - 34 + 33 3295 3296 - 34 + 33 3702 3703 - 34 + 33 4180 4181 - 34 + 33 @@ -20326,12 +20288,12 @@ 1 2 - 447375 + 444477 2 3 - 2691 + 2673 @@ -20347,7 +20309,7 @@ 1 2 - 450067 + 447151 @@ -20357,26 +20319,26 @@ is_variable_template - 58631 + 58490 id - 58631 + 58490 variable_instantiation - 423017 + 427355 to - 423017 + 427355 from - 35303 + 35343 @@ -20390,7 +20352,7 @@ 1 2 - 423017 + 427355 @@ -20406,42 +20368,47 @@ 1 2 - 15219 + 15182 2 3 - 3867 + 3857 3 4 - 2370 + 2364 4 6 - 2993 + 2986 6 8 - 2245 + 2240 8 12 - 3118 + 3111 12 31 - 2744 + 2737 32 + 390 + 2737 + + + 545 546 - 2744 + 124 @@ -20451,19 +20418,19 @@ variable_template_argument - 768941 + 772451 variable_id - 401186 + 405577 index - 1995 + 1991 arg_type - 256355 + 255741 @@ -20477,22 +20444,22 @@ 1 2 - 156557 + 161534 2 3 - 189989 + 189534 3 4 - 36426 + 36338 4 17 - 18213 + 18169 @@ -20508,22 +20475,22 @@ 1 2 - 171402 + 176343 2 3 - 180259 + 179827 3 4 - 33681 + 33601 4 17 - 15842 + 15804 @@ -20539,12 +20506,12 @@ 28 29 - 873 + 871 34 35 - 374 + 373 37 @@ -20572,8 +20539,8 @@ 124 - 3216 - 3217 + 3259 + 3260 124 @@ -20590,12 +20557,12 @@ 1 2 - 873 + 871 2 3 - 374 + 373 5 @@ -20623,8 +20590,8 @@ 124 - 1325 - 1326 + 1327 + 1328 124 @@ -20641,22 +20608,22 @@ 1 2 - 175519 + 173481 2 3 - 44784 + 46294 3 6 - 21581 + 21529 6 206 - 14470 + 14436 @@ -20672,17 +20639,17 @@ 1 2 - 228037 + 227491 2 3 - 24699 + 24640 3 7 - 3617 + 3609 @@ -20692,19 +20659,19 @@ variable_template_argument_value - 19959 + 19911 variable_id - 14844 + 14809 index - 498 + 497 arg_value - 19959 + 19911 @@ -20718,12 +20685,12 @@ 1 2 - 13347 + 13315 2 3 - 1496 + 1493 @@ -20739,17 +20706,17 @@ 1 2 - 10478 + 10453 2 3 - 3991 + 3982 4 5 - 374 + 373 @@ -20827,7 +20794,7 @@ 1 2 - 19959 + 19911 @@ -20843,7 +20810,7 @@ 1 2 - 19959 + 19911 @@ -20853,15 +20820,15 @@ template_template_instantiation - 6362 + 6346 to - 4989 + 4977 from - 1122 + 1120 @@ -20875,12 +20842,12 @@ 1 2 - 3617 + 3609 2 3 - 1372 + 1368 @@ -20896,7 +20863,7 @@ 1 2 - 748 + 746 2 @@ -20921,11 +20888,11 @@ template_template_argument - 9674 + 9635 type_id - 6114 + 6090 index @@ -20933,7 +20900,7 @@ arg_type - 9082 + 9046 @@ -20947,17 +20914,17 @@ 1 2 - 5016 + 4996 2 3 - 422 + 420 3 8 - 506 + 504 8 @@ -20978,17 +20945,17 @@ 1 2 - 5037 + 5017 2 4 - 559 + 557 4 10 - 464 + 462 10 @@ -21131,7 +21098,7 @@ 1 2 - 9050 + 9015 3 @@ -21152,7 +21119,7 @@ 1 2 - 9061 + 9025 2 @@ -21167,19 +21134,19 @@ template_template_argument_value - 623 + 746 type_id - 528 + 124 index - 21 + 124 arg_value - 623 + 746 @@ -21193,7 +21160,7 @@ 1 2 - 528 + 124 @@ -21207,19 +21174,9 @@ 12 - 1 - 2 - 454 - - - 2 - 3 - 52 - - - 3 - 4 - 21 + 6 + 7 + 124 @@ -21233,14 +21190,9 @@ 12 - 8 - 9 - 10 - - - 42 - 43 - 10 + 1 + 2 + 124 @@ -21254,14 +21206,9 @@ 12 - 17 - 18 - 10 - - - 42 - 43 - 10 + 6 + 7 + 124 @@ -21277,7 +21224,7 @@ 1 2 - 623 + 746 @@ -21293,7 +21240,7 @@ 1 2 - 623 + 746 @@ -21303,19 +21250,19 @@ concept_templates - 3609 + 3603 concept_id - 3609 + 3603 name - 3609 + 3603 location - 3609 + 3603 @@ -21329,7 +21276,7 @@ 1 2 - 3609 + 3603 @@ -21345,7 +21292,7 @@ 1 2 - 3609 + 3603 @@ -21361,7 +21308,7 @@ 1 2 - 3609 + 3603 @@ -21377,7 +21324,7 @@ 1 2 - 3609 + 3603 @@ -21393,7 +21340,7 @@ 1 2 - 3609 + 3603 @@ -21409,7 +21356,7 @@ 1 2 - 3609 + 3603 @@ -21419,15 +21366,15 @@ concept_instantiation - 90305 + 90160 to - 90305 + 90160 from - 3437 + 3432 @@ -21441,7 +21388,7 @@ 1 2 - 90305 + 90160 @@ -21457,7 +21404,7 @@ 1 2 - 236 + 235 2 @@ -21467,7 +21414,7 @@ 3 4 - 365 + 364 4 @@ -21482,7 +21429,7 @@ 6 8 - 236 + 235 8 @@ -21492,7 +21439,7 @@ 10 12 - 279 + 278 12 @@ -21537,22 +21484,22 @@ is_type_constraint - 36848 + 36789 concept_id - 36848 + 36789 concept_template_argument - 112887 + 112705 concept_id - 76275 + 76152 index @@ -21560,7 +21507,7 @@ arg_type - 21399 + 21365 @@ -21574,17 +21521,17 @@ 1 2 - 46409 + 46335 2 3 - 24644 + 24604 3 7 - 5221 + 5212 @@ -21600,17 +21547,17 @@ 1 2 - 50019 + 49938 2 3 - 22345 + 22309 3 7 - 3910 + 3904 @@ -21708,42 +21655,42 @@ 1 2 - 10377 + 10361 2 3 - 2965 + 2960 3 4 - 1052 + 1051 4 5 - 1353 + 1351 5 6 - 1160 + 1158 6 9 - 1611 + 1608 9 14 - 1976 + 1973 14 259 - 902 + 900 @@ -21759,12 +21706,12 @@ 1 2 - 18005 + 17976 2 3 - 3265 + 3260 3 @@ -21779,11 +21726,11 @@ concept_template_argument_value - 106 + 105 concept_id - 83 + 82 index @@ -21791,7 +21738,7 @@ arg_value - 106 + 105 @@ -21805,7 +21752,7 @@ 1 2 - 83 + 82 @@ -21884,7 +21831,7 @@ 1 2 - 106 + 105 @@ -21900,7 +21847,7 @@ 1 2 - 106 + 105 @@ -21910,15 +21857,15 @@ routinetypes - 604495 + 600578 id - 604495 + 600578 return_type - 283851 + 282012 @@ -21932,7 +21879,7 @@ 1 2 - 604495 + 600578 @@ -21948,17 +21895,17 @@ 1 2 - 234078 + 232561 2 3 - 35225 + 34997 3 4677 - 14546 + 14452 @@ -21968,11 +21915,11 @@ routinetypeargs - 1178520 + 1178605 routine - 416002 + 416032 index @@ -21980,7 +21927,7 @@ type_id - 112074 + 112082 @@ -21994,32 +21941,32 @@ 1 2 - 82939 + 82945 2 3 - 126069 + 126078 3 4 - 107880 + 107888 4 5 - 49284 + 49287 5 7 - 33164 + 33167 7 19 - 16664 + 16665 @@ -22035,27 +21982,27 @@ 1 2 - 88929 + 88935 2 3 - 138703 + 138713 3 4 - 114633 + 114641 4 5 - 40734 + 40737 5 10 - 32892 + 32894 10 @@ -22253,32 +22200,32 @@ 1 2 - 33273 + 33276 2 3 - 15574 + 15576 3 4 - 13287 + 13288 4 5 - 9802 + 9803 5 6 - 6371 + 6372 6 8 - 9475 + 9476 8 @@ -22288,7 +22235,7 @@ 13 26 - 8658 + 8659 26 @@ -22309,22 +22256,22 @@ 1 2 - 79399 + 79405 2 3 - 17535 + 17536 3 5 - 9475 + 9476 5 17 - 5663 + 5664 @@ -22334,19 +22281,19 @@ ptrtomembers - 9726 + 9677 id - 9726 + 9677 type_id - 7973 + 7942 class_id - 4868 + 4849 @@ -22360,7 +22307,7 @@ 1 2 - 9726 + 9677 @@ -22376,7 +22323,7 @@ 1 2 - 9726 + 9677 @@ -22392,12 +22339,12 @@ 1 2 - 7751 + 7731 2 84 - 221 + 210 @@ -22413,12 +22360,12 @@ 1 2 - 7751 + 7731 2 84 - 221 + 210 @@ -22434,17 +22381,17 @@ 1 2 - 3897 + 3892 2 3 - 528 + 515 8 9 - 401 + 399 10 @@ -22465,17 +22412,17 @@ 1 2 - 3897 + 3892 2 3 - 528 + 515 8 9 - 401 + 399 10 @@ -22490,15 +22437,15 @@ specifiers - 7734 + 7715 id - 7734 + 7715 str - 7734 + 7715 @@ -22512,7 +22459,7 @@ 1 2 - 7734 + 7715 @@ -22528,7 +22475,7 @@ 1 2 - 7734 + 7715 @@ -22538,15 +22485,15 @@ typespecifiers - 854164 + 852347 type_id - 849020 + 844880 spec_id - 95 + 1617 @@ -22560,12 +22507,12 @@ 1 2 - 843877 + 837413 2 3 - 5143 + 7466 @@ -22579,49 +22526,69 @@ 12 - 168 - 169 - 10 + 1 + 2 + 124 - 215 - 216 - 10 + 2 + 3 + 124 - 225 - 226 - 10 + 16 + 17 + 124 - 533 - 534 - 10 + 17 + 18 + 124 - 821 - 822 - 10 + 24 + 25 + 124 - 1568 - 1569 - 10 + 44 + 45 + 124 - 4195 - 4196 - 10 + 49 + 50 + 124 - 18295 - 18296 - 10 + 51 + 52 + 124 - 54858 - 54859 - 10 + 112 + 113 + 124 + + + 199 + 200 + 124 + + + 325 + 326 + 124 + + + 547 + 548 + 124 + + + 5462 + 5463 + 124 @@ -22631,15 +22598,15 @@ funspecifiers - 9714180 + 9694656 func_id - 4008747 + 4002634 spec_id - 2370 + 2364 @@ -22653,27 +22620,27 @@ 1 2 - 1527029 + 1526110 2 3 - 506223 + 506256 3 4 - 1036897 + 1033917 4 5 - 692845 + 691186 5 8 - 245751 + 245163 @@ -22717,8 +22684,8 @@ 124 - 355 - 356 + 356 + 357 124 @@ -22727,8 +22694,8 @@ 124 - 767 - 768 + 769 + 770 124 @@ -22737,8 +22704,8 @@ 124 - 1095 - 1096 + 1096 + 1097 124 @@ -22747,13 +22714,13 @@ 124 - 1663 - 1664 + 1670 + 1671 124 - 3301 - 3302 + 3304 + 3305 124 @@ -22767,8 +22734,8 @@ 124 - 15121 - 15122 + 15137 + 15138 124 @@ -22789,15 +22756,15 @@ varspecifiers - 3075514 + 3078853 var_id - 2315056 + 2314865 spec_id - 1122 + 1120 @@ -22811,17 +22778,17 @@ 1 2 - 1658263 + 1654292 2 3 - 553627 + 557653 3 5 - 103165 + 102918 @@ -22860,13 +22827,13 @@ 124 - 2773 - 2774 + 2816 + 2817 124 - 3449 - 3450 + 3492 + 3493 124 @@ -22887,15 +22854,15 @@ explicit_specifier_exprs - 41291 + 41192 func_id - 41291 + 41192 constant - 41291 + 41192 @@ -22909,7 +22876,7 @@ 1 2 - 41291 + 41192 @@ -22925,7 +22892,7 @@ 1 2 - 41291 + 41192 @@ -22935,27 +22902,27 @@ attributes - 653799 + 652234 id - 653799 + 652234 kind - 374 + 373 name - 2120 + 2115 name_space - 249 + 248 location - 647686 + 646136 @@ -22969,7 +22936,7 @@ 1 2 - 653799 + 652234 @@ -22985,7 +22952,7 @@ 1 2 - 653799 + 652234 @@ -23001,7 +22968,7 @@ 1 2 - 653799 + 652234 @@ -23017,7 +22984,7 @@ 1 2 - 653799 + 652234 @@ -23085,7 +23052,7 @@ 1 2 - 249 + 248 2 @@ -23132,7 +23099,7 @@ 1 2 - 249 + 248 3 @@ -23147,12 +23114,12 @@ 7 8 - 249 + 248 10 11 - 249 + 248 14 @@ -23213,12 +23180,12 @@ 1 2 - 1871 + 1866 2 3 - 249 + 248 @@ -23234,7 +23201,7 @@ 1 2 - 2120 + 2115 @@ -23250,7 +23217,7 @@ 1 2 - 249 + 248 3 @@ -23275,7 +23242,7 @@ 10 11 - 249 + 248 14 @@ -23420,12 +23387,12 @@ 1 2 - 641823 + 640287 2 5 - 5863 + 5849 @@ -23441,7 +23408,7 @@ 1 2 - 647686 + 646136 @@ -23457,12 +23424,12 @@ 1 2 - 642572 + 641033 2 3 - 5114 + 5102 @@ -23478,7 +23445,7 @@ 1 2 - 647686 + 646136 @@ -23488,11 +23455,11 @@ attribute_args - 82563 + 82085 id - 82563 + 82085 kind @@ -23500,7 +23467,7 @@ attribute - 71260 + 70847 index @@ -23508,7 +23475,7 @@ location - 57185 + 56854 @@ -23522,7 +23489,7 @@ 1 2 - 82563 + 82085 @@ -23538,7 +23505,7 @@ 1 2 - 82563 + 82085 @@ -23554,7 +23521,7 @@ 1 2 - 82563 + 82085 @@ -23570,7 +23537,7 @@ 1 2 - 82563 + 82085 @@ -23690,17 +23657,17 @@ 1 2 - 65791 + 65410 2 7 - 5347 + 5316 7 25 - 121 + 120 @@ -23716,12 +23683,12 @@ 1 2 - 69744 + 69340 2 3 - 1516 + 1507 @@ -23737,12 +23704,12 @@ 1 2 - 68216 + 67821 2 8 - 3044 + 3026 @@ -23758,12 +23725,12 @@ 1 2 - 68748 + 68350 2 6 - 2511 + 2497 @@ -23943,17 +23910,17 @@ 1 2 - 41507 + 41266 2 3 - 11858 + 11789 3 25 - 3819 + 3797 @@ -23969,12 +23936,12 @@ 1 2 - 47653 + 47377 2 3 - 9531 + 9476 @@ -23990,17 +23957,17 @@ 1 2 - 42861 + 42613 2 3 - 12298 + 12227 3 11 - 2025 + 2013 @@ -24016,12 +23983,12 @@ 1 2 - 56936 + 56606 2 8 - 248 + 247 @@ -24031,15 +23998,15 @@ attribute_arg_value - 16693 + 16584 arg - 16693 + 16584 value - 511 + 507 @@ -24053,7 +24020,7 @@ 1 2 - 16693 + 16584 @@ -24069,52 +24036,52 @@ 1 2 - 204 + 203 5 6 - 34 + 33 6 7 - 34 + 33 15 16 - 34 + 33 25 26 - 34 + 33 51 52 - 34 + 33 52 53 - 34 + 33 71 72 - 34 + 33 76 77 - 34 + 33 183 184 - 34 + 33 @@ -24124,15 +24091,15 @@ attribute_arg_type - 460 + 459 arg - 460 + 459 type_id - 84 + 83 @@ -24146,7 +24113,7 @@ 1 2 - 460 + 459 @@ -24162,22 +24129,22 @@ 1 2 - 72 + 71 2 3 - 4 + 3 35 36 - 4 + 3 60 61 - 4 + 3 @@ -24187,15 +24154,15 @@ attribute_arg_constant - 71889 + 71584 arg - 71889 + 71584 constant - 71889 + 71584 @@ -24209,7 +24176,7 @@ 1 2 - 71889 + 71584 @@ -24225,7 +24192,7 @@ 1 2 - 71889 + 71584 @@ -24235,15 +24202,15 @@ attribute_arg_expr - 1404 + 1587 arg - 1404 + 1587 expr - 1404 + 1587 @@ -24257,7 +24224,7 @@ 1 2 - 1404 + 1587 @@ -24273,7 +24240,7 @@ 1 2 - 1404 + 1587 @@ -24336,15 +24303,15 @@ typeattributes - 96304 + 96074 type_id - 94558 + 94331 spec_id - 32434 + 32356 @@ -24358,12 +24325,12 @@ 1 2 - 92811 + 92589 2 3 - 1746 + 1742 @@ -24379,17 +24346,17 @@ 1 2 - 27943 + 27876 2 9 - 2494 + 2488 11 58 - 1995 + 1991 @@ -24399,15 +24366,15 @@ funcattributes - 843539 + 841520 func_id - 799005 + 797092 spec_id - 616749 + 615272 @@ -24421,12 +24388,12 @@ 1 2 - 758961 + 757144 2 7 - 40043 + 39947 @@ -24442,12 +24409,12 @@ 1 2 - 571715 + 570347 2 213 - 45033 + 44925 @@ -24520,15 +24487,15 @@ namespaceattributes - 5995 + 5957 namespace_id - 136 + 135 spec_id - 5995 + 5957 @@ -24542,17 +24509,17 @@ 1 2 - 68 + 67 11 12 - 34 + 33 163 164 - 34 + 33 @@ -24568,7 +24535,7 @@ 1 2 - 5995 + 5957 @@ -24578,15 +24545,15 @@ stmtattributes - 2213 + 2230 stmt_id - 2213 + 2230 spec_id - 558 + 579 @@ -24600,7 +24567,7 @@ 1 2 - 2213 + 2230 @@ -24616,7 +24583,7 @@ 1 2 - 214 + 235 2 @@ -24646,15 +24613,15 @@ unspecifiedtype - 7174204 + 7228462 type_id - 7174204 + 7228462 unspecified_type_id - 3962840 + 3955717 @@ -24668,7 +24635,7 @@ 1 2 - 7174204 + 7228462 @@ -24684,22 +24651,22 @@ 1 2 - 2481094 + 2475279 2 3 - 1116611 + 1114435 3 7 - 302636 + 304027 7 - 537 - 62498 + 892 + 61975 @@ -24709,19 +24676,19 @@ member - 4189506 + 4182338 parent - 543273 + 541972 index - 29689 + 29618 child - 4184890 + 4177733 @@ -24735,57 +24702,57 @@ 1 2 - 128988 + 128679 2 3 - 83331 + 83131 3 4 - 32434 + 32356 4 5 - 44908 + 44801 5 6 - 42414 + 42312 6 7 - 33931 + 33849 7 9 - 42289 + 42188 9 13 - 41166 + 41067 13 18 - 41291 + 41192 18 42 - 40792 + 40694 42 239 - 11726 + 11698 @@ -24801,57 +24768,57 @@ 1 2 - 128738 + 128430 2 3 - 83455 + 83255 3 4 - 32184 + 32107 4 5 - 45033 + 44925 5 6 - 42538 + 42436 6 7 - 32808 + 32729 7 9 - 42663 + 42561 9 13 - 41540 + 41441 13 18 - 41416 + 41316 18 42 - 40917 + 40694 42 265 - 11975 + 12071 @@ -24867,57 +24834,57 @@ 1 2 - 6486 + 6471 2 3 - 2619 + 2613 3 8 - 1871 + 1866 9 10 - 2869 + 2862 10 19 - 2245 + 2240 19 26 - 2245 + 2240 26 36 - 2494 + 2488 36 50 - 2245 + 2240 54 141 - 2245 + 2240 150 468 - 2245 + 2240 480 4310 - 2120 + 2115 @@ -24933,57 +24900,57 @@ 1 2 - 5488 + 5475 2 3 - 3617 + 3609 3 9 - 1871 + 1866 9 10 - 2869 + 2862 10 20 - 2370 + 2240 20 - 28 - 2370 + 27 + 2240 - 28 + 27 37 - 2370 + 2613 37 56 - 2370 + 2364 58 156 - 2245 + 2240 - 163 - 527 - 2245 + 164 + 528 + 2240 - 547 - 4330 - 1871 + 548 + 4332 + 1866 @@ -24999,7 +24966,7 @@ 1 2 - 4184890 + 4177733 @@ -25015,12 +24982,12 @@ 1 2 - 4180274 + 4173128 2 3 - 4615 + 4604 @@ -25030,15 +24997,15 @@ enclosingfunction - 114807 + 114976 child - 114807 + 114976 parent - 71337 + 69091 @@ -25052,7 +25019,7 @@ 1 2 - 114807 + 114976 @@ -25068,22 +25035,22 @@ 1 2 - 49329 + 37469 2 3 - 4633 + 24478 3 - 4 - 15364 + 5 + 6059 - 4 - 37 - 2009 + 5 + 45 + 1083 @@ -25093,27 +25060,27 @@ derivations - 476878 + 473788 derivation - 476878 + 473788 sub - 455143 + 452194 index - 238 + 236 super - 235543 + 234017 location - 35396 + 35166 @@ -25127,7 +25094,7 @@ 1 2 - 476878 + 473788 @@ -25143,7 +25110,7 @@ 1 2 - 476878 + 473788 @@ -25159,7 +25126,7 @@ 1 2 - 476878 + 473788 @@ -25175,7 +25142,7 @@ 1 2 - 476878 + 473788 @@ -25191,12 +25158,12 @@ 1 2 - 438620 + 435778 2 9 - 16522 + 16415 @@ -25212,12 +25179,12 @@ 1 2 - 438620 + 435778 2 8 - 16522 + 16415 @@ -25233,12 +25200,12 @@ 1 2 - 438620 + 435778 2 9 - 16522 + 16415 @@ -25254,12 +25221,12 @@ 1 2 - 438620 + 435778 2 8 - 16522 + 16415 @@ -25275,27 +25242,27 @@ 25 26 - 102 + 101 26 27 - 34 + 33 52 53 - 34 + 33 485 486 - 34 + 33 13360 13361 - 34 + 33 @@ -25311,22 +25278,22 @@ 25 26 - 136 + 135 52 53 - 34 + 33 485 486 - 34 + 33 13360 13361 - 34 + 33 @@ -25342,32 +25309,32 @@ 23 24 - 34 + 33 24 25 - 34 + 33 25 26 - 68 + 67 32 33 - 34 + 33 289 290 - 34 + 33 6510 6511 - 34 + 33 @@ -25383,22 +25350,22 @@ 1 2 - 136 + 135 7 8 - 34 + 33 65 66 - 34 + 33 963 964 - 34 + 33 @@ -25414,12 +25381,12 @@ 1 2 - 225732 + 224269 2 1655 - 9811 + 9747 @@ -25435,12 +25402,12 @@ 1 2 - 225732 + 224269 2 1655 - 9811 + 9747 @@ -25456,12 +25423,12 @@ 1 2 - 235100 + 233577 2 4 - 442 + 440 @@ -25477,12 +25444,12 @@ 1 2 - 230194 + 228703 2 81 - 5348 + 5313 @@ -25498,27 +25465,27 @@ 1 2 - 26504 + 26332 2 5 - 3134 + 3113 5 22 - 2759 + 2741 22 383 - 2691 + 2673 388 928 - 306 + 304 @@ -25534,27 +25501,27 @@ 1 2 - 26504 + 26332 2 5 - 3134 + 3113 5 22 - 2759 + 2741 22 383 - 2691 + 2673 388 928 - 306 + 304 @@ -25570,7 +25537,7 @@ 1 2 - 35396 + 35166 @@ -25586,22 +25553,22 @@ 1 2 - 28718 + 28532 2 4 - 2623 + 2606 4 26 - 2827 + 2809 26 928 - 1226 + 1218 @@ -25611,15 +25578,15 @@ derspecifiers - 478649 + 475548 der_id - 476435 + 473348 spec_id - 136 + 135 @@ -25633,12 +25600,12 @@ 1 2 - 474221 + 471148 2 3 - 2214 + 2200 @@ -25654,22 +25621,22 @@ 65 66 - 34 + 33 92 93 - 34 + 33 1104 1105 - 34 + 33 12789 12790 - 34 + 33 @@ -25679,15 +25646,15 @@ direct_base_offsets - 449965 + 447049 der_id - 449965 + 447049 offset - 511 + 507 @@ -25701,7 +25668,7 @@ 1 2 - 449965 + 447049 @@ -25717,42 +25684,42 @@ 1 2 - 102 + 101 2 3 - 136 + 135 3 4 - 102 + 101 4 5 - 34 + 33 7 8 - 34 + 33 9 10 - 34 + 33 110 111 - 34 + 33 13058 13059 - 34 + 33 @@ -25762,19 +25729,19 @@ virtual_base_offsets - 5825 + 5787 sub - 5825 + 5787 super - 102 + 101 offset - 340 + 338 @@ -25788,7 +25755,7 @@ 1 2 - 5825 + 5787 @@ -25804,7 +25771,7 @@ 1 2 - 5825 + 5787 @@ -25820,12 +25787,12 @@ 9 10 - 68 + 67 153 154 - 34 + 33 @@ -25841,12 +25808,12 @@ 1 2 - 34 + 33 9 10 - 68 + 67 @@ -25862,12 +25829,12 @@ 2 3 - 306 + 304 153 154 - 34 + 33 @@ -25883,12 +25850,12 @@ 1 2 - 34 + 33 2 3 - 306 + 304 @@ -25898,23 +25865,23 @@ frienddecls - 700430 + 767816 id - 700430 + 767816 type_id - 42414 + 54358 decl_id - 77742 + 100626 location - 6098 + 6058 @@ -25928,7 +25895,7 @@ 1 2 - 700430 + 767816 @@ -25944,7 +25911,7 @@ 1 2 - 700430 + 767816 @@ -25960,7 +25927,7 @@ 1 2 - 700430 + 767816 @@ -25976,47 +25943,42 @@ 1 2 - 6166 + 5584 2 3 - 13967 + 24978 3 - 7 - 3577 + 8 + 4806 - 7 - 12 - 3440 + 8 + 17 + 4738 - 12 - 20 - 3645 + 17 + 27 + 4467 - 20 - 32 - 3304 + 27 + 45 + 4298 - 33 - 50 - 3781 + 45 + 81 + 4738 - 50 - 80 - 3781 - - - 101 - 120 - 749 + 102 + 121 + 744 @@ -26032,47 +25994,42 @@ 1 2 - 6166 + 5584 2 3 - 13967 + 24978 3 - 7 - 3577 + 8 + 4806 - 7 - 12 - 3440 + 8 + 17 + 4738 - 12 - 20 - 3645 + 17 + 27 + 4467 - 20 - 32 - 3304 + 27 + 45 + 4298 - 33 - 50 - 3781 + 45 + 81 + 4738 - 50 - 80 - 3781 - - - 101 - 120 - 749 + 102 + 121 + 744 @@ -26088,12 +26045,12 @@ 1 2 - 41051 + 53004 2 13 - 1362 + 1353 @@ -26109,32 +26066,32 @@ 1 2 - 47864 + 67287 2 3 - 6064 + 8258 3 - 8 - 5995 + 9 + 9206 - 8 - 15 - 6064 + 9 + 24 + 7615 - 15 - 40 - 6064 + 24 + 127 + 7547 - 40 - 164 - 5689 + 135 + 191 + 710 @@ -26150,32 +26107,32 @@ 1 2 - 47864 + 67287 2 3 - 6064 + 8258 3 - 8 - 5995 + 9 + 9206 - 8 - 15 - 6064 + 9 + 24 + 7615 - 15 - 40 - 6064 + 24 + 127 + 7547 - 40 - 164 - 5689 + 135 + 191 + 710 @@ -26191,12 +26148,12 @@ 1 2 - 77060 + 99408 2 - 5 - 681 + 6 + 1218 @@ -26212,12 +26169,12 @@ 1 2 - 5723 + 5686 2 - 20371 - 374 + 22496 + 372 @@ -26233,12 +26190,12 @@ 1 2 - 5961 + 5923 2 - 1148 - 136 + 1509 + 135 @@ -26254,12 +26211,12 @@ 1 2 - 5757 + 5720 2 - 2129 - 340 + 2841 + 338 @@ -26269,19 +26226,19 @@ comments - 11233100 + 11208571 id - 11233100 + 11208571 contents - 4303524 + 4294963 location - 11233100 + 11208571 @@ -26295,7 +26252,7 @@ 1 2 - 11233100 + 11208571 @@ -26311,7 +26268,7 @@ 1 2 - 11233100 + 11208571 @@ -26327,17 +26284,17 @@ 1 2 - 3928784 + 3920498 2 6 - 322970 + 322819 6 34447 - 51770 + 51646 @@ -26353,17 +26310,17 @@ 1 2 - 3928784 + 3920498 2 6 - 322970 + 322819 6 34447 - 51770 + 51646 @@ -26379,7 +26336,7 @@ 1 2 - 11233100 + 11208571 @@ -26395,7 +26352,7 @@ 1 2 - 11233100 + 11208571 @@ -26405,15 +26362,15 @@ commentbinding - 3914688 + 3905315 id - 3350706 + 3342684 element - 3749148 + 3740172 @@ -26427,12 +26384,12 @@ 1 2 - 3289081 + 3281207 2 1706 - 61625 + 61477 @@ -26448,12 +26405,12 @@ 1 2 - 3583609 + 3575029 2 3 - 165539 + 165143 @@ -26463,15 +26420,15 @@ exprconv - 9633168 + 9634070 converted - 9633062 + 9633964 conversion - 9633168 + 9634070 @@ -26485,7 +26442,7 @@ 1 2 - 9632957 + 9633859 2 @@ -26506,7 +26463,7 @@ 1 2 - 9633168 + 9634070 @@ -26516,22 +26473,22 @@ compgenerated - 9895967 + 9923433 id - 9895967 + 9923433 synthetic_destructor_call - 1669328 + 1666648 element - 1243197 + 1241201 i @@ -26539,7 +26496,7 @@ destructor_call - 1669328 + 1666648 @@ -26553,17 +26510,17 @@ 1 2 - 827509 + 826180 2 3 - 408898 + 408242 3 19 - 6789 + 6778 @@ -26579,17 +26536,17 @@ 1 2 - 827509 + 826180 2 3 - 408898 + 408242 3 19 - 6789 + 6778 @@ -26737,7 +26694,7 @@ 1 2 - 1669328 + 1666648 @@ -26753,7 +26710,7 @@ 1 2 - 1669328 + 1666648 @@ -26763,15 +26720,15 @@ namespaces - 8649 + 8615 id - 8649 + 8615 name - 4572 + 4554 @@ -26785,7 +26742,7 @@ 1 2 - 8649 + 8615 @@ -26801,17 +26758,17 @@ 1 2 - 3738 + 3723 2 3 - 528 + 525 3 149 - 306 + 305 @@ -26821,26 +26778,26 @@ namespace_inline - 498 + 497 id - 498 + 497 namespacembrs - 2038492 + 2110396 parentid - 3991 + 3982 memberid - 2038492 + 2110396 @@ -26854,66 +26811,66 @@ 1 2 - 498 + 497 2 3 - 249 + 248 3 4 - 498 + 497 4 5 - 623 + 622 - 5 + 7 10 - 249 + 248 10 12 - 249 + 248 12 18 - 249 + 248 19 21 - 249 + 248 23 24 - 249 + 248 25 29 - 249 + 248 70 83 - 249 + 248 165 170 - 249 + 248 - 15613 - 15614 + 16228 + 16229 124 @@ -26930,7 +26887,7 @@ 1 2 - 2038492 + 2110396 @@ -26940,19 +26897,19 @@ exprparents - 19454457 + 19456287 expr_id - 19454457 + 19456287 child_index - 20035 + 20037 parent_id - 12940148 + 12941374 @@ -26966,7 +26923,7 @@ 1 2 - 19454457 + 19456287 @@ -26982,7 +26939,7 @@ 1 2 - 19454457 + 19456287 @@ -27013,7 +26970,7 @@ 4 5 - 8976 + 8977 5 @@ -27032,7 +26989,7 @@ 56 - 354800 + 354801 506 @@ -27064,7 +27021,7 @@ 4 5 - 8976 + 8977 5 @@ -27083,7 +27040,7 @@ 56 - 354800 + 354801 506 @@ -27100,17 +27057,17 @@ 1 2 - 7394848 + 7395561 2 3 - 5082743 + 5083213 3 712 - 462556 + 462599 @@ -27126,17 +27083,17 @@ 1 2 - 7394848 + 7395561 2 3 - 5082743 + 5083213 3 712 - 462556 + 462599 @@ -27146,22 +27103,22 @@ expr_isload - 6899311 + 6898013 expr_id - 6899311 + 6898013 conversionkinds - 6050443 + 6051175 expr_id - 6050443 + 6051175 kind @@ -27179,7 +27136,7 @@ 1 2 - 6050443 + 6051175 @@ -27208,23 +27165,23 @@ 1 - 40988 - 40989 + 40984 + 40985 1 - 71409 - 71410 + 71408 + 71409 1 - 93247 - 93248 + 93454 + 93455 1 - 5831535 - 5831536 + 5832065 + 5832066 1 @@ -27235,11 +27192,11 @@ iscall - 5800192 + 5790816 caller - 5800192 + 5790816 kind @@ -27257,7 +27214,7 @@ 1 2 - 5800192 + 5790816 @@ -27276,13 +27233,13 @@ 21 - 1408 - 1409 + 1409 + 1410 21 - 268315 - 268316 + 268311 + 268312 21 @@ -27293,15 +27250,15 @@ numtemplatearguments - 627727 + 640909 expr_id - 627727 + 640909 num - 374 + 995 @@ -27315,7 +27272,7 @@ 1 2 - 627727 + 640909 @@ -27329,18 +27286,38 @@ 12 - 7 - 8 + 1 + 2 124 - 1266 - 1267 + 6 + 7 124 - 3759 - 3760 + 28 + 29 + 248 + + + 61 + 62 + 124 + + + 219 + 220 + 124 + + + 1573 + 1574 + 124 + + + 3234 + 3235 124 @@ -27399,23 +27376,23 @@ namequalifiers - 3037638 + 3042586 id - 3037638 + 3042586 qualifiableelement - 3037638 + 3042586 qualifyingelement - 47419 + 47729 location - 551672 + 554605 @@ -27429,7 +27406,7 @@ 1 2 - 3037638 + 3042586 @@ -27445,7 +27422,7 @@ 1 2 - 3037638 + 3042586 @@ -27461,7 +27438,7 @@ 1 2 - 3037638 + 3042586 @@ -27477,7 +27454,7 @@ 1 2 - 3037638 + 3042586 @@ -27493,7 +27470,7 @@ 1 2 - 3037638 + 3042586 @@ -27509,7 +27486,7 @@ 1 2 - 3037638 + 3042586 @@ -27525,27 +27502,27 @@ 1 2 - 31498 + 31447 2 3 - 8164 + 8172 3 5 - 4103 + 4140 5 - 6810 - 3566 + 86 + 3582 - 19018 + 88 41956 - 85 + 386 @@ -27561,27 +27538,27 @@ 1 2 - 31498 + 31447 2 3 - 8164 + 8172 3 5 - 4103 + 4140 5 - 6810 - 3566 + 86 + 3582 - 19018 + 88 41956 - 85 + 386 @@ -27597,22 +27574,22 @@ 1 2 - 34356 + 34665 2 3 - 7348 + 7336 3 6 - 3566 + 3582 6 20057 - 2148 + 2145 @@ -27628,22 +27605,22 @@ 1 2 - 79046 + 79413 2 6 - 38030 + 41015 6 7 - 398435 + 397795 7 192 - 36160 + 36381 @@ -27659,22 +27636,22 @@ 1 2 - 79046 + 79413 2 6 - 38030 + 41015 6 7 - 398435 + 397795 7 192 - 36160 + 36381 @@ -27690,22 +27667,22 @@ 1 2 - 111383 + 114958 2 4 - 13278 + 13321 4 5 - 414721 + 414055 5 33 - 12289 + 12270 @@ -27715,15 +27692,15 @@ varbind - 8254733 + 8255498 expr - 8254733 + 8255498 var - 1050389 + 1050486 @@ -27737,7 +27714,7 @@ 1 2 - 8254733 + 8255498 @@ -27753,52 +27730,52 @@ 1 2 - 171538 + 171553 2 3 - 188703 + 188720 3 4 - 145649 + 145663 4 5 - 116637 + 116648 5 6 - 83152 + 83159 6 7 - 65818 + 65824 7 9 - 80816 + 80823 9 13 - 81576 + 81583 13 27 - 79128 + 79135 27 5137 - 37369 + 37372 @@ -27808,15 +27785,15 @@ funbind - 5809904 + 5806089 expr - 5807433 + 5803622 fun - 275686 + 275286 @@ -27830,12 +27807,12 @@ 1 2 - 5804962 + 5801155 2 3 - 2470 + 2466 @@ -27851,27 +27828,27 @@ 1 2 - 181298 + 181071 2 3 - 38782 + 38312 3 4 - 17167 + 16903 4 8 - 22710 + 22931 8 37798 - 15727 + 16067 @@ -27881,19 +27858,19 @@ expr_allocator - 45241 + 44948 expr - 45241 + 44948 func - 102 + 101 form - 34 + 33 @@ -27907,7 +27884,7 @@ 1 2 - 45241 + 44948 @@ -27923,7 +27900,7 @@ 1 2 - 45241 + 44948 @@ -27939,17 +27916,17 @@ 1 2 - 34 + 33 591 592 - 34 + 33 736 737 - 34 + 33 @@ -27965,7 +27942,7 @@ 1 2 - 102 + 101 @@ -27981,7 +27958,7 @@ 1328 1329 - 34 + 33 @@ -27997,7 +27974,7 @@ 3 4 - 34 + 33 @@ -28007,19 +27984,19 @@ expr_deallocator - 53826 + 53478 expr - 53826 + 53478 func - 102 + 101 form - 68 + 67 @@ -28033,7 +28010,7 @@ 1 2 - 53826 + 53478 @@ -28049,7 +28026,7 @@ 1 2 - 53826 + 53478 @@ -28065,17 +28042,17 @@ 1 2 - 34 + 33 723 724 - 34 + 33 856 857 - 34 + 33 @@ -28091,7 +28068,7 @@ 1 2 - 102 + 101 @@ -28107,12 +28084,12 @@ 723 724 - 34 + 33 857 858 - 34 + 33 @@ -28128,12 +28105,12 @@ 1 2 - 34 + 33 2 3 - 34 + 33 @@ -28143,26 +28120,26 @@ expr_cond_two_operand - 653 + 650 cond - 653 + 650 expr_cond_guard - 897887 + 897971 cond - 897887 + 897971 guard - 897887 + 897971 @@ -28176,7 +28153,7 @@ 1 2 - 897887 + 897971 @@ -28192,7 +28169,7 @@ 1 2 - 897887 + 897971 @@ -28202,15 +28179,15 @@ expr_cond_true - 897883 + 897967 cond - 897883 + 897967 true - 897883 + 897967 @@ -28224,7 +28201,7 @@ 1 2 - 897883 + 897967 @@ -28240,7 +28217,7 @@ 1 2 - 897883 + 897967 @@ -28250,15 +28227,15 @@ expr_cond_false - 897887 + 897971 cond - 897887 + 897971 false - 897887 + 897971 @@ -28272,7 +28249,7 @@ 1 2 - 897887 + 897971 @@ -28288,7 +28265,7 @@ 1 2 - 897887 + 897971 @@ -28298,15 +28275,15 @@ values - 13474772 + 13541557 id - 13474772 + 13541557 str - 114567 + 113909 @@ -28320,7 +28297,7 @@ 1 2 - 13474772 + 13541557 @@ -28336,27 +28313,27 @@ 1 2 - 78303 + 77855 2 3 - 15301 + 15207 3 6 - 8895 + 8837 6 52 - 8629 + 8579 52 - 674264 - 3437 + 682255 + 3429 @@ -28366,15 +28343,15 @@ valuetext - 6647555 + 6637698 id - 6647555 + 6637698 text - 1095412 + 1095316 @@ -28388,7 +28365,7 @@ 1 2 - 6647555 + 6637698 @@ -28404,22 +28381,22 @@ 1 2 - 833985 + 833959 2 3 - 146940 + 146911 3 7 - 86537 + 86574 7 - 593553 - 27950 + 593717 + 27872 @@ -28429,15 +28406,15 @@ valuebind - 13583356 + 13649707 val - 13474772 + 13541557 expr - 13583356 + 13649707 @@ -28451,12 +28428,12 @@ 1 2 - 13384216 + 13451399 2 6 - 90555 + 90157 @@ -28472,7 +28449,7 @@ 1 2 - 13583356 + 13649707 @@ -28482,15 +28459,15 @@ fieldoffsets - 1499494 + 1500528 id - 1499494 + 1500528 byteoffset - 31367 + 31369 bitoffset @@ -28508,7 +28485,7 @@ 1 2 - 1499494 + 1500528 @@ -28524,7 +28501,7 @@ 1 2 - 1499494 + 1500528 @@ -28540,7 +28517,7 @@ 1 2 - 17698 + 17700 2 @@ -28555,7 +28532,7 @@ 5 12 - 2613 + 2614 12 @@ -28569,7 +28546,7 @@ 250 - 5966 + 5971 1089 @@ -28586,12 +28563,12 @@ 1 2 - 30387 + 30335 2 9 - 980 + 1034 @@ -28615,8 +28592,8 @@ 54 - 44 - 45 + 45 + 46 54 @@ -28630,18 +28607,18 @@ 54 - 64 - 65 + 65 + 66 54 - 81 - 82 + 82 + 83 54 - 27179 - 27180 + 27193 + 27194 54 @@ -28663,11 +28640,16 @@ 13 14 - 108 + 54 14 15 + 54 + + + 15 + 16 108 @@ -28683,19 +28665,19 @@ bitfield - 30313 + 30240 id - 30313 + 30240 bits - 3492 + 3484 declared_bits - 3492 + 3484 @@ -28709,7 +28691,7 @@ 1 2 - 30313 + 30240 @@ -28725,7 +28707,7 @@ 1 2 - 30313 + 30240 @@ -28741,42 +28723,42 @@ 1 2 - 997 + 995 2 3 - 748 + 746 3 4 - 249 + 248 4 5 - 498 + 497 5 7 - 249 + 248 8 9 - 249 + 248 9 11 - 249 + 248 13 143 - 249 + 248 @@ -28792,7 +28774,7 @@ 1 2 - 3492 + 3484 @@ -28808,42 +28790,42 @@ 1 2 - 997 + 995 2 3 - 748 + 746 3 4 - 249 + 248 4 5 - 498 + 497 5 7 - 249 + 248 8 9 - 249 + 248 9 11 - 249 + 248 13 143 - 249 + 248 @@ -28859,7 +28841,7 @@ 1 2 - 3492 + 3484 @@ -28869,23 +28851,23 @@ initialisers - 2247637 + 2244826 init - 2247637 + 2244826 var - 979696 + 978848 expr - 2247637 + 2244826 location - 516295 + 515723 @@ -28899,7 +28881,7 @@ 1 2 - 2247637 + 2244826 @@ -28915,7 +28897,7 @@ 1 2 - 2247637 + 2244826 @@ -28931,7 +28913,7 @@ 1 2 - 2247637 + 2244826 @@ -28947,17 +28929,17 @@ 1 2 - 869453 + 868819 2 15 - 37398 + 37292 16 25 - 72843 + 72737 @@ -28973,17 +28955,17 @@ 1 2 - 869453 + 868819 2 15 - 37398 + 37292 16 25 - 72843 + 72737 @@ -28999,7 +28981,7 @@ 1 2 - 979688 + 978840 2 @@ -29020,7 +29002,7 @@ 1 2 - 2247637 + 2244826 @@ -29036,7 +29018,7 @@ 1 2 - 2247637 + 2244826 @@ -29052,7 +29034,7 @@ 1 2 - 2247637 + 2244826 @@ -29068,22 +29050,22 @@ 1 2 - 414608 + 414196 2 3 - 33555 + 33502 3 13 - 42013 + 41940 13 111925 - 26119 + 26084 @@ -29099,17 +29081,17 @@ 1 2 - 443873 + 443422 2 3 - 34463 + 34409 3 - 12238 - 37958 + 12247 + 37891 @@ -29125,22 +29107,22 @@ 1 2 - 414608 + 414196 2 3 - 33555 + 33502 3 13 - 42013 + 41940 13 111925 - 26119 + 26084 @@ -29150,26 +29132,26 @@ braced_initialisers - 68305 + 67652 init - 68305 + 67652 expr_ancestor - 1675301 + 1672611 exp - 1675301 + 1672611 ancestor - 838467 + 837120 @@ -29183,7 +29165,7 @@ 1 2 - 1675301 + 1672611 @@ -29199,17 +29181,17 @@ 1 2 - 17059 + 17032 2 3 - 811351 + 810049 3 19 - 10055 + 10039 @@ -29219,11 +29201,11 @@ exprs - 25210887 + 25213250 id - 25210887 + 25213250 kind @@ -29231,7 +29213,7 @@ location - 10585988 + 10586806 @@ -29245,7 +29227,7 @@ 1 2 - 25210887 + 25213250 @@ -29261,7 +29243,7 @@ 1 2 - 25210887 + 25213250 @@ -29336,7 +29318,7 @@ 63936 - 144106 + 144093 109 @@ -29439,22 +29421,22 @@ 1 2 - 8903998 + 8904640 2 3 - 820618 + 820704 3 16 - 797208 + 797292 16 71733 - 64162 + 64169 @@ -29470,17 +29452,17 @@ 1 2 - 9043402 + 9044058 2 3 - 774282 + 774363 3 32 - 768303 + 768383 @@ -29490,15 +29472,15 @@ expr_reuse - 845836 + 844478 reuse - 845836 + 844478 original - 845836 + 844478 value_category @@ -29516,7 +29498,7 @@ 1 2 - 845836 + 844478 @@ -29532,7 +29514,7 @@ 1 2 - 845836 + 844478 @@ -29548,7 +29530,7 @@ 1 2 - 845836 + 844478 @@ -29564,7 +29546,7 @@ 1 2 - 845836 + 844478 @@ -29616,15 +29598,15 @@ expr_types - 25210887 + 25213250 id - 25210887 + 25213250 typeid - 214205 + 214227 value_category @@ -29642,7 +29624,7 @@ 1 2 - 25210887 + 25213250 @@ -29658,7 +29640,7 @@ 1 2 - 25210887 + 25213250 @@ -29674,52 +29656,52 @@ 1 2 - 52512 + 52518 2 3 - 35191 + 35195 3 4 - 14507 + 14509 4 5 - 14529 + 14530 5 8 - 17562 + 17564 8 14 - 17387 + 17388 14 24 - 16441 + 16443 24 49 - 16068 + 16069 49 134 - 16178 + 16179 134 - 441505 - 13826 + 441492 + 13827 @@ -29735,12 +29717,12 @@ 1 2 - 185915 + 185935 2 3 - 28289 + 28292 @@ -29759,8 +29741,8 @@ 21 - 993192 - 993193 + 993180 + 993181 21 @@ -29803,15 +29785,15 @@ new_allocated_type - 46195 + 45896 expr - 46195 + 45896 type_id - 27390 + 27212 @@ -29825,7 +29807,7 @@ 1 2 - 46195 + 45896 @@ -29841,17 +29823,17 @@ 1 2 - 11514 + 11440 2 3 - 14478 + 14384 3 19 - 1396 + 1387 @@ -29861,15 +29843,15 @@ new_array_allocated_type - 6641 + 6632 expr - 6641 + 6632 type_id - 2838 + 2834 @@ -29883,7 +29865,7 @@ 1 2 - 6641 + 6632 @@ -29904,7 +29886,7 @@ 2 3 - 2505 + 2502 3 @@ -29922,21 +29904,32 @@ + + param_ref_to_this + 24952 + + + expr + 24952 + + + + aggregate_field_init - 5717381 + 5717382 aggregate - 1243069 + 1243070 initializer - 5717203 + 5717204 field - 3228 + 3229 position @@ -29958,7 +29951,7 @@ 1 2 - 19691 + 19692 2 @@ -30009,7 +30002,7 @@ 1 2 - 19687 + 19688 2 @@ -30060,7 +30053,7 @@ 1 2 - 19691 + 19692 2 @@ -30111,7 +30104,7 @@ 1 2 - 1242987 + 1242988 2 @@ -30132,7 +30125,7 @@ 1 2 - 5717203 + 5717204 @@ -30148,7 +30141,7 @@ 1 2 - 5717025 + 5717026 2 @@ -30169,7 +30162,7 @@ 1 2 - 5717203 + 5717204 @@ -30185,7 +30178,7 @@ 1 2 - 5717203 + 5717204 @@ -30201,7 +30194,7 @@ 1 2 - 1434 + 1435 2 @@ -30257,7 +30250,7 @@ 1 2 - 1434 + 1435 2 @@ -30313,7 +30306,7 @@ 1 2 - 3214 + 3215 2 @@ -30334,7 +30327,7 @@ 1 2 - 3202 + 3203 2 @@ -30408,8 +30401,8 @@ 2 - 1243069 - 1243070 + 1243070 + 1243071 1 @@ -30479,8 +30472,8 @@ 2 - 1243069 - 1243070 + 1243070 + 1243071 1 @@ -30550,8 +30543,8 @@ 2 - 1284 - 1285 + 1285 + 1286 1 @@ -30592,8 +30585,8 @@ 1 - 1242671 - 1242672 + 1242672 + 1242673 1 @@ -30613,8 +30606,8 @@ 1 - 5716493 - 5716494 + 5716494 + 5716495 1 @@ -30634,8 +30627,8 @@ 1 - 3036 - 3037 + 3037 + 3038 1 @@ -31260,15 +31253,15 @@ condition_decl_bind - 408340 + 407684 expr - 408340 + 407684 decl - 408340 + 407684 @@ -31282,7 +31275,7 @@ 1 2 - 408340 + 407684 @@ -31298,7 +31291,7 @@ 1 2 - 408340 + 407684 @@ -31308,15 +31301,15 @@ typeid_bind - 47899 + 47588 expr - 47899 + 47588 type_id - 15943 + 15840 @@ -31330,7 +31323,7 @@ 1 2 - 47899 + 47588 @@ -31346,17 +31339,17 @@ 1 2 - 2963 + 2944 2 3 - 12570 + 12489 3 328 - 408 + 406 @@ -31366,15 +31359,15 @@ uuidof_bind - 26695 + 26691 expr - 26695 + 26691 type_id - 26443 + 26440 @@ -31388,7 +31381,7 @@ 1 2 - 26695 + 26691 @@ -31404,7 +31397,7 @@ 1 2 - 26232 + 26229 2 @@ -31419,15 +31412,15 @@ sizeof_bind - 242030 + 241830 expr - 242030 + 241830 type_id - 11210 + 11145 @@ -31441,7 +31434,7 @@ 1 2 - 242030 + 241830 @@ -31457,42 +31450,42 @@ 1 2 - 3877 + 3855 2 3 - 2783 + 2750 3 4 - 1024 + 1018 4 5 - 1140 + 1104 5 6 - 295 + 281 6 7 - 1064 + 1116 7 - 40 - 856 + 42 + 851 - 40 + 42 6061 - 167 + 166 @@ -31550,11 +31543,11 @@ lambdas - 19023 + 18998 expr - 19023 + 18998 default_capture @@ -31580,7 +31573,7 @@ 1 2 - 19023 + 18998 @@ -31596,7 +31589,7 @@ 1 2 - 19023 + 18998 @@ -31612,7 +31605,7 @@ 1 2 - 19023 + 18998 @@ -31796,15 +31789,15 @@ lambda_capture - 31909 + 31866 id - 31909 + 31866 lambda - 15463 + 15443 index @@ -31812,7 +31805,7 @@ field - 31909 + 31866 captured_by_reference @@ -31824,7 +31817,7 @@ location - 17912 + 17888 @@ -31838,7 +31831,7 @@ 1 2 - 31909 + 31866 @@ -31854,7 +31847,7 @@ 1 2 - 31909 + 31866 @@ -31870,7 +31863,7 @@ 1 2 - 31909 + 31866 @@ -31886,7 +31879,7 @@ 1 2 - 31909 + 31866 @@ -31902,7 +31895,7 @@ 1 2 - 31909 + 31866 @@ -31918,7 +31911,7 @@ 1 2 - 31909 + 31866 @@ -31934,27 +31927,27 @@ 1 2 - 8198 + 8187 2 3 - 3535 + 3530 3 4 - 1654 + 1652 4 6 - 1256 + 1255 6 18 - 819 + 817 @@ -31970,27 +31963,27 @@ 1 2 - 8198 + 8187 2 3 - 3535 + 3530 3 4 - 1654 + 1652 4 6 - 1256 + 1255 6 18 - 819 + 817 @@ -32006,27 +31999,27 @@ 1 2 - 8198 + 8187 2 3 - 3535 + 3530 3 4 - 1654 + 1652 4 6 - 1256 + 1255 6 18 - 819 + 817 @@ -32042,12 +32035,12 @@ 1 2 - 14223 + 14204 2 3 - 1240 + 1239 @@ -32063,7 +32056,7 @@ 1 2 - 15342 + 15321 2 @@ -32084,27 +32077,27 @@ 1 2 - 8790 + 8778 2 3 - 3689 + 3684 3 4 - 1386 + 1384 4 7 - 1289 + 1287 7 18 - 308 + 307 @@ -32429,7 +32422,7 @@ 1 2 - 81 + 80 2 @@ -32546,7 +32539,7 @@ 1 2 - 31909 + 31866 @@ -32562,7 +32555,7 @@ 1 2 - 31909 + 31866 @@ -32578,7 +32571,7 @@ 1 2 - 31909 + 31866 @@ -32594,7 +32587,7 @@ 1 2 - 31909 + 31866 @@ -32610,7 +32603,7 @@ 1 2 - 31909 + 31866 @@ -32626,7 +32619,7 @@ 1 2 - 31909 + 31866 @@ -32884,17 +32877,17 @@ 1 2 - 15666 + 15645 2 6 - 1435 + 1433 6 68 - 810 + 809 @@ -32910,12 +32903,12 @@ 1 2 - 16242 + 16220 2 13 - 1467 + 1465 13 @@ -32936,12 +32929,12 @@ 1 2 - 17223 + 17200 2 8 - 689 + 688 @@ -32957,17 +32950,17 @@ 1 2 - 15666 + 15645 2 6 - 1435 + 1433 6 68 - 810 + 809 @@ -32983,7 +32976,7 @@ 1 2 - 17888 + 17864 2 @@ -33004,7 +32997,7 @@ 1 2 - 17912 + 17888 @@ -33014,11 +33007,11 @@ fold - 1246 + 1244 expr - 1246 + 1244 operator @@ -33040,7 +33033,7 @@ 1 2 - 1246 + 1244 @@ -33056,7 +33049,7 @@ 1 2 - 1246 + 1244 @@ -33140,19 +33133,19 @@ stmts - 6358201 + 6349654 id - 6358201 + 6349654 kind - 162 + 161 location - 2679769 + 2676166 @@ -33166,7 +33159,7 @@ 1 2 - 6358201 + 6349654 @@ -33182,7 +33175,7 @@ 1 2 - 6358201 + 6349654 @@ -33420,22 +33413,22 @@ 1 2 - 2221080 + 2218094 2 3 - 181910 + 181666 3 10 - 201818 + 201547 10 1789 - 74960 + 74859 @@ -33451,12 +33444,12 @@ 1 2 - 2596951 + 2593460 2 10 - 82817 + 82706 @@ -33573,15 +33566,15 @@ if_initialization - 374 + 373 if_stmt - 374 + 373 init_id - 374 + 373 @@ -33595,7 +33588,7 @@ 1 2 - 374 + 373 @@ -33611,7 +33604,7 @@ 1 2 - 374 + 373 @@ -33621,15 +33614,15 @@ if_then - 990227 + 990318 if_stmt - 990227 + 990318 then_id - 990227 + 990318 @@ -33643,7 +33636,7 @@ 1 2 - 990227 + 990318 @@ -33659,7 +33652,7 @@ 1 2 - 990227 + 990318 @@ -33669,15 +33662,15 @@ if_else - 436486 + 435785 if_stmt - 436486 + 435785 else_id - 436486 + 435785 @@ -33691,7 +33684,7 @@ 1 2 - 436486 + 435785 @@ -33707,7 +33700,7 @@ 1 2 - 436486 + 435785 @@ -33765,15 +33758,15 @@ constexpr_if_then - 106035 + 105781 constexpr_if_stmt - 106035 + 105781 then_id - 106035 + 105781 @@ -33787,7 +33780,7 @@ 1 2 - 106035 + 105781 @@ -33803,7 +33796,7 @@ 1 2 - 106035 + 105781 @@ -33813,15 +33806,15 @@ constexpr_if_else - 76095 + 75913 constexpr_if_stmt - 76095 + 75913 else_id - 76095 + 75913 @@ -33835,7 +33828,7 @@ 1 2 - 76095 + 75913 @@ -33851,7 +33844,7 @@ 1 2 - 76095 + 75913 @@ -33957,15 +33950,15 @@ while_body - 39648 + 39652 while_stmt - 39648 + 39652 body_id - 39648 + 39652 @@ -33979,7 +33972,7 @@ 1 2 - 39648 + 39652 @@ -33995,7 +33988,7 @@ 1 2 - 39648 + 39652 @@ -34005,15 +33998,15 @@ do_body - 233644 + 232290 do_stmt - 233644 + 232290 body_id - 233644 + 232290 @@ -34027,7 +34020,7 @@ 1 2 - 233644 + 232290 @@ -34043,7 +34036,7 @@ 1 2 - 233644 + 232290 @@ -34101,11 +34094,11 @@ switch_case - 834964 + 833624 switch_stmt - 411283 + 410623 index @@ -34113,7 +34106,7 @@ case_id - 834964 + 833624 @@ -34132,12 +34125,12 @@ 2 3 - 408404 + 407748 3 19 - 2857 + 2853 @@ -34158,12 +34151,12 @@ 2 3 - 408404 + 407748 3 19 - 2857 + 2853 @@ -34321,7 +34314,7 @@ 1 2 - 834964 + 833624 @@ -34337,7 +34330,7 @@ 1 2 - 834964 + 833624 @@ -34347,15 +34340,15 @@ switch_body - 411283 + 410623 switch_stmt - 411283 + 410623 body_id - 411283 + 410623 @@ -34369,7 +34362,7 @@ 1 2 - 411283 + 410623 @@ -34385,7 +34378,7 @@ 1 2 - 411283 + 410623 @@ -34395,15 +34388,15 @@ for_initialization - 73246 + 73253 for_stmt - 73246 + 73253 init_id - 73246 + 73253 @@ -34417,7 +34410,7 @@ 1 2 - 73246 + 73253 @@ -34433,7 +34426,7 @@ 1 2 - 73246 + 73253 @@ -34443,15 +34436,15 @@ for_condition - 76342 + 76349 for_stmt - 76342 + 76349 condition_id - 76342 + 76349 @@ -34465,7 +34458,7 @@ 1 2 - 76342 + 76349 @@ -34481,7 +34474,7 @@ 1 2 - 76342 + 76349 @@ -34491,15 +34484,15 @@ for_update - 73387 + 73394 for_stmt - 73387 + 73394 update_id - 73387 + 73394 @@ -34513,7 +34506,7 @@ 1 2 - 73387 + 73394 @@ -34529,7 +34522,7 @@ 1 2 - 73387 + 73394 @@ -34539,15 +34532,15 @@ for_body - 84390 + 84398 for_stmt - 84390 + 84398 body_id - 84390 + 84398 @@ -34561,7 +34554,7 @@ 1 2 - 84390 + 84398 @@ -34577,7 +34570,7 @@ 1 2 - 84390 + 84398 @@ -34587,19 +34580,19 @@ stmtparents - 5618647 + 5611093 id - 5618647 + 5611093 index - 15747 + 15726 parent - 2377536 + 2374340 @@ -34613,7 +34606,7 @@ 1 2 - 5618647 + 5611093 @@ -34629,7 +34622,7 @@ 1 2 - 5618647 + 5611093 @@ -34645,12 +34638,12 @@ 1 2 - 5173 + 5166 2 3 - 1289 + 1287 3 @@ -34660,37 +34653,37 @@ 4 5 - 2002 + 2000 7 8 - 1313 + 1311 8 12 - 1021 + 1020 12 29 - 1386 + 1384 29 39 - 1183 + 1182 42 78 - 1192 + 1190 78 209703 - 900 + 898 @@ -34706,12 +34699,12 @@ 1 2 - 5173 + 5166 2 3 - 1289 + 1287 3 @@ -34721,37 +34714,37 @@ 4 5 - 2002 + 2000 7 8 - 1313 + 1311 8 12 - 1021 + 1020 12 29 - 1386 + 1384 29 39 - 1183 + 1182 42 78 - 1192 + 1190 78 209703 - 900 + 898 @@ -34767,32 +34760,32 @@ 1 2 - 1356881 + 1355057 2 3 - 516458 + 515763 3 4 - 151250 + 151046 4 6 - 155450 + 155241 6 16 - 178553 + 178313 16 1943 - 18942 + 18917 @@ -34808,32 +34801,32 @@ 1 2 - 1356881 + 1355057 2 3 - 516458 + 515763 3 4 - 151250 + 151046 4 6 - 155450 + 155241 6 16 - 178553 + 178313 16 1943 - 18942 + 18917 @@ -34843,22 +34836,22 @@ ishandler - 43779 + 43218 block - 43779 + 43218 stmt_decl_bind - 724593 + 723619 stmt - 714043 + 713083 num @@ -34866,7 +34859,7 @@ decl - 724593 + 723619 @@ -34880,12 +34873,12 @@ 1 2 - 706591 + 705641 2 10 - 7452 + 7442 @@ -34901,12 +34894,12 @@ 1 2 - 706591 + 705641 2 10 - 7452 + 7442 @@ -35034,7 +35027,7 @@ 1 2 - 724593 + 723619 @@ -35050,7 +35043,7 @@ 1 2 - 724593 + 723619 @@ -35060,11 +35053,11 @@ stmt_decl_entry_bind - 724593 + 723619 stmt - 714043 + 713083 num @@ -35072,7 +35065,7 @@ decl_entry - 724593 + 723619 @@ -35086,12 +35079,12 @@ 1 2 - 706591 + 705641 2 10 - 7452 + 7442 @@ -35107,12 +35100,12 @@ 1 2 - 706591 + 705641 2 10 - 7452 + 7442 @@ -35240,7 +35233,7 @@ 1 2 - 724593 + 723619 @@ -35256,7 +35249,7 @@ 1 2 - 724593 + 723619 @@ -35266,15 +35259,15 @@ blockscope - 1644291 + 1640354 block - 1644291 + 1640354 enclosing - 1427106 + 1423689 @@ -35288,7 +35281,7 @@ 1 2 - 1644291 + 1640354 @@ -35304,17 +35297,17 @@ 1 2 - 1294500 + 1291401 2 4 - 117262 + 116981 4 29 - 15343 + 15307 @@ -35324,19 +35317,19 @@ jumpinfo - 348325 + 348211 id - 348325 + 348211 str - 28949 + 28939 target - 72707 + 72683 @@ -35350,7 +35343,7 @@ 1 2 - 348325 + 348211 @@ -35366,7 +35359,7 @@ 1 2 - 348325 + 348211 @@ -35382,17 +35375,17 @@ 2 3 - 13597 + 13592 3 4 - 6058 + 6056 4 5 - 2014 + 2013 5 @@ -35407,7 +35400,7 @@ 10 25 - 2189 + 2188 25 @@ -35428,17 +35421,17 @@ 1 2 - 23191 + 23183 2 3 - 3626 + 3625 3 3321 - 2131 + 2130 @@ -35459,27 +35452,27 @@ 2 3 - 36211 + 36199 3 4 - 17633 + 17627 4 5 - 7379 + 7376 5 8 - 6418 + 6416 8 2124 - 5030 + 5029 @@ -35495,7 +35488,7 @@ 1 2 - 72707 + 72683 @@ -35505,19 +35498,19 @@ preprocdirects - 5408285 + 5395212 id - 5408285 + 5395212 kind - 1372 + 1368 location - 5405041 + 5392101 @@ -35531,7 +35524,7 @@ 1 2 - 5408285 + 5395212 @@ -35547,7 +35540,7 @@ 1 2 - 5408285 + 5395212 @@ -35611,8 +35604,8 @@ 124 - 22045 - 22046 + 22044 + 22045 124 @@ -35695,11 +35688,11 @@ 1 2 - 5404916 + 5391976 - 27 - 28 + 26 + 27 124 @@ -35716,7 +35709,7 @@ 1 2 - 5405041 + 5392101 @@ -35726,15 +35719,15 @@ preprocpair - 1141186 + 1138454 begin - 888947 + 886819 elseelifend - 1141186 + 1138454 @@ -35748,17 +35741,17 @@ 1 2 - 649558 + 648002 2 3 - 230407 + 229856 3 9 - 8981 + 8960 @@ -35774,7 +35767,7 @@ 1 2 - 1141186 + 1138454 @@ -35784,41 +35777,41 @@ preproctrue - 439359 + 438182 branch - 439359 + 438182 preprocfalse - 285296 + 284613 branch - 285296 + 284613 preproctext - 4352301 + 4341756 id - 4352301 + 4341756 head - 2955008 + 2947934 body - 1683337 + 1679306 @@ -35832,7 +35825,7 @@ 1 2 - 4352301 + 4341756 @@ -35848,7 +35841,7 @@ 1 2 - 4352301 + 4341756 @@ -35864,12 +35857,12 @@ 1 2 - 2756411 + 2749812 2 798 - 198597 + 198121 @@ -35885,12 +35878,12 @@ 1 2 - 2873798 + 2866918 2 5 - 81210 + 81015 @@ -35906,17 +35899,17 @@ 1 2 - 1535137 + 1531462 2 10 - 127242 + 126937 10 - 13606 - 20957 + 13605 + 20907 @@ -35932,17 +35925,17 @@ 1 2 - 1539379 + 1535693 2 12 - 126867 + 126564 12 3246 - 17090 + 17049 @@ -35952,15 +35945,15 @@ includes - 318598 + 317337 id - 318598 + 317337 included - 58688 + 58456 @@ -35974,7 +35967,7 @@ 1 2 - 318598 + 317337 @@ -35990,37 +35983,85 @@ 1 2 - 29043 + 28928 2 3 - 9441 + 9404 3 4 - 4953 + 4933 4 6 - 5354 + 5333 6 11 - 4520 + 4502 11 47 - 4403 + 4386 47 793 - 971 + 967 + + + + + + + + + embeds + 1 + + + id + 1 + + + included + 1 + + + + + id + included + + + 12 + + + 1 + 2 + 1 + + + + + + + included + id + + + 12 + + + 1 + 2 + 1 @@ -36078,15 +36119,15 @@ link_parent - 30401054 + 30224787 element - 3866469 + 3843719 link_target - 340 + 338 @@ -36100,17 +36141,17 @@ 1 2 - 530500 + 527063 2 9 - 26947 + 26772 9 10 - 3309021 + 3289882 @@ -36126,52 +36167,52 @@ 3 4 - 34 + 33 - 97389 - 97390 - 34 + 97457 + 97458 + 33 - 97508 - 97509 - 34 + 97576 + 97577 + 33 - 97561 - 97562 - 34 + 97629 + 97630 + 33 - 97588 - 97589 - 34 + 97656 + 97657 + 33 - 97610 - 97611 - 34 + 97678 + 97679 + 33 - 97642 - 97643 - 34 + 97710 + 97711 + 33 - 99649 - 99650 - 34 + 99717 + 99718 + 33 - 103029 - 103030 - 34 + 103097 + 103098 + 33 - 104395 - 104396 - 34 + 104463 + 104464 + 33 @@ -36179,6 +36220,53 @@ + + databaseMetadata + 1 + + + metadataKey + 1 + + + value + 1 + + + + + metadataKey + value + + + 12 + + + + + + value + metadataKey + + + 12 + + + + + + + + overlayChangedFiles + 50 + + + path + 50 + + + + xmlEncoding 39724 diff --git a/cpp/ql/lib/upgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/old.dbscheme b/cpp/ql/lib/upgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/old.dbscheme new file mode 100644 index 00000000000..1402ab319d2 --- /dev/null +++ b/cpp/ql/lib/upgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/old.dbscheme @@ -0,0 +1,2479 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/1402ab319d20cdc9289deb7bfc1c70f36be44d44/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..83100310bf7 --- /dev/null +++ b/cpp/ql/lib/upgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/semmlecode.cpp.dbscheme @@ -0,0 +1,2483 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/1402ab319d20cdc9289deb7bfc1c70f36be44d44/upgrade.properties b/cpp/ql/lib/upgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/cpp/ql/lib/upgrades/1402ab319d20cdc9289deb7bfc1c70f36be44d44/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/cpp/ql/lib/upgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/old.dbscheme b/cpp/ql/lib/upgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/old.dbscheme new file mode 100644 index 00000000000..83100310bf7 --- /dev/null +++ b/cpp/ql/lib/upgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/old.dbscheme @@ -0,0 +1,2483 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..9439176c1d1 --- /dev/null +++ b/cpp/ql/lib/upgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/semmlecode.cpp.dbscheme @@ -0,0 +1,2489 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 17 = @ppd_embed +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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 +); + +embeds( + unique int id: @ppd_embed ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/upgrade.properties b/cpp/ql/lib/upgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/upgrade.properties new file mode 100644 index 00000000000..2289f3b5a5f --- /dev/null +++ b/cpp/ql/lib/upgrades/83100310bf73eefc37c1d8d0ac98b2ca3019c7b6/upgrade.properties @@ -0,0 +1,2 @@ +description: Support embed preprocessor directive +compatibility: partial diff --git a/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/builtintypes.ql b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/builtintypes.ql new file mode 100644 index 00000000000..86f807fba3b --- /dev/null +++ b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/builtintypes.ql @@ -0,0 +1,11 @@ +class BuiltinType extends @builtintype { + string toString() { none() } +} + +predicate isDecimalBuiltinType(BuiltinType type) { builtintypes(type, _, [40, 41, 42], _, _, _) } + +from BuiltinType type, string name, int kind, int kind_new, int size, int sign, int alignment +where + builtintypes(type, name, kind, size, sign, alignment) and + if isDecimalBuiltinType(type) then kind_new = 1 else kind_new = kind +select type, name, kind_new, size, sign, alignment diff --git a/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/old.dbscheme b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/old.dbscheme new file mode 100644 index 00000000000..a42ce5fc943 --- /dev/null +++ b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/old.dbscheme @@ -0,0 +1,2469 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/a42ce5fc943254097f85471b94ae2247e819104a/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..d2d611b3fdc --- /dev/null +++ b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/semmlecode.cpp.dbscheme @@ -0,0 +1,2469 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/a42ce5fc943254097f85471b94ae2247e819104a/upgrade.properties b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/upgrade.properties new file mode 100644 index 00000000000..57a5118125d --- /dev/null +++ b/cpp/ql/lib/upgrades/a42ce5fc943254097f85471b94ae2247e819104a/upgrade.properties @@ -0,0 +1,3 @@ +description: Remove _Decimal{32,64,128} types +compatibility: partial +builtintypes.rel: run builtintypes.qlo diff --git a/cpp/ql/lib/upgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/old.dbscheme b/cpp/ql/lib/upgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/old.dbscheme new file mode 100644 index 00000000000..d2d611b3fdc --- /dev/null +++ b/cpp/ql/lib/upgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/old.dbscheme @@ -0,0 +1,2469 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..1402ab319d2 --- /dev/null +++ b/cpp/ql/lib/upgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/semmlecode.cpp.dbscheme @@ -0,0 +1,2479 @@ + +/*- 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 + * + * 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 expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * 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 -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +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 +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +pch_uses( + int pch: @pch ref, + int compilation: @compilation ref, + int id: @file ref +) + +#keyset[pch, compilation] +pch_creations( + int pch: @pch, + int compilation: @compilation ref, + int from: @file ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +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 @macroinvocation.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_default 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 + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function 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 +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function 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); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype 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 +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr 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_specialized(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); +var_requires( + int id: @var_decl ref, + int constraint: @expr 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 +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int 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: @parameterized_element 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 +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function 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 = @errortype +| 2 = @unknowntype +| 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 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +// ... 40 _Decimal32 +// ... 41 _Decimal64 +// ... 42 _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_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 +| 11 = @scalable_vector // Arm SVE +; + +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 +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the 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. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 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 deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +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 +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +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 +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + 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 +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr 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 +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr 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 +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +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_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr 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 +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +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 + | @concept_template; + +@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 + | @c11_generic + ; + +/* +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 + | @decltype; + +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 + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + 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 +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * 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_default 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_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int 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 // frontend 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 +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +| 394 = @isinvocable +| 395 = @isnothrowinvocable +| 396 = @isbitwisecloneable +; + +@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 + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + | @isinvocable + | @isnothrowinvocable + | @isbitwisecloneable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +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 +); + +param_ref_to_this( + int expr: @param_ref ref +) + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean 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 +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @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, + boolean has_explicit_parameter_list: 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_default 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 +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +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 +); + +type_is_vla(unique int type_id: @derivedtype 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 +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_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 +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_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 +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@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 +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +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( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string 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/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/upgrade.properties b/cpp/ql/lib/upgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/upgrade.properties new file mode 100644 index 00000000000..3ebeff31683 --- /dev/null +++ b/cpp/ql/lib/upgrades/d2d611b3fdcc7c4fe370f0d115200a3aa6ad5837/upgrade.properties @@ -0,0 +1,2 @@ +description: Add new builtin operations and this parameter access table +compatibility: backwards \ No newline at end of file diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index a6caf3c6a6b..02a055ee266 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,13 @@ +## 1.5.9 + +### Minor Analysis Improvements + +* The `cpp/constant-comparison` query has been updated to not produce false positives for constants that are now represented by their unfolded expression trees. + +## 1.5.8 + +No user-facing changes. + ## 1.5.7 No user-facing changes. diff --git a/cpp/ql/src/Security/CWE/CWE-120/UnboundedWrite.ql b/cpp/ql/src/Security/CWE/CWE-120/UnboundedWrite.ql index 4d33ede9315..8cb0122b668 100644 --- a/cpp/ql/src/Security/CWE/CWE-120/UnboundedWrite.ql +++ b/cpp/ql/src/Security/CWE/CWE-120/UnboundedWrite.ql @@ -122,7 +122,8 @@ module Config implements DataFlow::ConfigSig { predicate isBarrier(DataFlow::Node node) { // Block flow if the node is guarded by any <, <= or = operations. - node = DataFlow::BarrierGuard::getABarrierNode() + node = DataFlow::BarrierGuard::getABarrierNode() or + node = DataFlow::BarrierGuard::getAnIndirectBarrierNode() } predicate observeDiffInformedIncrementalMode() { any() } diff --git a/cpp/ql/src/change-notes/released/1.5.8.md b/cpp/ql/src/change-notes/released/1.5.8.md new file mode 100644 index 00000000000..ec8f84e657f --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.5.8.md @@ -0,0 +1,3 @@ +## 1.5.8 + +No user-facing changes. diff --git a/cpp/ql/src/change-notes/2026-01-02-constant-comparison.md b/cpp/ql/src/change-notes/released/1.5.9.md similarity index 78% rename from cpp/ql/src/change-notes/2026-01-02-constant-comparison.md rename to cpp/ql/src/change-notes/released/1.5.9.md index 2b37f31268d..bc06ade90f7 100644 --- a/cpp/ql/src/change-notes/2026-01-02-constant-comparison.md +++ b/cpp/ql/src/change-notes/released/1.5.9.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- +## 1.5.9 + +### Minor Analysis Improvements + * The `cpp/constant-comparison` query has been updated to not produce false positives for constants that are now represented by their unfolded expression trees. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 227ac5febef..5ac7d08bfbf 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.5.7 +lastReleaseVersion: 1.5.9 diff --git a/cpp/ql/src/jsf/lib/section_4_21_Operators/AV_Rule_166.qll b/cpp/ql/src/jsf/lib/section_4_21_Operators/AV_Rule_166.qll index 0e316e86892..b613472c776 100644 --- a/cpp/ql/src/jsf/lib/section_4_21_Operators/AV_Rule_166.qll +++ b/cpp/ql/src/jsf/lib/section_4_21_Operators/AV_Rule_166.qll @@ -13,7 +13,7 @@ class SizeofImpureExprOperator extends SizeofExprOperator { not e.(OverloadedPointerDereferenceExpr).getExpr().isPure() and not exists(OverloadedArrayExpr op | op = e | op.getArrayBase().isPure() and - op.getArrayOffset().isPure() + forall(Expr offset | offset = op.getAnArrayOffset() | offset.isPure()) ) ) } diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 9161494a401..30fd4696695 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.5.8-dev +version: 1.5.10-dev groups: - cpp - queries diff --git a/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll index 28892c5b820..ba1221d112b 100644 --- a/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -78,7 +78,7 @@ module ModelGeneratorCommonInput implements ModelGeneratorCommonInputSig | | clang.cpp:123:36:123:67 | __is_trivially_relocatable | void | 0 | | clang.cpp:123:36:123:67 | void | | | +| clang.cpp:130:34:130:60 | __is_bitwise_cloneable | int | 1 | +| clang.cpp:130:34:130:60 | int | | | +| clang.cpp:131:34:131:59 | S3 | | | +| clang.cpp:131:34:131:59 | __is_bitwise_cloneable | S3 | 0 | | file://:0:0:0:0 | 0 | | 0 | | file://:0:0:0:0 | 0 | | 0 | | file://:0:0:0:0 | 1 | | 1 | @@ -211,6 +215,16 @@ | gcc.cpp:29:45:29:93 | __reference_converts_from_temporary | int &&,int && | 0 | | gcc.cpp:29:45:29:93 | int && | | | | gcc.cpp:29:45:29:93 | int && | | | +| gcc.cpp:33:24:33:45 | __is_invocable | f_type | 1 | +| gcc.cpp:33:24:33:45 | f_type | | | +| gcc.cpp:34:24:34:51 | __is_invocable | f_type,bool | 0 | +| gcc.cpp:34:24:34:51 | bool | | | +| gcc.cpp:34:24:34:51 | f_type | | | +| gcc.cpp:36:32:36:61 | __is_nothrow_invocable | f_type | 1 | +| gcc.cpp:36:32:36:61 | f_type | | | +| gcc.cpp:37:32:37:67 | __is_nothrow_invocable | f_type,bool | 0 | +| gcc.cpp:37:32:37:67 | bool | | | +| gcc.cpp:37:32:37:67 | f_type | | | | ms.cpp:38:41:38:45 | 0 | | 0 | | ms.cpp:88:27:88:45 | __has_assign | empty | 0 | | ms.cpp:88:27:88:45 | empty | | | diff --git a/cpp/ql/test/library-tests/builtins/type_traits/gcc.cpp b/cpp/ql/test/library-tests/builtins/type_traits/gcc.cpp index 54224343e7e..15f59812d2e 100644 --- a/cpp/ql/test/library-tests/builtins/type_traits/gcc.cpp +++ b/cpp/ql/test/library-tests/builtins/type_traits/gcc.cpp @@ -1,4 +1,4 @@ -// semmle-extractor-options: --gnu_version 130000 +// semmle-extractor-options: --gnu_version 150000 __attribute__ ((aligned(8))) int v; bool b_has_attribute1 = __builtin_has_attribute(v, aligned); @@ -27,3 +27,11 @@ bool b_reference_constructs_from_temporary2 = __reference_constructs_from_tempor bool b_reference_converts_from_temporary1 = __reference_converts_from_temporary(int&&, int); bool b_reference_converts_from_temporary2 = __reference_converts_from_temporary(int&&, int&&); + +using f_type = void(*)() noexcept; + +bool b_is_invocable1 = __is_invocable(f_type); +bool b_is_invocable2 = __is_invocable(f_type, bool); + +bool b_is_nothrow_invocable1 = __is_nothrow_invocable(f_type); +bool b_is_nothrow_invocable2 = __is_nothrow_invocable(f_type, bool); diff --git a/cpp/ql/test/library-tests/builtins/types/types.c b/cpp/ql/test/library-tests/builtins/types/types.c deleted file mode 100644 index c4246f2273d..00000000000 --- a/cpp/ql/test/library-tests/builtins/types/types.c +++ /dev/null @@ -1,5 +0,0 @@ - -_Decimal32 d32; -_Decimal64 d64; -_Decimal128 d128; - diff --git a/cpp/ql/test/library-tests/builtins/types/types.expected b/cpp/ql/test/library-tests/builtins/types/types.expected deleted file mode 100644 index deaca8e4c28..00000000000 --- a/cpp/ql/test/library-tests/builtins/types/types.expected +++ /dev/null @@ -1,7 +0,0 @@ -| file://:0:0:0:0 | fp_offset | file://:0:0:0:0 | unsigned int | -| file://:0:0:0:0 | gp_offset | file://:0:0:0:0 | unsigned int | -| file://:0:0:0:0 | overflow_arg_area | file://:0:0:0:0 | void * | -| file://:0:0:0:0 | reg_save_area | file://:0:0:0:0 | void * | -| types.c:2:12:2:14 | d32 | file://:0:0:0:0 | _Decimal32 | -| types.c:3:12:3:14 | d64 | file://:0:0:0:0 | _Decimal64 | -| types.c:4:13:4:16 | d128 | file://:0:0:0:0 | _Decimal128 | diff --git a/cpp/ql/test/library-tests/builtins/types/types.ql b/cpp/ql/test/library-tests/builtins/types/types.ql deleted file mode 100644 index 560d1a66fb1..00000000000 --- a/cpp/ql/test/library-tests/builtins/types/types.ql +++ /dev/null @@ -1,5 +0,0 @@ -import cpp - -from Variable v, Type t -where t = v.getType() -select v, t diff --git a/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.cpp b/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.cpp index acbe0223dac..6c4b45db48f 100644 --- a/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.cpp +++ b/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.cpp @@ -4,6 +4,46 @@ void sink(int); void testCheckArgument(int* p) { if (checkArgument(p)) { - sink(*p); // $ barrier barrier=1 + sink(*p); // $ indirect_barrier=int barrier=int* } +} + +void testCheckArgument(int p) { + if (checkArgument(&p)) { + sink(p); // $ barrier=glval indirect_barrier=int + } +} + +int* get_clean_value(int* x) { return x; } +bool is_clean_value(int*); + +int* get_clean_pointer(int* x) { return x; } +bool is_clean_pointer(int*); + +void sink(int*); + +void test_mad(int x, int* p) { + { + if(is_clean_value(&x)) { + sink(x); // $ external=int + } + } + + { + if(is_clean_value(p)) { + sink(*p); // $ external=int + } + } + + { + if(is_clean_pointer(p)) { + sink(p); // $ external=int* + } + } + + { + if(is_clean_pointer(&x)) { + sink(x); // $ external=glval + } + } } \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.ext.yml b/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.ext.yml new file mode 100644 index 00000000000..8eeed7cd0b5 --- /dev/null +++ b/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.ext.yml @@ -0,0 +1,13 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: barrierModel + data: + - ["", "", False, "get_clean_pointer", "", "", "ReturnValue", "test-barrier", "manual"] + - ["", "", False, "get_clean_data", "", "", "ReturnValue[*]", "test-barrier", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: barrierGuardModel + data: + - ["", "", False, "is_clean_value", "", "", "Argument[*0]", "true", "test-barrier", "manual"] + - ["", "", False, "is_clean_pointer", "", "", "Argument[0]", "true", "test-barrier", "manual"] \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.ql b/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.ql index 20610c55385..8948c65e33c 100644 --- a/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.ql +++ b/cpp/ql/test/library-tests/dataflow/ir-barrier-guards/test.ql @@ -2,6 +2,7 @@ import cpp import semmle.code.cpp.dataflow.new.DataFlow import semmle.code.cpp.controlflow.IRGuards import utils.test.InlineExpectationsTest +import semmle.code.cpp.dataflow.ExternalFlow predicate instructionGuardChecks(IRGuardCondition gc, Instruction checked, boolean branch) { exists(CallInstruction call | @@ -13,26 +14,41 @@ predicate instructionGuardChecks(IRGuardCondition gc, Instruction checked, boole module BarrierGuard = DataFlow::InstructionBarrierGuard; -predicate indirectBarrierGuard(DataFlow::Node node, int indirectionIndex) { - node = BarrierGuard::getAnIndirectBarrierNode(indirectionIndex) +predicate indirectBarrierGuard(DataFlow::Node node, string s) { + node = BarrierGuard::getAnIndirectBarrierNode(_) and + if node.isGLValue() + then s = "glval<" + node.getType().toString().replaceAll(" ", "") + ">" + else s = node.getType().toString().replaceAll(" ", "") } -predicate barrierGuard(DataFlow::Node node) { node = BarrierGuard::getABarrierNode() } +predicate barrierGuard(DataFlow::Node node, string s) { + node = BarrierGuard::getABarrierNode() and + if node.isGLValue() + then s = "glval<" + node.getType().toString().replaceAll(" ", "") + ">" + else s = node.getType().toString().replaceAll(" ", "") +} + +predicate externalBarrierGuard(DataFlow::Node node, string s) { + barrierNode(node, "test-barrier") and + if node.isGLValue() + then s = "glval<" + node.getType().toString().replaceAll(" ", "") + ">" + else s = node.getType().toString().replaceAll(" ", "") +} module Test implements TestSig { - string getARelevantTag() { result = "barrier" } + string getARelevantTag() { result = ["barrier", "indirect_barrier", "external"] } predicate hasActualResult(Location location, string element, string tag, string value) { exists(DataFlow::Node node | - barrierGuard(node) and - value = "" + indirectBarrierGuard(node, value) and + tag = "indirect_barrier" or - exists(int indirectionIndex | - indirectBarrierGuard(node, indirectionIndex) and - value = indirectionIndex.toString() - ) + barrierGuard(node, value) and + tag = "barrier" + or + externalBarrierGuard(node, value) and + tag = "external" | - tag = "barrier" and element = node.toString() and location = node.getLocation() ) diff --git a/cpp/ql/test/library-tests/friends/loop/friends.expected b/cpp/ql/test/library-tests/friends/loop/friends.expected index a43c3f67c2e..a59c1f0c65c 100644 --- a/cpp/ql/test/library-tests/friends/loop/friends.expected +++ b/cpp/ql/test/library-tests/friends/loop/friends.expected @@ -1,9 +1,14 @@ | file://:0:0:0:0 | E's friend | loop.cpp:5:26:5:26 | E | +| file://:0:0:0:0 | E's friend | loop.cpp:5:26:5:26 | E | | file://:0:0:0:0 | E's friend | loop.cpp:10:26:10:26 | F | +| file://:0:0:0:0 | E's friend | loop.cpp:10:26:10:26 | F | | file://:0:0:0:0 | E's friend | loop.cpp:5:26:5:26 | E | +| file://:0:0:0:0 | E's friend | loop.cpp:5:26:5:26 | E | | file://:0:0:0:0 | E's friend | loop.cpp:10:26:10:26 | F | +| file://:0:0:0:0 | E's friend | loop.cpp:10:26:10:26 | F | | file://:0:0:0:0 | F's friend | loop.cpp:5:26:5:26 | E | | file://:0:0:0:0 | F's friend | loop.cpp:5:26:5:26 | E | +| file://:0:0:0:0 | F's friend | loop.cpp:5:26:5:26 | E | | loop.cpp:6:5:6:5 | E's friend | loop.cpp:5:26:5:26 | E | | loop.cpp:7:5:7:5 | E's friend | loop.cpp:7:36:7:36 | F | | loop.cpp:11:5:11:5 | F's friend | loop.cpp:11:36:11:36 | E | diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index f4e9fa38d6d..45666a3b50b 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -24309,7 +24309,7 @@ ir.cpp: # 2727| getArrayBase(): [VariableAccess] x # 2727| Type = [SpecifiedType] const WithBracketOperator # 2727| ValueCategory = lvalue -# 2727| getArrayOffset(): [VariableAccess] i +# 2727| getArrayOffset(0): [VariableAccess] i # 2727| Type = [IntType] int # 2727| ValueCategory = prvalue(load) # 2727| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) diff --git a/cpp/ql/test/library-tests/literals/literals/literals.c b/cpp/ql/test/library-tests/literals/literals/literals.c index 70a98a98608..1fc8e990343 100644 --- a/cpp/ql/test/library-tests/literals/literals/literals.c +++ b/cpp/ql/test/library-tests/literals/literals/literals.c @@ -1,6 +1,4 @@ -double dd = 1.0d; -double dD = 1.0D; double df = 1.0f; double dF = 1.0F; double di = 1.0i; diff --git a/cpp/ql/test/library-tests/literals/literals/literals.expected b/cpp/ql/test/library-tests/literals/literals/literals.expected index a3fd43a7f04..4be96d5964b 100644 --- a/cpp/ql/test/library-tests/literals/literals/literals.expected +++ b/cpp/ql/test/library-tests/literals/literals/literals.expected @@ -1,14 +1,12 @@ | literals.c:2:13:2:16 | 1.0 | | literals.c:3:13:3:16 | 1.0 | -| literals.c:4:13:4:16 | 1.0 | -| literals.c:5:13:5:16 | 1.0 | +| literals.c:4:13:4:16 | (0.0,1.0i) | +| literals.c:5:13:5:16 | (0.0,1.0i) | | literals.c:6:13:6:16 | (0.0,1.0i) | | literals.c:7:13:7:16 | (0.0,1.0i) | -| literals.c:8:13:8:16 | (0.0,1.0i) | -| literals.c:9:13:9:16 | (0.0,1.0i) | +| literals.c:8:13:8:16 | 1.0 | +| literals.c:9:13:9:16 | 1.0 | | literals.c:10:13:10:16 | 1.0 | | literals.c:11:13:11:16 | 1.0 | | literals.c:12:13:12:16 | 1.0 | | literals.c:13:13:13:16 | 1.0 | -| literals.c:14:13:14:16 | 1.0 | -| literals.c:15:13:15:16 | 1.0 | diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/lowerBound.expected b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/lowerBound.expected index eb1dbc7b93f..0c520190c8b 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/lowerBound.expected +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/lowerBound.expected @@ -352,664 +352,679 @@ | test.c:333:10:333:14 | total | -2147483648 | | test.c:341:32:341:34 | odd | 9007199254740991 | | test.c:343:10:343:16 | shifted | 4503599627370495 | -| test.c:348:7:348:7 | x | -2147483648 | -| test.c:352:10:352:10 | i | 0 | -| test.c:353:5:353:5 | i | 0 | -| test.c:355:3:355:3 | d | -2147483648 | -| test.c:355:7:355:7 | i | 3 | -| test.c:356:7:356:7 | x | 0 | -| test.c:357:9:357:9 | d | 3 | -| test.c:357:14:357:14 | x | 0 | -| test.c:367:3:367:4 | y1 | 0 | -| test.c:367:8:367:8 | x | 0 | -| test.c:367:18:367:18 | x | 0 | -| test.c:368:3:368:4 | y2 | 0 | -| test.c:368:8:368:8 | x | 0 | -| test.c:368:24:368:24 | x | 0 | -| test.c:369:3:369:4 | y3 | 0 | -| test.c:370:3:370:4 | y4 | 0 | -| test.c:371:3:371:4 | y5 | 0 | -| test.c:372:3:372:4 | y6 | 0 | -| test.c:373:3:373:4 | y7 | 0 | -| test.c:374:3:374:4 | y8 | 0 | -| test.c:375:7:375:7 | x | 0 | -| test.c:376:5:376:6 | y3 | 0 | -| test.c:376:10:376:10 | x | 0 | -| test.c:377:5:377:6 | y4 | 0 | -| test.c:377:10:377:10 | x | 0 | -| test.c:378:5:378:6 | y5 | 0 | -| test.c:378:11:378:11 | x | 0 | -| test.c:379:5:379:6 | y6 | 0 | -| test.c:379:27:379:27 | x | 0 | -| test.c:380:5:380:6 | y7 | 0 | -| test.c:380:27:380:27 | x | 0 | -| test.c:381:5:381:6 | y8 | 0 | -| test.c:381:28:381:28 | x | 0 | -| test.c:383:10:383:11 | y1 | 0 | -| test.c:383:15:383:16 | y2 | 0 | -| test.c:383:20:383:21 | y3 | 0 | -| test.c:383:25:383:26 | y4 | 0 | -| test.c:383:30:383:31 | y5 | 0 | -| test.c:383:35:383:36 | y6 | 0 | -| test.c:383:40:383:41 | y7 | 0 | -| test.c:383:45:383:46 | y8 | 0 | -| test.c:389:3:389:4 | y1 | 0 | -| test.c:389:8:389:8 | x | 0 | -| test.c:389:18:389:18 | x | 101 | -| test.c:390:3:390:4 | y2 | 0 | -| test.c:390:8:390:8 | x | 0 | -| test.c:390:25:390:25 | x | 101 | -| test.c:391:3:391:4 | y3 | 0 | -| test.c:392:3:392:4 | y4 | 0 | -| test.c:393:3:393:4 | y5 | 0 | -| test.c:394:7:394:7 | x | 0 | -| test.c:395:5:395:6 | y3 | 0 | -| test.c:395:11:395:11 | x | 300 | -| test.c:396:5:396:6 | y4 | 0 | -| test.c:396:11:396:11 | x | 300 | -| test.c:397:5:397:6 | y5 | 0 | -| test.c:397:27:397:27 | x | 300 | -| test.c:399:10:399:11 | y1 | 101 | -| test.c:399:15:399:16 | y2 | 101 | -| test.c:399:20:399:21 | y3 | 0 | -| test.c:399:25:399:26 | y4 | 100 | -| test.c:399:30:399:31 | y5 | 0 | -| test.c:404:14:404:14 | m | -Infinity | -| test.c:404:18:404:18 | n | -Infinity | -| test.c:404:22:404:22 | o | -Infinity | -| test.c:404:26:404:26 | p | -Infinity | -| test.c:404:30:404:30 | q | -Infinity | -| test.c:405:14:405:14 | m | -Infinity | -| test.c:405:18:405:18 | n | -Infinity | -| test.c:405:22:405:22 | o | -Infinity | -| test.c:405:26:405:26 | p | -Infinity | -| test.c:405:30:405:30 | q | -Infinity | -| test.c:406:14:406:14 | m | -Infinity | -| test.c:406:18:406:18 | n | -Infinity | -| test.c:406:22:406:22 | o | -Infinity | -| test.c:406:26:406:26 | p | -Infinity | -| test.c:406:30:406:30 | q | -Infinity | -| test.c:407:14:407:14 | m | -Infinity | -| test.c:407:18:407:18 | n | -Infinity | -| test.c:407:22:407:22 | o | -Infinity | -| test.c:407:26:407:26 | p | -Infinity | -| test.c:407:30:407:30 | q | -Infinity | -| test.c:408:14:408:14 | m | -Infinity | -| test.c:408:18:408:18 | n | -Infinity | -| test.c:408:22:408:22 | o | -Infinity | -| test.c:408:26:408:26 | p | -Infinity | -| test.c:408:30:408:30 | q | -Infinity | -| test.c:409:14:409:14 | m | -Infinity | -| test.c:409:18:409:18 | n | -Infinity | -| test.c:409:22:409:22 | o | -Infinity | -| test.c:409:26:409:26 | p | -Infinity | -| test.c:409:30:409:30 | q | -Infinity | -| test.c:410:14:410:14 | m | -Infinity | -| test.c:410:18:410:18 | n | -Infinity | -| test.c:410:22:410:22 | o | -Infinity | -| test.c:410:26:410:26 | p | -Infinity | -| test.c:410:30:410:30 | q | -Infinity | -| test.c:411:14:411:14 | m | -Infinity | -| test.c:411:18:411:18 | n | -Infinity | -| test.c:411:22:411:22 | o | -Infinity | -| test.c:411:26:411:26 | p | -Infinity | -| test.c:411:30:411:30 | q | -Infinity | -| test.c:412:14:412:14 | m | -Infinity | -| test.c:412:18:412:18 | n | -Infinity | -| test.c:412:22:412:22 | o | -Infinity | -| test.c:412:26:412:26 | p | -Infinity | -| test.c:412:30:412:30 | q | -Infinity | -| test.c:413:14:413:14 | m | -Infinity | -| test.c:413:18:413:18 | n | -Infinity | -| test.c:413:22:413:22 | o | -Infinity | -| test.c:413:26:413:26 | p | -Infinity | -| test.c:413:30:413:30 | q | -Infinity | -| test.c:414:14:414:14 | m | -Infinity | -| test.c:414:18:414:18 | n | -Infinity | -| test.c:414:22:414:22 | o | -Infinity | -| test.c:414:26:414:26 | p | -Infinity | -| test.c:414:30:414:30 | q | -Infinity | +| test.c:348:27:348:27 | e | 0 | +| test.c:348:40:348:40 | e | 0 | +| test.c:349:25:349:25 | e | 0 | +| test.c:349:39:349:39 | e | 0 | +| test.c:350:27:350:27 | e | 0 | +| test.c:350:40:350:40 | e | 0 | +| test.c:351:27:351:27 | e | 0 | +| test.c:351:40:351:40 | e | 0 | +| test.c:352:27:352:27 | e | 0 | +| test.c:352:41:352:41 | e | 8 | +| test.c:354:10:354:12 | bi1 | 0 | +| test.c:354:16:354:18 | bi2 | 0 | +| test.c:354:22:354:24 | bi3 | 0 | +| test.c:354:28:354:30 | bi4 | 0 | +| test.c:354:34:354:36 | bi5 | 2 | +| test.c:359:7:359:7 | x | -2147483648 | +| test.c:363:10:363:10 | i | 0 | +| test.c:364:5:364:5 | i | 0 | +| test.c:366:3:366:3 | d | -2147483648 | +| test.c:366:7:366:7 | i | 3 | +| test.c:367:7:367:7 | x | 0 | +| test.c:368:9:368:9 | d | 3 | +| test.c:368:14:368:14 | x | 0 | +| test.c:378:3:378:4 | y1 | 0 | +| test.c:378:8:378:8 | x | 0 | +| test.c:378:18:378:18 | x | 0 | +| test.c:379:3:379:4 | y2 | 0 | +| test.c:379:8:379:8 | x | 0 | +| test.c:379:24:379:24 | x | 0 | +| test.c:380:3:380:4 | y3 | 0 | +| test.c:381:3:381:4 | y4 | 0 | +| test.c:382:3:382:4 | y5 | 0 | +| test.c:383:3:383:4 | y6 | 0 | +| test.c:384:3:384:4 | y7 | 0 | +| test.c:385:3:385:4 | y8 | 0 | +| test.c:386:7:386:7 | x | 0 | +| test.c:387:5:387:6 | y3 | 0 | +| test.c:387:10:387:10 | x | 0 | +| test.c:388:5:388:6 | y4 | 0 | +| test.c:388:10:388:10 | x | 0 | +| test.c:389:5:389:6 | y5 | 0 | +| test.c:389:11:389:11 | x | 0 | +| test.c:390:5:390:6 | y6 | 0 | +| test.c:390:27:390:27 | x | 0 | +| test.c:391:5:391:6 | y7 | 0 | +| test.c:391:27:391:27 | x | 0 | +| test.c:392:5:392:6 | y8 | 0 | +| test.c:392:28:392:28 | x | 0 | +| test.c:394:10:394:11 | y1 | 0 | +| test.c:394:15:394:16 | y2 | 0 | +| test.c:394:20:394:21 | y3 | 0 | +| test.c:394:25:394:26 | y4 | 0 | +| test.c:394:30:394:31 | y5 | 0 | +| test.c:394:35:394:36 | y6 | 0 | +| test.c:394:40:394:41 | y7 | 0 | +| test.c:394:45:394:46 | y8 | 0 | +| test.c:400:3:400:4 | y1 | 0 | +| test.c:400:8:400:8 | x | 0 | +| test.c:400:18:400:18 | x | 101 | +| test.c:401:3:401:4 | y2 | 0 | +| test.c:401:8:401:8 | x | 0 | +| test.c:401:25:401:25 | x | 101 | +| test.c:402:3:402:4 | y3 | 0 | +| test.c:403:3:403:4 | y4 | 0 | +| test.c:404:3:404:4 | y5 | 0 | +| test.c:405:7:405:7 | x | 0 | +| test.c:406:5:406:6 | y3 | 0 | +| test.c:406:11:406:11 | x | 300 | +| test.c:407:5:407:6 | y4 | 0 | +| test.c:407:11:407:11 | x | 300 | +| test.c:408:5:408:6 | y5 | 0 | +| test.c:408:27:408:27 | x | 300 | +| test.c:410:10:410:11 | y1 | 101 | +| test.c:410:15:410:16 | y2 | 101 | +| test.c:410:20:410:21 | y3 | 0 | +| test.c:410:25:410:26 | y4 | 100 | +| test.c:410:30:410:31 | y5 | 0 | | test.c:415:14:415:14 | m | -Infinity | | test.c:415:18:415:18 | n | -Infinity | | test.c:415:22:415:22 | o | -Infinity | | test.c:415:26:415:26 | p | -Infinity | | test.c:415:30:415:30 | q | -Infinity | -| test.c:421:19:421:19 | a | 0.143339 | -| test.c:421:23:421:23 | b | 0.222479 | -| test.c:421:27:421:27 | c | 0.051213 | -| test.c:421:31:421:31 | d | 0.369769 | -| test.c:421:35:421:35 | e | 0.105977 | -| test.c:421:39:421:39 | f | 0.107867 | -| test.c:421:43:421:43 | g | 0.025243 | -| test.c:421:47:421:47 | h | 0.149635 | -| test.c:421:51:421:51 | i | 0.053282 | -| test.c:421:55:421:55 | j | 0.276432 | -| test.c:421:59:421:59 | k | 0.205191 | -| test.c:421:63:421:63 | l | 0.132041 | -| test.c:423:10:423:15 | output | 1.842468 | -| test.c:430:7:430:9 | rhs | 0 | -| test.c:430:19:430:21 | rhs | 0 | -| test.c:431:7:431:9 | rhs | 0 | -| test.c:431:19:431:21 | rhs | 0 | -| test.c:432:7:432:9 | rhs | 0 | -| test.c:432:19:432:21 | rhs | 0 | -| test.c:433:7:433:9 | rhs | 0 | -| test.c:433:19:433:21 | rhs | 0 | -| test.c:434:7:434:9 | rhs | 0 | -| test.c:434:19:434:21 | rhs | 0 | -| test.c:435:10:435:12 | rhs | 0 | -| test.c:439:7:439:7 | a | -2147483648 | -| test.c:440:9:440:9 | b | -2147483648 | -| test.c:441:7:441:7 | a | 17 | -| test.c:441:12:441:12 | b | 23 | -| test.c:443:9:443:9 | a | 17 | -| test.c:444:7:444:7 | b | -2147483648 | -| test.c:449:11:449:11 | a | -2147483648 | -| test.c:449:15:449:15 | b | -2147483648 | -| test.c:450:10:450:10 | a | -2147483648 | -| test.c:450:14:450:14 | b | -2147483648 | -| test.c:457:10:457:11 | ip | 0 | -| test.c:457:20:457:21 | ip | 0 | -| test.c:457:40:457:41 | ip | 0 | -| test.c:458:14:458:15 | ip | 1 | -| test.c:459:14:459:15 | ip | 0 | -| test.c:459:34:459:35 | ip | 0 | -| test.c:460:11:460:12 | ip | 0 | -| test.c:461:13:461:14 | ip | 0 | -| test.c:462:14:462:15 | ip | 0 | -| test.c:463:14:463:15 | ip | 0 | -| test.c:464:15:464:16 | ip | 0 | -| test.c:464:41:464:42 | ip | 0 | -| test.c:464:52:464:53 | ip | 0 | -| test.c:464:67:464:68 | ip | 0 | -| test.c:464:78:464:79 | ip | 0 | -| test.c:465:18:465:19 | ip | 0 | -| test.c:466:23:466:24 | ip | 0 | -| test.c:466:34:466:35 | ip | 0 | -| test.c:467:25:467:26 | ip | 0 | +| test.c:416:14:416:14 | m | -Infinity | +| test.c:416:18:416:18 | n | -Infinity | +| test.c:416:22:416:22 | o | -Infinity | +| test.c:416:26:416:26 | p | -Infinity | +| test.c:416:30:416:30 | q | -Infinity | +| test.c:417:14:417:14 | m | -Infinity | +| test.c:417:18:417:18 | n | -Infinity | +| test.c:417:22:417:22 | o | -Infinity | +| test.c:417:26:417:26 | p | -Infinity | +| test.c:417:30:417:30 | q | -Infinity | +| test.c:418:14:418:14 | m | -Infinity | +| test.c:418:18:418:18 | n | -Infinity | +| test.c:418:22:418:22 | o | -Infinity | +| test.c:418:26:418:26 | p | -Infinity | +| test.c:418:30:418:30 | q | -Infinity | +| test.c:419:14:419:14 | m | -Infinity | +| test.c:419:18:419:18 | n | -Infinity | +| test.c:419:22:419:22 | o | -Infinity | +| test.c:419:26:419:26 | p | -Infinity | +| test.c:419:30:419:30 | q | -Infinity | +| test.c:420:14:420:14 | m | -Infinity | +| test.c:420:18:420:18 | n | -Infinity | +| test.c:420:22:420:22 | o | -Infinity | +| test.c:420:26:420:26 | p | -Infinity | +| test.c:420:30:420:30 | q | -Infinity | +| test.c:421:14:421:14 | m | -Infinity | +| test.c:421:18:421:18 | n | -Infinity | +| test.c:421:22:421:22 | o | -Infinity | +| test.c:421:26:421:26 | p | -Infinity | +| test.c:421:30:421:30 | q | -Infinity | +| test.c:422:14:422:14 | m | -Infinity | +| test.c:422:18:422:18 | n | -Infinity | +| test.c:422:22:422:22 | o | -Infinity | +| test.c:422:26:422:26 | p | -Infinity | +| test.c:422:30:422:30 | q | -Infinity | +| test.c:423:14:423:14 | m | -Infinity | +| test.c:423:18:423:18 | n | -Infinity | +| test.c:423:22:423:22 | o | -Infinity | +| test.c:423:26:423:26 | p | -Infinity | +| test.c:423:30:423:30 | q | -Infinity | +| test.c:424:14:424:14 | m | -Infinity | +| test.c:424:18:424:18 | n | -Infinity | +| test.c:424:22:424:22 | o | -Infinity | +| test.c:424:26:424:26 | p | -Infinity | +| test.c:424:30:424:30 | q | -Infinity | +| test.c:425:14:425:14 | m | -Infinity | +| test.c:425:18:425:18 | n | -Infinity | +| test.c:425:22:425:22 | o | -Infinity | +| test.c:425:26:425:26 | p | -Infinity | +| test.c:425:30:425:30 | q | -Infinity | +| test.c:426:14:426:14 | m | -Infinity | +| test.c:426:18:426:18 | n | -Infinity | +| test.c:426:22:426:22 | o | -Infinity | +| test.c:426:26:426:26 | p | -Infinity | +| test.c:426:30:426:30 | q | -Infinity | +| test.c:432:19:432:19 | a | 0.143339 | +| test.c:432:23:432:23 | b | 0.222479 | +| test.c:432:27:432:27 | c | 0.051213 | +| test.c:432:31:432:31 | d | 0.369769 | +| test.c:432:35:432:35 | e | 0.105977 | +| test.c:432:39:432:39 | f | 0.107867 | +| test.c:432:43:432:43 | g | 0.025243 | +| test.c:432:47:432:47 | h | 0.149635 | +| test.c:432:51:432:51 | i | 0.053282 | +| test.c:432:55:432:55 | j | 0.276432 | +| test.c:432:59:432:59 | k | 0.205191 | +| test.c:432:63:432:63 | l | 0.132041 | +| test.c:434:10:434:15 | output | 1.842468 | +| test.c:441:7:441:9 | rhs | 0 | +| test.c:441:19:441:21 | rhs | 0 | +| test.c:442:7:442:9 | rhs | 0 | +| test.c:442:19:442:21 | rhs | 0 | +| test.c:443:7:443:9 | rhs | 0 | +| test.c:443:19:443:21 | rhs | 0 | +| test.c:444:7:444:9 | rhs | 0 | +| test.c:444:19:444:21 | rhs | 0 | +| test.c:445:7:445:9 | rhs | 0 | +| test.c:445:19:445:21 | rhs | 0 | +| test.c:446:10:446:12 | rhs | 0 | +| test.c:450:7:450:7 | a | -2147483648 | +| test.c:451:9:451:9 | b | -2147483648 | +| test.c:452:7:452:7 | a | 17 | +| test.c:452:12:452:12 | b | 23 | +| test.c:454:9:454:9 | a | 17 | +| test.c:455:7:455:7 | b | -2147483648 | +| test.c:460:11:460:11 | a | -2147483648 | +| test.c:460:15:460:15 | b | -2147483648 | +| test.c:461:10:461:10 | a | -2147483648 | +| test.c:461:14:461:14 | b | -2147483648 | +| test.c:468:10:468:11 | ip | 0 | | test.c:468:20:468:21 | ip | 0 | -| test.c:469:11:469:12 | ip | 0 | -| test.c:469:26:469:27 | ip | 0 | -| test.c:470:16:470:17 | ip | 0 | -| test.c:471:16:471:17 | ip | 0 | -| test.c:472:16:472:17 | ip | 0 | -| test.c:473:17:473:18 | ip | 0 | -| test.c:474:22:474:23 | ip | 0 | -| test.c:474:33:474:34 | ip | 0 | -| test.c:474:48:474:49 | ip | 0 | -| test.c:474:59:474:60 | ip | 0 | -| test.c:475:20:475:21 | ip | 0 | -| test.c:476:25:476:26 | ip | 0 | -| test.c:476:36:476:37 | ip | 0 | -| test.c:477:27:477:28 | ip | 0 | -| test.c:478:22:478:23 | ip | 0 | -| test.c:479:15:479:16 | ip | 0 | -| test.c:479:30:479:31 | ip | 0 | +| test.c:468:40:468:41 | ip | 0 | +| test.c:469:14:469:15 | ip | 1 | +| test.c:470:14:470:15 | ip | 0 | +| test.c:470:34:470:35 | ip | 0 | +| test.c:471:11:471:12 | ip | 0 | +| test.c:472:13:472:14 | ip | 0 | +| test.c:473:14:473:15 | ip | 0 | +| test.c:474:14:474:15 | ip | 0 | +| test.c:475:15:475:16 | ip | 0 | +| test.c:475:41:475:42 | ip | 0 | +| test.c:475:52:475:53 | ip | 0 | +| test.c:475:67:475:68 | ip | 0 | +| test.c:475:78:475:79 | ip | 0 | +| test.c:476:18:476:19 | ip | 0 | +| test.c:477:23:477:24 | ip | 0 | +| test.c:477:34:477:35 | ip | 0 | +| test.c:478:25:478:26 | ip | 0 | +| test.c:479:20:479:21 | ip | 0 | | test.c:480:11:480:12 | ip | 0 | -| test.c:481:12:481:13 | ip | 0 | -| test.c:482:12:482:13 | ip | 0 | -| test.c:483:13:483:14 | ip | 0 | -| test.c:483:39:483:40 | ip | 0 | -| test.c:483:50:483:51 | ip | 0 | -| test.c:483:65:483:66 | ip | 0 | -| test.c:483:76:483:77 | ip | 0 | -| test.c:484:16:484:17 | ip | 0 | -| test.c:485:21:485:22 | ip | 0 | -| test.c:485:32:485:33 | ip | 0 | -| test.c:486:23:486:24 | ip | 0 | -| test.c:487:18:487:19 | ip | 0 | -| test.c:488:11:488:12 | ip | 0 | -| test.c:488:17:488:18 | ip | 0 | -| test.c:488:37:488:38 | ip | 0 | -| test.c:488:43:488:44 | ip | 0 | -| test.c:489:14:489:15 | ip | 0 | -| test.c:490:14:490:15 | ip | 0 | -| test.c:491:14:491:15 | ip | 0 | -| test.c:492:15:492:16 | ip | 0 | -| test.c:492:41:492:42 | ip | 0 | -| test.c:492:52:492:53 | ip | 0 | -| test.c:492:67:492:68 | ip | 0 | -| test.c:492:78:492:79 | ip | 0 | -| test.c:493:18:493:19 | ip | 0 | -| test.c:494:23:494:24 | ip | 0 | -| test.c:494:34:494:35 | ip | 0 | -| test.c:495:25:495:26 | ip | 0 | -| test.c:496:20:496:21 | ip | 0 | -| test.c:497:14:497:15 | ip | 0 | -| test.c:497:20:497:21 | ip | 0 | -| test.c:498:16:498:17 | ip | 0 | -| test.c:499:12:499:13 | ip | 0 | +| test.c:480:26:480:27 | ip | 0 | +| test.c:481:16:481:17 | ip | 0 | +| test.c:482:16:482:17 | ip | 0 | +| test.c:483:16:483:17 | ip | 0 | +| test.c:484:17:484:18 | ip | 0 | +| test.c:485:22:485:23 | ip | 0 | +| test.c:485:33:485:34 | ip | 0 | +| test.c:485:48:485:49 | ip | 0 | +| test.c:485:59:485:60 | ip | 0 | +| test.c:486:20:486:21 | ip | 0 | +| test.c:487:25:487:26 | ip | 0 | +| test.c:487:36:487:37 | ip | 0 | +| test.c:488:27:488:28 | ip | 0 | +| test.c:489:22:489:23 | ip | 0 | +| test.c:490:15:490:16 | ip | 0 | +| test.c:490:30:490:31 | ip | 0 | +| test.c:491:11:491:12 | ip | 0 | +| test.c:492:12:492:13 | ip | 0 | +| test.c:493:12:493:13 | ip | 0 | +| test.c:494:13:494:14 | ip | 0 | +| test.c:494:39:494:40 | ip | 0 | +| test.c:494:50:494:51 | ip | 0 | +| test.c:494:65:494:66 | ip | 0 | +| test.c:494:76:494:77 | ip | 0 | +| test.c:495:16:495:17 | ip | 0 | +| test.c:496:21:496:22 | ip | 0 | +| test.c:496:32:496:33 | ip | 0 | +| test.c:497:23:497:24 | ip | 0 | +| test.c:498:18:498:19 | ip | 0 | +| test.c:499:11:499:12 | ip | 0 | +| test.c:499:17:499:18 | ip | 0 | +| test.c:499:37:499:38 | ip | 0 | +| test.c:499:43:499:44 | ip | 0 | | test.c:500:14:500:15 | ip | 0 | -| test.c:501:15:501:16 | ip | 0 | -| test.c:502:16:502:17 | ip | 0 | -| test.c:503:16:503:17 | ip | 0 | -| test.c:504:17:504:18 | ip | 0 | -| test.c:505:22:505:23 | ip | 0 | -| test.c:505:33:505:34 | ip | 0 | -| test.c:505:48:505:49 | ip | 0 | -| test.c:505:59:505:60 | ip | 0 | -| test.c:506:20:506:21 | ip | 0 | -| test.c:507:25:507:26 | ip | 0 | -| test.c:507:36:507:37 | ip | 0 | -| test.c:508:27:508:28 | ip | 0 | -| test.c:509:22:509:23 | ip | 0 | -| test.c:510:13:510:14 | ip | 0 | -| test.c:510:28:510:29 | ip | 0 | -| test.c:511:18:511:19 | ip | 0 | -| test.c:512:18:512:19 | ip | 0 | -| test.c:513:18:513:19 | ip | 0 | -| test.c:514:19:514:20 | ip | 0 | -| test.c:515:24:515:25 | ip | 0 | -| test.c:515:35:515:36 | ip | 0 | -| test.c:515:50:515:51 | ip | 0 | -| test.c:515:61:515:62 | ip | 0 | +| test.c:501:14:501:15 | ip | 0 | +| test.c:502:14:502:15 | ip | 0 | +| test.c:503:15:503:16 | ip | 0 | +| test.c:503:41:503:42 | ip | 0 | +| test.c:503:52:503:53 | ip | 0 | +| test.c:503:67:503:68 | ip | 0 | +| test.c:503:78:503:79 | ip | 0 | +| test.c:504:18:504:19 | ip | 0 | +| test.c:505:23:505:24 | ip | 0 | +| test.c:505:34:505:35 | ip | 0 | +| test.c:506:25:506:26 | ip | 0 | +| test.c:507:20:507:21 | ip | 0 | +| test.c:508:14:508:15 | ip | 0 | +| test.c:508:20:508:21 | ip | 0 | +| test.c:509:16:509:17 | ip | 0 | +| test.c:510:12:510:13 | ip | 0 | +| test.c:511:14:511:15 | ip | 0 | +| test.c:512:15:512:16 | ip | 0 | +| test.c:513:16:513:17 | ip | 0 | +| test.c:514:16:514:17 | ip | 0 | +| test.c:515:17:515:18 | ip | 0 | | test.c:516:22:516:23 | ip | 0 | -| test.c:517:27:517:28 | ip | 0 | -| test.c:517:38:517:39 | ip | 0 | -| test.c:518:29:518:30 | ip | 0 | -| test.c:519:24:519:25 | ip | 0 | -| test.c:520:17:520:18 | ip | 0 | -| test.c:520:32:520:33 | ip | 0 | -| test.c:521:14:521:15 | ip | 0 | +| test.c:516:33:516:34 | ip | 0 | +| test.c:516:48:516:49 | ip | 0 | +| test.c:516:59:516:60 | ip | 0 | +| test.c:517:20:517:21 | ip | 0 | +| test.c:518:25:518:26 | ip | 0 | +| test.c:518:36:518:37 | ip | 0 | +| test.c:519:27:519:28 | ip | 0 | +| test.c:520:22:520:23 | ip | 0 | +| test.c:521:13:521:14 | ip | 0 | +| test.c:521:28:521:29 | ip | 0 | | test.c:522:18:522:19 | ip | 0 | | test.c:523:18:523:19 | ip | 0 | -| test.c:524:19:524:20 | ip | 0 | -| test.c:525:24:525:25 | ip | 0 | -| test.c:525:35:525:36 | ip | 0 | -| test.c:525:50:525:51 | ip | 0 | -| test.c:525:61:525:62 | ip | 0 | -| test.c:526:22:526:23 | ip | 0 | -| test.c:527:27:527:28 | ip | 0 | -| test.c:527:38:527:39 | ip | 0 | -| test.c:528:29:528:30 | ip | 0 | -| test.c:529:24:529:25 | ip | 0 | -| test.c:530:17:530:18 | ip | 0 | -| test.c:530:23:530:24 | ip | 0 | -| test.c:530:43:530:44 | ip | 0 | -| test.c:530:49:530:50 | ip | 0 | -| test.c:531:16:531:17 | ip | 0 | -| test.c:532:16:532:17 | ip | 0 | -| test.c:533:16:533:17 | ip | 0 | -| test.c:534:17:534:18 | ip | 0 | -| test.c:535:22:535:23 | ip | 0 | -| test.c:535:33:535:34 | ip | 0 | -| test.c:535:48:535:49 | ip | 0 | -| test.c:535:59:535:60 | ip | 0 | -| test.c:536:20:536:21 | ip | 0 | -| test.c:537:25:537:26 | ip | 0 | -| test.c:537:36:537:37 | ip | 0 | +| test.c:524:18:524:19 | ip | 0 | +| test.c:525:19:525:20 | ip | 0 | +| test.c:526:24:526:25 | ip | 0 | +| test.c:526:35:526:36 | ip | 0 | +| test.c:526:50:526:51 | ip | 0 | +| test.c:526:61:526:62 | ip | 0 | +| test.c:527:22:527:23 | ip | 0 | +| test.c:528:27:528:28 | ip | 0 | +| test.c:528:38:528:39 | ip | 0 | +| test.c:529:29:529:30 | ip | 0 | +| test.c:530:24:530:25 | ip | 0 | +| test.c:531:17:531:18 | ip | 0 | +| test.c:531:32:531:33 | ip | 0 | +| test.c:532:14:532:15 | ip | 0 | +| test.c:533:18:533:19 | ip | 0 | +| test.c:534:18:534:19 | ip | 0 | +| test.c:535:19:535:20 | ip | 0 | +| test.c:536:24:536:25 | ip | 0 | +| test.c:536:35:536:36 | ip | 0 | +| test.c:536:50:536:51 | ip | 0 | +| test.c:536:61:536:62 | ip | 0 | +| test.c:537:22:537:23 | ip | 0 | | test.c:538:27:538:28 | ip | 0 | -| test.c:539:22:539:23 | ip | 0 | -| test.c:540:16:540:17 | ip | 0 | -| test.c:540:22:540:23 | ip | 0 | -| test.c:541:18:541:19 | ip | 0 | -| test.c:542:14:542:15 | ip | 0 | -| test.c:543:14:543:15 | ip | 0 | -| test.c:543:24:543:25 | ip | 0 | -| test.c:543:44:543:45 | ip | 0 | -| test.c:544:16:544:17 | ip | 1 | -| test.c:545:16:545:17 | ip | 0 | -| test.c:545:36:545:37 | ip | 0 | -| test.c:546:14:546:15 | ip | 0 | -| test.c:547:19:547:20 | ip | 0 | -| test.c:548:20:548:21 | ip | 0 | -| test.c:549:20:549:21 | ip | 0 | -| test.c:550:21:550:22 | ip | 0 | -| test.c:551:26:551:27 | ip | 0 | -| test.c:551:37:551:38 | ip | 0 | -| test.c:551:52:551:53 | ip | 0 | -| test.c:551:63:551:64 | ip | 0 | -| test.c:552:24:552:25 | ip | 0 | -| test.c:553:29:553:30 | ip | 0 | -| test.c:553:40:553:41 | ip | 0 | -| test.c:554:31:554:32 | ip | 0 | -| test.c:555:26:555:27 | ip | 0 | -| test.c:556:17:556:18 | ip | 0 | -| test.c:556:32:556:33 | ip | 0 | -| test.c:557:22:557:23 | ip | 0 | -| test.c:558:22:558:23 | ip | 0 | -| test.c:559:22:559:23 | ip | 0 | -| test.c:560:23:560:24 | ip | 0 | -| test.c:561:28:561:29 | ip | 0 | -| test.c:561:39:561:40 | ip | 0 | -| test.c:561:54:561:55 | ip | 0 | -| test.c:561:65:561:66 | ip | 0 | +| test.c:538:38:538:39 | ip | 0 | +| test.c:539:29:539:30 | ip | 0 | +| test.c:540:24:540:25 | ip | 0 | +| test.c:541:17:541:18 | ip | 0 | +| test.c:541:23:541:24 | ip | 0 | +| test.c:541:43:541:44 | ip | 0 | +| test.c:541:49:541:50 | ip | 0 | +| test.c:542:16:542:17 | ip | 0 | +| test.c:543:16:543:17 | ip | 0 | +| test.c:544:16:544:17 | ip | 0 | +| test.c:545:17:545:18 | ip | 0 | +| test.c:546:22:546:23 | ip | 0 | +| test.c:546:33:546:34 | ip | 0 | +| test.c:546:48:546:49 | ip | 0 | +| test.c:546:59:546:60 | ip | 0 | +| test.c:547:20:547:21 | ip | 0 | +| test.c:548:25:548:26 | ip | 0 | +| test.c:548:36:548:37 | ip | 0 | +| test.c:549:27:549:28 | ip | 0 | +| test.c:550:22:550:23 | ip | 0 | +| test.c:551:16:551:17 | ip | 0 | +| test.c:551:22:551:23 | ip | 0 | +| test.c:552:18:552:19 | ip | 0 | +| test.c:553:14:553:15 | ip | 0 | +| test.c:554:14:554:15 | ip | 0 | +| test.c:554:24:554:25 | ip | 0 | +| test.c:554:44:554:45 | ip | 0 | +| test.c:555:16:555:17 | ip | 1 | +| test.c:556:16:556:17 | ip | 0 | +| test.c:556:36:556:37 | ip | 0 | +| test.c:557:14:557:15 | ip | 0 | +| test.c:558:19:558:20 | ip | 0 | +| test.c:559:20:559:21 | ip | 0 | +| test.c:560:20:560:21 | ip | 0 | +| test.c:561:21:561:22 | ip | 0 | | test.c:562:26:562:27 | ip | 0 | -| test.c:563:31:563:32 | ip | 0 | -| test.c:563:42:563:43 | ip | 0 | -| test.c:564:33:564:34 | ip | 0 | -| test.c:565:28:565:29 | ip | 0 | -| test.c:566:21:566:22 | ip | 0 | -| test.c:566:36:566:37 | ip | 0 | +| test.c:562:37:562:38 | ip | 0 | +| test.c:562:52:562:53 | ip | 0 | +| test.c:562:63:562:64 | ip | 0 | +| test.c:563:24:563:25 | ip | 0 | +| test.c:564:29:564:30 | ip | 0 | +| test.c:564:40:564:41 | ip | 0 | +| test.c:565:31:565:32 | ip | 0 | +| test.c:566:26:566:27 | ip | 0 | | test.c:567:17:567:18 | ip | 0 | -| test.c:568:18:568:19 | ip | 0 | -| test.c:569:18:569:19 | ip | 0 | -| test.c:570:19:570:20 | ip | 0 | -| test.c:571:24:571:25 | ip | 0 | -| test.c:571:35:571:36 | ip | 0 | -| test.c:571:50:571:51 | ip | 0 | -| test.c:571:61:571:62 | ip | 0 | -| test.c:572:22:572:23 | ip | 0 | -| test.c:573:27:573:28 | ip | 0 | -| test.c:573:38:573:39 | ip | 0 | -| test.c:574:29:574:30 | ip | 0 | -| test.c:575:24:575:25 | ip | 0 | -| test.c:576:17:576:18 | ip | 0 | -| test.c:576:23:576:24 | ip | 0 | -| test.c:576:43:576:44 | ip | 0 | -| test.c:576:49:576:50 | ip | 0 | -| test.c:577:20:577:21 | ip | 0 | -| test.c:578:20:578:21 | ip | 0 | -| test.c:579:20:579:21 | ip | 0 | -| test.c:580:21:580:22 | ip | 0 | -| test.c:581:26:581:27 | ip | 0 | -| test.c:581:37:581:38 | ip | 0 | -| test.c:581:52:581:53 | ip | 0 | -| test.c:581:63:581:64 | ip | 0 | +| test.c:567:32:567:33 | ip | 0 | +| test.c:568:22:568:23 | ip | 0 | +| test.c:569:22:569:23 | ip | 0 | +| test.c:570:22:570:23 | ip | 0 | +| test.c:571:23:571:24 | ip | 0 | +| test.c:572:28:572:29 | ip | 0 | +| test.c:572:39:572:40 | ip | 0 | +| test.c:572:54:572:55 | ip | 0 | +| test.c:572:65:572:66 | ip | 0 | +| test.c:573:26:573:27 | ip | 0 | +| test.c:574:31:574:32 | ip | 0 | +| test.c:574:42:574:43 | ip | 0 | +| test.c:575:33:575:34 | ip | 0 | +| test.c:576:28:576:29 | ip | 0 | +| test.c:577:21:577:22 | ip | 0 | +| test.c:577:36:577:37 | ip | 0 | +| test.c:578:17:578:18 | ip | 0 | +| test.c:579:18:579:19 | ip | 0 | +| test.c:580:18:580:19 | ip | 0 | +| test.c:581:19:581:20 | ip | 0 | | test.c:582:24:582:25 | ip | 0 | -| test.c:583:29:583:30 | ip | 0 | -| test.c:583:40:583:41 | ip | 0 | -| test.c:584:31:584:32 | ip | 0 | -| test.c:585:26:585:27 | ip | 0 | -| test.c:586:20:586:21 | ip | 0 | -| test.c:586:26:586:27 | ip | 0 | -| test.c:587:22:587:23 | ip | 0 | -| test.c:588:18:588:19 | ip | 0 | -| test.c:589:16:589:17 | ip | 0 | -| test.c:590:17:590:18 | ip | 0 | -| test.c:591:18:591:19 | ip | 0 | -| test.c:592:18:592:19 | ip | 0 | -| test.c:593:19:593:20 | ip | 0 | -| test.c:594:24:594:25 | ip | 0 | -| test.c:594:35:594:36 | ip | 0 | -| test.c:594:50:594:51 | ip | 0 | -| test.c:594:61:594:62 | ip | 0 | -| test.c:595:22:595:23 | ip | 0 | -| test.c:596:27:596:28 | ip | 0 | -| test.c:596:38:596:39 | ip | 0 | -| test.c:597:29:597:30 | ip | 0 | -| test.c:598:24:598:25 | ip | 0 | -| test.c:599:15:599:16 | ip | 0 | -| test.c:599:30:599:31 | ip | 0 | -| test.c:600:20:600:21 | ip | 0 | -| test.c:601:20:601:21 | ip | 0 | -| test.c:602:20:602:21 | ip | 0 | -| test.c:603:21:603:22 | ip | 0 | -| test.c:604:26:604:27 | ip | 0 | -| test.c:604:37:604:38 | ip | 0 | -| test.c:604:52:604:53 | ip | 0 | -| test.c:604:63:604:64 | ip | 0 | +| test.c:582:35:582:36 | ip | 0 | +| test.c:582:50:582:51 | ip | 0 | +| test.c:582:61:582:62 | ip | 0 | +| test.c:583:22:583:23 | ip | 0 | +| test.c:584:27:584:28 | ip | 0 | +| test.c:584:38:584:39 | ip | 0 | +| test.c:585:29:585:30 | ip | 0 | +| test.c:586:24:586:25 | ip | 0 | +| test.c:587:17:587:18 | ip | 0 | +| test.c:587:23:587:24 | ip | 0 | +| test.c:587:43:587:44 | ip | 0 | +| test.c:587:49:587:50 | ip | 0 | +| test.c:588:20:588:21 | ip | 0 | +| test.c:589:20:589:21 | ip | 0 | +| test.c:590:20:590:21 | ip | 0 | +| test.c:591:21:591:22 | ip | 0 | +| test.c:592:26:592:27 | ip | 0 | +| test.c:592:37:592:38 | ip | 0 | +| test.c:592:52:592:53 | ip | 0 | +| test.c:592:63:592:64 | ip | 0 | +| test.c:593:24:593:25 | ip | 0 | +| test.c:594:29:594:30 | ip | 0 | +| test.c:594:40:594:41 | ip | 0 | +| test.c:595:31:595:32 | ip | 0 | +| test.c:596:26:596:27 | ip | 0 | +| test.c:597:20:597:21 | ip | 0 | +| test.c:597:26:597:27 | ip | 0 | +| test.c:598:22:598:23 | ip | 0 | +| test.c:599:18:599:19 | ip | 0 | +| test.c:600:16:600:17 | ip | 0 | +| test.c:601:17:601:18 | ip | 0 | +| test.c:602:18:602:19 | ip | 0 | +| test.c:603:18:603:19 | ip | 0 | +| test.c:604:19:604:20 | ip | 0 | | test.c:605:24:605:25 | ip | 0 | -| test.c:606:29:606:30 | ip | 0 | -| test.c:606:40:606:41 | ip | 0 | -| test.c:607:31:607:32 | ip | 0 | -| test.c:608:26:608:27 | ip | 0 | -| test.c:609:19:609:20 | ip | 0 | -| test.c:609:34:609:35 | ip | 0 | -| test.c:610:16:610:17 | ip | 0 | +| test.c:605:35:605:36 | ip | 0 | +| test.c:605:50:605:51 | ip | 0 | +| test.c:605:61:605:62 | ip | 0 | +| test.c:606:22:606:23 | ip | 0 | +| test.c:607:27:607:28 | ip | 0 | +| test.c:607:38:607:39 | ip | 0 | +| test.c:608:29:608:30 | ip | 0 | +| test.c:609:24:609:25 | ip | 0 | +| test.c:610:15:610:16 | ip | 0 | +| test.c:610:30:610:31 | ip | 0 | | test.c:611:20:611:21 | ip | 0 | | test.c:612:20:612:21 | ip | 0 | -| test.c:613:21:613:22 | ip | 0 | -| test.c:614:26:614:27 | ip | 0 | -| test.c:614:37:614:38 | ip | 0 | -| test.c:614:52:614:53 | ip | 0 | -| test.c:614:63:614:64 | ip | 0 | -| test.c:615:24:615:25 | ip | 0 | -| test.c:616:29:616:30 | ip | 0 | -| test.c:616:40:616:41 | ip | 0 | -| test.c:617:31:617:32 | ip | 0 | -| test.c:618:26:618:27 | ip | 0 | -| test.c:619:19:619:20 | ip | 0 | -| test.c:619:25:619:26 | ip | 0 | -| test.c:619:45:619:46 | ip | 0 | -| test.c:619:51:619:52 | ip | 0 | -| test.c:620:18:620:19 | ip | 0 | -| test.c:621:18:621:19 | ip | 0 | -| test.c:622:18:622:19 | ip | 0 | -| test.c:623:19:623:20 | ip | 0 | -| test.c:624:24:624:25 | ip | 0 | -| test.c:624:35:624:36 | ip | 0 | -| test.c:624:50:624:51 | ip | 0 | -| test.c:624:61:624:62 | ip | 0 | -| test.c:625:22:625:23 | ip | 0 | -| test.c:626:27:626:28 | ip | 0 | -| test.c:626:38:626:39 | ip | 0 | +| test.c:613:20:613:21 | ip | 0 | +| test.c:614:21:614:22 | ip | 0 | +| test.c:615:26:615:27 | ip | 0 | +| test.c:615:37:615:38 | ip | 0 | +| test.c:615:52:615:53 | ip | 0 | +| test.c:615:63:615:64 | ip | 0 | +| test.c:616:24:616:25 | ip | 0 | +| test.c:617:29:617:30 | ip | 0 | +| test.c:617:40:617:41 | ip | 0 | +| test.c:618:31:618:32 | ip | 0 | +| test.c:619:26:619:27 | ip | 0 | +| test.c:620:19:620:20 | ip | 0 | +| test.c:620:34:620:35 | ip | 0 | +| test.c:621:16:621:17 | ip | 0 | +| test.c:622:20:622:21 | ip | 0 | +| test.c:623:20:623:21 | ip | 0 | +| test.c:624:21:624:22 | ip | 0 | +| test.c:625:26:625:27 | ip | 0 | +| test.c:625:37:625:38 | ip | 0 | +| test.c:625:52:625:53 | ip | 0 | +| test.c:625:63:625:64 | ip | 0 | +| test.c:626:24:626:25 | ip | 0 | | test.c:627:29:627:30 | ip | 0 | -| test.c:628:24:628:25 | ip | 0 | -| test.c:629:18:629:19 | ip | 0 | -| test.c:629:24:629:25 | ip | 0 | -| test.c:630:20:630:21 | ip | 0 | -| test.c:631:16:631:17 | ip | 0 | -| test.c:632:10:632:23 | special_number | 0 | -| test.c:640:7:640:8 | c1 | -2147483648 | -| test.c:640:13:640:13 | x | 0 | -| test.c:641:7:641:8 | c2 | -2147483648 | -| test.c:641:13:641:13 | x | 0 | -| test.c:642:7:642:8 | c3 | -2147483648 | -| test.c:642:13:642:13 | x | 0 | -| test.c:643:7:643:8 | c4 | -2147483648 | -| test.c:643:13:643:13 | x | 0 | -| test.c:644:7:644:8 | c5 | -2147483648 | -| test.c:644:13:644:13 | x | 0 | -| test.c:645:7:645:8 | c1 | -2147483648 | -| test.c:645:13:645:14 | c2 | -2147483648 | -| test.c:645:19:645:19 | x | 0 | -| test.c:646:7:646:8 | c1 | -2147483648 | -| test.c:646:13:646:14 | c3 | -2147483648 | -| test.c:646:19:646:19 | x | 0 | -| test.c:647:7:647:8 | c1 | -2147483648 | -| test.c:647:13:647:14 | c4 | -2147483648 | -| test.c:647:19:647:19 | x | 0 | -| test.c:648:7:648:8 | c1 | -2147483648 | -| test.c:648:13:648:14 | c5 | -2147483648 | -| test.c:648:19:648:19 | x | 0 | -| test.c:649:7:649:8 | c2 | -2147483648 | -| test.c:649:13:649:14 | c3 | -2147483648 | -| test.c:649:19:649:19 | x | 0 | -| test.c:651:11:651:11 | x | 0 | -| test.c:651:15:651:15 | x | 0 | -| test.c:651:19:651:19 | x | 0 | -| test.c:651:23:651:23 | x | 0 | -| test.c:651:27:651:27 | x | 0 | -| test.c:651:31:651:31 | x | 0 | -| test.c:651:35:651:35 | x | 0 | -| test.c:651:39:651:39 | x | 0 | -| test.c:651:43:651:43 | x | 0 | -| test.c:651:47:651:47 | x | 0 | -| test.c:651:51:651:51 | x | 0 | -| test.c:651:55:651:55 | x | 0 | -| test.c:652:10:652:10 | y | -2147483648 | -| test.c:657:20:657:20 | x | 0 | -| test.c:657:30:657:30 | x | 0 | -| test.c:660:3:660:4 | y1 | 0 | -| test.c:660:11:660:11 | y | 0 | -| test.c:660:14:660:14 | y | 1 | -| test.c:661:3:661:4 | y2 | 0 | -| test.c:661:9:661:9 | y | 1 | -| test.c:661:14:661:14 | y | 2 | -| test.c:661:22:661:22 | y | 5 | -| test.c:662:10:662:11 | y1 | 1 | -| test.c:662:15:662:16 | y2 | 5 | -| test.c:670:3:670:3 | i | -2147483648 | -| test.c:671:7:671:7 | i | 10 | -| test.c:673:3:673:3 | i | -2147483648 | -| test.c:674:3:674:3 | i | 10 | -| test.c:675:7:675:7 | i | 20 | -| test.c:677:3:677:3 | i | -2147483648 | -| test.c:678:3:678:3 | i | 40 | -| test.c:679:7:679:7 | i | 30 | +| test.c:627:40:627:41 | ip | 0 | +| test.c:628:31:628:32 | ip | 0 | +| test.c:629:26:629:27 | ip | 0 | +| test.c:630:19:630:20 | ip | 0 | +| test.c:630:25:630:26 | ip | 0 | +| test.c:630:45:630:46 | ip | 0 | +| test.c:630:51:630:52 | ip | 0 | +| test.c:631:18:631:19 | ip | 0 | +| test.c:632:18:632:19 | ip | 0 | +| test.c:633:18:633:19 | ip | 0 | +| test.c:634:19:634:20 | ip | 0 | +| test.c:635:24:635:25 | ip | 0 | +| test.c:635:35:635:36 | ip | 0 | +| test.c:635:50:635:51 | ip | 0 | +| test.c:635:61:635:62 | ip | 0 | +| test.c:636:22:636:23 | ip | 0 | +| test.c:637:27:637:28 | ip | 0 | +| test.c:637:38:637:39 | ip | 0 | +| test.c:638:29:638:30 | ip | 0 | +| test.c:639:24:639:25 | ip | 0 | +| test.c:640:18:640:19 | ip | 0 | +| test.c:640:24:640:25 | ip | 0 | +| test.c:641:20:641:21 | ip | 0 | +| test.c:642:16:642:17 | ip | 0 | +| test.c:643:10:643:23 | special_number | 0 | +| test.c:651:7:651:8 | c1 | -2147483648 | +| test.c:651:13:651:13 | x | 0 | +| test.c:652:7:652:8 | c2 | -2147483648 | +| test.c:652:13:652:13 | x | 0 | +| test.c:653:7:653:8 | c3 | -2147483648 | +| test.c:653:13:653:13 | x | 0 | +| test.c:654:7:654:8 | c4 | -2147483648 | +| test.c:654:13:654:13 | x | 0 | +| test.c:655:7:655:8 | c5 | -2147483648 | +| test.c:655:13:655:13 | x | 0 | +| test.c:656:7:656:8 | c1 | -2147483648 | +| test.c:656:13:656:14 | c2 | -2147483648 | +| test.c:656:19:656:19 | x | 0 | +| test.c:657:7:657:8 | c1 | -2147483648 | +| test.c:657:13:657:14 | c3 | -2147483648 | +| test.c:657:19:657:19 | x | 0 | +| test.c:658:7:658:8 | c1 | -2147483648 | +| test.c:658:13:658:14 | c4 | -2147483648 | +| test.c:658:19:658:19 | x | 0 | +| test.c:659:7:659:8 | c1 | -2147483648 | +| test.c:659:13:659:14 | c5 | -2147483648 | +| test.c:659:19:659:19 | x | 0 | +| test.c:660:7:660:8 | c2 | -2147483648 | +| test.c:660:13:660:14 | c3 | -2147483648 | +| test.c:660:19:660:19 | x | 0 | +| test.c:662:11:662:11 | x | 0 | +| test.c:662:15:662:15 | x | 0 | +| test.c:662:19:662:19 | x | 0 | +| test.c:662:23:662:23 | x | 0 | +| test.c:662:27:662:27 | x | 0 | +| test.c:662:31:662:31 | x | 0 | +| test.c:662:35:662:35 | x | 0 | +| test.c:662:39:662:39 | x | 0 | +| test.c:662:43:662:43 | x | 0 | +| test.c:662:47:662:47 | x | 0 | +| test.c:662:51:662:51 | x | 0 | +| test.c:662:55:662:55 | x | 0 | +| test.c:663:10:663:10 | y | -2147483648 | +| test.c:668:20:668:20 | x | 0 | +| test.c:668:30:668:30 | x | 0 | +| test.c:671:3:671:4 | y1 | 0 | +| test.c:671:11:671:11 | y | 0 | +| test.c:671:14:671:14 | y | 1 | +| test.c:672:3:672:4 | y2 | 0 | +| test.c:672:9:672:9 | y | 1 | +| test.c:672:14:672:14 | y | 2 | +| test.c:672:22:672:22 | y | 5 | +| test.c:673:10:673:11 | y1 | 1 | +| test.c:673:15:673:16 | y2 | 5 | | test.c:681:3:681:3 | i | -2147483648 | -| test.c:681:7:681:7 | j | -2147483648 | -| test.c:682:7:682:7 | i | 40 | +| test.c:682:7:682:7 | i | 10 | | test.c:684:3:684:3 | i | -2147483648 | -| test.c:684:8:684:8 | j | 40 | -| test.c:685:7:685:7 | i | 50 | -| test.c:687:3:687:3 | i | -2147483648 | -| test.c:687:13:687:13 | j | 50 | -| test.c:688:7:688:7 | i | 60 | -| test.c:695:12:695:12 | a | 0 | -| test.c:695:17:695:17 | a | 3 | -| test.c:695:33:695:33 | b | 0 | -| test.c:695:38:695:38 | b | 5 | -| test.c:696:13:696:13 | a | 3 | -| test.c:696:15:696:15 | b | 5 | -| test.c:697:5:697:9 | total | 0 | -| test.c:697:14:697:14 | r | 15 | -| test.c:699:12:699:12 | a | 0 | -| test.c:699:17:699:17 | a | 3 | -| test.c:699:33:699:33 | b | 0 | -| test.c:699:38:699:38 | b | 0 | -| test.c:700:13:700:13 | a | 3 | -| test.c:700:15:700:15 | b | 0 | -| test.c:701:5:701:9 | total | 0 | -| test.c:701:14:701:14 | r | 0 | -| test.c:703:12:703:12 | a | 0 | -| test.c:703:17:703:17 | a | 3 | -| test.c:703:34:703:34 | b | 0 | -| test.c:703:39:703:39 | b | 13 | -| test.c:704:13:704:13 | a | 3 | -| test.c:704:15:704:15 | b | 13 | -| test.c:705:5:705:9 | total | 0 | -| test.c:705:14:705:14 | r | 39 | -| test.c:708:10:708:14 | total | 0 | -| test.c:714:12:714:12 | b | 0 | -| test.c:714:17:714:17 | b | 5 | -| test.c:715:16:715:16 | b | 5 | +| test.c:685:3:685:3 | i | 10 | +| test.c:686:7:686:7 | i | 20 | +| test.c:688:3:688:3 | i | -2147483648 | +| test.c:689:3:689:3 | i | 40 | +| test.c:690:7:690:7 | i | 30 | +| test.c:692:3:692:3 | i | -2147483648 | +| test.c:692:7:692:7 | j | -2147483648 | +| test.c:693:7:693:7 | i | 40 | +| test.c:695:3:695:3 | i | -2147483648 | +| test.c:695:8:695:8 | j | 40 | +| test.c:696:7:696:7 | i | 50 | +| test.c:698:3:698:3 | i | -2147483648 | +| test.c:698:13:698:13 | j | 50 | +| test.c:699:7:699:7 | i | 60 | +| test.c:706:12:706:12 | a | 0 | +| test.c:706:17:706:17 | a | 3 | +| test.c:706:33:706:33 | b | 0 | +| test.c:706:38:706:38 | b | 5 | +| test.c:707:13:707:13 | a | 3 | +| test.c:707:15:707:15 | b | 5 | +| test.c:708:5:708:9 | total | 0 | +| test.c:708:14:708:14 | r | 15 | +| test.c:710:12:710:12 | a | 0 | +| test.c:710:17:710:17 | a | 3 | +| test.c:710:33:710:33 | b | 0 | +| test.c:710:38:710:38 | b | 0 | +| test.c:711:13:711:13 | a | 3 | +| test.c:711:15:711:15 | b | 0 | +| test.c:712:5:712:9 | total | 0 | +| test.c:712:14:712:14 | r | 0 | +| test.c:714:12:714:12 | a | 0 | +| test.c:714:17:714:17 | a | 3 | +| test.c:714:34:714:34 | b | 0 | +| test.c:714:39:714:39 | b | 13 | +| test.c:715:13:715:13 | a | 3 | +| test.c:715:15:715:15 | b | 13 | | test.c:716:5:716:9 | total | 0 | -| test.c:716:14:716:14 | r | 55 | -| test.c:718:12:718:12 | b | 0 | -| test.c:718:17:718:17 | b | 0 | -| test.c:719:16:719:16 | b | 0 | -| test.c:720:5:720:9 | total | 0 | -| test.c:720:14:720:14 | r | 0 | -| test.c:722:13:722:13 | b | 0 | -| test.c:722:18:722:18 | b | 13 | -| test.c:723:16:723:16 | b | 13 | -| test.c:724:5:724:9 | total | 0 | -| test.c:724:14:724:14 | r | 143 | -| test.c:727:10:727:14 | total | 0 | -| test.c:732:3:732:3 | x | 0 | -| test.c:732:7:732:7 | y | 0 | -| test.c:733:3:733:4 | xy | 0 | -| test.c:733:8:733:8 | x | 1000000003 | -| test.c:733:12:733:12 | y | 1000000003 | -| test.c:734:10:734:11 | xy | 1000000006000000000 | -| test.c:739:3:739:3 | x | 0 | -| test.c:740:3:740:3 | y | 0 | -| test.c:741:3:741:4 | xy | 0 | -| test.c:741:8:741:8 | x | 274177 | -| test.c:741:12:741:12 | y | 67280421310721 | -| test.c:742:10:742:11 | xy | 18446744073709551616 | -| test.c:746:7:746:8 | ui | 0 | -| test.c:747:43:747:44 | ui | 10 | -| test.c:747:48:747:49 | ui | 10 | -| test.c:748:12:748:17 | result | 100 | -| test.c:750:7:750:8 | ul | 0 | -| test.c:751:28:751:29 | ul | 10 | -| test.c:751:33:751:34 | ul | 10 | -| test.c:752:12:752:17 | result | 0 | -| test.c:758:7:758:8 | ui | 0 | -| test.c:758:19:758:20 | ui | 0 | -| test.c:759:5:759:6 | ui | 2 | -| test.c:759:11:759:12 | ui | 2 | -| test.c:760:12:760:13 | ui | 4 | -| test.c:764:3:764:9 | uiconst | 10 | -| test.c:767:3:767:9 | ulconst | 10 | -| test.c:768:10:768:16 | uiconst | 40 | -| test.c:768:20:768:26 | ulconst | 40 | -| test.c:772:7:772:7 | i | -2147483648 | -| test.c:772:18:772:18 | i | -1 | -| test.c:773:5:773:5 | i | -2147483648 | -| test.c:773:13:773:13 | i | -1 | -| test.c:774:9:774:9 | i | -5 | -| test.c:776:5:776:5 | i | -2147483648 | -| test.c:776:9:776:9 | i | -5 | -| test.c:777:9:777:9 | i | -30 | -| test.c:779:5:779:5 | i | -30 | -| test.c:780:9:780:9 | i | -210 | -| test.c:782:5:782:5 | i | -210 | -| test.c:783:9:783:9 | i | -1155 | -| test.c:785:7:785:7 | i | -2147483648 | -| test.c:786:5:786:5 | i | -2147483648 | -| test.c:786:9:786:9 | i | -1 | -| test.c:787:9:787:9 | i | 1 | -| test.c:789:3:789:3 | i | -2147483648 | -| test.c:789:7:789:7 | i | -2147483648 | -| test.c:790:10:790:10 | i | -2147483648 | -| test.c:793:3:793:3 | i | -2147483648 | -| test.c:793:10:793:11 | sc | 1 | -| test.c:795:7:795:7 | i | -128 | -| test.c:802:7:802:7 | n | 0 | -| test.c:804:7:804:7 | n | 0 | -| test.c:805:9:805:9 | n | 1 | -| test.c:808:7:808:7 | n | 0 | -| test.c:809:9:809:9 | n | 1 | -| test.c:811:9:811:9 | n | 0 | -| test.c:814:8:814:8 | n | 0 | -| test.c:815:9:815:9 | n | 0 | -| test.c:817:9:817:9 | n | 1 | -| test.c:820:10:820:10 | n | 0 | -| test.c:821:5:821:5 | n | 1 | -| test.c:824:7:824:7 | n | 0 | -| test.c:828:7:828:7 | n | -32768 | -| test.c:831:7:831:7 | n | 0 | -| test.c:832:9:832:9 | n | 0 | -| test.c:834:9:834:9 | n | 1 | -| test.c:837:7:837:7 | n | 0 | -| test.c:838:9:838:9 | n | 1 | -| test.c:840:9:840:9 | n | 0 | -| test.c:843:10:843:10 | n | 0 | -| test.c:844:5:844:5 | n | 1 | -| test.c:847:7:847:7 | n | 0 | -| test.c:851:7:851:7 | n | -32768 | -| test.c:852:9:852:9 | n | -32768 | -| test.c:853:11:853:11 | n | 0 | -| test.c:857:7:857:7 | n | -32768 | -| test.c:858:13:858:13 | n | 5 | -| test.c:861:9:861:9 | n | 6 | -| test.c:864:7:864:7 | n | -32768 | -| test.c:864:22:864:22 | n | -32767 | -| test.c:865:9:865:9 | n | -32766 | +| test.c:716:14:716:14 | r | 39 | +| test.c:719:10:719:14 | total | 0 | +| test.c:725:12:725:12 | b | 0 | +| test.c:725:17:725:17 | b | 5 | +| test.c:726:16:726:16 | b | 5 | +| test.c:727:5:727:9 | total | 0 | +| test.c:727:14:727:14 | r | 55 | +| test.c:729:12:729:12 | b | 0 | +| test.c:729:17:729:17 | b | 0 | +| test.c:730:16:730:16 | b | 0 | +| test.c:731:5:731:9 | total | 0 | +| test.c:731:14:731:14 | r | 0 | +| test.c:733:13:733:13 | b | 0 | +| test.c:733:18:733:18 | b | 13 | +| test.c:734:16:734:16 | b | 13 | +| test.c:735:5:735:9 | total | 0 | +| test.c:735:14:735:14 | r | 143 | +| test.c:738:10:738:14 | total | 0 | +| test.c:743:3:743:3 | x | 0 | +| test.c:743:7:743:7 | y | 0 | +| test.c:744:3:744:4 | xy | 0 | +| test.c:744:8:744:8 | x | 1000000003 | +| test.c:744:12:744:12 | y | 1000000003 | +| test.c:745:10:745:11 | xy | 1000000006000000000 | +| test.c:750:3:750:3 | x | 0 | +| test.c:751:3:751:3 | y | 0 | +| test.c:752:3:752:4 | xy | 0 | +| test.c:752:8:752:8 | x | 274177 | +| test.c:752:12:752:12 | y | 67280421310721 | +| test.c:753:10:753:11 | xy | 18446744073709551616 | +| test.c:757:7:757:8 | ui | 0 | +| test.c:758:43:758:44 | ui | 10 | +| test.c:758:48:758:49 | ui | 10 | +| test.c:759:12:759:17 | result | 100 | +| test.c:761:7:761:8 | ul | 0 | +| test.c:762:28:762:29 | ul | 10 | +| test.c:762:33:762:34 | ul | 10 | +| test.c:763:12:763:17 | result | 0 | +| test.c:769:7:769:8 | ui | 0 | +| test.c:769:19:769:20 | ui | 0 | +| test.c:770:5:770:6 | ui | 2 | +| test.c:770:11:770:12 | ui | 2 | +| test.c:771:12:771:13 | ui | 4 | +| test.c:775:3:775:9 | uiconst | 10 | +| test.c:778:3:778:9 | ulconst | 10 | +| test.c:779:10:779:16 | uiconst | 40 | +| test.c:779:20:779:26 | ulconst | 40 | +| test.c:783:7:783:7 | i | -2147483648 | +| test.c:783:18:783:18 | i | -1 | +| test.c:784:5:784:5 | i | -2147483648 | +| test.c:784:13:784:13 | i | -1 | +| test.c:785:9:785:9 | i | -5 | +| test.c:787:5:787:5 | i | -2147483648 | +| test.c:787:9:787:9 | i | -5 | +| test.c:788:9:788:9 | i | -30 | +| test.c:790:5:790:5 | i | -30 | +| test.c:791:9:791:9 | i | -210 | +| test.c:793:5:793:5 | i | -210 | +| test.c:794:9:794:9 | i | -1155 | +| test.c:796:7:796:7 | i | -2147483648 | +| test.c:797:5:797:5 | i | -2147483648 | +| test.c:797:9:797:9 | i | -1 | +| test.c:798:9:798:9 | i | 1 | +| test.c:800:3:800:3 | i | -2147483648 | +| test.c:800:7:800:7 | i | -2147483648 | +| test.c:801:10:801:10 | i | -2147483648 | +| test.c:804:3:804:3 | i | -2147483648 | +| test.c:804:10:804:11 | sc | 1 | +| test.c:806:7:806:7 | i | -128 | +| test.c:813:7:813:7 | n | 0 | +| test.c:815:7:815:7 | n | 0 | +| test.c:816:9:816:9 | n | 1 | +| test.c:819:7:819:7 | n | 0 | +| test.c:820:9:820:9 | n | 1 | +| test.c:822:9:822:9 | n | 0 | +| test.c:825:8:825:8 | n | 0 | +| test.c:826:9:826:9 | n | 0 | +| test.c:828:9:828:9 | n | 1 | +| test.c:831:10:831:10 | n | 0 | +| test.c:832:5:832:5 | n | 1 | +| test.c:835:7:835:7 | n | 0 | +| test.c:839:7:839:7 | n | -32768 | +| test.c:842:7:842:7 | n | 0 | +| test.c:843:9:843:9 | n | 0 | +| test.c:845:9:845:9 | n | 1 | +| test.c:848:7:848:7 | n | 0 | +| test.c:849:9:849:9 | n | 1 | +| test.c:851:9:851:9 | n | 0 | +| test.c:854:10:854:10 | n | 0 | +| test.c:855:5:855:5 | n | 1 | +| test.c:858:7:858:7 | n | 0 | +| test.c:862:7:862:7 | n | -32768 | +| test.c:863:9:863:9 | n | -32768 | +| test.c:864:11:864:11 | n | 0 | | test.c:868:7:868:7 | n | -32768 | -| test.c:869:5:869:5 | n | 0 | -| test.c:869:10:869:10 | n | 1 | -| test.c:869:14:869:14 | n | 0 | -| test.c:870:6:870:6 | n | 0 | -| test.c:870:10:870:10 | n | 0 | -| test.c:870:14:870:14 | n | 1 | -| test.c:881:7:881:8 | ss | -32768 | -| test.c:882:9:882:10 | ss | 0 | -| test.c:885:7:885:8 | ss | -32768 | -| test.c:886:9:886:10 | ss | -32768 | -| test.c:889:14:889:15 | us | 0 | -| test.c:890:9:890:10 | us | 0 | -| test.c:893:14:893:15 | us | 0 | -| test.c:894:9:894:10 | us | 0 | -| test.c:897:7:897:8 | ss | -32768 | -| test.c:898:9:898:10 | ss | -32768 | -| test.c:901:7:901:8 | ss | -32768 | -| test.c:902:9:902:10 | ss | -1 | -| test.c:908:8:908:8 | s | -2147483648 | -| test.c:908:15:908:15 | s | 0 | -| test.c:908:23:908:23 | s | 0 | -| test.c:909:18:909:18 | s | 0 | -| test.c:909:22:909:22 | s | 0 | -| test.c:910:9:910:14 | result | 0 | -| test.c:916:7:916:7 | i | 0 | -| test.c:917:9:917:9 | i | -2147483648 | -| test.c:921:7:921:7 | u | 0 | -| test.c:922:9:922:9 | u | 0 | -| test.c:927:12:927:12 | s | -2147483648 | -| test.c:928:7:928:8 | s2 | -4 | -| test.c:933:7:933:7 | x | -2147483648 | -| test.c:934:9:934:9 | y | -2147483648 | -| test.c:938:7:938:7 | y | -2147483648 | -| test.c:947:7:947:7 | x | -2147483648 | -| test.c:952:7:952:7 | x | -2147483648 | -| test.c:959:8:959:8 | x | 2147483647 | -| test.c:959:12:959:12 | y | 256 | -| test.c:960:9:960:9 | x | 2147483647 | -| test.c:961:9:961:9 | y | 256 | +| test.c:869:13:869:13 | n | 5 | +| test.c:872:9:872:9 | n | 6 | +| test.c:875:7:875:7 | n | -32768 | +| test.c:875:22:875:22 | n | -32767 | +| test.c:876:9:876:9 | n | -32766 | +| test.c:879:7:879:7 | n | -32768 | +| test.c:880:5:880:5 | n | 0 | +| test.c:880:10:880:10 | n | 1 | +| test.c:880:14:880:14 | n | 0 | +| test.c:881:6:881:6 | n | 0 | +| test.c:881:10:881:10 | n | 0 | +| test.c:881:14:881:14 | n | 1 | +| test.c:892:7:892:8 | ss | -32768 | +| test.c:893:9:893:10 | ss | 0 | +| test.c:896:7:896:8 | ss | -32768 | +| test.c:897:9:897:10 | ss | -32768 | +| test.c:900:14:900:15 | us | 0 | +| test.c:901:9:901:10 | us | 0 | +| test.c:904:14:904:15 | us | 0 | +| test.c:905:9:905:10 | us | 0 | +| test.c:908:7:908:8 | ss | -32768 | +| test.c:909:9:909:10 | ss | -32768 | +| test.c:912:7:912:8 | ss | -32768 | +| test.c:913:9:913:10 | ss | -1 | +| test.c:919:8:919:8 | s | -2147483648 | +| test.c:919:15:919:15 | s | 0 | +| test.c:919:23:919:23 | s | 0 | +| test.c:920:18:920:18 | s | 0 | +| test.c:920:22:920:22 | s | 0 | +| test.c:921:9:921:14 | result | 0 | +| test.c:927:7:927:7 | i | 0 | +| test.c:928:9:928:9 | i | -2147483648 | +| test.c:932:7:932:7 | u | 0 | +| test.c:933:9:933:9 | u | 0 | +| test.c:938:12:938:12 | s | -2147483648 | +| test.c:939:7:939:8 | s2 | -4 | +| test.c:944:7:944:7 | x | -2147483648 | +| test.c:945:9:945:9 | y | -2147483648 | +| test.c:949:7:949:7 | y | -2147483648 | +| test.c:958:7:958:7 | x | -2147483648 | +| test.c:963:7:963:7 | x | -2147483648 | +| test.c:970:8:970:8 | x | 2147483647 | +| test.c:970:12:970:12 | y | 256 | +| test.c:971:9:971:9 | x | 2147483647 | +| test.c:972:9:972:9 | y | 256 | | test.cpp:10:7:10:7 | b | -2147483648 | | test.cpp:11:5:11:5 | x | -2147483648 | | test.cpp:13:10:13:10 | x | -2147483648 | diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected index 21d139a51a5..7d583e47f5b 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected @@ -976,3490 +976,3576 @@ estimateNrOfBounds | test.c:341:32:341:39 | ... >> ... | 1.0 | | test.c:341:39:341:39 | 1 | 1.0 | | test.c:343:10:343:16 | shifted | 1.0 | -| test.c:347:13:347:14 | 0 | 1.0 | -| test.c:348:7:348:7 | x | 1.0 | -| test.c:348:7:348:11 | ... < ... | 1.0 | -| test.c:348:11:348:11 | 0 | 1.0 | -| test.c:349:12:349:13 | - ... | 1.0 | -| test.c:349:13:349:13 | 1 | 1.0 | -| test.c:352:10:352:10 | i | 13.0 | -| test.c:352:10:352:14 | ... < ... | 1.0 | -| test.c:352:14:352:14 | 3 | 1.0 | -| test.c:353:5:353:5 | i | 13.0 | -| test.c:353:5:353:7 | ... ++ | 13.0 | -| test.c:355:3:355:3 | d | 1.0 | -| test.c:355:3:355:7 | ... = ... | 13.0 | -| test.c:355:7:355:7 | i | 13.0 | -| test.c:356:7:356:7 | x | 1.0 | -| test.c:356:7:356:11 | ... < ... | 1.0 | -| test.c:356:11:356:11 | 0 | 1.0 | -| test.c:357:9:357:9 | d | 13.0 | -| test.c:357:9:357:14 | ... > ... | 1.0 | -| test.c:357:13:357:14 | - ... | 1.0 | -| test.c:357:14:357:14 | x | 1.0 | -| test.c:358:14:358:14 | 1 | 1.0 | -| test.c:361:10:361:10 | 0 | 1.0 | -| test.c:367:3:367:4 | y1 | 1.0 | -| test.c:367:3:367:23 | ... = ... | 1.0 | -| test.c:367:8:367:8 | x | 1.0 | -| test.c:367:8:367:14 | ... < ... | 1.0 | -| test.c:367:8:367:23 | ... ? ... : ... | 1.0 | -| test.c:367:12:367:14 | 100 | 1.0 | -| test.c:367:12:367:14 | (unsigned int)... | 1.0 | -| test.c:367:18:367:18 | x | 1.0 | -| test.c:367:22:367:23 | 10 | 1.0 | -| test.c:367:22:367:23 | (unsigned int)... | 1.0 | -| test.c:368:3:368:4 | y2 | 1.0 | -| test.c:368:3:368:24 | ... = ... | 2.0 | -| test.c:368:8:368:8 | x | 2.0 | -| test.c:368:8:368:15 | ... >= ... | 1.0 | -| test.c:368:8:368:24 | ... ? ... : ... | 2.0 | -| test.c:368:13:368:15 | 100 | 1.0 | -| test.c:368:13:368:15 | (unsigned int)... | 1.0 | -| test.c:368:19:368:20 | 10 | 1.0 | -| test.c:368:19:368:20 | (unsigned int)... | 1.0 | -| test.c:368:24:368:24 | x | 2.0 | -| test.c:369:3:369:4 | y3 | 1.0 | -| test.c:369:3:369:8 | ... = ... | 1.0 | -| test.c:369:8:369:8 | 0 | 1.0 | -| test.c:369:8:369:8 | (unsigned int)... | 1.0 | -| test.c:370:3:370:4 | y4 | 1.0 | -| test.c:370:3:370:8 | ... = ... | 1.0 | -| test.c:370:8:370:8 | 0 | 1.0 | -| test.c:370:8:370:8 | (unsigned int)... | 1.0 | -| test.c:371:3:371:4 | y5 | 1.0 | -| test.c:371:3:371:8 | ... = ... | 1.0 | -| test.c:371:8:371:8 | 0 | 1.0 | -| test.c:371:8:371:8 | (unsigned int)... | 1.0 | -| test.c:372:3:372:4 | y6 | 1.0 | -| test.c:372:3:372:8 | ... = ... | 1.0 | -| test.c:372:8:372:8 | 0 | 1.0 | -| test.c:372:8:372:8 | (unsigned int)... | 1.0 | -| test.c:373:3:373:4 | y7 | 1.0 | -| test.c:373:3:373:8 | ... = ... | 1.0 | -| test.c:373:8:373:8 | 0 | 1.0 | -| test.c:373:8:373:8 | (unsigned int)... | 1.0 | -| test.c:374:3:374:4 | y8 | 1.0 | -| test.c:374:3:374:8 | ... = ... | 1.0 | -| test.c:374:8:374:8 | 0 | 1.0 | -| test.c:374:8:374:8 | (unsigned int)... | 1.0 | -| test.c:375:7:375:7 | x | 4.0 | -| test.c:375:7:375:13 | ... < ... | 1.0 | -| test.c:375:11:375:13 | 300 | 1.0 | -| test.c:375:11:375:13 | (unsigned int)... | 1.0 | -| test.c:376:5:376:6 | y3 | 1.0 | -| test.c:376:5:376:15 | ... = ... | 4.0 | -| test.c:376:10:376:10 | x | 4.0 | -| test.c:376:10:376:15 | ... ? ... : ... | 4.0 | -| test.c:376:15:376:15 | 5 | 1.0 | -| test.c:376:15:376:15 | (unsigned int)... | 1.0 | -| test.c:377:5:377:6 | y4 | 1.0 | -| test.c:377:5:377:17 | ... = ... | 4.0 | -| test.c:377:10:377:10 | x | 4.0 | -| test.c:377:10:377:17 | ... ? ... : ... | 4.0 | -| test.c:377:15:377:17 | 500 | 1.0 | -| test.c:377:15:377:17 | (unsigned int)... | 1.0 | -| test.c:378:5:378:6 | y5 | 1.0 | -| test.c:378:5:378:21 | ... = ... | 4.0 | -| test.c:378:10:378:14 | (...) | 4.0 | -| test.c:378:10:378:21 | ... ? ... : ... | 4.0 | -| test.c:378:11:378:11 | x | 4.0 | -| test.c:378:11:378:13 | ... + ... | 4.0 | -| test.c:378:13:378:13 | 1 | 1.0 | -| test.c:378:13:378:13 | (unsigned int)... | 1.0 | -| test.c:378:19:378:21 | 500 | 1.0 | -| test.c:378:19:378:21 | (unsigned int)... | 1.0 | -| test.c:379:5:379:6 | y6 | 1.0 | -| test.c:379:5:379:36 | ... = ... | 4.0 | -| test.c:379:10:379:31 | (...) | 4.0 | -| test.c:379:10:379:36 | (unsigned int)... | 4.0 | -| test.c:379:10:379:36 | ... ? ... : ... | 4.0 | -| test.c:379:11:379:30 | (unsigned char)... | 4.0 | -| test.c:379:26:379:30 | (...) | 4.0 | -| test.c:379:27:379:27 | x | 4.0 | -| test.c:379:27:379:29 | ... + ... | 4.0 | -| test.c:379:29:379:29 | 1 | 1.0 | -| test.c:379:29:379:29 | (unsigned int)... | 1.0 | -| test.c:379:36:379:36 | 5 | 1.0 | -| test.c:380:5:380:6 | y7 | 1.0 | -| test.c:380:5:380:38 | ... = ... | 4.0 | -| test.c:380:10:380:31 | (...) | 4.0 | -| test.c:380:10:380:38 | (unsigned int)... | 4.0 | -| test.c:380:10:380:38 | ... ? ... : ... | 4.0 | -| test.c:380:11:380:30 | (unsigned char)... | 4.0 | -| test.c:380:26:380:30 | (...) | 4.0 | -| test.c:380:27:380:27 | x | 4.0 | -| test.c:380:27:380:29 | ... + ... | 4.0 | -| test.c:380:29:380:29 | 1 | 1.0 | -| test.c:380:29:380:29 | (unsigned int)... | 1.0 | -| test.c:380:36:380:38 | 500 | 1.0 | -| test.c:381:5:381:6 | y8 | 1.0 | -| test.c:381:5:381:39 | ... = ... | 4.0 | -| test.c:381:10:381:32 | (...) | 4.0 | -| test.c:381:10:381:39 | (unsigned int)... | 4.0 | -| test.c:381:10:381:39 | ... ? ... : ... | 4.0 | -| test.c:381:11:381:31 | (unsigned short)... | 4.0 | -| test.c:381:27:381:31 | (...) | 4.0 | -| test.c:381:28:381:28 | x | 4.0 | -| test.c:381:28:381:30 | ... + ... | 4.0 | -| test.c:381:30:381:30 | 1 | 1.0 | -| test.c:381:30:381:30 | (unsigned int)... | 1.0 | -| test.c:381:37:381:39 | 500 | 1.0 | -| test.c:383:10:383:11 | y1 | 1.0 | -| test.c:383:10:383:16 | ... + ... | 2.0 | -| test.c:383:10:383:21 | ... + ... | 10.0 | -| test.c:383:10:383:26 | ... + ... | 50.0 | -| test.c:383:10:383:31 | ... + ... | 250.0 | -| test.c:383:10:383:36 | ... + ... | 1250.0 | -| test.c:383:10:383:41 | ... + ... | 6250.0 | -| test.c:383:10:383:46 | ... + ... | 31250.0 | -| test.c:383:15:383:16 | y2 | 2.0 | -| test.c:383:20:383:21 | y3 | 5.0 | -| test.c:383:25:383:26 | y4 | 5.0 | -| test.c:383:30:383:31 | y5 | 5.0 | -| test.c:383:35:383:36 | y6 | 5.0 | -| test.c:383:40:383:41 | y7 | 5.0 | -| test.c:383:45:383:46 | y8 | 5.0 | -| test.c:389:3:389:4 | y1 | 1.0 | -| test.c:389:3:389:24 | ... = ... | 1.0 | -| test.c:389:8:389:8 | x | 1.0 | -| test.c:389:8:389:14 | ... > ... | 1.0 | -| test.c:389:8:389:24 | ... ? ... : ... | 1.0 | -| test.c:389:12:389:14 | 100 | 1.0 | -| test.c:389:12:389:14 | (unsigned int)... | 1.0 | -| test.c:389:18:389:18 | x | 1.0 | -| test.c:389:22:389:24 | 110 | 1.0 | -| test.c:389:22:389:24 | (unsigned int)... | 1.0 | -| test.c:390:3:390:4 | y2 | 1.0 | -| test.c:390:3:390:25 | ... = ... | 2.0 | -| test.c:390:8:390:8 | x | 2.0 | -| test.c:390:8:390:15 | ... <= ... | 1.0 | -| test.c:390:8:390:25 | ... ? ... : ... | 2.0 | -| test.c:390:13:390:15 | 100 | 1.0 | -| test.c:390:13:390:15 | (unsigned int)... | 1.0 | -| test.c:390:19:390:21 | 110 | 1.0 | -| test.c:390:19:390:21 | (unsigned int)... | 1.0 | -| test.c:390:25:390:25 | x | 2.0 | -| test.c:391:3:391:4 | y3 | 1.0 | -| test.c:391:3:391:11 | ... = ... | 1.0 | -| test.c:391:8:391:11 | 1000 | 1.0 | -| test.c:391:8:391:11 | (unsigned int)... | 1.0 | -| test.c:392:3:392:4 | y4 | 1.0 | -| test.c:392:3:392:11 | ... = ... | 1.0 | -| test.c:392:8:392:11 | 1000 | 1.0 | -| test.c:392:8:392:11 | (unsigned int)... | 1.0 | -| test.c:393:3:393:4 | y5 | 1.0 | -| test.c:393:3:393:11 | ... = ... | 1.0 | -| test.c:393:8:393:11 | 1000 | 1.0 | -| test.c:393:8:393:11 | (unsigned int)... | 1.0 | -| test.c:394:7:394:7 | x | 4.0 | -| test.c:394:7:394:14 | ... >= ... | 1.0 | -| test.c:394:12:394:14 | 300 | 1.0 | -| test.c:394:12:394:14 | (unsigned int)... | 1.0 | -| test.c:395:5:395:6 | y3 | 1.0 | -| test.c:395:5:395:21 | ... = ... | 4.0 | -| test.c:395:10:395:16 | (...) | 4.0 | -| test.c:395:10:395:21 | ... ? ... : ... | 4.0 | -| test.c:395:11:395:11 | x | 4.0 | -| test.c:395:11:395:15 | ... - ... | 4.0 | -| test.c:395:13:395:15 | 300 | 1.0 | -| test.c:395:13:395:15 | (unsigned int)... | 1.0 | -| test.c:395:21:395:21 | 5 | 1.0 | -| test.c:395:21:395:21 | (unsigned int)... | 1.0 | -| test.c:396:5:396:6 | y4 | 1.0 | -| test.c:396:5:396:21 | ... = ... | 4.0 | -| test.c:396:10:396:16 | (...) | 4.0 | -| test.c:396:10:396:21 | ... ? ... : ... | 4.0 | -| test.c:396:11:396:11 | x | 4.0 | -| test.c:396:11:396:15 | ... - ... | 4.0 | -| test.c:396:13:396:15 | 200 | 1.0 | -| test.c:396:13:396:15 | (unsigned int)... | 1.0 | -| test.c:396:21:396:21 | 5 | 1.0 | -| test.c:396:21:396:21 | (unsigned int)... | 1.0 | -| test.c:397:5:397:6 | y5 | 1.0 | -| test.c:397:5:397:38 | ... = ... | 4.0 | -| test.c:397:10:397:33 | (...) | 4.0 | -| test.c:397:10:397:38 | (unsigned int)... | 4.0 | -| test.c:397:10:397:38 | ... ? ... : ... | 4.0 | -| test.c:397:11:397:32 | (unsigned char)... | 4.0 | -| test.c:397:26:397:32 | (...) | 4.0 | -| test.c:397:27:397:27 | x | 4.0 | -| test.c:397:27:397:31 | ... - ... | 4.0 | -| test.c:397:29:397:31 | 200 | 1.0 | -| test.c:397:29:397:31 | (unsigned int)... | 1.0 | -| test.c:397:38:397:38 | 5 | 1.0 | -| test.c:399:10:399:11 | y1 | 1.0 | -| test.c:399:10:399:16 | ... + ... | 2.0 | -| test.c:399:10:399:21 | ... + ... | 10.0 | -| test.c:399:10:399:26 | ... + ... | 50.0 | -| test.c:399:10:399:31 | ... + ... | 250.0 | -| test.c:399:15:399:16 | y2 | 2.0 | -| test.c:399:20:399:21 | y3 | 5.0 | -| test.c:399:25:399:26 | y4 | 5.0 | -| test.c:399:30:399:31 | y5 | 5.0 | -| test.c:404:14:404:14 | m | 1.0 | -| test.c:404:14:404:108 | ... ? ... : ... | 1.0 | -| test.c:404:18:404:18 | n | 1.0 | -| test.c:404:18:404:95 | ... ? ... : ... | 1.0 | -| test.c:404:22:404:22 | o | 1.0 | -| test.c:404:22:404:82 | ... ? ... : ... | 1.0 | -| test.c:404:26:404:26 | p | 1.0 | -| test.c:404:26:404:69 | ... ? ... : ... | 1.0 | -| test.c:404:30:404:30 | q | 1.0 | -| test.c:404:30:404:56 | ... ? ... : ... | 1.0 | -| test.c:404:34:404:43 | 0.4743882700000000008 | 1.0 | -| test.c:404:47:404:56 | 0.1433388700000000071 | 1.0 | -| test.c:404:60:404:69 | 0.3527920299999999787 | 1.0 | -| test.c:404:73:404:82 | 0.3920645799999999959 | 1.0 | -| test.c:404:86:404:95 | 0.2154022499999999896 | 1.0 | -| test.c:404:99:404:108 | 0.4049680500000000238 | 1.0 | -| test.c:405:14:405:14 | m | 2.0 | -| test.c:405:14:405:108 | ... ? ... : ... | 1.0 | -| test.c:405:18:405:18 | n | 3.0 | -| test.c:405:18:405:95 | ... ? ... : ... | 1.0 | -| test.c:405:22:405:22 | o | 3.0 | -| test.c:405:22:405:82 | ... ? ... : ... | 1.0 | -| test.c:405:26:405:26 | p | 3.0 | -| test.c:405:26:405:69 | ... ? ... : ... | 1.0 | -| test.c:405:30:405:30 | q | 3.0 | -| test.c:405:30:405:56 | ... ? ... : ... | 1.0 | -| test.c:405:34:405:43 | 0.3418334800000000229 | 1.0 | -| test.c:405:47:405:56 | 0.3533464000000000049 | 1.0 | -| test.c:405:60:405:69 | 0.2224785300000000077 | 1.0 | -| test.c:405:73:405:82 | 0.326618929999999974 | 1.0 | -| test.c:405:86:405:95 | 0.5927046500000000551 | 1.0 | -| test.c:405:99:405:108 | 0.5297741000000000255 | 1.0 | -| test.c:406:14:406:14 | m | 4.0 | -| test.c:406:14:406:108 | ... ? ... : ... | 1.0 | -| test.c:406:18:406:18 | n | 9.0 | -| test.c:406:18:406:95 | ... ? ... : ... | 1.0 | -| test.c:406:22:406:22 | o | 9.0 | -| test.c:406:22:406:82 | ... ? ... : ... | 1.0 | -| test.c:406:26:406:26 | p | 9.0 | -| test.c:406:26:406:69 | ... ? ... : ... | 1.0 | -| test.c:406:30:406:30 | q | 9.0 | -| test.c:406:30:406:56 | ... ? ... : ... | 1.0 | -| test.c:406:34:406:43 | 0.774296030000000024 | 1.0 | -| test.c:406:47:406:56 | 0.3147808400000000062 | 1.0 | -| test.c:406:60:406:69 | 0.3123551399999999756 | 1.0 | -| test.c:406:73:406:82 | 0.05121255999999999725 | 1.0 | -| test.c:406:86:406:95 | 0.7931074500000000471 | 1.0 | -| test.c:406:99:406:108 | 0.6798145100000000385 | 1.0 | -| test.c:407:14:407:14 | m | 8.0 | -| test.c:407:14:407:108 | ... ? ... : ... | 1.0 | -| test.c:407:18:407:18 | n | 27.0 | -| test.c:407:18:407:95 | ... ? ... : ... | 1.0 | -| test.c:407:22:407:22 | o | 27.0 | -| test.c:407:22:407:82 | ... ? ... : ... | 1.0 | -| test.c:407:26:407:26 | p | 27.0 | -| test.c:407:26:407:69 | ... ? ... : ... | 1.0 | -| test.c:407:30:407:30 | q | 27.0 | -| test.c:407:30:407:56 | ... ? ... : ... | 1.0 | -| test.c:407:34:407:43 | 0.4472955599999999809 | 1.0 | -| test.c:407:47:407:56 | 0.8059920200000000312 | 1.0 | -| test.c:407:60:407:69 | 0.9899726199999999698 | 1.0 | -| test.c:407:73:407:82 | 0.5995273199999999747 | 1.0 | -| test.c:407:86:407:95 | 0.3697694799999999837 | 1.0 | -| test.c:407:99:407:108 | 0.8386683499999999514 | 1.0 | -| test.c:408:14:408:14 | m | 16.0 | -| test.c:408:14:408:108 | ... ? ... : ... | 1.0 | -| test.c:408:18:408:18 | n | 81.0 | -| test.c:408:18:408:95 | ... ? ... : ... | 1.0 | -| test.c:408:22:408:22 | o | 81.0 | -| test.c:408:22:408:82 | ... ? ... : ... | 1.0 | -| test.c:408:26:408:26 | p | 81.0 | -| test.c:408:26:408:69 | ... ? ... : ... | 1.0 | -| test.c:408:30:408:30 | q | 81.0 | -| test.c:408:30:408:56 | ... ? ... : ... | 1.0 | -| test.c:408:34:408:43 | 0.4931182800000000199 | 1.0 | -| test.c:408:47:408:56 | 0.9038991100000000056 | 1.0 | -| test.c:408:60:408:69 | 0.1059771199999999941 | 1.0 | -| test.c:408:73:408:82 | 0.2177842600000000073 | 1.0 | -| test.c:408:86:408:95 | 0.7248596600000000167 | 1.0 | -| test.c:408:99:408:108 | 0.6873487400000000136 | 1.0 | -| test.c:409:14:409:14 | m | 32.0 | -| test.c:409:14:409:108 | ... ? ... : ... | 1.0 | -| test.c:409:18:409:18 | n | 243.0 | -| test.c:409:18:409:95 | ... ? ... : ... | 1.0 | -| test.c:409:22:409:22 | o | 243.0 | -| test.c:409:22:409:82 | ... ? ... : ... | 1.0 | -| test.c:409:26:409:26 | p | 243.0 | -| test.c:409:26:409:69 | ... ? ... : ... | 1.0 | -| test.c:409:30:409:30 | q | 243.0 | -| test.c:409:30:409:56 | ... ? ... : ... | 1.0 | -| test.c:409:34:409:43 | 0.4745284799999999747 | 1.0 | -| test.c:409:47:409:56 | 0.107866500000000004 | 1.0 | -| test.c:409:60:409:69 | 0.1188457599999999947 | 1.0 | -| test.c:409:73:409:82 | 0.7616405200000000431 | 1.0 | -| test.c:409:86:409:95 | 0.3480889200000000239 | 1.0 | -| test.c:409:99:409:108 | 0.584408649999999974 | 1.0 | -| test.c:410:14:410:14 | m | 64.0 | -| test.c:410:14:410:108 | ... ? ... : ... | 1.0 | -| test.c:410:18:410:18 | n | 729.0 | -| test.c:410:18:410:95 | ... ? ... : ... | 1.0 | -| test.c:410:22:410:22 | o | 729.0 | -| test.c:410:22:410:82 | ... ? ... : ... | 1.0 | -| test.c:410:26:410:26 | p | 729.0 | -| test.c:410:26:410:69 | ... ? ... : ... | 1.0 | -| test.c:410:30:410:30 | q | 729.0 | -| test.c:410:30:410:56 | ... ? ... : ... | 1.0 | -| test.c:410:34:410:43 | 0.02524326 | 1.0 | -| test.c:410:47:410:56 | 0.8290504600000000446 | 1.0 | -| test.c:410:60:410:69 | 0.95823075000000002 | 1.0 | -| test.c:410:73:410:82 | 0.1251655799999999985 | 1.0 | -| test.c:410:86:410:95 | 0.8523517900000000536 | 1.0 | -| test.c:410:99:410:108 | 0.3623238400000000081 | 1.0 | -| test.c:411:14:411:14 | m | 128.0 | -| test.c:411:14:411:108 | ... ? ... : ... | 1.0 | -| test.c:411:18:411:18 | n | 2187.0 | -| test.c:411:18:411:95 | ... ? ... : ... | 1.0 | -| test.c:411:22:411:22 | o | 2187.0 | -| test.c:411:22:411:82 | ... ? ... : ... | 1.0 | -| test.c:411:26:411:26 | p | 2187.0 | -| test.c:411:26:411:69 | ... ? ... : ... | 1.0 | -| test.c:411:30:411:30 | q | 2187.0 | -| test.c:411:30:411:56 | ... ? ... : ... | 1.0 | -| test.c:411:34:411:43 | 0.3870862600000000153 | 1.0 | -| test.c:411:47:411:56 | 0.3287604399999999871 | 1.0 | -| test.c:411:60:411:69 | 0.1496348500000000137 | 1.0 | -| test.c:411:73:411:82 | 0.4504110800000000192 | 1.0 | -| test.c:411:86:411:95 | 0.4864090899999999884 | 1.0 | -| test.c:411:99:411:108 | 0.8433127200000000157 | 1.0 | -| test.c:412:14:412:14 | m | 256.0 | -| test.c:412:14:412:108 | ... ? ... : ... | 1.0 | -| test.c:412:18:412:18 | n | 6561.0 | -| test.c:412:18:412:95 | ... ? ... : ... | 1.0 | -| test.c:412:22:412:22 | o | 6561.0 | -| test.c:412:22:412:82 | ... ? ... : ... | 1.0 | -| test.c:412:26:412:26 | p | 6561.0 | -| test.c:412:26:412:69 | ... ? ... : ... | 1.0 | -| test.c:412:30:412:30 | q | 6561.0 | -| test.c:412:30:412:56 | ... ? ... : ... | 1.0 | -| test.c:412:34:412:43 | 0.1575506299999999971 | 1.0 | -| test.c:412:47:412:56 | 0.7708683299999999905 | 1.0 | -| test.c:412:60:412:69 | 0.2642848099999999811 | 1.0 | -| test.c:412:73:412:82 | 0.1480050800000000111 | 1.0 | -| test.c:412:86:412:95 | 0.374281430000000026 | 1.0 | -| test.c:412:99:412:108 | 0.05328182000000000057 | 1.0 | -| test.c:413:14:413:14 | m | 512.0 | -| test.c:413:14:413:108 | ... ? ... : ... | 1.0 | -| test.c:413:18:413:18 | n | 19683.0 | -| test.c:413:18:413:95 | ... ? ... : ... | 1.0 | -| test.c:413:22:413:22 | o | 19683.0 | -| test.c:413:22:413:82 | ... ? ... : ... | 1.0 | -| test.c:413:26:413:26 | p | 19683.0 | -| test.c:413:26:413:69 | ... ? ... : ... | 1.0 | -| test.c:413:30:413:30 | q | 19683.0 | -| test.c:413:30:413:56 | ... ? ... : ... | 1.0 | -| test.c:413:34:413:43 | 0.4173653600000000186 | 1.0 | -| test.c:413:47:413:56 | 0.7682662799999999681 | 1.0 | -| test.c:413:60:413:69 | 0.2764323799999999776 | 1.0 | -| test.c:413:73:413:82 | 0.5567927400000000082 | 1.0 | -| test.c:413:86:413:95 | 0.3946885700000000163 | 1.0 | -| test.c:413:99:413:108 | 0.6907214400000000198 | 1.0 | -| test.c:414:14:414:14 | m | 1024.0 | -| test.c:414:14:414:108 | ... ? ... : ... | 1.0 | -| test.c:414:18:414:18 | n | 59049.0 | -| test.c:414:18:414:95 | ... ? ... : ... | 1.0 | -| test.c:414:22:414:22 | o | 59049.0 | -| test.c:414:22:414:82 | ... ? ... : ... | 1.0 | -| test.c:414:26:414:26 | p | 59049.0 | -| test.c:414:26:414:69 | ... ? ... : ... | 1.0 | -| test.c:414:30:414:30 | q | 59049.0 | -| test.c:414:30:414:56 | ... ? ... : ... | 1.0 | -| test.c:414:34:414:43 | 0.8895534499999999678 | 1.0 | -| test.c:414:47:414:56 | 0.2990482400000000207 | 1.0 | -| test.c:414:60:414:69 | 0.7624258299999999711 | 1.0 | -| test.c:414:73:414:82 | 0.2051910999999999874 | 1.0 | -| test.c:414:86:414:95 | 0.8874555899999999609 | 1.0 | -| test.c:414:99:414:108 | 0.8137279800000000174 | 1.0 | -| test.c:415:14:415:14 | m | 2048.0 | +| test.c:348:22:348:32 | (...) | 1.0 | +| test.c:348:22:348:36 | ... > ... | 1.0 | +| test.c:348:22:348:44 | ... ? ... : ... | 1.0 | +| test.c:348:23:348:23 | 2 | 1.0 | +| test.c:348:23:348:23 | (unsigned int)... | 1.0 | +| test.c:348:23:348:27 | ... * ... | 1.0 | +| test.c:348:23:348:31 | ... + ... | 1.0 | +| test.c:348:27:348:27 | e | 1.0 | +| test.c:348:31:348:31 | 1 | 1.0 | +| test.c:348:31:348:31 | (unsigned int)... | 1.0 | +| test.c:348:36:348:36 | 0 | 1.0 | +| test.c:348:36:348:36 | (unsigned int)... | 1.0 | +| test.c:348:40:348:40 | e | 1.0 | +| test.c:348:44:348:44 | 2 | 1.0 | +| test.c:348:44:348:44 | (unsigned int)... | 1.0 | +| test.c:349:20:349:30 | (...) | 2.0 | +| test.c:349:20:349:35 | ... >= ... | 1.0 | +| test.c:349:20:349:43 | (signed int)... | 2.0 | +| test.c:349:20:349:43 | ... ? ... : ... | 2.0 | +| test.c:349:21:349:21 | 2 | 1.0 | +| test.c:349:21:349:21 | (unsigned int)... | 1.0 | +| test.c:349:21:349:25 | ... * ... | 2.0 | +| test.c:349:21:349:29 | ... + ... | 2.0 | +| test.c:349:25:349:25 | e | 2.0 | +| test.c:349:29:349:29 | 1 | 1.0 | +| test.c:349:29:349:29 | (unsigned int)... | 1.0 | +| test.c:349:35:349:35 | 0 | 1.0 | +| test.c:349:35:349:35 | (unsigned int)... | 1.0 | +| test.c:349:39:349:39 | e | 2.0 | +| test.c:349:43:349:43 | 2 | 1.0 | +| test.c:349:43:349:43 | (unsigned int)... | 1.0 | +| test.c:350:22:350:32 | (...) | 4.0 | +| test.c:350:22:350:36 | ... > ... | 1.0 | +| test.c:350:22:350:44 | ... ? ... : ... | 4.0 | +| test.c:350:23:350:23 | 3 | 1.0 | +| test.c:350:23:350:23 | (unsigned int)... | 1.0 | +| test.c:350:23:350:27 | ... * ... | 4.0 | +| test.c:350:23:350:31 | ... + ... | 4.0 | +| test.c:350:27:350:27 | e | 4.0 | +| test.c:350:31:350:31 | 2 | 1.0 | +| test.c:350:31:350:31 | (unsigned int)... | 1.0 | +| test.c:350:36:350:36 | 0 | 1.0 | +| test.c:350:36:350:36 | (unsigned int)... | 1.0 | +| test.c:350:40:350:40 | e | 4.0 | +| test.c:350:44:350:44 | 2 | 1.0 | +| test.c:350:44:350:44 | (unsigned int)... | 1.0 | +| test.c:351:22:351:32 | (...) | 8.0 | +| test.c:351:22:351:36 | ... > ... | 1.0 | +| test.c:351:22:351:44 | ... ? ... : ... | 8.0 | +| test.c:351:23:351:23 | 2 | 1.0 | +| test.c:351:23:351:23 | (unsigned int)... | 1.0 | +| test.c:351:23:351:27 | ... * ... | 8.0 | +| test.c:351:23:351:31 | ... + ... | 8.0 | +| test.c:351:27:351:27 | e | 8.0 | +| test.c:351:31:351:31 | 1 | 1.0 | +| test.c:351:31:351:31 | (unsigned int)... | 1.0 | +| test.c:351:36:351:36 | 0 | 1.0 | +| test.c:351:36:351:36 | (unsigned int)... | 1.0 | +| test.c:351:40:351:40 | e | 8.0 | +| test.c:351:44:351:44 | 2 | 1.0 | +| test.c:351:44:351:44 | (unsigned int)... | 1.0 | +| test.c:352:22:352:32 | (...) | 16.0 | +| test.c:352:22:352:37 | ... > ... | 1.0 | +| test.c:352:22:352:45 | ... ? ... : ... | 16.0 | +| test.c:352:23:352:23 | 2 | 1.0 | +| test.c:352:23:352:23 | (unsigned int)... | 1.0 | +| test.c:352:23:352:27 | ... * ... | 16.0 | +| test.c:352:23:352:31 | ... + ... | 16.0 | +| test.c:352:27:352:27 | e | 16.0 | +| test.c:352:31:352:31 | 1 | 1.0 | +| test.c:352:31:352:31 | (unsigned int)... | 1.0 | +| test.c:352:36:352:37 | 16 | 1.0 | +| test.c:352:36:352:37 | (unsigned int)... | 1.0 | +| test.c:352:41:352:41 | e | 16.0 | +| test.c:352:45:352:45 | 2 | 1.0 | +| test.c:352:45:352:45 | (unsigned int)... | 1.0 | +| test.c:354:10:354:12 | bi1 | 1.0 | +| test.c:354:10:354:18 | ... + ... | 2.0 | +| test.c:354:10:354:24 | ... + ... | 8.0 | +| test.c:354:10:354:30 | ... + ... | 64.0 | +| test.c:354:10:354:36 | ... + ... | 1024.0 | +| test.c:354:16:354:18 | (unsigned int)... | 2.0 | +| test.c:354:16:354:18 | bi2 | 2.0 | +| test.c:354:22:354:24 | bi3 | 4.0 | +| test.c:354:28:354:30 | bi4 | 8.0 | +| test.c:354:34:354:36 | bi5 | 16.0 | +| test.c:358:13:358:14 | 0 | 1.0 | +| test.c:359:7:359:7 | x | 1.0 | +| test.c:359:7:359:11 | ... < ... | 1.0 | +| test.c:359:11:359:11 | 0 | 1.0 | +| test.c:360:12:360:13 | - ... | 1.0 | +| test.c:360:13:360:13 | 1 | 1.0 | +| test.c:363:10:363:10 | i | 13.0 | +| test.c:363:10:363:14 | ... < ... | 1.0 | +| test.c:363:14:363:14 | 3 | 1.0 | +| test.c:364:5:364:5 | i | 13.0 | +| test.c:364:5:364:7 | ... ++ | 13.0 | +| test.c:366:3:366:3 | d | 1.0 | +| test.c:366:3:366:7 | ... = ... | 13.0 | +| test.c:366:7:366:7 | i | 13.0 | +| test.c:367:7:367:7 | x | 1.0 | +| test.c:367:7:367:11 | ... < ... | 1.0 | +| test.c:367:11:367:11 | 0 | 1.0 | +| test.c:368:9:368:9 | d | 13.0 | +| test.c:368:9:368:14 | ... > ... | 1.0 | +| test.c:368:13:368:14 | - ... | 1.0 | +| test.c:368:14:368:14 | x | 1.0 | +| test.c:369:14:369:14 | 1 | 1.0 | +| test.c:372:10:372:10 | 0 | 1.0 | +| test.c:378:3:378:4 | y1 | 1.0 | +| test.c:378:3:378:23 | ... = ... | 1.0 | +| test.c:378:8:378:8 | x | 1.0 | +| test.c:378:8:378:14 | ... < ... | 1.0 | +| test.c:378:8:378:23 | ... ? ... : ... | 1.0 | +| test.c:378:12:378:14 | 100 | 1.0 | +| test.c:378:12:378:14 | (unsigned int)... | 1.0 | +| test.c:378:18:378:18 | x | 1.0 | +| test.c:378:22:378:23 | 10 | 1.0 | +| test.c:378:22:378:23 | (unsigned int)... | 1.0 | +| test.c:379:3:379:4 | y2 | 1.0 | +| test.c:379:3:379:24 | ... = ... | 2.0 | +| test.c:379:8:379:8 | x | 2.0 | +| test.c:379:8:379:15 | ... >= ... | 1.0 | +| test.c:379:8:379:24 | ... ? ... : ... | 2.0 | +| test.c:379:13:379:15 | 100 | 1.0 | +| test.c:379:13:379:15 | (unsigned int)... | 1.0 | +| test.c:379:19:379:20 | 10 | 1.0 | +| test.c:379:19:379:20 | (unsigned int)... | 1.0 | +| test.c:379:24:379:24 | x | 2.0 | +| test.c:380:3:380:4 | y3 | 1.0 | +| test.c:380:3:380:8 | ... = ... | 1.0 | +| test.c:380:8:380:8 | 0 | 1.0 | +| test.c:380:8:380:8 | (unsigned int)... | 1.0 | +| test.c:381:3:381:4 | y4 | 1.0 | +| test.c:381:3:381:8 | ... = ... | 1.0 | +| test.c:381:8:381:8 | 0 | 1.0 | +| test.c:381:8:381:8 | (unsigned int)... | 1.0 | +| test.c:382:3:382:4 | y5 | 1.0 | +| test.c:382:3:382:8 | ... = ... | 1.0 | +| test.c:382:8:382:8 | 0 | 1.0 | +| test.c:382:8:382:8 | (unsigned int)... | 1.0 | +| test.c:383:3:383:4 | y6 | 1.0 | +| test.c:383:3:383:8 | ... = ... | 1.0 | +| test.c:383:8:383:8 | 0 | 1.0 | +| test.c:383:8:383:8 | (unsigned int)... | 1.0 | +| test.c:384:3:384:4 | y7 | 1.0 | +| test.c:384:3:384:8 | ... = ... | 1.0 | +| test.c:384:8:384:8 | 0 | 1.0 | +| test.c:384:8:384:8 | (unsigned int)... | 1.0 | +| test.c:385:3:385:4 | y8 | 1.0 | +| test.c:385:3:385:8 | ... = ... | 1.0 | +| test.c:385:8:385:8 | 0 | 1.0 | +| test.c:385:8:385:8 | (unsigned int)... | 1.0 | +| test.c:386:7:386:7 | x | 4.0 | +| test.c:386:7:386:13 | ... < ... | 1.0 | +| test.c:386:11:386:13 | 300 | 1.0 | +| test.c:386:11:386:13 | (unsigned int)... | 1.0 | +| test.c:387:5:387:6 | y3 | 1.0 | +| test.c:387:5:387:15 | ... = ... | 4.0 | +| test.c:387:10:387:10 | x | 4.0 | +| test.c:387:10:387:15 | ... ? ... : ... | 4.0 | +| test.c:387:15:387:15 | 5 | 1.0 | +| test.c:387:15:387:15 | (unsigned int)... | 1.0 | +| test.c:388:5:388:6 | y4 | 1.0 | +| test.c:388:5:388:17 | ... = ... | 4.0 | +| test.c:388:10:388:10 | x | 4.0 | +| test.c:388:10:388:17 | ... ? ... : ... | 4.0 | +| test.c:388:15:388:17 | 500 | 1.0 | +| test.c:388:15:388:17 | (unsigned int)... | 1.0 | +| test.c:389:5:389:6 | y5 | 1.0 | +| test.c:389:5:389:21 | ... = ... | 4.0 | +| test.c:389:10:389:14 | (...) | 4.0 | +| test.c:389:10:389:21 | ... ? ... : ... | 4.0 | +| test.c:389:11:389:11 | x | 4.0 | +| test.c:389:11:389:13 | ... + ... | 4.0 | +| test.c:389:13:389:13 | 1 | 1.0 | +| test.c:389:13:389:13 | (unsigned int)... | 1.0 | +| test.c:389:19:389:21 | 500 | 1.0 | +| test.c:389:19:389:21 | (unsigned int)... | 1.0 | +| test.c:390:5:390:6 | y6 | 1.0 | +| test.c:390:5:390:36 | ... = ... | 4.0 | +| test.c:390:10:390:31 | (...) | 4.0 | +| test.c:390:10:390:36 | (unsigned int)... | 4.0 | +| test.c:390:10:390:36 | ... ? ... : ... | 4.0 | +| test.c:390:11:390:30 | (unsigned char)... | 4.0 | +| test.c:390:26:390:30 | (...) | 4.0 | +| test.c:390:27:390:27 | x | 4.0 | +| test.c:390:27:390:29 | ... + ... | 4.0 | +| test.c:390:29:390:29 | 1 | 1.0 | +| test.c:390:29:390:29 | (unsigned int)... | 1.0 | +| test.c:390:36:390:36 | 5 | 1.0 | +| test.c:391:5:391:6 | y7 | 1.0 | +| test.c:391:5:391:38 | ... = ... | 4.0 | +| test.c:391:10:391:31 | (...) | 4.0 | +| test.c:391:10:391:38 | (unsigned int)... | 4.0 | +| test.c:391:10:391:38 | ... ? ... : ... | 4.0 | +| test.c:391:11:391:30 | (unsigned char)... | 4.0 | +| test.c:391:26:391:30 | (...) | 4.0 | +| test.c:391:27:391:27 | x | 4.0 | +| test.c:391:27:391:29 | ... + ... | 4.0 | +| test.c:391:29:391:29 | 1 | 1.0 | +| test.c:391:29:391:29 | (unsigned int)... | 1.0 | +| test.c:391:36:391:38 | 500 | 1.0 | +| test.c:392:5:392:6 | y8 | 1.0 | +| test.c:392:5:392:39 | ... = ... | 4.0 | +| test.c:392:10:392:32 | (...) | 4.0 | +| test.c:392:10:392:39 | (unsigned int)... | 4.0 | +| test.c:392:10:392:39 | ... ? ... : ... | 4.0 | +| test.c:392:11:392:31 | (unsigned short)... | 4.0 | +| test.c:392:27:392:31 | (...) | 4.0 | +| test.c:392:28:392:28 | x | 4.0 | +| test.c:392:28:392:30 | ... + ... | 4.0 | +| test.c:392:30:392:30 | 1 | 1.0 | +| test.c:392:30:392:30 | (unsigned int)... | 1.0 | +| test.c:392:37:392:39 | 500 | 1.0 | +| test.c:394:10:394:11 | y1 | 1.0 | +| test.c:394:10:394:16 | ... + ... | 2.0 | +| test.c:394:10:394:21 | ... + ... | 10.0 | +| test.c:394:10:394:26 | ... + ... | 50.0 | +| test.c:394:10:394:31 | ... + ... | 250.0 | +| test.c:394:10:394:36 | ... + ... | 1250.0 | +| test.c:394:10:394:41 | ... + ... | 6250.0 | +| test.c:394:10:394:46 | ... + ... | 31250.0 | +| test.c:394:15:394:16 | y2 | 2.0 | +| test.c:394:20:394:21 | y3 | 5.0 | +| test.c:394:25:394:26 | y4 | 5.0 | +| test.c:394:30:394:31 | y5 | 5.0 | +| test.c:394:35:394:36 | y6 | 5.0 | +| test.c:394:40:394:41 | y7 | 5.0 | +| test.c:394:45:394:46 | y8 | 5.0 | +| test.c:400:3:400:4 | y1 | 1.0 | +| test.c:400:3:400:24 | ... = ... | 1.0 | +| test.c:400:8:400:8 | x | 1.0 | +| test.c:400:8:400:14 | ... > ... | 1.0 | +| test.c:400:8:400:24 | ... ? ... : ... | 1.0 | +| test.c:400:12:400:14 | 100 | 1.0 | +| test.c:400:12:400:14 | (unsigned int)... | 1.0 | +| test.c:400:18:400:18 | x | 1.0 | +| test.c:400:22:400:24 | 110 | 1.0 | +| test.c:400:22:400:24 | (unsigned int)... | 1.0 | +| test.c:401:3:401:4 | y2 | 1.0 | +| test.c:401:3:401:25 | ... = ... | 2.0 | +| test.c:401:8:401:8 | x | 2.0 | +| test.c:401:8:401:15 | ... <= ... | 1.0 | +| test.c:401:8:401:25 | ... ? ... : ... | 2.0 | +| test.c:401:13:401:15 | 100 | 1.0 | +| test.c:401:13:401:15 | (unsigned int)... | 1.0 | +| test.c:401:19:401:21 | 110 | 1.0 | +| test.c:401:19:401:21 | (unsigned int)... | 1.0 | +| test.c:401:25:401:25 | x | 2.0 | +| test.c:402:3:402:4 | y3 | 1.0 | +| test.c:402:3:402:11 | ... = ... | 1.0 | +| test.c:402:8:402:11 | 1000 | 1.0 | +| test.c:402:8:402:11 | (unsigned int)... | 1.0 | +| test.c:403:3:403:4 | y4 | 1.0 | +| test.c:403:3:403:11 | ... = ... | 1.0 | +| test.c:403:8:403:11 | 1000 | 1.0 | +| test.c:403:8:403:11 | (unsigned int)... | 1.0 | +| test.c:404:3:404:4 | y5 | 1.0 | +| test.c:404:3:404:11 | ... = ... | 1.0 | +| test.c:404:8:404:11 | 1000 | 1.0 | +| test.c:404:8:404:11 | (unsigned int)... | 1.0 | +| test.c:405:7:405:7 | x | 4.0 | +| test.c:405:7:405:14 | ... >= ... | 1.0 | +| test.c:405:12:405:14 | 300 | 1.0 | +| test.c:405:12:405:14 | (unsigned int)... | 1.0 | +| test.c:406:5:406:6 | y3 | 1.0 | +| test.c:406:5:406:21 | ... = ... | 4.0 | +| test.c:406:10:406:16 | (...) | 4.0 | +| test.c:406:10:406:21 | ... ? ... : ... | 4.0 | +| test.c:406:11:406:11 | x | 4.0 | +| test.c:406:11:406:15 | ... - ... | 4.0 | +| test.c:406:13:406:15 | 300 | 1.0 | +| test.c:406:13:406:15 | (unsigned int)... | 1.0 | +| test.c:406:21:406:21 | 5 | 1.0 | +| test.c:406:21:406:21 | (unsigned int)... | 1.0 | +| test.c:407:5:407:6 | y4 | 1.0 | +| test.c:407:5:407:21 | ... = ... | 4.0 | +| test.c:407:10:407:16 | (...) | 4.0 | +| test.c:407:10:407:21 | ... ? ... : ... | 4.0 | +| test.c:407:11:407:11 | x | 4.0 | +| test.c:407:11:407:15 | ... - ... | 4.0 | +| test.c:407:13:407:15 | 200 | 1.0 | +| test.c:407:13:407:15 | (unsigned int)... | 1.0 | +| test.c:407:21:407:21 | 5 | 1.0 | +| test.c:407:21:407:21 | (unsigned int)... | 1.0 | +| test.c:408:5:408:6 | y5 | 1.0 | +| test.c:408:5:408:38 | ... = ... | 4.0 | +| test.c:408:10:408:33 | (...) | 4.0 | +| test.c:408:10:408:38 | (unsigned int)... | 4.0 | +| test.c:408:10:408:38 | ... ? ... : ... | 4.0 | +| test.c:408:11:408:32 | (unsigned char)... | 4.0 | +| test.c:408:26:408:32 | (...) | 4.0 | +| test.c:408:27:408:27 | x | 4.0 | +| test.c:408:27:408:31 | ... - ... | 4.0 | +| test.c:408:29:408:31 | 200 | 1.0 | +| test.c:408:29:408:31 | (unsigned int)... | 1.0 | +| test.c:408:38:408:38 | 5 | 1.0 | +| test.c:410:10:410:11 | y1 | 1.0 | +| test.c:410:10:410:16 | ... + ... | 2.0 | +| test.c:410:10:410:21 | ... + ... | 10.0 | +| test.c:410:10:410:26 | ... + ... | 50.0 | +| test.c:410:10:410:31 | ... + ... | 250.0 | +| test.c:410:15:410:16 | y2 | 2.0 | +| test.c:410:20:410:21 | y3 | 5.0 | +| test.c:410:25:410:26 | y4 | 5.0 | +| test.c:410:30:410:31 | y5 | 5.0 | +| test.c:415:14:415:14 | m | 1.0 | | test.c:415:14:415:108 | ... ? ... : ... | 1.0 | -| test.c:415:18:415:18 | n | 177147.0 | +| test.c:415:18:415:18 | n | 1.0 | | test.c:415:18:415:95 | ... ? ... : ... | 1.0 | -| test.c:415:22:415:22 | o | 177147.0 | +| test.c:415:22:415:22 | o | 1.0 | | test.c:415:22:415:82 | ... ? ... : ... | 1.0 | -| test.c:415:26:415:26 | p | 177147.0 | +| test.c:415:26:415:26 | p | 1.0 | | test.c:415:26:415:69 | ... ? ... : ... | 1.0 | -| test.c:415:30:415:30 | q | 177147.0 | +| test.c:415:30:415:30 | q | 1.0 | | test.c:415:30:415:56 | ... ? ... : ... | 1.0 | -| test.c:415:34:415:43 | 0.4218627600000000033 | 1.0 | -| test.c:415:47:415:56 | 0.5384335799999999672 | 1.0 | -| test.c:415:60:415:69 | 0.4499667900000000054 | 1.0 | -| test.c:415:73:415:82 | 0.1320411400000000013 | 1.0 | -| test.c:415:86:415:95 | 0.5203124099999999475 | 1.0 | -| test.c:415:99:415:108 | 0.4276264699999999808 | 1.0 | -| test.c:421:19:421:19 | a | 1.0 | -| test.c:421:19:421:23 | ... + ... | 1.0 | -| test.c:421:19:421:27 | ... + ... | 1.0 | -| test.c:421:19:421:31 | ... + ... | 1.0 | -| test.c:421:19:421:35 | ... + ... | 1.0 | -| test.c:421:19:421:39 | ... + ... | 1.0 | -| test.c:421:19:421:43 | ... + ... | 1.0 | -| test.c:421:19:421:47 | ... + ... | 1.0 | -| test.c:421:19:421:51 | ... + ... | 1.0 | -| test.c:421:19:421:55 | ... + ... | 1.0 | -| test.c:421:19:421:59 | ... + ... | 1.0 | -| test.c:421:19:421:63 | ... + ... | 1.0 | -| test.c:421:23:421:23 | b | 1.0 | -| test.c:421:27:421:27 | c | 1.0 | -| test.c:421:31:421:31 | d | 1.0 | -| test.c:421:35:421:35 | e | 1.0 | -| test.c:421:39:421:39 | f | 1.0 | -| test.c:421:43:421:43 | g | 1.0 | -| test.c:421:47:421:47 | h | 1.0 | -| test.c:421:51:421:51 | i | 1.0 | -| test.c:421:55:421:55 | j | 1.0 | -| test.c:421:59:421:59 | k | 1.0 | -| test.c:421:63:421:63 | l | 1.0 | -| test.c:423:10:423:15 | output | 1.0 | -| test.c:430:7:430:9 | rhs | 1.0 | -| test.c:430:7:430:14 | ... < ... | 1.0 | -| test.c:430:13:430:14 | 12 | 1.0 | -| test.c:430:13:430:14 | (unsigned int)... | 1.0 | -| test.c:430:19:430:21 | rhs | 1.0 | -| test.c:430:19:430:26 | ... << ... | 1.0 | -| test.c:430:26:430:26 | 1 | 1.0 | -| test.c:431:7:431:9 | rhs | 2.0 | -| test.c:431:7:431:14 | ... < ... | 1.0 | -| test.c:431:13:431:14 | 13 | 1.0 | -| test.c:431:13:431:14 | (unsigned int)... | 1.0 | -| test.c:431:19:431:21 | rhs | 2.0 | -| test.c:431:19:431:26 | ... << ... | 1.0 | -| test.c:431:26:431:26 | 1 | 1.0 | -| test.c:432:7:432:9 | rhs | 3.0 | -| test.c:432:7:432:14 | ... < ... | 1.0 | -| test.c:432:13:432:14 | 14 | 1.0 | -| test.c:432:13:432:14 | (unsigned int)... | 1.0 | -| test.c:432:19:432:21 | rhs | 3.0 | -| test.c:432:19:432:26 | ... << ... | 1.0 | -| test.c:432:26:432:26 | 1 | 1.0 | -| test.c:433:7:433:9 | rhs | 4.0 | -| test.c:433:7:433:14 | ... < ... | 1.0 | -| test.c:433:13:433:14 | 15 | 1.0 | -| test.c:433:13:433:14 | (unsigned int)... | 1.0 | -| test.c:433:19:433:21 | rhs | 4.0 | -| test.c:433:19:433:26 | ... << ... | 1.0 | -| test.c:433:26:433:26 | 1 | 1.0 | -| test.c:434:7:434:9 | rhs | 5.0 | -| test.c:434:7:434:14 | ... < ... | 1.0 | -| test.c:434:13:434:14 | 16 | 1.0 | -| test.c:434:13:434:14 | (unsigned int)... | 1.0 | -| test.c:434:19:434:21 | rhs | 5.0 | -| test.c:434:19:434:26 | ... << ... | 1.0 | -| test.c:434:26:434:26 | 1 | 1.0 | -| test.c:435:10:435:12 | (int)... | 6.0 | -| test.c:435:10:435:12 | rhs | 6.0 | -| test.c:439:7:439:7 | a | 1.0 | -| test.c:439:7:439:13 | ... == ... | 1.0 | -| test.c:439:12:439:13 | 17 | 1.0 | -| test.c:440:9:440:9 | b | 1.0 | -| test.c:440:9:440:15 | ... == ... | 1.0 | -| test.c:440:14:440:15 | 23 | 1.0 | -| test.c:441:7:441:7 | a | 1.0 | -| test.c:441:7:441:12 | ... += ... | 1.0 | -| test.c:441:12:441:12 | b | 1.0 | -| test.c:443:9:443:9 | a | 2.0 | -| test.c:443:9:443:15 | ... == ... | 1.0 | -| test.c:443:14:443:15 | 18 | 1.0 | -| test.c:444:7:444:7 | b | 1.0 | -| test.c:444:7:444:12 | ... = ... | 1.0 | -| test.c:444:11:444:12 | 10 | 1.0 | -| test.c:449:11:449:11 | a | 4.0 | -| test.c:449:11:449:15 | ... + ... | 16.0 | -| test.c:449:15:449:15 | b | 4.0 | -| test.c:450:10:450:10 | a | 4.0 | -| test.c:450:10:450:14 | ... + ... | 16.0 | -| test.c:450:14:450:14 | b | 4.0 | -| test.c:457:4:459:50 | (...) | 1.0 | -| test.c:457:4:542:26 | ... > ... | 1.0 | -| test.c:457:4:631:27 | ... ? ... : ... | 1.297918419127476E201 | -| test.c:457:5:457:6 | 14 | 1.0 | -| test.c:457:5:457:6 | (unsigned int)... | 1.0 | -| test.c:457:5:457:11 | ... * ... | 1.0 | -| test.c:457:5:457:55 | ... > ... | 1.0 | -| test.c:457:5:459:49 | ... ? ... : ... | 1.0 | -| test.c:457:10:457:11 | ip | 1.0 | -| test.c:457:15:457:26 | (...) | 1.0 | -| test.c:457:15:457:31 | ... * ... | 1.0 | -| test.c:457:15:457:55 | ... + ... | 1.0 | -| test.c:457:16:457:16 | 2 | 1.0 | -| test.c:457:16:457:16 | (unsigned int)... | 1.0 | -| test.c:457:16:457:21 | ... * ... | 1.0 | -| test.c:457:16:457:25 | ... + ... | 1.0 | -| test.c:457:20:457:21 | ip | 1.0 | -| test.c:457:25:457:25 | 1 | 1.0 | -| test.c:457:25:457:25 | (unsigned int)... | 1.0 | -| test.c:457:30:457:31 | 17 | 1.0 | -| test.c:457:30:457:31 | (unsigned int)... | 1.0 | -| test.c:457:35:457:50 | (...) | 1.0 | -| test.c:457:35:457:55 | ... * ... | 1.0 | -| test.c:457:36:457:36 | 2 | 1.0 | -| test.c:457:36:457:36 | (unsigned int)... | 1.0 | -| test.c:457:36:457:41 | ... * ... | 1.0 | -| test.c:457:36:457:45 | ... + ... | 1.0 | -| test.c:457:36:457:49 | ... + ... | 1.0 | -| test.c:457:40:457:41 | ip | 1.0 | -| test.c:457:45:457:45 | 1 | 1.0 | -| test.c:457:45:457:45 | (unsigned int)... | 1.0 | -| test.c:457:49:457:49 | 1 | 1.0 | -| test.c:457:49:457:49 | (unsigned int)... | 1.0 | -| test.c:457:54:457:55 | 17 | 1.0 | -| test.c:457:54:457:55 | (unsigned int)... | 1.0 | -| test.c:458:9:458:10 | 14 | 1.0 | -| test.c:458:9:458:10 | (unsigned int)... | 1.0 | -| test.c:458:9:458:15 | ... * ... | 1.0 | -| test.c:458:14:458:15 | ip | 1.0 | -| test.c:459:9:459:20 | (...) | 1.0 | -| test.c:459:9:459:25 | ... * ... | 1.0 | -| test.c:459:9:459:49 | ... + ... | 1.0 | -| test.c:459:10:459:10 | 2 | 1.0 | -| test.c:459:10:459:10 | (unsigned int)... | 1.0 | -| test.c:459:10:459:15 | ... * ... | 1.0 | -| test.c:459:10:459:19 | ... + ... | 1.0 | -| test.c:459:14:459:15 | ip | 1.0 | -| test.c:459:19:459:19 | 1 | 1.0 | -| test.c:459:19:459:19 | (unsigned int)... | 1.0 | -| test.c:459:24:459:25 | 14 | 1.0 | -| test.c:459:24:459:25 | (unsigned int)... | 1.0 | -| test.c:459:29:459:44 | (...) | 1.0 | -| test.c:459:29:459:49 | ... * ... | 1.0 | -| test.c:459:30:459:30 | 2 | 1.0 | -| test.c:459:30:459:30 | (unsigned int)... | 1.0 | -| test.c:459:30:459:35 | ... * ... | 1.0 | -| test.c:459:30:459:39 | ... + ... | 1.0 | -| test.c:459:30:459:43 | ... + ... | 1.0 | -| test.c:459:34:459:35 | ip | 1.0 | -| test.c:459:39:459:39 | 1 | 1.0 | -| test.c:459:39:459:39 | (unsigned int)... | 1.0 | -| test.c:459:43:459:43 | 1 | 1.0 | -| test.c:459:43:459:43 | (unsigned int)... | 1.0 | -| test.c:459:48:459:49 | 17 | 1.0 | -| test.c:459:48:459:49 | (unsigned int)... | 1.0 | -| test.c:460:5:542:26 | (...) | 9.29462083211502E84 | -| test.c:460:6:460:6 | 2 | 1.0 | -| test.c:460:6:460:6 | (unsigned int)... | 1.0 | -| test.c:460:6:460:23 | ... * ... | 2.0 | -| test.c:460:6:479:42 | ... + ... | 4.524508125E10 | -| test.c:460:6:499:24 | ... > ... | 1.0 | -| test.c:460:6:542:25 | ... ? ... : ... | 9.29462083211502E84 | -| test.c:460:10:460:23 | (...) | 2.0 | -| test.c:460:11:460:12 | ip | 2.0 | -| test.c:460:11:460:17 | ... * ... | 2.0 | -| test.c:460:11:460:22 | ... + ... | 2.0 | -| test.c:460:16:460:17 | 14 | 1.0 | -| test.c:460:16:460:17 | (unsigned int)... | 1.0 | -| test.c:460:21:460:22 | 32 | 1.0 | -| test.c:460:21:460:22 | (unsigned int)... | 1.0 | -| test.c:461:7:479:42 | (...) | 2.2622540625E10 | -| test.c:461:8:461:8 | 4 | 1.0 | -| test.c:461:8:461:8 | (unsigned int)... | 1.0 | -| test.c:461:8:461:25 | ... * ... | 2.0 | -| test.c:461:8:462:26 | ... + ... | 4.0 | -| test.c:461:8:463:26 | ... + ... | 8.0 | -| test.c:461:8:468:22 | ... + ... | 1000.0 | -| test.c:461:8:469:37 | ... > ... | 1.0 | -| test.c:461:8:479:41 | ... ? ... : ... | 2.2622540625E10 | -| test.c:461:12:461:25 | (...) | 2.0 | -| test.c:461:13:461:14 | ip | 2.0 | -| test.c:461:13:461:19 | ... * ... | 2.0 | -| test.c:461:13:461:24 | ... + ... | 2.0 | -| test.c:461:18:461:19 | 14 | 1.0 | -| test.c:461:18:461:19 | (unsigned int)... | 1.0 | -| test.c:461:23:461:24 | 32 | 1.0 | -| test.c:461:23:461:24 | (unsigned int)... | 1.0 | -| test.c:462:9:462:26 | (...) | 2.0 | -| test.c:462:10:462:10 | 2 | 1.0 | -| test.c:462:10:462:10 | (unsigned int)... | 1.0 | -| test.c:462:10:462:15 | ... * ... | 2.0 | -| test.c:462:10:462:20 | ... * ... | 2.0 | -| test.c:462:10:462:25 | ... + ... | 2.0 | -| test.c:462:14:462:15 | ip | 2.0 | -| test.c:462:19:462:20 | 14 | 1.0 | -| test.c:462:19:462:20 | (unsigned int)... | 1.0 | -| test.c:462:24:462:25 | 32 | 1.0 | -| test.c:462:24:462:25 | (unsigned int)... | 1.0 | -| test.c:463:9:463:9 | 2 | 1.0 | -| test.c:463:9:463:9 | (unsigned int)... | 1.0 | -| test.c:463:9:463:26 | ... * ... | 2.0 | -| test.c:463:13:463:26 | (...) | 2.0 | -| test.c:463:14:463:15 | ip | 2.0 | -| test.c:463:14:463:20 | ... * ... | 2.0 | -| test.c:463:14:463:25 | ... + ... | 2.0 | -| test.c:463:19:463:20 | 14 | 1.0 | -| test.c:463:19:463:20 | (unsigned int)... | 1.0 | -| test.c:463:24:463:25 | 64 | 1.0 | -| test.c:463:24:463:25 | (unsigned int)... | 1.0 | -| test.c:464:9:468:22 | (...) | 125.0 | -| test.c:464:10:464:21 | (...) | 2.0 | -| test.c:464:10:464:26 | ... * ... | 2.0 | -| test.c:464:10:464:80 | ... > ... | 1.0 | -| test.c:464:10:468:21 | ... ? ... : ... | 125.0 | -| test.c:464:11:464:11 | 2 | 1.0 | -| test.c:464:11:464:11 | (unsigned int)... | 1.0 | -| test.c:464:11:464:16 | ... * ... | 2.0 | -| test.c:464:11:464:20 | ... + ... | 2.0 | -| test.c:464:15:464:16 | ip | 2.0 | -| test.c:464:20:464:20 | 1 | 1.0 | -| test.c:464:20:464:20 | (unsigned int)... | 1.0 | -| test.c:464:25:464:26 | 14 | 1.0 | -| test.c:464:25:464:26 | (unsigned int)... | 1.0 | -| test.c:464:30:464:80 | (...) | 4.0 | -| test.c:464:31:464:32 | 17 | 1.0 | -| test.c:464:31:464:32 | (unsigned int)... | 1.0 | -| test.c:464:31:464:43 | ... * ... | 2.0 | -| test.c:464:31:464:53 | ... > ... | 1.0 | -| test.c:464:31:464:79 | ... ? ... : ... | 4.0 | -| test.c:464:36:464:43 | (...) | 2.0 | -| test.c:464:37:464:37 | 2 | 1.0 | -| test.c:464:37:464:37 | (unsigned int)... | 1.0 | -| test.c:464:37:464:42 | ... * ... | 2.0 | -| test.c:464:41:464:42 | ip | 2.0 | -| test.c:464:47:464:48 | 17 | 1.0 | -| test.c:464:47:464:48 | (unsigned int)... | 1.0 | -| test.c:464:47:464:53 | ... * ... | 2.0 | -| test.c:464:52:464:53 | ip | 2.0 | -| test.c:464:57:464:58 | 17 | 1.0 | -| test.c:464:57:464:58 | (unsigned int)... | 1.0 | -| test.c:464:57:464:69 | ... * ... | 2.0 | -| test.c:464:62:464:69 | (...) | 2.0 | -| test.c:464:63:464:63 | 2 | 1.0 | -| test.c:464:63:464:63 | (unsigned int)... | 1.0 | -| test.c:464:63:464:68 | ... * ... | 2.0 | -| test.c:464:67:464:68 | ip | 2.0 | -| test.c:464:73:464:74 | 17 | 1.0 | -| test.c:464:73:464:74 | (unsigned int)... | 1.0 | -| test.c:464:73:464:79 | ... * ... | 2.0 | -| test.c:464:78:464:79 | ip | 2.0 | -| test.c:465:13:465:24 | (...) | 5.0 | -| test.c:465:13:465:29 | ... * ... | 5.0 | -| test.c:465:14:465:14 | 2 | 1.0 | -| test.c:465:14:465:14 | (unsigned int)... | 1.0 | -| test.c:465:14:465:19 | ... * ... | 5.0 | -| test.c:465:14:465:23 | ... + ... | 5.0 | -| test.c:465:18:465:19 | ip | 5.0 | -| test.c:465:23:465:23 | 1 | 1.0 | -| test.c:465:23:465:23 | (unsigned int)... | 1.0 | -| test.c:465:28:465:29 | 14 | 1.0 | -| test.c:465:28:465:29 | (unsigned int)... | 1.0 | -| test.c:466:13:466:14 | 14 | 1.0 | -| test.c:466:13:466:14 | (unsigned int)... | 1.0 | -| test.c:466:13:466:25 | ... * ... | 5.0 | -| test.c:466:13:466:35 | ... > ... | 1.0 | -| test.c:466:13:468:21 | ... ? ... : ... | 25.0 | -| test.c:466:18:466:25 | (...) | 5.0 | -| test.c:466:19:466:19 | 2 | 1.0 | -| test.c:466:19:466:19 | (unsigned int)... | 1.0 | -| test.c:466:19:466:24 | ... * ... | 5.0 | -| test.c:466:23:466:24 | ip | 5.0 | -| test.c:466:29:466:30 | 17 | 1.0 | -| test.c:466:29:466:30 | (unsigned int)... | 1.0 | -| test.c:466:29:466:35 | ... * ... | 5.0 | -| test.c:466:34:466:35 | ip | 5.0 | -| test.c:467:15:467:16 | 14 | 1.0 | -| test.c:467:15:467:16 | (unsigned int)... | 1.0 | -| test.c:467:15:467:27 | ... * ... | 5.0 | -| test.c:467:20:467:27 | (...) | 5.0 | -| test.c:467:21:467:21 | 2 | 1.0 | -| test.c:467:21:467:21 | (unsigned int)... | 1.0 | -| test.c:467:21:467:26 | ... * ... | 5.0 | -| test.c:467:25:467:26 | ip | 5.0 | -| test.c:468:15:468:16 | 14 | 1.0 | -| test.c:468:15:468:16 | (unsigned int)... | 1.0 | -| test.c:468:15:468:21 | ... * ... | 5.0 | -| test.c:468:20:468:21 | ip | 5.0 | -| test.c:469:7:469:7 | 2 | 1.0 | -| test.c:469:7:469:7 | (unsigned int)... | 1.0 | -| test.c:469:7:469:12 | ... * ... | 15.0 | -| test.c:469:7:469:17 | ... * ... | 15.0 | -| test.c:469:7:469:37 | ... + ... | 225.0 | -| test.c:469:11:469:12 | ip | 15.0 | -| test.c:469:16:469:17 | 14 | 1.0 | -| test.c:469:16:469:17 | (unsigned int)... | 1.0 | -| test.c:469:21:469:32 | (...) | 15.0 | -| test.c:469:21:469:37 | ... * ... | 15.0 | -| test.c:469:22:469:22 | 2 | 1.0 | -| test.c:469:22:469:22 | (unsigned int)... | 1.0 | -| test.c:469:22:469:27 | ... * ... | 15.0 | -| test.c:469:22:469:31 | ... + ... | 15.0 | -| test.c:469:26:469:27 | ip | 15.0 | -| test.c:469:31:469:31 | 1 | 1.0 | -| test.c:469:31:469:31 | (unsigned int)... | 1.0 | -| test.c:469:36:469:37 | 17 | 1.0 | -| test.c:469:36:469:37 | (unsigned int)... | 1.0 | -| test.c:470:11:470:11 | 4 | 1.0 | -| test.c:470:11:470:11 | (unsigned int)... | 1.0 | -| test.c:470:11:470:28 | ... * ... | 15.0 | -| test.c:470:11:471:28 | ... + ... | 225.0 | -| test.c:470:11:472:28 | ... + ... | 3375.0 | -| test.c:470:11:478:24 | ... + ... | 1.00544625E8 | -| test.c:470:15:470:28 | (...) | 15.0 | -| test.c:470:16:470:17 | ip | 15.0 | -| test.c:470:16:470:22 | ... * ... | 15.0 | -| test.c:470:16:470:27 | ... + ... | 15.0 | -| test.c:470:21:470:22 | 14 | 1.0 | -| test.c:470:21:470:22 | (unsigned int)... | 1.0 | -| test.c:470:26:470:27 | 32 | 1.0 | -| test.c:470:26:470:27 | (unsigned int)... | 1.0 | -| test.c:471:11:471:28 | (...) | 15.0 | -| test.c:471:12:471:12 | 2 | 1.0 | -| test.c:471:12:471:12 | (unsigned int)... | 1.0 | -| test.c:471:12:471:17 | ... * ... | 15.0 | -| test.c:471:12:471:22 | ... * ... | 15.0 | -| test.c:471:12:471:27 | ... + ... | 15.0 | -| test.c:471:16:471:17 | ip | 15.0 | -| test.c:471:21:471:22 | 14 | 1.0 | +| test.c:415:34:415:43 | 0.4743882700000000008 | 1.0 | +| test.c:415:47:415:56 | 0.1433388700000000071 | 1.0 | +| test.c:415:60:415:69 | 0.3527920299999999787 | 1.0 | +| test.c:415:73:415:82 | 0.3920645799999999959 | 1.0 | +| test.c:415:86:415:95 | 0.2154022499999999896 | 1.0 | +| test.c:415:99:415:108 | 0.4049680500000000238 | 1.0 | +| test.c:416:14:416:14 | m | 2.0 | +| test.c:416:14:416:108 | ... ? ... : ... | 1.0 | +| test.c:416:18:416:18 | n | 3.0 | +| test.c:416:18:416:95 | ... ? ... : ... | 1.0 | +| test.c:416:22:416:22 | o | 3.0 | +| test.c:416:22:416:82 | ... ? ... : ... | 1.0 | +| test.c:416:26:416:26 | p | 3.0 | +| test.c:416:26:416:69 | ... ? ... : ... | 1.0 | +| test.c:416:30:416:30 | q | 3.0 | +| test.c:416:30:416:56 | ... ? ... : ... | 1.0 | +| test.c:416:34:416:43 | 0.3418334800000000229 | 1.0 | +| test.c:416:47:416:56 | 0.3533464000000000049 | 1.0 | +| test.c:416:60:416:69 | 0.2224785300000000077 | 1.0 | +| test.c:416:73:416:82 | 0.326618929999999974 | 1.0 | +| test.c:416:86:416:95 | 0.5927046500000000551 | 1.0 | +| test.c:416:99:416:108 | 0.5297741000000000255 | 1.0 | +| test.c:417:14:417:14 | m | 4.0 | +| test.c:417:14:417:108 | ... ? ... : ... | 1.0 | +| test.c:417:18:417:18 | n | 9.0 | +| test.c:417:18:417:95 | ... ? ... : ... | 1.0 | +| test.c:417:22:417:22 | o | 9.0 | +| test.c:417:22:417:82 | ... ? ... : ... | 1.0 | +| test.c:417:26:417:26 | p | 9.0 | +| test.c:417:26:417:69 | ... ? ... : ... | 1.0 | +| test.c:417:30:417:30 | q | 9.0 | +| test.c:417:30:417:56 | ... ? ... : ... | 1.0 | +| test.c:417:34:417:43 | 0.774296030000000024 | 1.0 | +| test.c:417:47:417:56 | 0.3147808400000000062 | 1.0 | +| test.c:417:60:417:69 | 0.3123551399999999756 | 1.0 | +| test.c:417:73:417:82 | 0.05121255999999999725 | 1.0 | +| test.c:417:86:417:95 | 0.7931074500000000471 | 1.0 | +| test.c:417:99:417:108 | 0.6798145100000000385 | 1.0 | +| test.c:418:14:418:14 | m | 8.0 | +| test.c:418:14:418:108 | ... ? ... : ... | 1.0 | +| test.c:418:18:418:18 | n | 27.0 | +| test.c:418:18:418:95 | ... ? ... : ... | 1.0 | +| test.c:418:22:418:22 | o | 27.0 | +| test.c:418:22:418:82 | ... ? ... : ... | 1.0 | +| test.c:418:26:418:26 | p | 27.0 | +| test.c:418:26:418:69 | ... ? ... : ... | 1.0 | +| test.c:418:30:418:30 | q | 27.0 | +| test.c:418:30:418:56 | ... ? ... : ... | 1.0 | +| test.c:418:34:418:43 | 0.4472955599999999809 | 1.0 | +| test.c:418:47:418:56 | 0.8059920200000000312 | 1.0 | +| test.c:418:60:418:69 | 0.9899726199999999698 | 1.0 | +| test.c:418:73:418:82 | 0.5995273199999999747 | 1.0 | +| test.c:418:86:418:95 | 0.3697694799999999837 | 1.0 | +| test.c:418:99:418:108 | 0.8386683499999999514 | 1.0 | +| test.c:419:14:419:14 | m | 16.0 | +| test.c:419:14:419:108 | ... ? ... : ... | 1.0 | +| test.c:419:18:419:18 | n | 81.0 | +| test.c:419:18:419:95 | ... ? ... : ... | 1.0 | +| test.c:419:22:419:22 | o | 81.0 | +| test.c:419:22:419:82 | ... ? ... : ... | 1.0 | +| test.c:419:26:419:26 | p | 81.0 | +| test.c:419:26:419:69 | ... ? ... : ... | 1.0 | +| test.c:419:30:419:30 | q | 81.0 | +| test.c:419:30:419:56 | ... ? ... : ... | 1.0 | +| test.c:419:34:419:43 | 0.4931182800000000199 | 1.0 | +| test.c:419:47:419:56 | 0.9038991100000000056 | 1.0 | +| test.c:419:60:419:69 | 0.1059771199999999941 | 1.0 | +| test.c:419:73:419:82 | 0.2177842600000000073 | 1.0 | +| test.c:419:86:419:95 | 0.7248596600000000167 | 1.0 | +| test.c:419:99:419:108 | 0.6873487400000000136 | 1.0 | +| test.c:420:14:420:14 | m | 32.0 | +| test.c:420:14:420:108 | ... ? ... : ... | 1.0 | +| test.c:420:18:420:18 | n | 243.0 | +| test.c:420:18:420:95 | ... ? ... : ... | 1.0 | +| test.c:420:22:420:22 | o | 243.0 | +| test.c:420:22:420:82 | ... ? ... : ... | 1.0 | +| test.c:420:26:420:26 | p | 243.0 | +| test.c:420:26:420:69 | ... ? ... : ... | 1.0 | +| test.c:420:30:420:30 | q | 243.0 | +| test.c:420:30:420:56 | ... ? ... : ... | 1.0 | +| test.c:420:34:420:43 | 0.4745284799999999747 | 1.0 | +| test.c:420:47:420:56 | 0.107866500000000004 | 1.0 | +| test.c:420:60:420:69 | 0.1188457599999999947 | 1.0 | +| test.c:420:73:420:82 | 0.7616405200000000431 | 1.0 | +| test.c:420:86:420:95 | 0.3480889200000000239 | 1.0 | +| test.c:420:99:420:108 | 0.584408649999999974 | 1.0 | +| test.c:421:14:421:14 | m | 64.0 | +| test.c:421:14:421:108 | ... ? ... : ... | 1.0 | +| test.c:421:18:421:18 | n | 729.0 | +| test.c:421:18:421:95 | ... ? ... : ... | 1.0 | +| test.c:421:22:421:22 | o | 729.0 | +| test.c:421:22:421:82 | ... ? ... : ... | 1.0 | +| test.c:421:26:421:26 | p | 729.0 | +| test.c:421:26:421:69 | ... ? ... : ... | 1.0 | +| test.c:421:30:421:30 | q | 729.0 | +| test.c:421:30:421:56 | ... ? ... : ... | 1.0 | +| test.c:421:34:421:43 | 0.02524326 | 1.0 | +| test.c:421:47:421:56 | 0.8290504600000000446 | 1.0 | +| test.c:421:60:421:69 | 0.95823075000000002 | 1.0 | +| test.c:421:73:421:82 | 0.1251655799999999985 | 1.0 | +| test.c:421:86:421:95 | 0.8523517900000000536 | 1.0 | +| test.c:421:99:421:108 | 0.3623238400000000081 | 1.0 | +| test.c:422:14:422:14 | m | 128.0 | +| test.c:422:14:422:108 | ... ? ... : ... | 1.0 | +| test.c:422:18:422:18 | n | 2187.0 | +| test.c:422:18:422:95 | ... ? ... : ... | 1.0 | +| test.c:422:22:422:22 | o | 2187.0 | +| test.c:422:22:422:82 | ... ? ... : ... | 1.0 | +| test.c:422:26:422:26 | p | 2187.0 | +| test.c:422:26:422:69 | ... ? ... : ... | 1.0 | +| test.c:422:30:422:30 | q | 2187.0 | +| test.c:422:30:422:56 | ... ? ... : ... | 1.0 | +| test.c:422:34:422:43 | 0.3870862600000000153 | 1.0 | +| test.c:422:47:422:56 | 0.3287604399999999871 | 1.0 | +| test.c:422:60:422:69 | 0.1496348500000000137 | 1.0 | +| test.c:422:73:422:82 | 0.4504110800000000192 | 1.0 | +| test.c:422:86:422:95 | 0.4864090899999999884 | 1.0 | +| test.c:422:99:422:108 | 0.8433127200000000157 | 1.0 | +| test.c:423:14:423:14 | m | 256.0 | +| test.c:423:14:423:108 | ... ? ... : ... | 1.0 | +| test.c:423:18:423:18 | n | 6561.0 | +| test.c:423:18:423:95 | ... ? ... : ... | 1.0 | +| test.c:423:22:423:22 | o | 6561.0 | +| test.c:423:22:423:82 | ... ? ... : ... | 1.0 | +| test.c:423:26:423:26 | p | 6561.0 | +| test.c:423:26:423:69 | ... ? ... : ... | 1.0 | +| test.c:423:30:423:30 | q | 6561.0 | +| test.c:423:30:423:56 | ... ? ... : ... | 1.0 | +| test.c:423:34:423:43 | 0.1575506299999999971 | 1.0 | +| test.c:423:47:423:56 | 0.7708683299999999905 | 1.0 | +| test.c:423:60:423:69 | 0.2642848099999999811 | 1.0 | +| test.c:423:73:423:82 | 0.1480050800000000111 | 1.0 | +| test.c:423:86:423:95 | 0.374281430000000026 | 1.0 | +| test.c:423:99:423:108 | 0.05328182000000000057 | 1.0 | +| test.c:424:14:424:14 | m | 512.0 | +| test.c:424:14:424:108 | ... ? ... : ... | 1.0 | +| test.c:424:18:424:18 | n | 19683.0 | +| test.c:424:18:424:95 | ... ? ... : ... | 1.0 | +| test.c:424:22:424:22 | o | 19683.0 | +| test.c:424:22:424:82 | ... ? ... : ... | 1.0 | +| test.c:424:26:424:26 | p | 19683.0 | +| test.c:424:26:424:69 | ... ? ... : ... | 1.0 | +| test.c:424:30:424:30 | q | 19683.0 | +| test.c:424:30:424:56 | ... ? ... : ... | 1.0 | +| test.c:424:34:424:43 | 0.4173653600000000186 | 1.0 | +| test.c:424:47:424:56 | 0.7682662799999999681 | 1.0 | +| test.c:424:60:424:69 | 0.2764323799999999776 | 1.0 | +| test.c:424:73:424:82 | 0.5567927400000000082 | 1.0 | +| test.c:424:86:424:95 | 0.3946885700000000163 | 1.0 | +| test.c:424:99:424:108 | 0.6907214400000000198 | 1.0 | +| test.c:425:14:425:14 | m | 1024.0 | +| test.c:425:14:425:108 | ... ? ... : ... | 1.0 | +| test.c:425:18:425:18 | n | 59049.0 | +| test.c:425:18:425:95 | ... ? ... : ... | 1.0 | +| test.c:425:22:425:22 | o | 59049.0 | +| test.c:425:22:425:82 | ... ? ... : ... | 1.0 | +| test.c:425:26:425:26 | p | 59049.0 | +| test.c:425:26:425:69 | ... ? ... : ... | 1.0 | +| test.c:425:30:425:30 | q | 59049.0 | +| test.c:425:30:425:56 | ... ? ... : ... | 1.0 | +| test.c:425:34:425:43 | 0.8895534499999999678 | 1.0 | +| test.c:425:47:425:56 | 0.2990482400000000207 | 1.0 | +| test.c:425:60:425:69 | 0.7624258299999999711 | 1.0 | +| test.c:425:73:425:82 | 0.2051910999999999874 | 1.0 | +| test.c:425:86:425:95 | 0.8874555899999999609 | 1.0 | +| test.c:425:99:425:108 | 0.8137279800000000174 | 1.0 | +| test.c:426:14:426:14 | m | 2048.0 | +| test.c:426:14:426:108 | ... ? ... : ... | 1.0 | +| test.c:426:18:426:18 | n | 177147.0 | +| test.c:426:18:426:95 | ... ? ... : ... | 1.0 | +| test.c:426:22:426:22 | o | 177147.0 | +| test.c:426:22:426:82 | ... ? ... : ... | 1.0 | +| test.c:426:26:426:26 | p | 177147.0 | +| test.c:426:26:426:69 | ... ? ... : ... | 1.0 | +| test.c:426:30:426:30 | q | 177147.0 | +| test.c:426:30:426:56 | ... ? ... : ... | 1.0 | +| test.c:426:34:426:43 | 0.4218627600000000033 | 1.0 | +| test.c:426:47:426:56 | 0.5384335799999999672 | 1.0 | +| test.c:426:60:426:69 | 0.4499667900000000054 | 1.0 | +| test.c:426:73:426:82 | 0.1320411400000000013 | 1.0 | +| test.c:426:86:426:95 | 0.5203124099999999475 | 1.0 | +| test.c:426:99:426:108 | 0.4276264699999999808 | 1.0 | +| test.c:432:19:432:19 | a | 1.0 | +| test.c:432:19:432:23 | ... + ... | 1.0 | +| test.c:432:19:432:27 | ... + ... | 1.0 | +| test.c:432:19:432:31 | ... + ... | 1.0 | +| test.c:432:19:432:35 | ... + ... | 1.0 | +| test.c:432:19:432:39 | ... + ... | 1.0 | +| test.c:432:19:432:43 | ... + ... | 1.0 | +| test.c:432:19:432:47 | ... + ... | 1.0 | +| test.c:432:19:432:51 | ... + ... | 1.0 | +| test.c:432:19:432:55 | ... + ... | 1.0 | +| test.c:432:19:432:59 | ... + ... | 1.0 | +| test.c:432:19:432:63 | ... + ... | 1.0 | +| test.c:432:23:432:23 | b | 1.0 | +| test.c:432:27:432:27 | c | 1.0 | +| test.c:432:31:432:31 | d | 1.0 | +| test.c:432:35:432:35 | e | 1.0 | +| test.c:432:39:432:39 | f | 1.0 | +| test.c:432:43:432:43 | g | 1.0 | +| test.c:432:47:432:47 | h | 1.0 | +| test.c:432:51:432:51 | i | 1.0 | +| test.c:432:55:432:55 | j | 1.0 | +| test.c:432:59:432:59 | k | 1.0 | +| test.c:432:63:432:63 | l | 1.0 | +| test.c:434:10:434:15 | output | 1.0 | +| test.c:441:7:441:9 | rhs | 1.0 | +| test.c:441:7:441:14 | ... < ... | 1.0 | +| test.c:441:13:441:14 | 12 | 1.0 | +| test.c:441:13:441:14 | (unsigned int)... | 1.0 | +| test.c:441:19:441:21 | rhs | 1.0 | +| test.c:441:19:441:26 | ... << ... | 1.0 | +| test.c:441:26:441:26 | 1 | 1.0 | +| test.c:442:7:442:9 | rhs | 2.0 | +| test.c:442:7:442:14 | ... < ... | 1.0 | +| test.c:442:13:442:14 | 13 | 1.0 | +| test.c:442:13:442:14 | (unsigned int)... | 1.0 | +| test.c:442:19:442:21 | rhs | 2.0 | +| test.c:442:19:442:26 | ... << ... | 1.0 | +| test.c:442:26:442:26 | 1 | 1.0 | +| test.c:443:7:443:9 | rhs | 3.0 | +| test.c:443:7:443:14 | ... < ... | 1.0 | +| test.c:443:13:443:14 | 14 | 1.0 | +| test.c:443:13:443:14 | (unsigned int)... | 1.0 | +| test.c:443:19:443:21 | rhs | 3.0 | +| test.c:443:19:443:26 | ... << ... | 1.0 | +| test.c:443:26:443:26 | 1 | 1.0 | +| test.c:444:7:444:9 | rhs | 4.0 | +| test.c:444:7:444:14 | ... < ... | 1.0 | +| test.c:444:13:444:14 | 15 | 1.0 | +| test.c:444:13:444:14 | (unsigned int)... | 1.0 | +| test.c:444:19:444:21 | rhs | 4.0 | +| test.c:444:19:444:26 | ... << ... | 1.0 | +| test.c:444:26:444:26 | 1 | 1.0 | +| test.c:445:7:445:9 | rhs | 5.0 | +| test.c:445:7:445:14 | ... < ... | 1.0 | +| test.c:445:13:445:14 | 16 | 1.0 | +| test.c:445:13:445:14 | (unsigned int)... | 1.0 | +| test.c:445:19:445:21 | rhs | 5.0 | +| test.c:445:19:445:26 | ... << ... | 1.0 | +| test.c:445:26:445:26 | 1 | 1.0 | +| test.c:446:10:446:12 | (int)... | 6.0 | +| test.c:446:10:446:12 | rhs | 6.0 | +| test.c:450:7:450:7 | a | 1.0 | +| test.c:450:7:450:13 | ... == ... | 1.0 | +| test.c:450:12:450:13 | 17 | 1.0 | +| test.c:451:9:451:9 | b | 1.0 | +| test.c:451:9:451:15 | ... == ... | 1.0 | +| test.c:451:14:451:15 | 23 | 1.0 | +| test.c:452:7:452:7 | a | 1.0 | +| test.c:452:7:452:12 | ... += ... | 1.0 | +| test.c:452:12:452:12 | b | 1.0 | +| test.c:454:9:454:9 | a | 2.0 | +| test.c:454:9:454:15 | ... == ... | 1.0 | +| test.c:454:14:454:15 | 18 | 1.0 | +| test.c:455:7:455:7 | b | 1.0 | +| test.c:455:7:455:12 | ... = ... | 1.0 | +| test.c:455:11:455:12 | 10 | 1.0 | +| test.c:460:11:460:11 | a | 4.0 | +| test.c:460:11:460:15 | ... + ... | 16.0 | +| test.c:460:15:460:15 | b | 4.0 | +| test.c:461:10:461:10 | a | 4.0 | +| test.c:461:10:461:14 | ... + ... | 16.0 | +| test.c:461:14:461:14 | b | 4.0 | +| test.c:468:4:470:50 | (...) | 1.0 | +| test.c:468:4:553:26 | ... > ... | 1.0 | +| test.c:468:4:642:27 | ... ? ... : ... | 1.297918419127476E201 | +| test.c:468:5:468:6 | 14 | 1.0 | +| test.c:468:5:468:6 | (unsigned int)... | 1.0 | +| test.c:468:5:468:11 | ... * ... | 1.0 | +| test.c:468:5:468:55 | ... > ... | 1.0 | +| test.c:468:5:470:49 | ... ? ... : ... | 1.0 | +| test.c:468:10:468:11 | ip | 1.0 | +| test.c:468:15:468:26 | (...) | 1.0 | +| test.c:468:15:468:31 | ... * ... | 1.0 | +| test.c:468:15:468:55 | ... + ... | 1.0 | +| test.c:468:16:468:16 | 2 | 1.0 | +| test.c:468:16:468:16 | (unsigned int)... | 1.0 | +| test.c:468:16:468:21 | ... * ... | 1.0 | +| test.c:468:16:468:25 | ... + ... | 1.0 | +| test.c:468:20:468:21 | ip | 1.0 | +| test.c:468:25:468:25 | 1 | 1.0 | +| test.c:468:25:468:25 | (unsigned int)... | 1.0 | +| test.c:468:30:468:31 | 17 | 1.0 | +| test.c:468:30:468:31 | (unsigned int)... | 1.0 | +| test.c:468:35:468:50 | (...) | 1.0 | +| test.c:468:35:468:55 | ... * ... | 1.0 | +| test.c:468:36:468:36 | 2 | 1.0 | +| test.c:468:36:468:36 | (unsigned int)... | 1.0 | +| test.c:468:36:468:41 | ... * ... | 1.0 | +| test.c:468:36:468:45 | ... + ... | 1.0 | +| test.c:468:36:468:49 | ... + ... | 1.0 | +| test.c:468:40:468:41 | ip | 1.0 | +| test.c:468:45:468:45 | 1 | 1.0 | +| test.c:468:45:468:45 | (unsigned int)... | 1.0 | +| test.c:468:49:468:49 | 1 | 1.0 | +| test.c:468:49:468:49 | (unsigned int)... | 1.0 | +| test.c:468:54:468:55 | 17 | 1.0 | +| test.c:468:54:468:55 | (unsigned int)... | 1.0 | +| test.c:469:9:469:10 | 14 | 1.0 | +| test.c:469:9:469:10 | (unsigned int)... | 1.0 | +| test.c:469:9:469:15 | ... * ... | 1.0 | +| test.c:469:14:469:15 | ip | 1.0 | +| test.c:470:9:470:20 | (...) | 1.0 | +| test.c:470:9:470:25 | ... * ... | 1.0 | +| test.c:470:9:470:49 | ... + ... | 1.0 | +| test.c:470:10:470:10 | 2 | 1.0 | +| test.c:470:10:470:10 | (unsigned int)... | 1.0 | +| test.c:470:10:470:15 | ... * ... | 1.0 | +| test.c:470:10:470:19 | ... + ... | 1.0 | +| test.c:470:14:470:15 | ip | 1.0 | +| test.c:470:19:470:19 | 1 | 1.0 | +| test.c:470:19:470:19 | (unsigned int)... | 1.0 | +| test.c:470:24:470:25 | 14 | 1.0 | +| test.c:470:24:470:25 | (unsigned int)... | 1.0 | +| test.c:470:29:470:44 | (...) | 1.0 | +| test.c:470:29:470:49 | ... * ... | 1.0 | +| test.c:470:30:470:30 | 2 | 1.0 | +| test.c:470:30:470:30 | (unsigned int)... | 1.0 | +| test.c:470:30:470:35 | ... * ... | 1.0 | +| test.c:470:30:470:39 | ... + ... | 1.0 | +| test.c:470:30:470:43 | ... + ... | 1.0 | +| test.c:470:34:470:35 | ip | 1.0 | +| test.c:470:39:470:39 | 1 | 1.0 | +| test.c:470:39:470:39 | (unsigned int)... | 1.0 | +| test.c:470:43:470:43 | 1 | 1.0 | +| test.c:470:43:470:43 | (unsigned int)... | 1.0 | +| test.c:470:48:470:49 | 17 | 1.0 | +| test.c:470:48:470:49 | (unsigned int)... | 1.0 | +| test.c:471:5:553:26 | (...) | 9.29462083211502E84 | +| test.c:471:6:471:6 | 2 | 1.0 | +| test.c:471:6:471:6 | (unsigned int)... | 1.0 | +| test.c:471:6:471:23 | ... * ... | 2.0 | +| test.c:471:6:490:42 | ... + ... | 4.524508125E10 | +| test.c:471:6:510:24 | ... > ... | 1.0 | +| test.c:471:6:553:25 | ... ? ... : ... | 9.29462083211502E84 | +| test.c:471:10:471:23 | (...) | 2.0 | +| test.c:471:11:471:12 | ip | 2.0 | +| test.c:471:11:471:17 | ... * ... | 2.0 | +| test.c:471:11:471:22 | ... + ... | 2.0 | +| test.c:471:16:471:17 | 14 | 1.0 | +| test.c:471:16:471:17 | (unsigned int)... | 1.0 | +| test.c:471:21:471:22 | 32 | 1.0 | | test.c:471:21:471:22 | (unsigned int)... | 1.0 | -| test.c:471:26:471:27 | 32 | 1.0 | -| test.c:471:26:471:27 | (unsigned int)... | 1.0 | -| test.c:472:11:472:11 | 2 | 1.0 | -| test.c:472:11:472:11 | (unsigned int)... | 1.0 | -| test.c:472:11:472:28 | ... * ... | 15.0 | -| test.c:472:15:472:28 | (...) | 15.0 | -| test.c:472:16:472:17 | ip | 15.0 | -| test.c:472:16:472:22 | ... * ... | 15.0 | -| test.c:472:16:472:27 | ... + ... | 15.0 | -| test.c:472:21:472:22 | 14 | 1.0 | -| test.c:472:21:472:22 | (unsigned int)... | 1.0 | -| test.c:472:26:472:27 | 64 | 1.0 | -| test.c:472:26:472:27 | (unsigned int)... | 1.0 | -| test.c:473:11:478:24 | (...) | 29791.0 | -| test.c:473:12:473:23 | (...) | 15.0 | -| test.c:473:12:473:28 | ... * ... | 15.0 | -| test.c:473:12:474:61 | ... > ... | 1.0 | -| test.c:473:12:478:23 | ... ? ... : ... | 29791.0 | -| test.c:473:13:473:13 | 2 | 1.0 | -| test.c:473:13:473:13 | (unsigned int)... | 1.0 | -| test.c:473:13:473:18 | ... * ... | 15.0 | -| test.c:473:13:473:22 | ... + ... | 15.0 | -| test.c:473:17:473:18 | ip | 15.0 | -| test.c:473:22:473:22 | 1 | 1.0 | -| test.c:473:22:473:22 | (unsigned int)... | 1.0 | -| test.c:473:27:473:28 | 14 | 1.0 | -| test.c:473:27:473:28 | (unsigned int)... | 1.0 | -| test.c:474:11:474:61 | (...) | 225.0 | -| test.c:474:12:474:13 | 14 | 1.0 | -| test.c:474:12:474:13 | (unsigned int)... | 1.0 | -| test.c:474:12:474:24 | ... * ... | 15.0 | -| test.c:474:12:474:34 | ... > ... | 1.0 | -| test.c:474:12:474:60 | ... ? ... : ... | 225.0 | -| test.c:474:17:474:24 | (...) | 15.0 | -| test.c:474:18:474:18 | 2 | 1.0 | -| test.c:474:18:474:18 | (unsigned int)... | 1.0 | -| test.c:474:18:474:23 | ... * ... | 15.0 | -| test.c:474:22:474:23 | ip | 15.0 | -| test.c:474:28:474:29 | 17 | 1.0 | -| test.c:474:28:474:29 | (unsigned int)... | 1.0 | -| test.c:474:28:474:34 | ... * ... | 15.0 | -| test.c:474:33:474:34 | ip | 15.0 | -| test.c:474:38:474:39 | 17 | 1.0 | -| test.c:474:38:474:39 | (unsigned int)... | 1.0 | -| test.c:474:38:474:50 | ... * ... | 15.0 | -| test.c:474:43:474:50 | (...) | 15.0 | -| test.c:474:44:474:44 | 2 | 1.0 | -| test.c:474:44:474:44 | (unsigned int)... | 1.0 | -| test.c:474:44:474:49 | ... * ... | 15.0 | -| test.c:474:48:474:49 | ip | 15.0 | -| test.c:474:54:474:55 | 17 | 1.0 | -| test.c:474:54:474:55 | (unsigned int)... | 1.0 | -| test.c:474:54:474:60 | ... * ... | 15.0 | -| test.c:474:59:474:60 | ip | 15.0 | -| test.c:475:15:475:26 | (...) | 31.0 | -| test.c:475:15:475:31 | ... * ... | 31.0 | -| test.c:475:16:475:16 | 2 | 1.0 | -| test.c:475:16:475:16 | (unsigned int)... | 1.0 | -| test.c:475:16:475:21 | ... * ... | 31.0 | -| test.c:475:16:475:25 | ... + ... | 31.0 | -| test.c:475:20:475:21 | ip | 31.0 | -| test.c:475:25:475:25 | 1 | 1.0 | -| test.c:475:25:475:25 | (unsigned int)... | 1.0 | -| test.c:475:30:475:31 | 14 | 1.0 | -| test.c:475:30:475:31 | (unsigned int)... | 1.0 | -| test.c:476:15:476:16 | 14 | 1.0 | -| test.c:476:15:476:16 | (unsigned int)... | 1.0 | -| test.c:476:15:476:27 | ... * ... | 31.0 | -| test.c:476:15:476:37 | ... > ... | 1.0 | -| test.c:476:15:478:23 | ... ? ... : ... | 961.0 | -| test.c:476:20:476:27 | (...) | 31.0 | -| test.c:476:21:476:21 | 2 | 1.0 | -| test.c:476:21:476:21 | (unsigned int)... | 1.0 | -| test.c:476:21:476:26 | ... * ... | 31.0 | -| test.c:476:25:476:26 | ip | 31.0 | -| test.c:476:31:476:32 | 17 | 1.0 | -| test.c:476:31:476:32 | (unsigned int)... | 1.0 | -| test.c:476:31:476:37 | ... * ... | 31.0 | -| test.c:476:36:476:37 | ip | 31.0 | -| test.c:477:17:477:18 | 14 | 1.0 | -| test.c:477:17:477:18 | (unsigned int)... | 1.0 | -| test.c:477:17:477:29 | ... * ... | 31.0 | -| test.c:477:22:477:29 | (...) | 31.0 | -| test.c:477:23:477:23 | 2 | 1.0 | -| test.c:477:23:477:23 | (unsigned int)... | 1.0 | -| test.c:477:23:477:28 | ... * ... | 31.0 | -| test.c:477:27:477:28 | ip | 31.0 | -| test.c:478:17:478:18 | 14 | 1.0 | -| test.c:478:17:478:18 | (unsigned int)... | 1.0 | -| test.c:478:17:478:23 | ... * ... | 31.0 | -| test.c:478:22:478:23 | ip | 31.0 | -| test.c:479:11:479:11 | 2 | 1.0 | -| test.c:479:11:479:11 | (unsigned int)... | 1.0 | -| test.c:479:11:479:16 | ... * ... | 15.0 | -| test.c:479:11:479:21 | ... * ... | 15.0 | -| test.c:479:11:479:41 | ... + ... | 225.0 | -| test.c:479:15:479:16 | ip | 15.0 | -| test.c:479:20:479:21 | 14 | 1.0 | -| test.c:479:20:479:21 | (unsigned int)... | 1.0 | -| test.c:479:25:479:36 | (...) | 15.0 | -| test.c:479:25:479:41 | ... * ... | 15.0 | -| test.c:479:26:479:26 | 2 | 1.0 | -| test.c:479:26:479:26 | (unsigned int)... | 1.0 | -| test.c:479:26:479:31 | ... * ... | 15.0 | -| test.c:479:26:479:35 | ... + ... | 15.0 | -| test.c:479:30:479:31 | ip | 15.0 | -| test.c:479:35:479:35 | 1 | 1.0 | -| test.c:479:35:479:35 | (unsigned int)... | 1.0 | -| test.c:479:40:479:41 | 17 | 1.0 | -| test.c:479:40:479:41 | (unsigned int)... | 1.0 | -| test.c:480:5:499:24 | (...) | 6.6142118960740864E25 | -| test.c:480:6:480:6 | 4 | 1.0 | -| test.c:480:6:480:6 | (unsigned int)... | 1.0 | -| test.c:480:6:480:23 | ... * ... | 108.0 | -| test.c:480:6:481:24 | ... + ... | 11664.0 | -| test.c:480:6:482:24 | ... + ... | 1259712.0 | -| test.c:480:6:487:20 | ... + ... | 1.2872131505856E13 | -| test.c:480:6:488:55 | ... > ... | 1.0 | -| test.c:480:6:499:23 | ... ? ... : ... | 6.6142118960740864E25 | -| test.c:480:10:480:23 | (...) | 108.0 | -| test.c:480:11:480:12 | ip | 108.0 | -| test.c:480:11:480:17 | ... * ... | 108.0 | -| test.c:480:11:480:22 | ... + ... | 108.0 | +| test.c:472:7:490:42 | (...) | 2.2622540625E10 | +| test.c:472:8:472:8 | 4 | 1.0 | +| test.c:472:8:472:8 | (unsigned int)... | 1.0 | +| test.c:472:8:472:25 | ... * ... | 2.0 | +| test.c:472:8:473:26 | ... + ... | 4.0 | +| test.c:472:8:474:26 | ... + ... | 8.0 | +| test.c:472:8:479:22 | ... + ... | 1000.0 | +| test.c:472:8:480:37 | ... > ... | 1.0 | +| test.c:472:8:490:41 | ... ? ... : ... | 2.2622540625E10 | +| test.c:472:12:472:25 | (...) | 2.0 | +| test.c:472:13:472:14 | ip | 2.0 | +| test.c:472:13:472:19 | ... * ... | 2.0 | +| test.c:472:13:472:24 | ... + ... | 2.0 | +| test.c:472:18:472:19 | 14 | 1.0 | +| test.c:472:18:472:19 | (unsigned int)... | 1.0 | +| test.c:472:23:472:24 | 32 | 1.0 | +| test.c:472:23:472:24 | (unsigned int)... | 1.0 | +| test.c:473:9:473:26 | (...) | 2.0 | +| test.c:473:10:473:10 | 2 | 1.0 | +| test.c:473:10:473:10 | (unsigned int)... | 1.0 | +| test.c:473:10:473:15 | ... * ... | 2.0 | +| test.c:473:10:473:20 | ... * ... | 2.0 | +| test.c:473:10:473:25 | ... + ... | 2.0 | +| test.c:473:14:473:15 | ip | 2.0 | +| test.c:473:19:473:20 | 14 | 1.0 | +| test.c:473:19:473:20 | (unsigned int)... | 1.0 | +| test.c:473:24:473:25 | 32 | 1.0 | +| test.c:473:24:473:25 | (unsigned int)... | 1.0 | +| test.c:474:9:474:9 | 2 | 1.0 | +| test.c:474:9:474:9 | (unsigned int)... | 1.0 | +| test.c:474:9:474:26 | ... * ... | 2.0 | +| test.c:474:13:474:26 | (...) | 2.0 | +| test.c:474:14:474:15 | ip | 2.0 | +| test.c:474:14:474:20 | ... * ... | 2.0 | +| test.c:474:14:474:25 | ... + ... | 2.0 | +| test.c:474:19:474:20 | 14 | 1.0 | +| test.c:474:19:474:20 | (unsigned int)... | 1.0 | +| test.c:474:24:474:25 | 64 | 1.0 | +| test.c:474:24:474:25 | (unsigned int)... | 1.0 | +| test.c:475:9:479:22 | (...) | 125.0 | +| test.c:475:10:475:21 | (...) | 2.0 | +| test.c:475:10:475:26 | ... * ... | 2.0 | +| test.c:475:10:475:80 | ... > ... | 1.0 | +| test.c:475:10:479:21 | ... ? ... : ... | 125.0 | +| test.c:475:11:475:11 | 2 | 1.0 | +| test.c:475:11:475:11 | (unsigned int)... | 1.0 | +| test.c:475:11:475:16 | ... * ... | 2.0 | +| test.c:475:11:475:20 | ... + ... | 2.0 | +| test.c:475:15:475:16 | ip | 2.0 | +| test.c:475:20:475:20 | 1 | 1.0 | +| test.c:475:20:475:20 | (unsigned int)... | 1.0 | +| test.c:475:25:475:26 | 14 | 1.0 | +| test.c:475:25:475:26 | (unsigned int)... | 1.0 | +| test.c:475:30:475:80 | (...) | 4.0 | +| test.c:475:31:475:32 | 17 | 1.0 | +| test.c:475:31:475:32 | (unsigned int)... | 1.0 | +| test.c:475:31:475:43 | ... * ... | 2.0 | +| test.c:475:31:475:53 | ... > ... | 1.0 | +| test.c:475:31:475:79 | ... ? ... : ... | 4.0 | +| test.c:475:36:475:43 | (...) | 2.0 | +| test.c:475:37:475:37 | 2 | 1.0 | +| test.c:475:37:475:37 | (unsigned int)... | 1.0 | +| test.c:475:37:475:42 | ... * ... | 2.0 | +| test.c:475:41:475:42 | ip | 2.0 | +| test.c:475:47:475:48 | 17 | 1.0 | +| test.c:475:47:475:48 | (unsigned int)... | 1.0 | +| test.c:475:47:475:53 | ... * ... | 2.0 | +| test.c:475:52:475:53 | ip | 2.0 | +| test.c:475:57:475:58 | 17 | 1.0 | +| test.c:475:57:475:58 | (unsigned int)... | 1.0 | +| test.c:475:57:475:69 | ... * ... | 2.0 | +| test.c:475:62:475:69 | (...) | 2.0 | +| test.c:475:63:475:63 | 2 | 1.0 | +| test.c:475:63:475:63 | (unsigned int)... | 1.0 | +| test.c:475:63:475:68 | ... * ... | 2.0 | +| test.c:475:67:475:68 | ip | 2.0 | +| test.c:475:73:475:74 | 17 | 1.0 | +| test.c:475:73:475:74 | (unsigned int)... | 1.0 | +| test.c:475:73:475:79 | ... * ... | 2.0 | +| test.c:475:78:475:79 | ip | 2.0 | +| test.c:476:13:476:24 | (...) | 5.0 | +| test.c:476:13:476:29 | ... * ... | 5.0 | +| test.c:476:14:476:14 | 2 | 1.0 | +| test.c:476:14:476:14 | (unsigned int)... | 1.0 | +| test.c:476:14:476:19 | ... * ... | 5.0 | +| test.c:476:14:476:23 | ... + ... | 5.0 | +| test.c:476:18:476:19 | ip | 5.0 | +| test.c:476:23:476:23 | 1 | 1.0 | +| test.c:476:23:476:23 | (unsigned int)... | 1.0 | +| test.c:476:28:476:29 | 14 | 1.0 | +| test.c:476:28:476:29 | (unsigned int)... | 1.0 | +| test.c:477:13:477:14 | 14 | 1.0 | +| test.c:477:13:477:14 | (unsigned int)... | 1.0 | +| test.c:477:13:477:25 | ... * ... | 5.0 | +| test.c:477:13:477:35 | ... > ... | 1.0 | +| test.c:477:13:479:21 | ... ? ... : ... | 25.0 | +| test.c:477:18:477:25 | (...) | 5.0 | +| test.c:477:19:477:19 | 2 | 1.0 | +| test.c:477:19:477:19 | (unsigned int)... | 1.0 | +| test.c:477:19:477:24 | ... * ... | 5.0 | +| test.c:477:23:477:24 | ip | 5.0 | +| test.c:477:29:477:30 | 17 | 1.0 | +| test.c:477:29:477:30 | (unsigned int)... | 1.0 | +| test.c:477:29:477:35 | ... * ... | 5.0 | +| test.c:477:34:477:35 | ip | 5.0 | +| test.c:478:15:478:16 | 14 | 1.0 | +| test.c:478:15:478:16 | (unsigned int)... | 1.0 | +| test.c:478:15:478:27 | ... * ... | 5.0 | +| test.c:478:20:478:27 | (...) | 5.0 | +| test.c:478:21:478:21 | 2 | 1.0 | +| test.c:478:21:478:21 | (unsigned int)... | 1.0 | +| test.c:478:21:478:26 | ... * ... | 5.0 | +| test.c:478:25:478:26 | ip | 5.0 | +| test.c:479:15:479:16 | 14 | 1.0 | +| test.c:479:15:479:16 | (unsigned int)... | 1.0 | +| test.c:479:15:479:21 | ... * ... | 5.0 | +| test.c:479:20:479:21 | ip | 5.0 | +| test.c:480:7:480:7 | 2 | 1.0 | +| test.c:480:7:480:7 | (unsigned int)... | 1.0 | +| test.c:480:7:480:12 | ... * ... | 15.0 | +| test.c:480:7:480:17 | ... * ... | 15.0 | +| test.c:480:7:480:37 | ... + ... | 225.0 | +| test.c:480:11:480:12 | ip | 15.0 | | test.c:480:16:480:17 | 14 | 1.0 | | test.c:480:16:480:17 | (unsigned int)... | 1.0 | -| test.c:480:21:480:22 | 32 | 1.0 | -| test.c:480:21:480:22 | (unsigned int)... | 1.0 | -| test.c:481:7:481:24 | (...) | 108.0 | -| test.c:481:8:481:8 | 2 | 1.0 | -| test.c:481:8:481:8 | (unsigned int)... | 1.0 | -| test.c:481:8:481:13 | ... * ... | 108.0 | -| test.c:481:8:481:18 | ... * ... | 108.0 | -| test.c:481:8:481:23 | ... + ... | 108.0 | -| test.c:481:12:481:13 | ip | 108.0 | -| test.c:481:17:481:18 | 14 | 1.0 | -| test.c:481:17:481:18 | (unsigned int)... | 1.0 | -| test.c:481:22:481:23 | 32 | 1.0 | -| test.c:481:22:481:23 | (unsigned int)... | 1.0 | -| test.c:482:7:482:7 | 2 | 1.0 | -| test.c:482:7:482:7 | (unsigned int)... | 1.0 | -| test.c:482:7:482:24 | ... * ... | 108.0 | -| test.c:482:11:482:24 | (...) | 108.0 | -| test.c:482:12:482:13 | ip | 108.0 | -| test.c:482:12:482:18 | ... * ... | 108.0 | -| test.c:482:12:482:23 | ... + ... | 108.0 | -| test.c:482:17:482:18 | 14 | 1.0 | -| test.c:482:17:482:18 | (unsigned int)... | 1.0 | -| test.c:482:22:482:23 | 64 | 1.0 | -| test.c:482:22:482:23 | (unsigned int)... | 1.0 | -| test.c:483:7:487:20 | (...) | 1.0218313E7 | -| test.c:483:8:483:19 | (...) | 108.0 | -| test.c:483:8:483:24 | ... * ... | 108.0 | -| test.c:483:8:483:78 | ... > ... | 1.0 | -| test.c:483:8:487:19 | ... ? ... : ... | 1.0218313E7 | -| test.c:483:9:483:9 | 2 | 1.0 | -| test.c:483:9:483:9 | (unsigned int)... | 1.0 | -| test.c:483:9:483:14 | ... * ... | 108.0 | -| test.c:483:9:483:18 | ... + ... | 108.0 | -| test.c:483:13:483:14 | ip | 108.0 | -| test.c:483:18:483:18 | 1 | 1.0 | -| test.c:483:18:483:18 | (unsigned int)... | 1.0 | -| test.c:483:23:483:24 | 14 | 1.0 | -| test.c:483:23:483:24 | (unsigned int)... | 1.0 | -| test.c:483:28:483:78 | (...) | 11664.0 | -| test.c:483:29:483:30 | 17 | 1.0 | -| test.c:483:29:483:30 | (unsigned int)... | 1.0 | -| test.c:483:29:483:41 | ... * ... | 108.0 | -| test.c:483:29:483:51 | ... > ... | 1.0 | -| test.c:483:29:483:77 | ... ? ... : ... | 11664.0 | -| test.c:483:34:483:41 | (...) | 108.0 | -| test.c:483:35:483:35 | 2 | 1.0 | -| test.c:483:35:483:35 | (unsigned int)... | 1.0 | -| test.c:483:35:483:40 | ... * ... | 108.0 | -| test.c:483:39:483:40 | ip | 108.0 | -| test.c:483:45:483:46 | 17 | 1.0 | -| test.c:483:45:483:46 | (unsigned int)... | 1.0 | -| test.c:483:45:483:51 | ... * ... | 108.0 | -| test.c:483:50:483:51 | ip | 108.0 | -| test.c:483:55:483:56 | 17 | 1.0 | -| test.c:483:55:483:56 | (unsigned int)... | 1.0 | -| test.c:483:55:483:67 | ... * ... | 108.0 | -| test.c:483:60:483:67 | (...) | 108.0 | -| test.c:483:61:483:61 | 2 | 1.0 | -| test.c:483:61:483:61 | (unsigned int)... | 1.0 | -| test.c:483:61:483:66 | ... * ... | 108.0 | -| test.c:483:65:483:66 | ip | 108.0 | -| test.c:483:71:483:72 | 17 | 1.0 | -| test.c:483:71:483:72 | (unsigned int)... | 1.0 | -| test.c:483:71:483:77 | ... * ... | 108.0 | -| test.c:483:76:483:77 | ip | 108.0 | -| test.c:484:11:484:22 | (...) | 217.0 | -| test.c:484:11:484:27 | ... * ... | 217.0 | -| test.c:484:12:484:12 | 2 | 1.0 | -| test.c:484:12:484:12 | (unsigned int)... | 1.0 | -| test.c:484:12:484:17 | ... * ... | 217.0 | -| test.c:484:12:484:21 | ... + ... | 217.0 | -| test.c:484:16:484:17 | ip | 217.0 | -| test.c:484:21:484:21 | 1 | 1.0 | -| test.c:484:21:484:21 | (unsigned int)... | 1.0 | -| test.c:484:26:484:27 | 14 | 1.0 | -| test.c:484:26:484:27 | (unsigned int)... | 1.0 | -| test.c:485:11:485:12 | 14 | 1.0 | -| test.c:485:11:485:12 | (unsigned int)... | 1.0 | -| test.c:485:11:485:23 | ... * ... | 217.0 | -| test.c:485:11:485:33 | ... > ... | 1.0 | -| test.c:485:11:487:19 | ... ? ... : ... | 47089.0 | -| test.c:485:16:485:23 | (...) | 217.0 | -| test.c:485:17:485:17 | 2 | 1.0 | -| test.c:485:17:485:17 | (unsigned int)... | 1.0 | -| test.c:485:17:485:22 | ... * ... | 217.0 | -| test.c:485:21:485:22 | ip | 217.0 | -| test.c:485:27:485:28 | 17 | 1.0 | -| test.c:485:27:485:28 | (unsigned int)... | 1.0 | -| test.c:485:27:485:33 | ... * ... | 217.0 | -| test.c:485:32:485:33 | ip | 217.0 | -| test.c:486:13:486:14 | 14 | 1.0 | -| test.c:486:13:486:14 | (unsigned int)... | 1.0 | -| test.c:486:13:486:25 | ... * ... | 217.0 | -| test.c:486:18:486:25 | (...) | 217.0 | -| test.c:486:19:486:19 | 2 | 1.0 | -| test.c:486:19:486:19 | (unsigned int)... | 1.0 | -| test.c:486:19:486:24 | ... * ... | 217.0 | -| test.c:486:23:486:24 | ip | 217.0 | -| test.c:487:13:487:14 | 14 | 1.0 | -| test.c:487:13:487:14 | (unsigned int)... | 1.0 | -| test.c:487:13:487:19 | ... * ... | 217.0 | -| test.c:487:18:487:19 | ip | 217.0 | -| test.c:488:5:488:55 | (...) | 423801.0 | -| test.c:488:6:488:7 | 14 | 1.0 | -| test.c:488:6:488:7 | (unsigned int)... | 1.0 | -| test.c:488:6:488:12 | ... * ... | 651.0 | -| test.c:488:6:488:28 | ... > ... | 1.0 | -| test.c:488:6:488:54 | ... ? ... : ... | 423801.0 | -| test.c:488:11:488:12 | ip | 651.0 | -| test.c:488:16:488:23 | (...) | 651.0 | -| test.c:488:16:488:28 | ... * ... | 651.0 | -| test.c:488:17:488:18 | ip | 651.0 | -| test.c:488:17:488:22 | ... + ... | 651.0 | -| test.c:488:22:488:22 | 1 | 1.0 | -| test.c:488:22:488:22 | (unsigned int)... | 1.0 | -| test.c:488:27:488:28 | 17 | 1.0 | -| test.c:488:27:488:28 | (unsigned int)... | 1.0 | -| test.c:488:32:488:33 | 17 | 1.0 | -| test.c:488:32:488:33 | (unsigned int)... | 1.0 | -| test.c:488:32:488:38 | ... * ... | 651.0 | -| test.c:488:37:488:38 | ip | 651.0 | -| test.c:488:42:488:49 | (...) | 651.0 | -| test.c:488:42:488:54 | ... * ... | 651.0 | -| test.c:488:43:488:44 | ip | 651.0 | -| test.c:488:43:488:48 | ... + ... | 651.0 | -| test.c:488:48:488:48 | 1 | 1.0 | -| test.c:488:48:488:48 | (unsigned int)... | 1.0 | -| test.c:488:53:488:54 | 17 | 1.0 | -| test.c:488:53:488:54 | (unsigned int)... | 1.0 | -| test.c:489:9:489:9 | 4 | 1.0 | -| test.c:489:9:489:9 | (unsigned int)... | 1.0 | -| test.c:489:9:489:26 | ... * ... | 1302.0 | -| test.c:489:9:490:26 | ... + ... | 1695204.0 | -| test.c:489:9:491:26 | ... + ... | 2.207155608E9 | -| test.c:489:9:496:22 | ... + ... | 3.9017203216097214E19 | -| test.c:489:13:489:26 | (...) | 1302.0 | -| test.c:489:14:489:15 | ip | 1302.0 | -| test.c:489:14:489:20 | ... * ... | 1302.0 | -| test.c:489:14:489:25 | ... + ... | 1302.0 | -| test.c:489:19:489:20 | 14 | 1.0 | -| test.c:489:19:489:20 | (unsigned int)... | 1.0 | -| test.c:489:24:489:25 | 32 | 1.0 | -| test.c:489:24:489:25 | (unsigned int)... | 1.0 | -| test.c:490:9:490:26 | (...) | 1302.0 | -| test.c:490:10:490:10 | 2 | 1.0 | -| test.c:490:10:490:10 | (unsigned int)... | 1.0 | -| test.c:490:10:490:15 | ... * ... | 1302.0 | -| test.c:490:10:490:20 | ... * ... | 1302.0 | -| test.c:490:10:490:25 | ... + ... | 1302.0 | -| test.c:490:14:490:15 | ip | 1302.0 | -| test.c:490:19:490:20 | 14 | 1.0 | -| test.c:490:19:490:20 | (unsigned int)... | 1.0 | -| test.c:490:24:490:25 | 32 | 1.0 | -| test.c:490:24:490:25 | (unsigned int)... | 1.0 | -| test.c:491:9:491:9 | 2 | 1.0 | -| test.c:491:9:491:9 | (unsigned int)... | 1.0 | -| test.c:491:9:491:26 | ... * ... | 1302.0 | -| test.c:491:13:491:26 | (...) | 1302.0 | -| test.c:491:14:491:15 | ip | 1302.0 | -| test.c:491:14:491:20 | ... * ... | 1302.0 | -| test.c:491:14:491:25 | ... + ... | 1302.0 | -| test.c:491:19:491:20 | 14 | 1.0 | -| test.c:491:19:491:20 | (unsigned int)... | 1.0 | -| test.c:491:24:491:25 | 64 | 1.0 | -| test.c:491:24:491:25 | (unsigned int)... | 1.0 | -| test.c:492:9:496:22 | (...) | 1.7677595125E10 | -| test.c:492:10:492:21 | (...) | 1302.0 | -| test.c:492:10:492:26 | ... * ... | 1302.0 | -| test.c:492:10:492:80 | ... > ... | 1.0 | -| test.c:492:10:496:21 | ... ? ... : ... | 1.7677595125E10 | -| test.c:492:11:492:11 | 2 | 1.0 | -| test.c:492:11:492:11 | (unsigned int)... | 1.0 | -| test.c:492:11:492:16 | ... * ... | 1302.0 | -| test.c:492:11:492:20 | ... + ... | 1302.0 | -| test.c:492:15:492:16 | ip | 1302.0 | -| test.c:492:20:492:20 | 1 | 1.0 | -| test.c:492:20:492:20 | (unsigned int)... | 1.0 | -| test.c:492:25:492:26 | 14 | 1.0 | -| test.c:492:25:492:26 | (unsigned int)... | 1.0 | -| test.c:492:30:492:80 | (...) | 1695204.0 | -| test.c:492:31:492:32 | 17 | 1.0 | -| test.c:492:31:492:32 | (unsigned int)... | 1.0 | -| test.c:492:31:492:43 | ... * ... | 1302.0 | -| test.c:492:31:492:53 | ... > ... | 1.0 | -| test.c:492:31:492:79 | ... ? ... : ... | 1695204.0 | -| test.c:492:36:492:43 | (...) | 1302.0 | -| test.c:492:37:492:37 | 2 | 1.0 | -| test.c:492:37:492:37 | (unsigned int)... | 1.0 | -| test.c:492:37:492:42 | ... * ... | 1302.0 | -| test.c:492:41:492:42 | ip | 1302.0 | -| test.c:492:47:492:48 | 17 | 1.0 | -| test.c:492:47:492:48 | (unsigned int)... | 1.0 | -| test.c:492:47:492:53 | ... * ... | 1302.0 | -| test.c:492:52:492:53 | ip | 1302.0 | -| test.c:492:57:492:58 | 17 | 1.0 | -| test.c:492:57:492:58 | (unsigned int)... | 1.0 | -| test.c:492:57:492:69 | ... * ... | 1302.0 | -| test.c:492:62:492:69 | (...) | 1302.0 | -| test.c:492:63:492:63 | 2 | 1.0 | -| test.c:492:63:492:63 | (unsigned int)... | 1.0 | -| test.c:492:63:492:68 | ... * ... | 1302.0 | -| test.c:492:67:492:68 | ip | 1302.0 | -| test.c:492:73:492:74 | 17 | 1.0 | -| test.c:492:73:492:74 | (unsigned int)... | 1.0 | -| test.c:492:73:492:79 | ... * ... | 1302.0 | -| test.c:492:78:492:79 | ip | 1302.0 | -| test.c:493:13:493:24 | (...) | 2605.0 | -| test.c:493:13:493:29 | ... * ... | 2605.0 | -| test.c:493:14:493:14 | 2 | 1.0 | -| test.c:493:14:493:14 | (unsigned int)... | 1.0 | -| test.c:493:14:493:19 | ... * ... | 2605.0 | -| test.c:493:14:493:23 | ... + ... | 2605.0 | -| test.c:493:18:493:19 | ip | 2605.0 | -| test.c:493:23:493:23 | 1 | 1.0 | -| test.c:493:23:493:23 | (unsigned int)... | 1.0 | -| test.c:493:28:493:29 | 14 | 1.0 | -| test.c:493:28:493:29 | (unsigned int)... | 1.0 | -| test.c:494:13:494:14 | 14 | 1.0 | -| test.c:494:13:494:14 | (unsigned int)... | 1.0 | -| test.c:494:13:494:25 | ... * ... | 2605.0 | -| test.c:494:13:494:35 | ... > ... | 1.0 | -| test.c:494:13:496:21 | ... ? ... : ... | 6786025.0 | -| test.c:494:18:494:25 | (...) | 2605.0 | -| test.c:494:19:494:19 | 2 | 1.0 | -| test.c:494:19:494:19 | (unsigned int)... | 1.0 | -| test.c:494:19:494:24 | ... * ... | 2605.0 | -| test.c:494:23:494:24 | ip | 2605.0 | +| test.c:480:21:480:32 | (...) | 15.0 | +| test.c:480:21:480:37 | ... * ... | 15.0 | +| test.c:480:22:480:22 | 2 | 1.0 | +| test.c:480:22:480:22 | (unsigned int)... | 1.0 | +| test.c:480:22:480:27 | ... * ... | 15.0 | +| test.c:480:22:480:31 | ... + ... | 15.0 | +| test.c:480:26:480:27 | ip | 15.0 | +| test.c:480:31:480:31 | 1 | 1.0 | +| test.c:480:31:480:31 | (unsigned int)... | 1.0 | +| test.c:480:36:480:37 | 17 | 1.0 | +| test.c:480:36:480:37 | (unsigned int)... | 1.0 | +| test.c:481:11:481:11 | 4 | 1.0 | +| test.c:481:11:481:11 | (unsigned int)... | 1.0 | +| test.c:481:11:481:28 | ... * ... | 15.0 | +| test.c:481:11:482:28 | ... + ... | 225.0 | +| test.c:481:11:483:28 | ... + ... | 3375.0 | +| test.c:481:11:489:24 | ... + ... | 1.00544625E8 | +| test.c:481:15:481:28 | (...) | 15.0 | +| test.c:481:16:481:17 | ip | 15.0 | +| test.c:481:16:481:22 | ... * ... | 15.0 | +| test.c:481:16:481:27 | ... + ... | 15.0 | +| test.c:481:21:481:22 | 14 | 1.0 | +| test.c:481:21:481:22 | (unsigned int)... | 1.0 | +| test.c:481:26:481:27 | 32 | 1.0 | +| test.c:481:26:481:27 | (unsigned int)... | 1.0 | +| test.c:482:11:482:28 | (...) | 15.0 | +| test.c:482:12:482:12 | 2 | 1.0 | +| test.c:482:12:482:12 | (unsigned int)... | 1.0 | +| test.c:482:12:482:17 | ... * ... | 15.0 | +| test.c:482:12:482:22 | ... * ... | 15.0 | +| test.c:482:12:482:27 | ... + ... | 15.0 | +| test.c:482:16:482:17 | ip | 15.0 | +| test.c:482:21:482:22 | 14 | 1.0 | +| test.c:482:21:482:22 | (unsigned int)... | 1.0 | +| test.c:482:26:482:27 | 32 | 1.0 | +| test.c:482:26:482:27 | (unsigned int)... | 1.0 | +| test.c:483:11:483:11 | 2 | 1.0 | +| test.c:483:11:483:11 | (unsigned int)... | 1.0 | +| test.c:483:11:483:28 | ... * ... | 15.0 | +| test.c:483:15:483:28 | (...) | 15.0 | +| test.c:483:16:483:17 | ip | 15.0 | +| test.c:483:16:483:22 | ... * ... | 15.0 | +| test.c:483:16:483:27 | ... + ... | 15.0 | +| test.c:483:21:483:22 | 14 | 1.0 | +| test.c:483:21:483:22 | (unsigned int)... | 1.0 | +| test.c:483:26:483:27 | 64 | 1.0 | +| test.c:483:26:483:27 | (unsigned int)... | 1.0 | +| test.c:484:11:489:24 | (...) | 29791.0 | +| test.c:484:12:484:23 | (...) | 15.0 | +| test.c:484:12:484:28 | ... * ... | 15.0 | +| test.c:484:12:485:61 | ... > ... | 1.0 | +| test.c:484:12:489:23 | ... ? ... : ... | 29791.0 | +| test.c:484:13:484:13 | 2 | 1.0 | +| test.c:484:13:484:13 | (unsigned int)... | 1.0 | +| test.c:484:13:484:18 | ... * ... | 15.0 | +| test.c:484:13:484:22 | ... + ... | 15.0 | +| test.c:484:17:484:18 | ip | 15.0 | +| test.c:484:22:484:22 | 1 | 1.0 | +| test.c:484:22:484:22 | (unsigned int)... | 1.0 | +| test.c:484:27:484:28 | 14 | 1.0 | +| test.c:484:27:484:28 | (unsigned int)... | 1.0 | +| test.c:485:11:485:61 | (...) | 225.0 | +| test.c:485:12:485:13 | 14 | 1.0 | +| test.c:485:12:485:13 | (unsigned int)... | 1.0 | +| test.c:485:12:485:24 | ... * ... | 15.0 | +| test.c:485:12:485:34 | ... > ... | 1.0 | +| test.c:485:12:485:60 | ... ? ... : ... | 225.0 | +| test.c:485:17:485:24 | (...) | 15.0 | +| test.c:485:18:485:18 | 2 | 1.0 | +| test.c:485:18:485:18 | (unsigned int)... | 1.0 | +| test.c:485:18:485:23 | ... * ... | 15.0 | +| test.c:485:22:485:23 | ip | 15.0 | +| test.c:485:28:485:29 | 17 | 1.0 | +| test.c:485:28:485:29 | (unsigned int)... | 1.0 | +| test.c:485:28:485:34 | ... * ... | 15.0 | +| test.c:485:33:485:34 | ip | 15.0 | +| test.c:485:38:485:39 | 17 | 1.0 | +| test.c:485:38:485:39 | (unsigned int)... | 1.0 | +| test.c:485:38:485:50 | ... * ... | 15.0 | +| test.c:485:43:485:50 | (...) | 15.0 | +| test.c:485:44:485:44 | 2 | 1.0 | +| test.c:485:44:485:44 | (unsigned int)... | 1.0 | +| test.c:485:44:485:49 | ... * ... | 15.0 | +| test.c:485:48:485:49 | ip | 15.0 | +| test.c:485:54:485:55 | 17 | 1.0 | +| test.c:485:54:485:55 | (unsigned int)... | 1.0 | +| test.c:485:54:485:60 | ... * ... | 15.0 | +| test.c:485:59:485:60 | ip | 15.0 | +| test.c:486:15:486:26 | (...) | 31.0 | +| test.c:486:15:486:31 | ... * ... | 31.0 | +| test.c:486:16:486:16 | 2 | 1.0 | +| test.c:486:16:486:16 | (unsigned int)... | 1.0 | +| test.c:486:16:486:21 | ... * ... | 31.0 | +| test.c:486:16:486:25 | ... + ... | 31.0 | +| test.c:486:20:486:21 | ip | 31.0 | +| test.c:486:25:486:25 | 1 | 1.0 | +| test.c:486:25:486:25 | (unsigned int)... | 1.0 | +| test.c:486:30:486:31 | 14 | 1.0 | +| test.c:486:30:486:31 | (unsigned int)... | 1.0 | +| test.c:487:15:487:16 | 14 | 1.0 | +| test.c:487:15:487:16 | (unsigned int)... | 1.0 | +| test.c:487:15:487:27 | ... * ... | 31.0 | +| test.c:487:15:487:37 | ... > ... | 1.0 | +| test.c:487:15:489:23 | ... ? ... : ... | 961.0 | +| test.c:487:20:487:27 | (...) | 31.0 | +| test.c:487:21:487:21 | 2 | 1.0 | +| test.c:487:21:487:21 | (unsigned int)... | 1.0 | +| test.c:487:21:487:26 | ... * ... | 31.0 | +| test.c:487:25:487:26 | ip | 31.0 | +| test.c:487:31:487:32 | 17 | 1.0 | +| test.c:487:31:487:32 | (unsigned int)... | 1.0 | +| test.c:487:31:487:37 | ... * ... | 31.0 | +| test.c:487:36:487:37 | ip | 31.0 | +| test.c:488:17:488:18 | 14 | 1.0 | +| test.c:488:17:488:18 | (unsigned int)... | 1.0 | +| test.c:488:17:488:29 | ... * ... | 31.0 | +| test.c:488:22:488:29 | (...) | 31.0 | +| test.c:488:23:488:23 | 2 | 1.0 | +| test.c:488:23:488:23 | (unsigned int)... | 1.0 | +| test.c:488:23:488:28 | ... * ... | 31.0 | +| test.c:488:27:488:28 | ip | 31.0 | +| test.c:489:17:489:18 | 14 | 1.0 | +| test.c:489:17:489:18 | (unsigned int)... | 1.0 | +| test.c:489:17:489:23 | ... * ... | 31.0 | +| test.c:489:22:489:23 | ip | 31.0 | +| test.c:490:11:490:11 | 2 | 1.0 | +| test.c:490:11:490:11 | (unsigned int)... | 1.0 | +| test.c:490:11:490:16 | ... * ... | 15.0 | +| test.c:490:11:490:21 | ... * ... | 15.0 | +| test.c:490:11:490:41 | ... + ... | 225.0 | +| test.c:490:15:490:16 | ip | 15.0 | +| test.c:490:20:490:21 | 14 | 1.0 | +| test.c:490:20:490:21 | (unsigned int)... | 1.0 | +| test.c:490:25:490:36 | (...) | 15.0 | +| test.c:490:25:490:41 | ... * ... | 15.0 | +| test.c:490:26:490:26 | 2 | 1.0 | +| test.c:490:26:490:26 | (unsigned int)... | 1.0 | +| test.c:490:26:490:31 | ... * ... | 15.0 | +| test.c:490:26:490:35 | ... + ... | 15.0 | +| test.c:490:30:490:31 | ip | 15.0 | +| test.c:490:35:490:35 | 1 | 1.0 | +| test.c:490:35:490:35 | (unsigned int)... | 1.0 | +| test.c:490:40:490:41 | 17 | 1.0 | +| test.c:490:40:490:41 | (unsigned int)... | 1.0 | +| test.c:491:5:510:24 | (...) | 6.6142118960740864E25 | +| test.c:491:6:491:6 | 4 | 1.0 | +| test.c:491:6:491:6 | (unsigned int)... | 1.0 | +| test.c:491:6:491:23 | ... * ... | 108.0 | +| test.c:491:6:492:24 | ... + ... | 11664.0 | +| test.c:491:6:493:24 | ... + ... | 1259712.0 | +| test.c:491:6:498:20 | ... + ... | 1.2872131505856E13 | +| test.c:491:6:499:55 | ... > ... | 1.0 | +| test.c:491:6:510:23 | ... ? ... : ... | 6.6142118960740864E25 | +| test.c:491:10:491:23 | (...) | 108.0 | +| test.c:491:11:491:12 | ip | 108.0 | +| test.c:491:11:491:17 | ... * ... | 108.0 | +| test.c:491:11:491:22 | ... + ... | 108.0 | +| test.c:491:16:491:17 | 14 | 1.0 | +| test.c:491:16:491:17 | (unsigned int)... | 1.0 | +| test.c:491:21:491:22 | 32 | 1.0 | +| test.c:491:21:491:22 | (unsigned int)... | 1.0 | +| test.c:492:7:492:24 | (...) | 108.0 | +| test.c:492:8:492:8 | 2 | 1.0 | +| test.c:492:8:492:8 | (unsigned int)... | 1.0 | +| test.c:492:8:492:13 | ... * ... | 108.0 | +| test.c:492:8:492:18 | ... * ... | 108.0 | +| test.c:492:8:492:23 | ... + ... | 108.0 | +| test.c:492:12:492:13 | ip | 108.0 | +| test.c:492:17:492:18 | 14 | 1.0 | +| test.c:492:17:492:18 | (unsigned int)... | 1.0 | +| test.c:492:22:492:23 | 32 | 1.0 | +| test.c:492:22:492:23 | (unsigned int)... | 1.0 | +| test.c:493:7:493:7 | 2 | 1.0 | +| test.c:493:7:493:7 | (unsigned int)... | 1.0 | +| test.c:493:7:493:24 | ... * ... | 108.0 | +| test.c:493:11:493:24 | (...) | 108.0 | +| test.c:493:12:493:13 | ip | 108.0 | +| test.c:493:12:493:18 | ... * ... | 108.0 | +| test.c:493:12:493:23 | ... + ... | 108.0 | +| test.c:493:17:493:18 | 14 | 1.0 | +| test.c:493:17:493:18 | (unsigned int)... | 1.0 | +| test.c:493:22:493:23 | 64 | 1.0 | +| test.c:493:22:493:23 | (unsigned int)... | 1.0 | +| test.c:494:7:498:20 | (...) | 1.0218313E7 | +| test.c:494:8:494:19 | (...) | 108.0 | +| test.c:494:8:494:24 | ... * ... | 108.0 | +| test.c:494:8:494:78 | ... > ... | 1.0 | +| test.c:494:8:498:19 | ... ? ... : ... | 1.0218313E7 | +| test.c:494:9:494:9 | 2 | 1.0 | +| test.c:494:9:494:9 | (unsigned int)... | 1.0 | +| test.c:494:9:494:14 | ... * ... | 108.0 | +| test.c:494:9:494:18 | ... + ... | 108.0 | +| test.c:494:13:494:14 | ip | 108.0 | +| test.c:494:18:494:18 | 1 | 1.0 | +| test.c:494:18:494:18 | (unsigned int)... | 1.0 | +| test.c:494:23:494:24 | 14 | 1.0 | +| test.c:494:23:494:24 | (unsigned int)... | 1.0 | +| test.c:494:28:494:78 | (...) | 11664.0 | | test.c:494:29:494:30 | 17 | 1.0 | | test.c:494:29:494:30 | (unsigned int)... | 1.0 | -| test.c:494:29:494:35 | ... * ... | 2605.0 | -| test.c:494:34:494:35 | ip | 2605.0 | -| test.c:495:15:495:16 | 14 | 1.0 | -| test.c:495:15:495:16 | (unsigned int)... | 1.0 | -| test.c:495:15:495:27 | ... * ... | 2605.0 | -| test.c:495:20:495:27 | (...) | 2605.0 | -| test.c:495:21:495:21 | 2 | 1.0 | +| test.c:494:29:494:41 | ... * ... | 108.0 | +| test.c:494:29:494:51 | ... > ... | 1.0 | +| test.c:494:29:494:77 | ... ? ... : ... | 11664.0 | +| test.c:494:34:494:41 | (...) | 108.0 | +| test.c:494:35:494:35 | 2 | 1.0 | +| test.c:494:35:494:35 | (unsigned int)... | 1.0 | +| test.c:494:35:494:40 | ... * ... | 108.0 | +| test.c:494:39:494:40 | ip | 108.0 | +| test.c:494:45:494:46 | 17 | 1.0 | +| test.c:494:45:494:46 | (unsigned int)... | 1.0 | +| test.c:494:45:494:51 | ... * ... | 108.0 | +| test.c:494:50:494:51 | ip | 108.0 | +| test.c:494:55:494:56 | 17 | 1.0 | +| test.c:494:55:494:56 | (unsigned int)... | 1.0 | +| test.c:494:55:494:67 | ... * ... | 108.0 | +| test.c:494:60:494:67 | (...) | 108.0 | +| test.c:494:61:494:61 | 2 | 1.0 | +| test.c:494:61:494:61 | (unsigned int)... | 1.0 | +| test.c:494:61:494:66 | ... * ... | 108.0 | +| test.c:494:65:494:66 | ip | 108.0 | +| test.c:494:71:494:72 | 17 | 1.0 | +| test.c:494:71:494:72 | (unsigned int)... | 1.0 | +| test.c:494:71:494:77 | ... * ... | 108.0 | +| test.c:494:76:494:77 | ip | 108.0 | +| test.c:495:11:495:22 | (...) | 217.0 | +| test.c:495:11:495:27 | ... * ... | 217.0 | +| test.c:495:12:495:12 | 2 | 1.0 | +| test.c:495:12:495:12 | (unsigned int)... | 1.0 | +| test.c:495:12:495:17 | ... * ... | 217.0 | +| test.c:495:12:495:21 | ... + ... | 217.0 | +| test.c:495:16:495:17 | ip | 217.0 | +| test.c:495:21:495:21 | 1 | 1.0 | | test.c:495:21:495:21 | (unsigned int)... | 1.0 | -| test.c:495:21:495:26 | ... * ... | 2605.0 | -| test.c:495:25:495:26 | ip | 2605.0 | -| test.c:496:15:496:16 | 14 | 1.0 | -| test.c:496:15:496:16 | (unsigned int)... | 1.0 | -| test.c:496:15:496:21 | ... * ... | 2605.0 | -| test.c:496:20:496:21 | ip | 2605.0 | -| test.c:497:9:497:10 | 14 | 1.0 | -| test.c:497:9:497:10 | (unsigned int)... | 1.0 | -| test.c:497:9:497:15 | ... * ... | 1302.0 | -| test.c:497:9:497:31 | ... > ... | 1.0 | -| test.c:497:9:499:23 | ... ? ... : ... | 1695204.0 | -| test.c:497:14:497:15 | ip | 1302.0 | -| test.c:497:19:497:26 | (...) | 1302.0 | -| test.c:497:19:497:31 | ... * ... | 1302.0 | -| test.c:497:20:497:21 | ip | 1302.0 | -| test.c:497:20:497:25 | ... + ... | 1302.0 | -| test.c:497:25:497:25 | 1 | 1.0 | -| test.c:497:25:497:25 | (unsigned int)... | 1.0 | -| test.c:497:30:497:31 | 17 | 1.0 | -| test.c:497:30:497:31 | (unsigned int)... | 1.0 | -| test.c:498:11:498:12 | 14 | 1.0 | -| test.c:498:11:498:12 | (unsigned int)... | 1.0 | -| test.c:498:11:498:17 | ... * ... | 1302.0 | -| test.c:498:16:498:17 | ip | 1302.0 | -| test.c:499:11:499:18 | (...) | 1302.0 | -| test.c:499:11:499:23 | ... * ... | 1302.0 | -| test.c:499:12:499:13 | ip | 1302.0 | -| test.c:499:12:499:17 | ... + ... | 1302.0 | -| test.c:499:17:499:17 | 1 | 1.0 | -| test.c:499:17:499:17 | (unsigned int)... | 1.0 | -| test.c:499:22:499:23 | 14 | 1.0 | -| test.c:499:22:499:23 | (unsigned int)... | 1.0 | -| test.c:500:9:500:9 | 2 | 1.0 | +| test.c:495:26:495:27 | 14 | 1.0 | +| test.c:495:26:495:27 | (unsigned int)... | 1.0 | +| test.c:496:11:496:12 | 14 | 1.0 | +| test.c:496:11:496:12 | (unsigned int)... | 1.0 | +| test.c:496:11:496:23 | ... * ... | 217.0 | +| test.c:496:11:496:33 | ... > ... | 1.0 | +| test.c:496:11:498:19 | ... ? ... : ... | 47089.0 | +| test.c:496:16:496:23 | (...) | 217.0 | +| test.c:496:17:496:17 | 2 | 1.0 | +| test.c:496:17:496:17 | (unsigned int)... | 1.0 | +| test.c:496:17:496:22 | ... * ... | 217.0 | +| test.c:496:21:496:22 | ip | 217.0 | +| test.c:496:27:496:28 | 17 | 1.0 | +| test.c:496:27:496:28 | (unsigned int)... | 1.0 | +| test.c:496:27:496:33 | ... * ... | 217.0 | +| test.c:496:32:496:33 | ip | 217.0 | +| test.c:497:13:497:14 | 14 | 1.0 | +| test.c:497:13:497:14 | (unsigned int)... | 1.0 | +| test.c:497:13:497:25 | ... * ... | 217.0 | +| test.c:497:18:497:25 | (...) | 217.0 | +| test.c:497:19:497:19 | 2 | 1.0 | +| test.c:497:19:497:19 | (unsigned int)... | 1.0 | +| test.c:497:19:497:24 | ... * ... | 217.0 | +| test.c:497:23:497:24 | ip | 217.0 | +| test.c:498:13:498:14 | 14 | 1.0 | +| test.c:498:13:498:14 | (unsigned int)... | 1.0 | +| test.c:498:13:498:19 | ... * ... | 217.0 | +| test.c:498:18:498:19 | ip | 217.0 | +| test.c:499:5:499:55 | (...) | 423801.0 | +| test.c:499:6:499:7 | 14 | 1.0 | +| test.c:499:6:499:7 | (unsigned int)... | 1.0 | +| test.c:499:6:499:12 | ... * ... | 651.0 | +| test.c:499:6:499:28 | ... > ... | 1.0 | +| test.c:499:6:499:54 | ... ? ... : ... | 423801.0 | +| test.c:499:11:499:12 | ip | 651.0 | +| test.c:499:16:499:23 | (...) | 651.0 | +| test.c:499:16:499:28 | ... * ... | 651.0 | +| test.c:499:17:499:18 | ip | 651.0 | +| test.c:499:17:499:22 | ... + ... | 651.0 | +| test.c:499:22:499:22 | 1 | 1.0 | +| test.c:499:22:499:22 | (unsigned int)... | 1.0 | +| test.c:499:27:499:28 | 17 | 1.0 | +| test.c:499:27:499:28 | (unsigned int)... | 1.0 | +| test.c:499:32:499:33 | 17 | 1.0 | +| test.c:499:32:499:33 | (unsigned int)... | 1.0 | +| test.c:499:32:499:38 | ... * ... | 651.0 | +| test.c:499:37:499:38 | ip | 651.0 | +| test.c:499:42:499:49 | (...) | 651.0 | +| test.c:499:42:499:54 | ... * ... | 651.0 | +| test.c:499:43:499:44 | ip | 651.0 | +| test.c:499:43:499:48 | ... + ... | 651.0 | +| test.c:499:48:499:48 | 1 | 1.0 | +| test.c:499:48:499:48 | (unsigned int)... | 1.0 | +| test.c:499:53:499:54 | 17 | 1.0 | +| test.c:499:53:499:54 | (unsigned int)... | 1.0 | +| test.c:500:9:500:9 | 4 | 1.0 | | test.c:500:9:500:9 | (unsigned int)... | 1.0 | -| test.c:500:9:500:26 | ... * ... | 10419.0 | -| test.c:500:9:520:44 | ... + ... | 1.9449636104972528E43 | -| test.c:500:13:500:26 | (...) | 10419.0 | -| test.c:500:14:500:15 | ip | 10419.0 | -| test.c:500:14:500:20 | ... * ... | 10419.0 | -| test.c:500:14:500:25 | ... + ... | 10419.0 | +| test.c:500:9:500:26 | ... * ... | 1302.0 | +| test.c:500:9:501:26 | ... + ... | 1695204.0 | +| test.c:500:9:502:26 | ... + ... | 2.207155608E9 | +| test.c:500:9:507:22 | ... + ... | 3.9017203216097214E19 | +| test.c:500:13:500:26 | (...) | 1302.0 | +| test.c:500:14:500:15 | ip | 1302.0 | +| test.c:500:14:500:20 | ... * ... | 1302.0 | +| test.c:500:14:500:25 | ... + ... | 1302.0 | | test.c:500:19:500:20 | 14 | 1.0 | | test.c:500:19:500:20 | (unsigned int)... | 1.0 | | test.c:500:24:500:25 | 32 | 1.0 | | test.c:500:24:500:25 | (unsigned int)... | 1.0 | -| test.c:501:9:520:44 | (...) | 1.8667469147684545E39 | -| test.c:501:10:501:10 | 4 | 1.0 | +| test.c:501:9:501:26 | (...) | 1302.0 | +| test.c:501:10:501:10 | 2 | 1.0 | | test.c:501:10:501:10 | (unsigned int)... | 1.0 | -| test.c:501:10:501:27 | ... * ... | 10419.0 | -| test.c:501:10:502:28 | ... + ... | 1.08555561E8 | -| test.c:501:10:503:28 | ... + ... | 1.131040390059E12 | -| test.c:501:10:509:24 | ... + ... | 1.0235492350954187E25 | -| test.c:501:10:510:39 | ... > ... | 1.0 | -| test.c:501:10:520:43 | ... ? ... : ... | 1.8667469147684545E39 | -| test.c:501:14:501:27 | (...) | 10419.0 | -| test.c:501:15:501:16 | ip | 10419.0 | -| test.c:501:15:501:21 | ... * ... | 10419.0 | -| test.c:501:15:501:26 | ... + ... | 10419.0 | -| test.c:501:20:501:21 | 14 | 1.0 | -| test.c:501:20:501:21 | (unsigned int)... | 1.0 | -| test.c:501:25:501:26 | 32 | 1.0 | -| test.c:501:25:501:26 | (unsigned int)... | 1.0 | -| test.c:502:11:502:28 | (...) | 10419.0 | -| test.c:502:12:502:12 | 2 | 1.0 | -| test.c:502:12:502:12 | (unsigned int)... | 1.0 | -| test.c:502:12:502:17 | ... * ... | 10419.0 | -| test.c:502:12:502:22 | ... * ... | 10419.0 | -| test.c:502:12:502:27 | ... + ... | 10419.0 | -| test.c:502:16:502:17 | ip | 10419.0 | -| test.c:502:21:502:22 | 14 | 1.0 | -| test.c:502:21:502:22 | (unsigned int)... | 1.0 | -| test.c:502:26:502:27 | 32 | 1.0 | -| test.c:502:26:502:27 | (unsigned int)... | 1.0 | +| test.c:501:10:501:15 | ... * ... | 1302.0 | +| test.c:501:10:501:20 | ... * ... | 1302.0 | +| test.c:501:10:501:25 | ... + ... | 1302.0 | +| test.c:501:14:501:15 | ip | 1302.0 | +| test.c:501:19:501:20 | 14 | 1.0 | +| test.c:501:19:501:20 | (unsigned int)... | 1.0 | +| test.c:501:24:501:25 | 32 | 1.0 | +| test.c:501:24:501:25 | (unsigned int)... | 1.0 | +| test.c:502:9:502:9 | 2 | 1.0 | +| test.c:502:9:502:9 | (unsigned int)... | 1.0 | +| test.c:502:9:502:26 | ... * ... | 1302.0 | +| test.c:502:13:502:26 | (...) | 1302.0 | +| test.c:502:14:502:15 | ip | 1302.0 | +| test.c:502:14:502:20 | ... * ... | 1302.0 | +| test.c:502:14:502:25 | ... + ... | 1302.0 | +| test.c:502:19:502:20 | 14 | 1.0 | +| test.c:502:19:502:20 | (unsigned int)... | 1.0 | +| test.c:502:24:502:25 | 64 | 1.0 | +| test.c:502:24:502:25 | (unsigned int)... | 1.0 | +| test.c:503:9:507:22 | (...) | 1.7677595125E10 | +| test.c:503:10:503:21 | (...) | 1302.0 | +| test.c:503:10:503:26 | ... * ... | 1302.0 | +| test.c:503:10:503:80 | ... > ... | 1.0 | +| test.c:503:10:507:21 | ... ? ... : ... | 1.7677595125E10 | | test.c:503:11:503:11 | 2 | 1.0 | | test.c:503:11:503:11 | (unsigned int)... | 1.0 | -| test.c:503:11:503:28 | ... * ... | 10419.0 | -| test.c:503:15:503:28 | (...) | 10419.0 | -| test.c:503:16:503:17 | ip | 10419.0 | -| test.c:503:16:503:22 | ... * ... | 10419.0 | -| test.c:503:16:503:27 | ... + ... | 10419.0 | -| test.c:503:21:503:22 | 14 | 1.0 | -| test.c:503:21:503:22 | (unsigned int)... | 1.0 | -| test.c:503:26:503:27 | 64 | 1.0 | -| test.c:503:26:503:27 | (unsigned int)... | 1.0 | -| test.c:504:11:509:24 | (...) | 9.049625849719E12 | -| test.c:504:12:504:23 | (...) | 10419.0 | -| test.c:504:12:504:28 | ... * ... | 10419.0 | -| test.c:504:12:505:61 | ... > ... | 1.0 | -| test.c:504:12:509:23 | ... ? ... : ... | 9.049625849719E12 | -| test.c:504:13:504:13 | 2 | 1.0 | -| test.c:504:13:504:13 | (unsigned int)... | 1.0 | -| test.c:504:13:504:18 | ... * ... | 10419.0 | -| test.c:504:13:504:22 | ... + ... | 10419.0 | -| test.c:504:17:504:18 | ip | 10419.0 | -| test.c:504:22:504:22 | 1 | 1.0 | -| test.c:504:22:504:22 | (unsigned int)... | 1.0 | -| test.c:504:27:504:28 | 14 | 1.0 | -| test.c:504:27:504:28 | (unsigned int)... | 1.0 | -| test.c:505:11:505:61 | (...) | 1.08555561E8 | -| test.c:505:12:505:13 | 14 | 1.0 | -| test.c:505:12:505:13 | (unsigned int)... | 1.0 | -| test.c:505:12:505:24 | ... * ... | 10419.0 | -| test.c:505:12:505:34 | ... > ... | 1.0 | -| test.c:505:12:505:60 | ... ? ... : ... | 1.08555561E8 | -| test.c:505:17:505:24 | (...) | 10419.0 | -| test.c:505:18:505:18 | 2 | 1.0 | -| test.c:505:18:505:18 | (unsigned int)... | 1.0 | -| test.c:505:18:505:23 | ... * ... | 10419.0 | -| test.c:505:22:505:23 | ip | 10419.0 | -| test.c:505:28:505:29 | 17 | 1.0 | -| test.c:505:28:505:29 | (unsigned int)... | 1.0 | -| test.c:505:28:505:34 | ... * ... | 10419.0 | -| test.c:505:33:505:34 | ip | 10419.0 | -| test.c:505:38:505:39 | 17 | 1.0 | -| test.c:505:38:505:39 | (unsigned int)... | 1.0 | -| test.c:505:38:505:50 | ... * ... | 10419.0 | -| test.c:505:43:505:50 | (...) | 10419.0 | -| test.c:505:44:505:44 | 2 | 1.0 | -| test.c:505:44:505:44 | (unsigned int)... | 1.0 | -| test.c:505:44:505:49 | ... * ... | 10419.0 | -| test.c:505:48:505:49 | ip | 10419.0 | -| test.c:505:54:505:55 | 17 | 1.0 | -| test.c:505:54:505:55 | (unsigned int)... | 1.0 | -| test.c:505:54:505:60 | ... * ... | 10419.0 | -| test.c:505:59:505:60 | ip | 10419.0 | -| test.c:506:15:506:26 | (...) | 20839.0 | -| test.c:506:15:506:31 | ... * ... | 20839.0 | -| test.c:506:16:506:16 | 2 | 1.0 | -| test.c:506:16:506:16 | (unsigned int)... | 1.0 | -| test.c:506:16:506:21 | ... * ... | 20839.0 | -| test.c:506:16:506:25 | ... + ... | 20839.0 | -| test.c:506:20:506:21 | ip | 20839.0 | -| test.c:506:25:506:25 | 1 | 1.0 | -| test.c:506:25:506:25 | (unsigned int)... | 1.0 | -| test.c:506:30:506:31 | 14 | 1.0 | -| test.c:506:30:506:31 | (unsigned int)... | 1.0 | +| test.c:503:11:503:16 | ... * ... | 1302.0 | +| test.c:503:11:503:20 | ... + ... | 1302.0 | +| test.c:503:15:503:16 | ip | 1302.0 | +| test.c:503:20:503:20 | 1 | 1.0 | +| test.c:503:20:503:20 | (unsigned int)... | 1.0 | +| test.c:503:25:503:26 | 14 | 1.0 | +| test.c:503:25:503:26 | (unsigned int)... | 1.0 | +| test.c:503:30:503:80 | (...) | 1695204.0 | +| test.c:503:31:503:32 | 17 | 1.0 | +| test.c:503:31:503:32 | (unsigned int)... | 1.0 | +| test.c:503:31:503:43 | ... * ... | 1302.0 | +| test.c:503:31:503:53 | ... > ... | 1.0 | +| test.c:503:31:503:79 | ... ? ... : ... | 1695204.0 | +| test.c:503:36:503:43 | (...) | 1302.0 | +| test.c:503:37:503:37 | 2 | 1.0 | +| test.c:503:37:503:37 | (unsigned int)... | 1.0 | +| test.c:503:37:503:42 | ... * ... | 1302.0 | +| test.c:503:41:503:42 | ip | 1302.0 | +| test.c:503:47:503:48 | 17 | 1.0 | +| test.c:503:47:503:48 | (unsigned int)... | 1.0 | +| test.c:503:47:503:53 | ... * ... | 1302.0 | +| test.c:503:52:503:53 | ip | 1302.0 | +| test.c:503:57:503:58 | 17 | 1.0 | +| test.c:503:57:503:58 | (unsigned int)... | 1.0 | +| test.c:503:57:503:69 | ... * ... | 1302.0 | +| test.c:503:62:503:69 | (...) | 1302.0 | +| test.c:503:63:503:63 | 2 | 1.0 | +| test.c:503:63:503:63 | (unsigned int)... | 1.0 | +| test.c:503:63:503:68 | ... * ... | 1302.0 | +| test.c:503:67:503:68 | ip | 1302.0 | +| test.c:503:73:503:74 | 17 | 1.0 | +| test.c:503:73:503:74 | (unsigned int)... | 1.0 | +| test.c:503:73:503:79 | ... * ... | 1302.0 | +| test.c:503:78:503:79 | ip | 1302.0 | +| test.c:504:13:504:24 | (...) | 2605.0 | +| test.c:504:13:504:29 | ... * ... | 2605.0 | +| test.c:504:14:504:14 | 2 | 1.0 | +| test.c:504:14:504:14 | (unsigned int)... | 1.0 | +| test.c:504:14:504:19 | ... * ... | 2605.0 | +| test.c:504:14:504:23 | ... + ... | 2605.0 | +| test.c:504:18:504:19 | ip | 2605.0 | +| test.c:504:23:504:23 | 1 | 1.0 | +| test.c:504:23:504:23 | (unsigned int)... | 1.0 | +| test.c:504:28:504:29 | 14 | 1.0 | +| test.c:504:28:504:29 | (unsigned int)... | 1.0 | +| test.c:505:13:505:14 | 14 | 1.0 | +| test.c:505:13:505:14 | (unsigned int)... | 1.0 | +| test.c:505:13:505:25 | ... * ... | 2605.0 | +| test.c:505:13:505:35 | ... > ... | 1.0 | +| test.c:505:13:507:21 | ... ? ... : ... | 6786025.0 | +| test.c:505:18:505:25 | (...) | 2605.0 | +| test.c:505:19:505:19 | 2 | 1.0 | +| test.c:505:19:505:19 | (unsigned int)... | 1.0 | +| test.c:505:19:505:24 | ... * ... | 2605.0 | +| test.c:505:23:505:24 | ip | 2605.0 | +| test.c:505:29:505:30 | 17 | 1.0 | +| test.c:505:29:505:30 | (unsigned int)... | 1.0 | +| test.c:505:29:505:35 | ... * ... | 2605.0 | +| test.c:505:34:505:35 | ip | 2605.0 | +| test.c:506:15:506:16 | 14 | 1.0 | +| test.c:506:15:506:16 | (unsigned int)... | 1.0 | +| test.c:506:15:506:27 | ... * ... | 2605.0 | +| test.c:506:20:506:27 | (...) | 2605.0 | +| test.c:506:21:506:21 | 2 | 1.0 | +| test.c:506:21:506:21 | (unsigned int)... | 1.0 | +| test.c:506:21:506:26 | ... * ... | 2605.0 | +| test.c:506:25:506:26 | ip | 2605.0 | | test.c:507:15:507:16 | 14 | 1.0 | | test.c:507:15:507:16 | (unsigned int)... | 1.0 | -| test.c:507:15:507:27 | ... * ... | 20839.0 | -| test.c:507:15:507:37 | ... > ... | 1.0 | -| test.c:507:15:509:23 | ... ? ... : ... | 4.34263921E8 | -| test.c:507:20:507:27 | (...) | 20839.0 | -| test.c:507:21:507:21 | 2 | 1.0 | -| test.c:507:21:507:21 | (unsigned int)... | 1.0 | -| test.c:507:21:507:26 | ... * ... | 20839.0 | -| test.c:507:25:507:26 | ip | 20839.0 | -| test.c:507:31:507:32 | 17 | 1.0 | -| test.c:507:31:507:32 | (unsigned int)... | 1.0 | -| test.c:507:31:507:37 | ... * ... | 20839.0 | -| test.c:507:36:507:37 | ip | 20839.0 | -| test.c:508:17:508:18 | 14 | 1.0 | -| test.c:508:17:508:18 | (unsigned int)... | 1.0 | -| test.c:508:17:508:29 | ... * ... | 20839.0 | -| test.c:508:22:508:29 | (...) | 20839.0 | -| test.c:508:23:508:23 | 2 | 1.0 | -| test.c:508:23:508:23 | (unsigned int)... | 1.0 | -| test.c:508:23:508:28 | ... * ... | 20839.0 | -| test.c:508:27:508:28 | ip | 20839.0 | -| test.c:509:17:509:18 | 14 | 1.0 | -| test.c:509:17:509:18 | (unsigned int)... | 1.0 | -| test.c:509:17:509:23 | ... * ... | 20839.0 | -| test.c:509:22:509:23 | ip | 20839.0 | -| test.c:510:9:510:9 | 2 | 1.0 | -| test.c:510:9:510:9 | (unsigned int)... | 1.0 | -| test.c:510:9:510:14 | ... * ... | 62517.0 | -| test.c:510:9:510:19 | ... * ... | 62517.0 | -| test.c:510:9:510:39 | ... + ... | 3.908375289E9 | -| test.c:510:13:510:14 | ip | 62517.0 | -| test.c:510:18:510:19 | 14 | 1.0 | -| test.c:510:18:510:19 | (unsigned int)... | 1.0 | -| test.c:510:23:510:34 | (...) | 62517.0 | -| test.c:510:23:510:39 | ... * ... | 62517.0 | -| test.c:510:24:510:24 | 2 | 1.0 | -| test.c:510:24:510:24 | (unsigned int)... | 1.0 | -| test.c:510:24:510:29 | ... * ... | 62517.0 | -| test.c:510:24:510:33 | ... + ... | 62517.0 | -| test.c:510:28:510:29 | ip | 62517.0 | -| test.c:510:33:510:33 | 1 | 1.0 | -| test.c:510:33:510:33 | (unsigned int)... | 1.0 | -| test.c:510:38:510:39 | 17 | 1.0 | -| test.c:510:38:510:39 | (unsigned int)... | 1.0 | -| test.c:511:13:511:13 | 4 | 1.0 | -| test.c:511:13:511:13 | (unsigned int)... | 1.0 | -| test.c:511:13:511:30 | ... * ... | 62517.0 | -| test.c:511:13:512:30 | ... + ... | 3.908375289E9 | -| test.c:511:13:513:30 | ... + ... | 2.44339897942413E14 | -| test.c:511:13:519:26 | ... + ... | 4.7762734556795386E29 | -| test.c:511:17:511:30 | (...) | 62517.0 | -| test.c:511:18:511:19 | ip | 62517.0 | -| test.c:511:18:511:24 | ... * ... | 62517.0 | -| test.c:511:18:511:29 | ... + ... | 62517.0 | -| test.c:511:23:511:24 | 14 | 1.0 | -| test.c:511:23:511:24 | (unsigned int)... | 1.0 | -| test.c:511:28:511:29 | 32 | 1.0 | -| test.c:511:28:511:29 | (unsigned int)... | 1.0 | -| test.c:512:13:512:30 | (...) | 62517.0 | -| test.c:512:14:512:14 | 2 | 1.0 | -| test.c:512:14:512:14 | (unsigned int)... | 1.0 | -| test.c:512:14:512:19 | ... * ... | 62517.0 | -| test.c:512:14:512:24 | ... * ... | 62517.0 | -| test.c:512:14:512:29 | ... + ... | 62517.0 | -| test.c:512:18:512:19 | ip | 62517.0 | -| test.c:512:23:512:24 | 14 | 1.0 | -| test.c:512:23:512:24 | (unsigned int)... | 1.0 | -| test.c:512:28:512:29 | 32 | 1.0 | -| test.c:512:28:512:29 | (unsigned int)... | 1.0 | -| test.c:513:13:513:13 | 2 | 1.0 | -| test.c:513:13:513:13 | (unsigned int)... | 1.0 | -| test.c:513:13:513:30 | ... * ... | 62517.0 | -| test.c:513:17:513:30 | (...) | 62517.0 | -| test.c:513:18:513:19 | ip | 62517.0 | -| test.c:513:18:513:24 | ... * ... | 62517.0 | -| test.c:513:18:513:29 | ... + ... | 62517.0 | -| test.c:513:23:513:24 | 14 | 1.0 | -| test.c:513:23:513:24 | (unsigned int)... | 1.0 | -| test.c:513:28:513:29 | 64 | 1.0 | -| test.c:513:28:513:29 | (unsigned int)... | 1.0 | -| test.c:514:13:519:26 | (...) | 1.954766084417875E15 | -| test.c:514:14:514:25 | (...) | 62517.0 | -| test.c:514:14:514:30 | ... * ... | 62517.0 | -| test.c:514:14:515:63 | ... > ... | 1.0 | -| test.c:514:14:519:25 | ... ? ... : ... | 1.954766084417875E15 | -| test.c:514:15:514:15 | 2 | 1.0 | -| test.c:514:15:514:15 | (unsigned int)... | 1.0 | -| test.c:514:15:514:20 | ... * ... | 62517.0 | -| test.c:514:15:514:24 | ... + ... | 62517.0 | -| test.c:514:19:514:20 | ip | 62517.0 | -| test.c:514:24:514:24 | 1 | 1.0 | -| test.c:514:24:514:24 | (unsigned int)... | 1.0 | -| test.c:514:29:514:30 | 14 | 1.0 | -| test.c:514:29:514:30 | (unsigned int)... | 1.0 | -| test.c:515:13:515:63 | (...) | 3.908375289E9 | -| test.c:515:14:515:15 | 14 | 1.0 | -| test.c:515:14:515:15 | (unsigned int)... | 1.0 | -| test.c:515:14:515:26 | ... * ... | 62517.0 | -| test.c:515:14:515:36 | ... > ... | 1.0 | -| test.c:515:14:515:62 | ... ? ... : ... | 3.908375289E9 | -| test.c:515:19:515:26 | (...) | 62517.0 | -| test.c:515:20:515:20 | 2 | 1.0 | -| test.c:515:20:515:20 | (unsigned int)... | 1.0 | -| test.c:515:20:515:25 | ... * ... | 62517.0 | -| test.c:515:24:515:25 | ip | 62517.0 | -| test.c:515:30:515:31 | 17 | 1.0 | -| test.c:515:30:515:31 | (unsigned int)... | 1.0 | -| test.c:515:30:515:36 | ... * ... | 62517.0 | -| test.c:515:35:515:36 | ip | 62517.0 | -| test.c:515:40:515:41 | 17 | 1.0 | -| test.c:515:40:515:41 | (unsigned int)... | 1.0 | -| test.c:515:40:515:52 | ... * ... | 62517.0 | -| test.c:515:45:515:52 | (...) | 62517.0 | -| test.c:515:46:515:46 | 2 | 1.0 | -| test.c:515:46:515:46 | (unsigned int)... | 1.0 | -| test.c:515:46:515:51 | ... * ... | 62517.0 | -| test.c:515:50:515:51 | ip | 62517.0 | -| test.c:515:56:515:57 | 17 | 1.0 | -| test.c:515:56:515:57 | (unsigned int)... | 1.0 | -| test.c:515:56:515:62 | ... * ... | 62517.0 | -| test.c:515:61:515:62 | ip | 62517.0 | -| test.c:516:17:516:28 | (...) | 125035.0 | -| test.c:516:17:516:33 | ... * ... | 125035.0 | +| test.c:507:15:507:21 | ... * ... | 2605.0 | +| test.c:507:20:507:21 | ip | 2605.0 | +| test.c:508:9:508:10 | 14 | 1.0 | +| test.c:508:9:508:10 | (unsigned int)... | 1.0 | +| test.c:508:9:508:15 | ... * ... | 1302.0 | +| test.c:508:9:508:31 | ... > ... | 1.0 | +| test.c:508:9:510:23 | ... ? ... : ... | 1695204.0 | +| test.c:508:14:508:15 | ip | 1302.0 | +| test.c:508:19:508:26 | (...) | 1302.0 | +| test.c:508:19:508:31 | ... * ... | 1302.0 | +| test.c:508:20:508:21 | ip | 1302.0 | +| test.c:508:20:508:25 | ... + ... | 1302.0 | +| test.c:508:25:508:25 | 1 | 1.0 | +| test.c:508:25:508:25 | (unsigned int)... | 1.0 | +| test.c:508:30:508:31 | 17 | 1.0 | +| test.c:508:30:508:31 | (unsigned int)... | 1.0 | +| test.c:509:11:509:12 | 14 | 1.0 | +| test.c:509:11:509:12 | (unsigned int)... | 1.0 | +| test.c:509:11:509:17 | ... * ... | 1302.0 | +| test.c:509:16:509:17 | ip | 1302.0 | +| test.c:510:11:510:18 | (...) | 1302.0 | +| test.c:510:11:510:23 | ... * ... | 1302.0 | +| test.c:510:12:510:13 | ip | 1302.0 | +| test.c:510:12:510:17 | ... + ... | 1302.0 | +| test.c:510:17:510:17 | 1 | 1.0 | +| test.c:510:17:510:17 | (unsigned int)... | 1.0 | +| test.c:510:22:510:23 | 14 | 1.0 | +| test.c:510:22:510:23 | (unsigned int)... | 1.0 | +| test.c:511:9:511:9 | 2 | 1.0 | +| test.c:511:9:511:9 | (unsigned int)... | 1.0 | +| test.c:511:9:511:26 | ... * ... | 10419.0 | +| test.c:511:9:531:44 | ... + ... | 1.9449636104972528E43 | +| test.c:511:13:511:26 | (...) | 10419.0 | +| test.c:511:14:511:15 | ip | 10419.0 | +| test.c:511:14:511:20 | ... * ... | 10419.0 | +| test.c:511:14:511:25 | ... + ... | 10419.0 | +| test.c:511:19:511:20 | 14 | 1.0 | +| test.c:511:19:511:20 | (unsigned int)... | 1.0 | +| test.c:511:24:511:25 | 32 | 1.0 | +| test.c:511:24:511:25 | (unsigned int)... | 1.0 | +| test.c:512:9:531:44 | (...) | 1.8667469147684545E39 | +| test.c:512:10:512:10 | 4 | 1.0 | +| test.c:512:10:512:10 | (unsigned int)... | 1.0 | +| test.c:512:10:512:27 | ... * ... | 10419.0 | +| test.c:512:10:513:28 | ... + ... | 1.08555561E8 | +| test.c:512:10:514:28 | ... + ... | 1.131040390059E12 | +| test.c:512:10:520:24 | ... + ... | 1.0235492350954187E25 | +| test.c:512:10:521:39 | ... > ... | 1.0 | +| test.c:512:10:531:43 | ... ? ... : ... | 1.8667469147684545E39 | +| test.c:512:14:512:27 | (...) | 10419.0 | +| test.c:512:15:512:16 | ip | 10419.0 | +| test.c:512:15:512:21 | ... * ... | 10419.0 | +| test.c:512:15:512:26 | ... + ... | 10419.0 | +| test.c:512:20:512:21 | 14 | 1.0 | +| test.c:512:20:512:21 | (unsigned int)... | 1.0 | +| test.c:512:25:512:26 | 32 | 1.0 | +| test.c:512:25:512:26 | (unsigned int)... | 1.0 | +| test.c:513:11:513:28 | (...) | 10419.0 | +| test.c:513:12:513:12 | 2 | 1.0 | +| test.c:513:12:513:12 | (unsigned int)... | 1.0 | +| test.c:513:12:513:17 | ... * ... | 10419.0 | +| test.c:513:12:513:22 | ... * ... | 10419.0 | +| test.c:513:12:513:27 | ... + ... | 10419.0 | +| test.c:513:16:513:17 | ip | 10419.0 | +| test.c:513:21:513:22 | 14 | 1.0 | +| test.c:513:21:513:22 | (unsigned int)... | 1.0 | +| test.c:513:26:513:27 | 32 | 1.0 | +| test.c:513:26:513:27 | (unsigned int)... | 1.0 | +| test.c:514:11:514:11 | 2 | 1.0 | +| test.c:514:11:514:11 | (unsigned int)... | 1.0 | +| test.c:514:11:514:28 | ... * ... | 10419.0 | +| test.c:514:15:514:28 | (...) | 10419.0 | +| test.c:514:16:514:17 | ip | 10419.0 | +| test.c:514:16:514:22 | ... * ... | 10419.0 | +| test.c:514:16:514:27 | ... + ... | 10419.0 | +| test.c:514:21:514:22 | 14 | 1.0 | +| test.c:514:21:514:22 | (unsigned int)... | 1.0 | +| test.c:514:26:514:27 | 64 | 1.0 | +| test.c:514:26:514:27 | (unsigned int)... | 1.0 | +| test.c:515:11:520:24 | (...) | 9.049625849719E12 | +| test.c:515:12:515:23 | (...) | 10419.0 | +| test.c:515:12:515:28 | ... * ... | 10419.0 | +| test.c:515:12:516:61 | ... > ... | 1.0 | +| test.c:515:12:520:23 | ... ? ... : ... | 9.049625849719E12 | +| test.c:515:13:515:13 | 2 | 1.0 | +| test.c:515:13:515:13 | (unsigned int)... | 1.0 | +| test.c:515:13:515:18 | ... * ... | 10419.0 | +| test.c:515:13:515:22 | ... + ... | 10419.0 | +| test.c:515:17:515:18 | ip | 10419.0 | +| test.c:515:22:515:22 | 1 | 1.0 | +| test.c:515:22:515:22 | (unsigned int)... | 1.0 | +| test.c:515:27:515:28 | 14 | 1.0 | +| test.c:515:27:515:28 | (unsigned int)... | 1.0 | +| test.c:516:11:516:61 | (...) | 1.08555561E8 | +| test.c:516:12:516:13 | 14 | 1.0 | +| test.c:516:12:516:13 | (unsigned int)... | 1.0 | +| test.c:516:12:516:24 | ... * ... | 10419.0 | +| test.c:516:12:516:34 | ... > ... | 1.0 | +| test.c:516:12:516:60 | ... ? ... : ... | 1.08555561E8 | +| test.c:516:17:516:24 | (...) | 10419.0 | | test.c:516:18:516:18 | 2 | 1.0 | | test.c:516:18:516:18 | (unsigned int)... | 1.0 | -| test.c:516:18:516:23 | ... * ... | 125035.0 | -| test.c:516:18:516:27 | ... + ... | 125035.0 | -| test.c:516:22:516:23 | ip | 125035.0 | -| test.c:516:27:516:27 | 1 | 1.0 | -| test.c:516:27:516:27 | (unsigned int)... | 1.0 | -| test.c:516:32:516:33 | 14 | 1.0 | -| test.c:516:32:516:33 | (unsigned int)... | 1.0 | -| test.c:517:17:517:18 | 14 | 1.0 | -| test.c:517:17:517:18 | (unsigned int)... | 1.0 | -| test.c:517:17:517:29 | ... * ... | 125035.0 | -| test.c:517:17:517:39 | ... > ... | 1.0 | -| test.c:517:17:519:25 | ... ? ... : ... | 1.5633751225E10 | -| test.c:517:22:517:29 | (...) | 125035.0 | -| test.c:517:23:517:23 | 2 | 1.0 | -| test.c:517:23:517:23 | (unsigned int)... | 1.0 | -| test.c:517:23:517:28 | ... * ... | 125035.0 | -| test.c:517:27:517:28 | ip | 125035.0 | -| test.c:517:33:517:34 | 17 | 1.0 | -| test.c:517:33:517:34 | (unsigned int)... | 1.0 | -| test.c:517:33:517:39 | ... * ... | 125035.0 | -| test.c:517:38:517:39 | ip | 125035.0 | -| test.c:518:19:518:20 | 14 | 1.0 | -| test.c:518:19:518:20 | (unsigned int)... | 1.0 | -| test.c:518:19:518:31 | ... * ... | 125035.0 | -| test.c:518:24:518:31 | (...) | 125035.0 | -| test.c:518:25:518:25 | 2 | 1.0 | -| test.c:518:25:518:25 | (unsigned int)... | 1.0 | -| test.c:518:25:518:30 | ... * ... | 125035.0 | -| test.c:518:29:518:30 | ip | 125035.0 | -| test.c:519:19:519:20 | 14 | 1.0 | -| test.c:519:19:519:20 | (unsigned int)... | 1.0 | -| test.c:519:19:519:25 | ... * ... | 125035.0 | -| test.c:519:24:519:25 | ip | 125035.0 | -| test.c:520:13:520:13 | 2 | 1.0 | -| test.c:520:13:520:13 | (unsigned int)... | 1.0 | -| test.c:520:13:520:18 | ... * ... | 62517.0 | -| test.c:520:13:520:23 | ... * ... | 62517.0 | -| test.c:520:13:520:43 | ... + ... | 3.908375289E9 | -| test.c:520:17:520:18 | ip | 62517.0 | -| test.c:520:22:520:23 | 14 | 1.0 | -| test.c:520:22:520:23 | (unsigned int)... | 1.0 | -| test.c:520:27:520:38 | (...) | 62517.0 | -| test.c:520:27:520:43 | ... * ... | 62517.0 | -| test.c:520:28:520:28 | 2 | 1.0 | -| test.c:520:28:520:28 | (unsigned int)... | 1.0 | -| test.c:520:28:520:33 | ... * ... | 62517.0 | -| test.c:520:28:520:37 | ... + ... | 62517.0 | -| test.c:520:32:520:33 | ip | 62517.0 | -| test.c:520:37:520:37 | 1 | 1.0 | -| test.c:520:37:520:37 | (unsigned int)... | 1.0 | -| test.c:520:42:520:43 | 17 | 1.0 | -| test.c:520:42:520:43 | (unsigned int)... | 1.0 | -| test.c:521:9:521:9 | 4 | 1.0 | +| test.c:516:18:516:23 | ... * ... | 10419.0 | +| test.c:516:22:516:23 | ip | 10419.0 | +| test.c:516:28:516:29 | 17 | 1.0 | +| test.c:516:28:516:29 | (unsigned int)... | 1.0 | +| test.c:516:28:516:34 | ... * ... | 10419.0 | +| test.c:516:33:516:34 | ip | 10419.0 | +| test.c:516:38:516:39 | 17 | 1.0 | +| test.c:516:38:516:39 | (unsigned int)... | 1.0 | +| test.c:516:38:516:50 | ... * ... | 10419.0 | +| test.c:516:43:516:50 | (...) | 10419.0 | +| test.c:516:44:516:44 | 2 | 1.0 | +| test.c:516:44:516:44 | (unsigned int)... | 1.0 | +| test.c:516:44:516:49 | ... * ... | 10419.0 | +| test.c:516:48:516:49 | ip | 10419.0 | +| test.c:516:54:516:55 | 17 | 1.0 | +| test.c:516:54:516:55 | (unsigned int)... | 1.0 | +| test.c:516:54:516:60 | ... * ... | 10419.0 | +| test.c:516:59:516:60 | ip | 10419.0 | +| test.c:517:15:517:26 | (...) | 20839.0 | +| test.c:517:15:517:31 | ... * ... | 20839.0 | +| test.c:517:16:517:16 | 2 | 1.0 | +| test.c:517:16:517:16 | (unsigned int)... | 1.0 | +| test.c:517:16:517:21 | ... * ... | 20839.0 | +| test.c:517:16:517:25 | ... + ... | 20839.0 | +| test.c:517:20:517:21 | ip | 20839.0 | +| test.c:517:25:517:25 | 1 | 1.0 | +| test.c:517:25:517:25 | (unsigned int)... | 1.0 | +| test.c:517:30:517:31 | 14 | 1.0 | +| test.c:517:30:517:31 | (unsigned int)... | 1.0 | +| test.c:518:15:518:16 | 14 | 1.0 | +| test.c:518:15:518:16 | (unsigned int)... | 1.0 | +| test.c:518:15:518:27 | ... * ... | 20839.0 | +| test.c:518:15:518:37 | ... > ... | 1.0 | +| test.c:518:15:520:23 | ... ? ... : ... | 4.34263921E8 | +| test.c:518:20:518:27 | (...) | 20839.0 | +| test.c:518:21:518:21 | 2 | 1.0 | +| test.c:518:21:518:21 | (unsigned int)... | 1.0 | +| test.c:518:21:518:26 | ... * ... | 20839.0 | +| test.c:518:25:518:26 | ip | 20839.0 | +| test.c:518:31:518:32 | 17 | 1.0 | +| test.c:518:31:518:32 | (unsigned int)... | 1.0 | +| test.c:518:31:518:37 | ... * ... | 20839.0 | +| test.c:518:36:518:37 | ip | 20839.0 | +| test.c:519:17:519:18 | 14 | 1.0 | +| test.c:519:17:519:18 | (unsigned int)... | 1.0 | +| test.c:519:17:519:29 | ... * ... | 20839.0 | +| test.c:519:22:519:29 | (...) | 20839.0 | +| test.c:519:23:519:23 | 2 | 1.0 | +| test.c:519:23:519:23 | (unsigned int)... | 1.0 | +| test.c:519:23:519:28 | ... * ... | 20839.0 | +| test.c:519:27:519:28 | ip | 20839.0 | +| test.c:520:17:520:18 | 14 | 1.0 | +| test.c:520:17:520:18 | (unsigned int)... | 1.0 | +| test.c:520:17:520:23 | ... * ... | 20839.0 | +| test.c:520:22:520:23 | ip | 20839.0 | +| test.c:521:9:521:9 | 2 | 1.0 | | test.c:521:9:521:9 | (unsigned int)... | 1.0 | -| test.c:521:9:521:26 | ... * ... | 10419.0 | -| test.c:521:9:522:30 | ... + ... | 1.08555561E8 | -| test.c:521:9:523:30 | ... + ... | 1.131040390059E12 | -| test.c:521:9:529:26 | ... + ... | 1.0235492350954187E25 | -| test.c:521:9:530:61 | ... > ... | 1.0 | -| test.c:521:9:542:25 | ... ? ... : ... | 4.778814771623795E41 | -| test.c:521:13:521:26 | (...) | 10419.0 | -| test.c:521:14:521:15 | ip | 10419.0 | -| test.c:521:14:521:20 | ... * ... | 10419.0 | -| test.c:521:14:521:25 | ... + ... | 10419.0 | -| test.c:521:19:521:20 | 14 | 1.0 | -| test.c:521:19:521:20 | (unsigned int)... | 1.0 | -| test.c:521:24:521:25 | 32 | 1.0 | -| test.c:521:24:521:25 | (unsigned int)... | 1.0 | -| test.c:522:13:522:30 | (...) | 10419.0 | -| test.c:522:14:522:14 | 2 | 1.0 | -| test.c:522:14:522:14 | (unsigned int)... | 1.0 | -| test.c:522:14:522:19 | ... * ... | 10419.0 | -| test.c:522:14:522:24 | ... * ... | 10419.0 | -| test.c:522:14:522:29 | ... + ... | 10419.0 | -| test.c:522:18:522:19 | ip | 10419.0 | +| test.c:521:9:521:14 | ... * ... | 62517.0 | +| test.c:521:9:521:19 | ... * ... | 62517.0 | +| test.c:521:9:521:39 | ... + ... | 3.908375289E9 | +| test.c:521:13:521:14 | ip | 62517.0 | +| test.c:521:18:521:19 | 14 | 1.0 | +| test.c:521:18:521:19 | (unsigned int)... | 1.0 | +| test.c:521:23:521:34 | (...) | 62517.0 | +| test.c:521:23:521:39 | ... * ... | 62517.0 | +| test.c:521:24:521:24 | 2 | 1.0 | +| test.c:521:24:521:24 | (unsigned int)... | 1.0 | +| test.c:521:24:521:29 | ... * ... | 62517.0 | +| test.c:521:24:521:33 | ... + ... | 62517.0 | +| test.c:521:28:521:29 | ip | 62517.0 | +| test.c:521:33:521:33 | 1 | 1.0 | +| test.c:521:33:521:33 | (unsigned int)... | 1.0 | +| test.c:521:38:521:39 | 17 | 1.0 | +| test.c:521:38:521:39 | (unsigned int)... | 1.0 | +| test.c:522:13:522:13 | 4 | 1.0 | +| test.c:522:13:522:13 | (unsigned int)... | 1.0 | +| test.c:522:13:522:30 | ... * ... | 62517.0 | +| test.c:522:13:523:30 | ... + ... | 3.908375289E9 | +| test.c:522:13:524:30 | ... + ... | 2.44339897942413E14 | +| test.c:522:13:530:26 | ... + ... | 4.7762734556795386E29 | +| test.c:522:17:522:30 | (...) | 62517.0 | +| test.c:522:18:522:19 | ip | 62517.0 | +| test.c:522:18:522:24 | ... * ... | 62517.0 | +| test.c:522:18:522:29 | ... + ... | 62517.0 | | test.c:522:23:522:24 | 14 | 1.0 | | test.c:522:23:522:24 | (unsigned int)... | 1.0 | | test.c:522:28:522:29 | 32 | 1.0 | | test.c:522:28:522:29 | (unsigned int)... | 1.0 | -| test.c:523:13:523:13 | 2 | 1.0 | -| test.c:523:13:523:13 | (unsigned int)... | 1.0 | -| test.c:523:13:523:30 | ... * ... | 10419.0 | -| test.c:523:17:523:30 | (...) | 10419.0 | -| test.c:523:18:523:19 | ip | 10419.0 | -| test.c:523:18:523:24 | ... * ... | 10419.0 | -| test.c:523:18:523:29 | ... + ... | 10419.0 | +| test.c:523:13:523:30 | (...) | 62517.0 | +| test.c:523:14:523:14 | 2 | 1.0 | +| test.c:523:14:523:14 | (unsigned int)... | 1.0 | +| test.c:523:14:523:19 | ... * ... | 62517.0 | +| test.c:523:14:523:24 | ... * ... | 62517.0 | +| test.c:523:14:523:29 | ... + ... | 62517.0 | +| test.c:523:18:523:19 | ip | 62517.0 | | test.c:523:23:523:24 | 14 | 1.0 | | test.c:523:23:523:24 | (unsigned int)... | 1.0 | -| test.c:523:28:523:29 | 64 | 1.0 | +| test.c:523:28:523:29 | 32 | 1.0 | | test.c:523:28:523:29 | (unsigned int)... | 1.0 | -| test.c:524:13:529:26 | (...) | 9.049625849719E12 | -| test.c:524:14:524:25 | (...) | 10419.0 | -| test.c:524:14:524:30 | ... * ... | 10419.0 | -| test.c:524:14:525:63 | ... > ... | 1.0 | -| test.c:524:14:529:25 | ... ? ... : ... | 9.049625849719E12 | -| test.c:524:15:524:15 | 2 | 1.0 | -| test.c:524:15:524:15 | (unsigned int)... | 1.0 | -| test.c:524:15:524:20 | ... * ... | 10419.0 | -| test.c:524:15:524:24 | ... + ... | 10419.0 | -| test.c:524:19:524:20 | ip | 10419.0 | -| test.c:524:24:524:24 | 1 | 1.0 | -| test.c:524:24:524:24 | (unsigned int)... | 1.0 | -| test.c:524:29:524:30 | 14 | 1.0 | -| test.c:524:29:524:30 | (unsigned int)... | 1.0 | -| test.c:525:13:525:63 | (...) | 1.08555561E8 | -| test.c:525:14:525:15 | 14 | 1.0 | -| test.c:525:14:525:15 | (unsigned int)... | 1.0 | -| test.c:525:14:525:26 | ... * ... | 10419.0 | -| test.c:525:14:525:36 | ... > ... | 1.0 | -| test.c:525:14:525:62 | ... ? ... : ... | 1.08555561E8 | -| test.c:525:19:525:26 | (...) | 10419.0 | -| test.c:525:20:525:20 | 2 | 1.0 | -| test.c:525:20:525:20 | (unsigned int)... | 1.0 | -| test.c:525:20:525:25 | ... * ... | 10419.0 | -| test.c:525:24:525:25 | ip | 10419.0 | -| test.c:525:30:525:31 | 17 | 1.0 | -| test.c:525:30:525:31 | (unsigned int)... | 1.0 | -| test.c:525:30:525:36 | ... * ... | 10419.0 | -| test.c:525:35:525:36 | ip | 10419.0 | -| test.c:525:40:525:41 | 17 | 1.0 | -| test.c:525:40:525:41 | (unsigned int)... | 1.0 | -| test.c:525:40:525:52 | ... * ... | 10419.0 | -| test.c:525:45:525:52 | (...) | 10419.0 | -| test.c:525:46:525:46 | 2 | 1.0 | -| test.c:525:46:525:46 | (unsigned int)... | 1.0 | -| test.c:525:46:525:51 | ... * ... | 10419.0 | -| test.c:525:50:525:51 | ip | 10419.0 | -| test.c:525:56:525:57 | 17 | 1.0 | -| test.c:525:56:525:57 | (unsigned int)... | 1.0 | -| test.c:525:56:525:62 | ... * ... | 10419.0 | -| test.c:525:61:525:62 | ip | 10419.0 | -| test.c:526:17:526:28 | (...) | 20839.0 | -| test.c:526:17:526:33 | ... * ... | 20839.0 | -| test.c:526:18:526:18 | 2 | 1.0 | -| test.c:526:18:526:18 | (unsigned int)... | 1.0 | -| test.c:526:18:526:23 | ... * ... | 20839.0 | -| test.c:526:18:526:27 | ... + ... | 20839.0 | -| test.c:526:22:526:23 | ip | 20839.0 | -| test.c:526:27:526:27 | 1 | 1.0 | -| test.c:526:27:526:27 | (unsigned int)... | 1.0 | -| test.c:526:32:526:33 | 14 | 1.0 | -| test.c:526:32:526:33 | (unsigned int)... | 1.0 | -| test.c:527:17:527:18 | 14 | 1.0 | -| test.c:527:17:527:18 | (unsigned int)... | 1.0 | -| test.c:527:17:527:29 | ... * ... | 20839.0 | -| test.c:527:17:527:39 | ... > ... | 1.0 | -| test.c:527:17:529:25 | ... ? ... : ... | 4.34263921E8 | -| test.c:527:22:527:29 | (...) | 20839.0 | -| test.c:527:23:527:23 | 2 | 1.0 | -| test.c:527:23:527:23 | (unsigned int)... | 1.0 | -| test.c:527:23:527:28 | ... * ... | 20839.0 | -| test.c:527:27:527:28 | ip | 20839.0 | -| test.c:527:33:527:34 | 17 | 1.0 | -| test.c:527:33:527:34 | (unsigned int)... | 1.0 | -| test.c:527:33:527:39 | ... * ... | 20839.0 | -| test.c:527:38:527:39 | ip | 20839.0 | -| test.c:528:19:528:20 | 14 | 1.0 | -| test.c:528:19:528:20 | (unsigned int)... | 1.0 | -| test.c:528:19:528:31 | ... * ... | 20839.0 | -| test.c:528:24:528:31 | (...) | 20839.0 | -| test.c:528:25:528:25 | 2 | 1.0 | -| test.c:528:25:528:25 | (unsigned int)... | 1.0 | -| test.c:528:25:528:30 | ... * ... | 20839.0 | -| test.c:528:29:528:30 | ip | 20839.0 | +| test.c:524:13:524:13 | 2 | 1.0 | +| test.c:524:13:524:13 | (unsigned int)... | 1.0 | +| test.c:524:13:524:30 | ... * ... | 62517.0 | +| test.c:524:17:524:30 | (...) | 62517.0 | +| test.c:524:18:524:19 | ip | 62517.0 | +| test.c:524:18:524:24 | ... * ... | 62517.0 | +| test.c:524:18:524:29 | ... + ... | 62517.0 | +| test.c:524:23:524:24 | 14 | 1.0 | +| test.c:524:23:524:24 | (unsigned int)... | 1.0 | +| test.c:524:28:524:29 | 64 | 1.0 | +| test.c:524:28:524:29 | (unsigned int)... | 1.0 | +| test.c:525:13:530:26 | (...) | 1.954766084417875E15 | +| test.c:525:14:525:25 | (...) | 62517.0 | +| test.c:525:14:525:30 | ... * ... | 62517.0 | +| test.c:525:14:526:63 | ... > ... | 1.0 | +| test.c:525:14:530:25 | ... ? ... : ... | 1.954766084417875E15 | +| test.c:525:15:525:15 | 2 | 1.0 | +| test.c:525:15:525:15 | (unsigned int)... | 1.0 | +| test.c:525:15:525:20 | ... * ... | 62517.0 | +| test.c:525:15:525:24 | ... + ... | 62517.0 | +| test.c:525:19:525:20 | ip | 62517.0 | +| test.c:525:24:525:24 | 1 | 1.0 | +| test.c:525:24:525:24 | (unsigned int)... | 1.0 | +| test.c:525:29:525:30 | 14 | 1.0 | +| test.c:525:29:525:30 | (unsigned int)... | 1.0 | +| test.c:526:13:526:63 | (...) | 3.908375289E9 | +| test.c:526:14:526:15 | 14 | 1.0 | +| test.c:526:14:526:15 | (unsigned int)... | 1.0 | +| test.c:526:14:526:26 | ... * ... | 62517.0 | +| test.c:526:14:526:36 | ... > ... | 1.0 | +| test.c:526:14:526:62 | ... ? ... : ... | 3.908375289E9 | +| test.c:526:19:526:26 | (...) | 62517.0 | +| test.c:526:20:526:20 | 2 | 1.0 | +| test.c:526:20:526:20 | (unsigned int)... | 1.0 | +| test.c:526:20:526:25 | ... * ... | 62517.0 | +| test.c:526:24:526:25 | ip | 62517.0 | +| test.c:526:30:526:31 | 17 | 1.0 | +| test.c:526:30:526:31 | (unsigned int)... | 1.0 | +| test.c:526:30:526:36 | ... * ... | 62517.0 | +| test.c:526:35:526:36 | ip | 62517.0 | +| test.c:526:40:526:41 | 17 | 1.0 | +| test.c:526:40:526:41 | (unsigned int)... | 1.0 | +| test.c:526:40:526:52 | ... * ... | 62517.0 | +| test.c:526:45:526:52 | (...) | 62517.0 | +| test.c:526:46:526:46 | 2 | 1.0 | +| test.c:526:46:526:46 | (unsigned int)... | 1.0 | +| test.c:526:46:526:51 | ... * ... | 62517.0 | +| test.c:526:50:526:51 | ip | 62517.0 | +| test.c:526:56:526:57 | 17 | 1.0 | +| test.c:526:56:526:57 | (unsigned int)... | 1.0 | +| test.c:526:56:526:62 | ... * ... | 62517.0 | +| test.c:526:61:526:62 | ip | 62517.0 | +| test.c:527:17:527:28 | (...) | 125035.0 | +| test.c:527:17:527:33 | ... * ... | 125035.0 | +| test.c:527:18:527:18 | 2 | 1.0 | +| test.c:527:18:527:18 | (unsigned int)... | 1.0 | +| test.c:527:18:527:23 | ... * ... | 125035.0 | +| test.c:527:18:527:27 | ... + ... | 125035.0 | +| test.c:527:22:527:23 | ip | 125035.0 | +| test.c:527:27:527:27 | 1 | 1.0 | +| test.c:527:27:527:27 | (unsigned int)... | 1.0 | +| test.c:527:32:527:33 | 14 | 1.0 | +| test.c:527:32:527:33 | (unsigned int)... | 1.0 | +| test.c:528:17:528:18 | 14 | 1.0 | +| test.c:528:17:528:18 | (unsigned int)... | 1.0 | +| test.c:528:17:528:29 | ... * ... | 125035.0 | +| test.c:528:17:528:39 | ... > ... | 1.0 | +| test.c:528:17:530:25 | ... ? ... : ... | 1.5633751225E10 | +| test.c:528:22:528:29 | (...) | 125035.0 | +| test.c:528:23:528:23 | 2 | 1.0 | +| test.c:528:23:528:23 | (unsigned int)... | 1.0 | +| test.c:528:23:528:28 | ... * ... | 125035.0 | +| test.c:528:27:528:28 | ip | 125035.0 | +| test.c:528:33:528:34 | 17 | 1.0 | +| test.c:528:33:528:34 | (unsigned int)... | 1.0 | +| test.c:528:33:528:39 | ... * ... | 125035.0 | +| test.c:528:38:528:39 | ip | 125035.0 | | test.c:529:19:529:20 | 14 | 1.0 | | test.c:529:19:529:20 | (unsigned int)... | 1.0 | -| test.c:529:19:529:25 | ... * ... | 20839.0 | -| test.c:529:24:529:25 | ip | 20839.0 | -| test.c:530:11:530:61 | (...) | 3.908375289E9 | -| test.c:530:12:530:13 | 14 | 1.0 | -| test.c:530:12:530:13 | (unsigned int)... | 1.0 | -| test.c:530:12:530:18 | ... * ... | 62517.0 | -| test.c:530:12:530:34 | ... > ... | 1.0 | -| test.c:530:12:530:60 | ... ? ... : ... | 3.908375289E9 | -| test.c:530:17:530:18 | ip | 62517.0 | -| test.c:530:22:530:29 | (...) | 62517.0 | -| test.c:530:22:530:34 | ... * ... | 62517.0 | -| test.c:530:23:530:24 | ip | 62517.0 | -| test.c:530:23:530:28 | ... + ... | 62517.0 | -| test.c:530:28:530:28 | 1 | 1.0 | -| test.c:530:28:530:28 | (unsigned int)... | 1.0 | -| test.c:530:33:530:34 | 17 | 1.0 | -| test.c:530:33:530:34 | (unsigned int)... | 1.0 | -| test.c:530:38:530:39 | 17 | 1.0 | -| test.c:530:38:530:39 | (unsigned int)... | 1.0 | -| test.c:530:38:530:44 | ... * ... | 62517.0 | -| test.c:530:43:530:44 | ip | 62517.0 | -| test.c:530:48:530:55 | (...) | 62517.0 | -| test.c:530:48:530:60 | ... * ... | 62517.0 | -| test.c:530:49:530:50 | ip | 62517.0 | -| test.c:530:49:530:54 | ... + ... | 62517.0 | -| test.c:530:54:530:54 | 1 | 1.0 | -| test.c:530:54:530:54 | (unsigned int)... | 1.0 | -| test.c:530:59:530:60 | 17 | 1.0 | -| test.c:530:59:530:60 | (unsigned int)... | 1.0 | -| test.c:531:11:531:11 | 4 | 1.0 | -| test.c:531:11:531:11 | (unsigned int)... | 1.0 | -| test.c:531:11:531:28 | ... * ... | 125034.0 | -| test.c:531:11:532:28 | ... + ... | 1.5633501156E10 | -| test.c:531:11:533:28 | ... + ... | 1.954719183539304E15 | -| test.c:531:11:539:24 | ... + ... | 3.056778340269433E31 | -| test.c:531:15:531:28 | (...) | 125034.0 | -| test.c:531:16:531:17 | ip | 125034.0 | -| test.c:531:16:531:22 | ... * ... | 125034.0 | -| test.c:531:16:531:27 | ... + ... | 125034.0 | -| test.c:531:21:531:22 | 14 | 1.0 | -| test.c:531:21:531:22 | (unsigned int)... | 1.0 | -| test.c:531:26:531:27 | 32 | 1.0 | -| test.c:531:26:531:27 | (unsigned int)... | 1.0 | -| test.c:532:11:532:28 | (...) | 125034.0 | -| test.c:532:12:532:12 | 2 | 1.0 | -| test.c:532:12:532:12 | (unsigned int)... | 1.0 | -| test.c:532:12:532:17 | ... * ... | 125034.0 | -| test.c:532:12:532:22 | ... * ... | 125034.0 | -| test.c:532:12:532:27 | ... + ... | 125034.0 | -| test.c:532:16:532:17 | ip | 125034.0 | -| test.c:532:21:532:22 | 14 | 1.0 | -| test.c:532:21:532:22 | (unsigned int)... | 1.0 | -| test.c:532:26:532:27 | 32 | 1.0 | -| test.c:532:26:532:27 | (unsigned int)... | 1.0 | -| test.c:533:11:533:11 | 2 | 1.0 | -| test.c:533:11:533:11 | (unsigned int)... | 1.0 | -| test.c:533:11:533:28 | ... * ... | 125034.0 | -| test.c:533:15:533:28 | (...) | 125034.0 | -| test.c:533:16:533:17 | ip | 125034.0 | -| test.c:533:16:533:22 | ... * ... | 125034.0 | -| test.c:533:16:533:27 | ... + ... | 125034.0 | -| test.c:533:21:533:22 | 14 | 1.0 | -| test.c:533:21:533:22 | (unsigned int)... | 1.0 | -| test.c:533:26:533:27 | 64 | 1.0 | -| test.c:533:26:533:27 | (unsigned int)... | 1.0 | -| test.c:534:11:539:24 | (...) | 1.5637941071078508E16 | -| test.c:534:12:534:23 | (...) | 125034.0 | -| test.c:534:12:534:28 | ... * ... | 125034.0 | -| test.c:534:12:535:61 | ... > ... | 1.0 | -| test.c:534:12:539:23 | ... ? ... : ... | 1.5637941071078508E16 | +| test.c:529:19:529:31 | ... * ... | 125035.0 | +| test.c:529:24:529:31 | (...) | 125035.0 | +| test.c:529:25:529:25 | 2 | 1.0 | +| test.c:529:25:529:25 | (unsigned int)... | 1.0 | +| test.c:529:25:529:30 | ... * ... | 125035.0 | +| test.c:529:29:529:30 | ip | 125035.0 | +| test.c:530:19:530:20 | 14 | 1.0 | +| test.c:530:19:530:20 | (unsigned int)... | 1.0 | +| test.c:530:19:530:25 | ... * ... | 125035.0 | +| test.c:530:24:530:25 | ip | 125035.0 | +| test.c:531:13:531:13 | 2 | 1.0 | +| test.c:531:13:531:13 | (unsigned int)... | 1.0 | +| test.c:531:13:531:18 | ... * ... | 62517.0 | +| test.c:531:13:531:23 | ... * ... | 62517.0 | +| test.c:531:13:531:43 | ... + ... | 3.908375289E9 | +| test.c:531:17:531:18 | ip | 62517.0 | +| test.c:531:22:531:23 | 14 | 1.0 | +| test.c:531:22:531:23 | (unsigned int)... | 1.0 | +| test.c:531:27:531:38 | (...) | 62517.0 | +| test.c:531:27:531:43 | ... * ... | 62517.0 | +| test.c:531:28:531:28 | 2 | 1.0 | +| test.c:531:28:531:28 | (unsigned int)... | 1.0 | +| test.c:531:28:531:33 | ... * ... | 62517.0 | +| test.c:531:28:531:37 | ... + ... | 62517.0 | +| test.c:531:32:531:33 | ip | 62517.0 | +| test.c:531:37:531:37 | 1 | 1.0 | +| test.c:531:37:531:37 | (unsigned int)... | 1.0 | +| test.c:531:42:531:43 | 17 | 1.0 | +| test.c:531:42:531:43 | (unsigned int)... | 1.0 | +| test.c:532:9:532:9 | 4 | 1.0 | +| test.c:532:9:532:9 | (unsigned int)... | 1.0 | +| test.c:532:9:532:26 | ... * ... | 10419.0 | +| test.c:532:9:533:30 | ... + ... | 1.08555561E8 | +| test.c:532:9:534:30 | ... + ... | 1.131040390059E12 | +| test.c:532:9:540:26 | ... + ... | 1.0235492350954187E25 | +| test.c:532:9:541:61 | ... > ... | 1.0 | +| test.c:532:9:553:25 | ... ? ... : ... | 4.778814771623795E41 | +| test.c:532:13:532:26 | (...) | 10419.0 | +| test.c:532:14:532:15 | ip | 10419.0 | +| test.c:532:14:532:20 | ... * ... | 10419.0 | +| test.c:532:14:532:25 | ... + ... | 10419.0 | +| test.c:532:19:532:20 | 14 | 1.0 | +| test.c:532:19:532:20 | (unsigned int)... | 1.0 | +| test.c:532:24:532:25 | 32 | 1.0 | +| test.c:532:24:532:25 | (unsigned int)... | 1.0 | +| test.c:533:13:533:30 | (...) | 10419.0 | +| test.c:533:14:533:14 | 2 | 1.0 | +| test.c:533:14:533:14 | (unsigned int)... | 1.0 | +| test.c:533:14:533:19 | ... * ... | 10419.0 | +| test.c:533:14:533:24 | ... * ... | 10419.0 | +| test.c:533:14:533:29 | ... + ... | 10419.0 | +| test.c:533:18:533:19 | ip | 10419.0 | +| test.c:533:23:533:24 | 14 | 1.0 | +| test.c:533:23:533:24 | (unsigned int)... | 1.0 | +| test.c:533:28:533:29 | 32 | 1.0 | +| test.c:533:28:533:29 | (unsigned int)... | 1.0 | | test.c:534:13:534:13 | 2 | 1.0 | | test.c:534:13:534:13 | (unsigned int)... | 1.0 | -| test.c:534:13:534:18 | ... * ... | 125034.0 | -| test.c:534:13:534:22 | ... + ... | 125034.0 | -| test.c:534:17:534:18 | ip | 125034.0 | -| test.c:534:22:534:22 | 1 | 1.0 | -| test.c:534:22:534:22 | (unsigned int)... | 1.0 | -| test.c:534:27:534:28 | 14 | 1.0 | -| test.c:534:27:534:28 | (unsigned int)... | 1.0 | -| test.c:535:11:535:61 | (...) | 1.5633501156E10 | -| test.c:535:12:535:13 | 14 | 1.0 | -| test.c:535:12:535:13 | (unsigned int)... | 1.0 | -| test.c:535:12:535:24 | ... * ... | 125034.0 | -| test.c:535:12:535:34 | ... > ... | 1.0 | -| test.c:535:12:535:60 | ... ? ... : ... | 1.5633501156E10 | -| test.c:535:17:535:24 | (...) | 125034.0 | -| test.c:535:18:535:18 | 2 | 1.0 | -| test.c:535:18:535:18 | (unsigned int)... | 1.0 | -| test.c:535:18:535:23 | ... * ... | 125034.0 | -| test.c:535:22:535:23 | ip | 125034.0 | -| test.c:535:28:535:29 | 17 | 1.0 | -| test.c:535:28:535:29 | (unsigned int)... | 1.0 | -| test.c:535:28:535:34 | ... * ... | 125034.0 | -| test.c:535:33:535:34 | ip | 125034.0 | -| test.c:535:38:535:39 | 17 | 1.0 | -| test.c:535:38:535:39 | (unsigned int)... | 1.0 | -| test.c:535:38:535:50 | ... * ... | 125034.0 | -| test.c:535:43:535:50 | (...) | 125034.0 | -| test.c:535:44:535:44 | 2 | 1.0 | -| test.c:535:44:535:44 | (unsigned int)... | 1.0 | -| test.c:535:44:535:49 | ... * ... | 125034.0 | -| test.c:535:48:535:49 | ip | 125034.0 | -| test.c:535:54:535:55 | 17 | 1.0 | -| test.c:535:54:535:55 | (unsigned int)... | 1.0 | -| test.c:535:54:535:60 | ... * ... | 125034.0 | -| test.c:535:59:535:60 | ip | 125034.0 | -| test.c:536:15:536:26 | (...) | 250069.0 | -| test.c:536:15:536:31 | ... * ... | 250069.0 | -| test.c:536:16:536:16 | 2 | 1.0 | -| test.c:536:16:536:16 | (unsigned int)... | 1.0 | -| test.c:536:16:536:21 | ... * ... | 250069.0 | -| test.c:536:16:536:25 | ... + ... | 250069.0 | -| test.c:536:20:536:21 | ip | 250069.0 | -| test.c:536:25:536:25 | 1 | 1.0 | -| test.c:536:25:536:25 | (unsigned int)... | 1.0 | -| test.c:536:30:536:31 | 14 | 1.0 | +| test.c:534:13:534:30 | ... * ... | 10419.0 | +| test.c:534:17:534:30 | (...) | 10419.0 | +| test.c:534:18:534:19 | ip | 10419.0 | +| test.c:534:18:534:24 | ... * ... | 10419.0 | +| test.c:534:18:534:29 | ... + ... | 10419.0 | +| test.c:534:23:534:24 | 14 | 1.0 | +| test.c:534:23:534:24 | (unsigned int)... | 1.0 | +| test.c:534:28:534:29 | 64 | 1.0 | +| test.c:534:28:534:29 | (unsigned int)... | 1.0 | +| test.c:535:13:540:26 | (...) | 9.049625849719E12 | +| test.c:535:14:535:25 | (...) | 10419.0 | +| test.c:535:14:535:30 | ... * ... | 10419.0 | +| test.c:535:14:536:63 | ... > ... | 1.0 | +| test.c:535:14:540:25 | ... ? ... : ... | 9.049625849719E12 | +| test.c:535:15:535:15 | 2 | 1.0 | +| test.c:535:15:535:15 | (unsigned int)... | 1.0 | +| test.c:535:15:535:20 | ... * ... | 10419.0 | +| test.c:535:15:535:24 | ... + ... | 10419.0 | +| test.c:535:19:535:20 | ip | 10419.0 | +| test.c:535:24:535:24 | 1 | 1.0 | +| test.c:535:24:535:24 | (unsigned int)... | 1.0 | +| test.c:535:29:535:30 | 14 | 1.0 | +| test.c:535:29:535:30 | (unsigned int)... | 1.0 | +| test.c:536:13:536:63 | (...) | 1.08555561E8 | +| test.c:536:14:536:15 | 14 | 1.0 | +| test.c:536:14:536:15 | (unsigned int)... | 1.0 | +| test.c:536:14:536:26 | ... * ... | 10419.0 | +| test.c:536:14:536:36 | ... > ... | 1.0 | +| test.c:536:14:536:62 | ... ? ... : ... | 1.08555561E8 | +| test.c:536:19:536:26 | (...) | 10419.0 | +| test.c:536:20:536:20 | 2 | 1.0 | +| test.c:536:20:536:20 | (unsigned int)... | 1.0 | +| test.c:536:20:536:25 | ... * ... | 10419.0 | +| test.c:536:24:536:25 | ip | 10419.0 | +| test.c:536:30:536:31 | 17 | 1.0 | | test.c:536:30:536:31 | (unsigned int)... | 1.0 | -| test.c:537:15:537:16 | 14 | 1.0 | -| test.c:537:15:537:16 | (unsigned int)... | 1.0 | -| test.c:537:15:537:27 | ... * ... | 250069.0 | -| test.c:537:15:537:37 | ... > ... | 1.0 | -| test.c:537:15:539:23 | ... ? ... : ... | 6.2534504761E10 | -| test.c:537:20:537:27 | (...) | 250069.0 | -| test.c:537:21:537:21 | 2 | 1.0 | -| test.c:537:21:537:21 | (unsigned int)... | 1.0 | -| test.c:537:21:537:26 | ... * ... | 250069.0 | -| test.c:537:25:537:26 | ip | 250069.0 | -| test.c:537:31:537:32 | 17 | 1.0 | -| test.c:537:31:537:32 | (unsigned int)... | 1.0 | -| test.c:537:31:537:37 | ... * ... | 250069.0 | -| test.c:537:36:537:37 | ip | 250069.0 | +| test.c:536:30:536:36 | ... * ... | 10419.0 | +| test.c:536:35:536:36 | ip | 10419.0 | +| test.c:536:40:536:41 | 17 | 1.0 | +| test.c:536:40:536:41 | (unsigned int)... | 1.0 | +| test.c:536:40:536:52 | ... * ... | 10419.0 | +| test.c:536:45:536:52 | (...) | 10419.0 | +| test.c:536:46:536:46 | 2 | 1.0 | +| test.c:536:46:536:46 | (unsigned int)... | 1.0 | +| test.c:536:46:536:51 | ... * ... | 10419.0 | +| test.c:536:50:536:51 | ip | 10419.0 | +| test.c:536:56:536:57 | 17 | 1.0 | +| test.c:536:56:536:57 | (unsigned int)... | 1.0 | +| test.c:536:56:536:62 | ... * ... | 10419.0 | +| test.c:536:61:536:62 | ip | 10419.0 | +| test.c:537:17:537:28 | (...) | 20839.0 | +| test.c:537:17:537:33 | ... * ... | 20839.0 | +| test.c:537:18:537:18 | 2 | 1.0 | +| test.c:537:18:537:18 | (unsigned int)... | 1.0 | +| test.c:537:18:537:23 | ... * ... | 20839.0 | +| test.c:537:18:537:27 | ... + ... | 20839.0 | +| test.c:537:22:537:23 | ip | 20839.0 | +| test.c:537:27:537:27 | 1 | 1.0 | +| test.c:537:27:537:27 | (unsigned int)... | 1.0 | +| test.c:537:32:537:33 | 14 | 1.0 | +| test.c:537:32:537:33 | (unsigned int)... | 1.0 | | test.c:538:17:538:18 | 14 | 1.0 | | test.c:538:17:538:18 | (unsigned int)... | 1.0 | -| test.c:538:17:538:29 | ... * ... | 250069.0 | -| test.c:538:22:538:29 | (...) | 250069.0 | +| test.c:538:17:538:29 | ... * ... | 20839.0 | +| test.c:538:17:538:39 | ... > ... | 1.0 | +| test.c:538:17:540:25 | ... ? ... : ... | 4.34263921E8 | +| test.c:538:22:538:29 | (...) | 20839.0 | | test.c:538:23:538:23 | 2 | 1.0 | | test.c:538:23:538:23 | (unsigned int)... | 1.0 | -| test.c:538:23:538:28 | ... * ... | 250069.0 | -| test.c:538:27:538:28 | ip | 250069.0 | -| test.c:539:17:539:18 | 14 | 1.0 | -| test.c:539:17:539:18 | (unsigned int)... | 1.0 | -| test.c:539:17:539:23 | ... * ... | 250069.0 | -| test.c:539:22:539:23 | ip | 250069.0 | -| test.c:540:11:540:12 | 14 | 1.0 | -| test.c:540:11:540:12 | (unsigned int)... | 1.0 | -| test.c:540:11:540:17 | ... * ... | 125034.0 | -| test.c:540:11:540:33 | ... > ... | 1.0 | -| test.c:540:11:542:25 | ... ? ... : ... | 1.5633501156E10 | -| test.c:540:16:540:17 | ip | 125034.0 | -| test.c:540:21:540:28 | (...) | 125034.0 | -| test.c:540:21:540:33 | ... * ... | 125034.0 | -| test.c:540:22:540:23 | ip | 125034.0 | -| test.c:540:22:540:27 | ... + ... | 125034.0 | -| test.c:540:27:540:27 | 1 | 1.0 | -| test.c:540:27:540:27 | (unsigned int)... | 1.0 | -| test.c:540:32:540:33 | 17 | 1.0 | -| test.c:540:32:540:33 | (unsigned int)... | 1.0 | -| test.c:541:13:541:14 | 14 | 1.0 | -| test.c:541:13:541:14 | (unsigned int)... | 1.0 | -| test.c:541:13:541:19 | ... * ... | 125034.0 | -| test.c:541:18:541:19 | ip | 125034.0 | -| test.c:542:13:542:20 | (...) | 125034.0 | -| test.c:542:13:542:25 | ... * ... | 125034.0 | -| test.c:542:14:542:15 | ip | 125034.0 | -| test.c:542:14:542:19 | ... + ... | 125034.0 | -| test.c:542:19:542:19 | 1 | 1.0 | -| test.c:542:19:542:19 | (unsigned int)... | 1.0 | -| test.c:542:24:542:25 | 14 | 1.0 | -| test.c:542:24:542:25 | (unsigned int)... | 1.0 | -| test.c:543:9:543:10 | 14 | 1.0 | -| test.c:543:9:543:10 | (unsigned int)... | 1.0 | -| test.c:543:9:543:15 | ... * ... | 1437897.0 | -| test.c:543:9:543:59 | ... > ... | 1.0 | -| test.c:543:9:545:51 | ... ? ... : ... | 2.9729207539701335E18 | -| test.c:543:14:543:15 | ip | 1437897.0 | -| test.c:543:19:543:30 | (...) | 1437897.0 | -| test.c:543:19:543:35 | ... * ... | 1437897.0 | -| test.c:543:19:543:59 | ... + ... | 2.067547782609E12 | -| test.c:543:20:543:20 | 2 | 1.0 | -| test.c:543:20:543:20 | (unsigned int)... | 1.0 | -| test.c:543:20:543:25 | ... * ... | 1437897.0 | -| test.c:543:20:543:29 | ... + ... | 1437897.0 | -| test.c:543:24:543:25 | ip | 1437897.0 | -| test.c:543:29:543:29 | 1 | 1.0 | -| test.c:543:29:543:29 | (unsigned int)... | 1.0 | -| test.c:543:34:543:35 | 17 | 1.0 | -| test.c:543:34:543:35 | (unsigned int)... | 1.0 | -| test.c:543:39:543:54 | (...) | 1437897.0 | -| test.c:543:39:543:59 | ... * ... | 1437897.0 | -| test.c:543:40:543:40 | 2 | 1.0 | -| test.c:543:40:543:40 | (unsigned int)... | 1.0 | -| test.c:543:40:543:45 | ... * ... | 1437897.0 | -| test.c:543:40:543:49 | ... + ... | 1437897.0 | -| test.c:543:40:543:53 | ... + ... | 1437897.0 | -| test.c:543:44:543:45 | ip | 1437897.0 | -| test.c:543:49:543:49 | 1 | 1.0 | -| test.c:543:49:543:49 | (unsigned int)... | 1.0 | -| test.c:543:53:543:53 | 1 | 1.0 | -| test.c:543:53:543:53 | (unsigned int)... | 1.0 | -| test.c:543:58:543:59 | 17 | 1.0 | -| test.c:543:58:543:59 | (unsigned int)... | 1.0 | -| test.c:544:11:544:12 | 14 | 1.0 | -| test.c:544:11:544:12 | (unsigned int)... | 1.0 | -| test.c:544:11:544:17 | ... * ... | 1437897.0 | -| test.c:544:16:544:17 | ip | 1437897.0 | -| test.c:545:11:545:22 | (...) | 1437897.0 | -| test.c:545:11:545:27 | ... * ... | 1437897.0 | -| test.c:545:11:545:51 | ... + ... | 2.067547782609E12 | -| test.c:545:12:545:12 | 2 | 1.0 | -| test.c:545:12:545:12 | (unsigned int)... | 1.0 | -| test.c:545:12:545:17 | ... * ... | 1437897.0 | -| test.c:545:12:545:21 | ... + ... | 1437897.0 | -| test.c:545:16:545:17 | ip | 1437897.0 | -| test.c:545:21:545:21 | 1 | 1.0 | -| test.c:545:21:545:21 | (unsigned int)... | 1.0 | -| test.c:545:26:545:27 | 14 | 1.0 | -| test.c:545:26:545:27 | (unsigned int)... | 1.0 | -| test.c:545:31:545:46 | (...) | 1437897.0 | -| test.c:545:31:545:51 | ... * ... | 1437897.0 | -| test.c:545:32:545:32 | 2 | 1.0 | -| test.c:545:32:545:32 | (unsigned int)... | 1.0 | -| test.c:545:32:545:37 | ... * ... | 1437897.0 | -| test.c:545:32:545:41 | ... + ... | 1437897.0 | -| test.c:545:32:545:45 | ... + ... | 1437897.0 | -| test.c:545:36:545:37 | ip | 1437897.0 | -| test.c:545:41:545:41 | 1 | 1.0 | -| test.c:545:41:545:41 | (unsigned int)... | 1.0 | -| test.c:545:45:545:45 | 1 | 1.0 | -| test.c:545:45:545:45 | (unsigned int)... | 1.0 | -| test.c:545:50:545:51 | 17 | 1.0 | -| test.c:545:50:545:51 | (unsigned int)... | 1.0 | -| test.c:546:9:546:9 | 2 | 1.0 | -| test.c:546:9:546:9 | (unsigned int)... | 1.0 | -| test.c:546:9:546:26 | ... * ... | 1437897.0 | -| test.c:546:9:566:48 | ... + ... | 3.5306223994138077E62 | -| test.c:546:9:588:30 | ... > ... | 1.0 | -| test.c:546:9:631:27 | ... ? ... : ... | 4.3658022750663434E182 | -| test.c:546:13:546:26 | (...) | 1437897.0 | -| test.c:546:14:546:15 | ip | 1437897.0 | -| test.c:546:14:546:20 | ... * ... | 1437897.0 | -| test.c:546:14:546:25 | ... + ... | 1437897.0 | -| test.c:546:19:546:20 | 14 | 1.0 | -| test.c:546:19:546:20 | (unsigned int)... | 1.0 | -| test.c:546:24:546:25 | 32 | 1.0 | -| test.c:546:24:546:25 | (unsigned int)... | 1.0 | -| test.c:547:13:566:48 | (...) | 2.4554070280512497E56 | -| test.c:547:14:547:14 | 4 | 1.0 | -| test.c:547:14:547:14 | (unsigned int)... | 1.0 | -| test.c:547:14:547:31 | ... * ... | 1437897.0 | -| test.c:547:14:548:32 | ... + ... | 2.067547782609E12 | -| test.c:547:14:549:32 | ... + ... | 2.9729207539701335E18 | -| test.c:547:14:555:28 | ... + ... | 7.070613623498497E37 | -| test.c:547:14:556:43 | ... > ... | 1.0 | -| test.c:547:14:566:47 | ... ? ... : ... | 2.4554070280512497E56 | -| test.c:547:18:547:31 | (...) | 1437897.0 | -| test.c:547:19:547:20 | ip | 1437897.0 | -| test.c:547:19:547:25 | ... * ... | 1437897.0 | -| test.c:547:19:547:30 | ... + ... | 1437897.0 | -| test.c:547:24:547:25 | 14 | 1.0 | -| test.c:547:24:547:25 | (unsigned int)... | 1.0 | -| test.c:547:29:547:30 | 32 | 1.0 | -| test.c:547:29:547:30 | (unsigned int)... | 1.0 | -| test.c:548:15:548:32 | (...) | 1437897.0 | -| test.c:548:16:548:16 | 2 | 1.0 | -| test.c:548:16:548:16 | (unsigned int)... | 1.0 | -| test.c:548:16:548:21 | ... * ... | 1437897.0 | -| test.c:548:16:548:26 | ... * ... | 1437897.0 | -| test.c:548:16:548:31 | ... + ... | 1437897.0 | -| test.c:548:20:548:21 | ip | 1437897.0 | -| test.c:548:25:548:26 | 14 | 1.0 | -| test.c:548:25:548:26 | (unsigned int)... | 1.0 | -| test.c:548:30:548:31 | 32 | 1.0 | -| test.c:548:30:548:31 | (unsigned int)... | 1.0 | -| test.c:549:15:549:15 | 2 | 1.0 | -| test.c:549:15:549:15 | (unsigned int)... | 1.0 | -| test.c:549:15:549:32 | ... * ... | 1437897.0 | -| test.c:549:19:549:32 | (...) | 1437897.0 | -| test.c:549:20:549:21 | ip | 1437897.0 | -| test.c:549:20:549:26 | ... * ... | 1437897.0 | -| test.c:549:20:549:31 | ... + ... | 1437897.0 | -| test.c:549:25:549:26 | 14 | 1.0 | -| test.c:549:25:549:26 | (unsigned int)... | 1.0 | -| test.c:549:30:549:31 | 64 | 1.0 | -| test.c:549:30:549:31 | (unsigned int)... | 1.0 | -| test.c:550:15:555:28 | (...) | 2.3783390842343084E19 | -| test.c:550:16:550:27 | (...) | 1437897.0 | -| test.c:550:16:550:32 | ... * ... | 1437897.0 | -| test.c:550:16:551:65 | ... > ... | 1.0 | -| test.c:550:16:555:27 | ... ? ... : ... | 2.3783390842343084E19 | -| test.c:550:17:550:17 | 2 | 1.0 | -| test.c:550:17:550:17 | (unsigned int)... | 1.0 | -| test.c:550:17:550:22 | ... * ... | 1437897.0 | -| test.c:550:17:550:26 | ... + ... | 1437897.0 | -| test.c:550:21:550:22 | ip | 1437897.0 | -| test.c:550:26:550:26 | 1 | 1.0 | -| test.c:550:26:550:26 | (unsigned int)... | 1.0 | -| test.c:550:31:550:32 | 14 | 1.0 | -| test.c:550:31:550:32 | (unsigned int)... | 1.0 | -| test.c:551:15:551:65 | (...) | 2.067547782609E12 | -| test.c:551:16:551:17 | 14 | 1.0 | -| test.c:551:16:551:17 | (unsigned int)... | 1.0 | -| test.c:551:16:551:28 | ... * ... | 1437897.0 | -| test.c:551:16:551:38 | ... > ... | 1.0 | -| test.c:551:16:551:64 | ... ? ... : ... | 2.067547782609E12 | -| test.c:551:21:551:28 | (...) | 1437897.0 | -| test.c:551:22:551:22 | 2 | 1.0 | -| test.c:551:22:551:22 | (unsigned int)... | 1.0 | -| test.c:551:22:551:27 | ... * ... | 1437897.0 | -| test.c:551:26:551:27 | ip | 1437897.0 | +| test.c:538:23:538:28 | ... * ... | 20839.0 | +| test.c:538:27:538:28 | ip | 20839.0 | +| test.c:538:33:538:34 | 17 | 1.0 | +| test.c:538:33:538:34 | (unsigned int)... | 1.0 | +| test.c:538:33:538:39 | ... * ... | 20839.0 | +| test.c:538:38:538:39 | ip | 20839.0 | +| test.c:539:19:539:20 | 14 | 1.0 | +| test.c:539:19:539:20 | (unsigned int)... | 1.0 | +| test.c:539:19:539:31 | ... * ... | 20839.0 | +| test.c:539:24:539:31 | (...) | 20839.0 | +| test.c:539:25:539:25 | 2 | 1.0 | +| test.c:539:25:539:25 | (unsigned int)... | 1.0 | +| test.c:539:25:539:30 | ... * ... | 20839.0 | +| test.c:539:29:539:30 | ip | 20839.0 | +| test.c:540:19:540:20 | 14 | 1.0 | +| test.c:540:19:540:20 | (unsigned int)... | 1.0 | +| test.c:540:19:540:25 | ... * ... | 20839.0 | +| test.c:540:24:540:25 | ip | 20839.0 | +| test.c:541:11:541:61 | (...) | 3.908375289E9 | +| test.c:541:12:541:13 | 14 | 1.0 | +| test.c:541:12:541:13 | (unsigned int)... | 1.0 | +| test.c:541:12:541:18 | ... * ... | 62517.0 | +| test.c:541:12:541:34 | ... > ... | 1.0 | +| test.c:541:12:541:60 | ... ? ... : ... | 3.908375289E9 | +| test.c:541:17:541:18 | ip | 62517.0 | +| test.c:541:22:541:29 | (...) | 62517.0 | +| test.c:541:22:541:34 | ... * ... | 62517.0 | +| test.c:541:23:541:24 | ip | 62517.0 | +| test.c:541:23:541:28 | ... + ... | 62517.0 | +| test.c:541:28:541:28 | 1 | 1.0 | +| test.c:541:28:541:28 | (unsigned int)... | 1.0 | +| test.c:541:33:541:34 | 17 | 1.0 | +| test.c:541:33:541:34 | (unsigned int)... | 1.0 | +| test.c:541:38:541:39 | 17 | 1.0 | +| test.c:541:38:541:39 | (unsigned int)... | 1.0 | +| test.c:541:38:541:44 | ... * ... | 62517.0 | +| test.c:541:43:541:44 | ip | 62517.0 | +| test.c:541:48:541:55 | (...) | 62517.0 | +| test.c:541:48:541:60 | ... * ... | 62517.0 | +| test.c:541:49:541:50 | ip | 62517.0 | +| test.c:541:49:541:54 | ... + ... | 62517.0 | +| test.c:541:54:541:54 | 1 | 1.0 | +| test.c:541:54:541:54 | (unsigned int)... | 1.0 | +| test.c:541:59:541:60 | 17 | 1.0 | +| test.c:541:59:541:60 | (unsigned int)... | 1.0 | +| test.c:542:11:542:11 | 4 | 1.0 | +| test.c:542:11:542:11 | (unsigned int)... | 1.0 | +| test.c:542:11:542:28 | ... * ... | 125034.0 | +| test.c:542:11:543:28 | ... + ... | 1.5633501156E10 | +| test.c:542:11:544:28 | ... + ... | 1.954719183539304E15 | +| test.c:542:11:550:24 | ... + ... | 3.056778340269433E31 | +| test.c:542:15:542:28 | (...) | 125034.0 | +| test.c:542:16:542:17 | ip | 125034.0 | +| test.c:542:16:542:22 | ... * ... | 125034.0 | +| test.c:542:16:542:27 | ... + ... | 125034.0 | +| test.c:542:21:542:22 | 14 | 1.0 | +| test.c:542:21:542:22 | (unsigned int)... | 1.0 | +| test.c:542:26:542:27 | 32 | 1.0 | +| test.c:542:26:542:27 | (unsigned int)... | 1.0 | +| test.c:543:11:543:28 | (...) | 125034.0 | +| test.c:543:12:543:12 | 2 | 1.0 | +| test.c:543:12:543:12 | (unsigned int)... | 1.0 | +| test.c:543:12:543:17 | ... * ... | 125034.0 | +| test.c:543:12:543:22 | ... * ... | 125034.0 | +| test.c:543:12:543:27 | ... + ... | 125034.0 | +| test.c:543:16:543:17 | ip | 125034.0 | +| test.c:543:21:543:22 | 14 | 1.0 | +| test.c:543:21:543:22 | (unsigned int)... | 1.0 | +| test.c:543:26:543:27 | 32 | 1.0 | +| test.c:543:26:543:27 | (unsigned int)... | 1.0 | +| test.c:544:11:544:11 | 2 | 1.0 | +| test.c:544:11:544:11 | (unsigned int)... | 1.0 | +| test.c:544:11:544:28 | ... * ... | 125034.0 | +| test.c:544:15:544:28 | (...) | 125034.0 | +| test.c:544:16:544:17 | ip | 125034.0 | +| test.c:544:16:544:22 | ... * ... | 125034.0 | +| test.c:544:16:544:27 | ... + ... | 125034.0 | +| test.c:544:21:544:22 | 14 | 1.0 | +| test.c:544:21:544:22 | (unsigned int)... | 1.0 | +| test.c:544:26:544:27 | 64 | 1.0 | +| test.c:544:26:544:27 | (unsigned int)... | 1.0 | +| test.c:545:11:550:24 | (...) | 1.5637941071078508E16 | +| test.c:545:12:545:23 | (...) | 125034.0 | +| test.c:545:12:545:28 | ... * ... | 125034.0 | +| test.c:545:12:546:61 | ... > ... | 1.0 | +| test.c:545:12:550:23 | ... ? ... : ... | 1.5637941071078508E16 | +| test.c:545:13:545:13 | 2 | 1.0 | +| test.c:545:13:545:13 | (unsigned int)... | 1.0 | +| test.c:545:13:545:18 | ... * ... | 125034.0 | +| test.c:545:13:545:22 | ... + ... | 125034.0 | +| test.c:545:17:545:18 | ip | 125034.0 | +| test.c:545:22:545:22 | 1 | 1.0 | +| test.c:545:22:545:22 | (unsigned int)... | 1.0 | +| test.c:545:27:545:28 | 14 | 1.0 | +| test.c:545:27:545:28 | (unsigned int)... | 1.0 | +| test.c:546:11:546:61 | (...) | 1.5633501156E10 | +| test.c:546:12:546:13 | 14 | 1.0 | +| test.c:546:12:546:13 | (unsigned int)... | 1.0 | +| test.c:546:12:546:24 | ... * ... | 125034.0 | +| test.c:546:12:546:34 | ... > ... | 1.0 | +| test.c:546:12:546:60 | ... ? ... : ... | 1.5633501156E10 | +| test.c:546:17:546:24 | (...) | 125034.0 | +| test.c:546:18:546:18 | 2 | 1.0 | +| test.c:546:18:546:18 | (unsigned int)... | 1.0 | +| test.c:546:18:546:23 | ... * ... | 125034.0 | +| test.c:546:22:546:23 | ip | 125034.0 | +| test.c:546:28:546:29 | 17 | 1.0 | +| test.c:546:28:546:29 | (unsigned int)... | 1.0 | +| test.c:546:28:546:34 | ... * ... | 125034.0 | +| test.c:546:33:546:34 | ip | 125034.0 | +| test.c:546:38:546:39 | 17 | 1.0 | +| test.c:546:38:546:39 | (unsigned int)... | 1.0 | +| test.c:546:38:546:50 | ... * ... | 125034.0 | +| test.c:546:43:546:50 | (...) | 125034.0 | +| test.c:546:44:546:44 | 2 | 1.0 | +| test.c:546:44:546:44 | (unsigned int)... | 1.0 | +| test.c:546:44:546:49 | ... * ... | 125034.0 | +| test.c:546:48:546:49 | ip | 125034.0 | +| test.c:546:54:546:55 | 17 | 1.0 | +| test.c:546:54:546:55 | (unsigned int)... | 1.0 | +| test.c:546:54:546:60 | ... * ... | 125034.0 | +| test.c:546:59:546:60 | ip | 125034.0 | +| test.c:547:15:547:26 | (...) | 250069.0 | +| test.c:547:15:547:31 | ... * ... | 250069.0 | +| test.c:547:16:547:16 | 2 | 1.0 | +| test.c:547:16:547:16 | (unsigned int)... | 1.0 | +| test.c:547:16:547:21 | ... * ... | 250069.0 | +| test.c:547:16:547:25 | ... + ... | 250069.0 | +| test.c:547:20:547:21 | ip | 250069.0 | +| test.c:547:25:547:25 | 1 | 1.0 | +| test.c:547:25:547:25 | (unsigned int)... | 1.0 | +| test.c:547:30:547:31 | 14 | 1.0 | +| test.c:547:30:547:31 | (unsigned int)... | 1.0 | +| test.c:548:15:548:16 | 14 | 1.0 | +| test.c:548:15:548:16 | (unsigned int)... | 1.0 | +| test.c:548:15:548:27 | ... * ... | 250069.0 | +| test.c:548:15:548:37 | ... > ... | 1.0 | +| test.c:548:15:550:23 | ... ? ... : ... | 6.2534504761E10 | +| test.c:548:20:548:27 | (...) | 250069.0 | +| test.c:548:21:548:21 | 2 | 1.0 | +| test.c:548:21:548:21 | (unsigned int)... | 1.0 | +| test.c:548:21:548:26 | ... * ... | 250069.0 | +| test.c:548:25:548:26 | ip | 250069.0 | +| test.c:548:31:548:32 | 17 | 1.0 | +| test.c:548:31:548:32 | (unsigned int)... | 1.0 | +| test.c:548:31:548:37 | ... * ... | 250069.0 | +| test.c:548:36:548:37 | ip | 250069.0 | +| test.c:549:17:549:18 | 14 | 1.0 | +| test.c:549:17:549:18 | (unsigned int)... | 1.0 | +| test.c:549:17:549:29 | ... * ... | 250069.0 | +| test.c:549:22:549:29 | (...) | 250069.0 | +| test.c:549:23:549:23 | 2 | 1.0 | +| test.c:549:23:549:23 | (unsigned int)... | 1.0 | +| test.c:549:23:549:28 | ... * ... | 250069.0 | +| test.c:549:27:549:28 | ip | 250069.0 | +| test.c:550:17:550:18 | 14 | 1.0 | +| test.c:550:17:550:18 | (unsigned int)... | 1.0 | +| test.c:550:17:550:23 | ... * ... | 250069.0 | +| test.c:550:22:550:23 | ip | 250069.0 | +| test.c:551:11:551:12 | 14 | 1.0 | +| test.c:551:11:551:12 | (unsigned int)... | 1.0 | +| test.c:551:11:551:17 | ... * ... | 125034.0 | +| test.c:551:11:551:33 | ... > ... | 1.0 | +| test.c:551:11:553:25 | ... ? ... : ... | 1.5633501156E10 | +| test.c:551:16:551:17 | ip | 125034.0 | +| test.c:551:21:551:28 | (...) | 125034.0 | +| test.c:551:21:551:33 | ... * ... | 125034.0 | +| test.c:551:22:551:23 | ip | 125034.0 | +| test.c:551:22:551:27 | ... + ... | 125034.0 | +| test.c:551:27:551:27 | 1 | 1.0 | +| test.c:551:27:551:27 | (unsigned int)... | 1.0 | | test.c:551:32:551:33 | 17 | 1.0 | | test.c:551:32:551:33 | (unsigned int)... | 1.0 | -| test.c:551:32:551:38 | ... * ... | 1437897.0 | -| test.c:551:37:551:38 | ip | 1437897.0 | -| test.c:551:42:551:43 | 17 | 1.0 | -| test.c:551:42:551:43 | (unsigned int)... | 1.0 | -| test.c:551:42:551:54 | ... * ... | 1437897.0 | -| test.c:551:47:551:54 | (...) | 1437897.0 | -| test.c:551:48:551:48 | 2 | 1.0 | -| test.c:551:48:551:48 | (unsigned int)... | 1.0 | -| test.c:551:48:551:53 | ... * ... | 1437897.0 | -| test.c:551:52:551:53 | ip | 1437897.0 | -| test.c:551:58:551:59 | 17 | 1.0 | -| test.c:551:58:551:59 | (unsigned int)... | 1.0 | -| test.c:551:58:551:64 | ... * ... | 1437897.0 | -| test.c:551:63:551:64 | ip | 1437897.0 | -| test.c:552:19:552:30 | (...) | 2875795.0 | -| test.c:552:19:552:35 | ... * ... | 2875795.0 | -| test.c:552:20:552:20 | 2 | 1.0 | -| test.c:552:20:552:20 | (unsigned int)... | 1.0 | -| test.c:552:20:552:25 | ... * ... | 2875795.0 | -| test.c:552:20:552:29 | ... + ... | 2875795.0 | -| test.c:552:24:552:25 | ip | 2875795.0 | -| test.c:552:29:552:29 | 1 | 1.0 | -| test.c:552:29:552:29 | (unsigned int)... | 1.0 | -| test.c:552:34:552:35 | 14 | 1.0 | -| test.c:552:34:552:35 | (unsigned int)... | 1.0 | -| test.c:553:19:553:20 | 14 | 1.0 | -| test.c:553:19:553:20 | (unsigned int)... | 1.0 | -| test.c:553:19:553:31 | ... * ... | 2875795.0 | -| test.c:553:19:553:41 | ... > ... | 1.0 | -| test.c:553:19:555:27 | ... ? ... : ... | 8.270196882025E12 | -| test.c:553:24:553:31 | (...) | 2875795.0 | -| test.c:553:25:553:25 | 2 | 1.0 | -| test.c:553:25:553:25 | (unsigned int)... | 1.0 | -| test.c:553:25:553:30 | ... * ... | 2875795.0 | -| test.c:553:29:553:30 | ip | 2875795.0 | -| test.c:553:35:553:36 | 17 | 1.0 | -| test.c:553:35:553:36 | (unsigned int)... | 1.0 | -| test.c:553:35:553:41 | ... * ... | 2875795.0 | -| test.c:553:40:553:41 | ip | 2875795.0 | -| test.c:554:21:554:22 | 14 | 1.0 | -| test.c:554:21:554:22 | (unsigned int)... | 1.0 | -| test.c:554:21:554:33 | ... * ... | 2875795.0 | -| test.c:554:26:554:33 | (...) | 2875795.0 | -| test.c:554:27:554:27 | 2 | 1.0 | -| test.c:554:27:554:27 | (unsigned int)... | 1.0 | -| test.c:554:27:554:32 | ... * ... | 2875795.0 | -| test.c:554:31:554:32 | ip | 2875795.0 | -| test.c:555:21:555:22 | 14 | 1.0 | -| test.c:555:21:555:22 | (unsigned int)... | 1.0 | -| test.c:555:21:555:27 | ... * ... | 2875795.0 | -| test.c:555:26:555:27 | ip | 2875795.0 | -| test.c:556:13:556:13 | 2 | 1.0 | -| test.c:556:13:556:13 | (unsigned int)... | 1.0 | -| test.c:556:13:556:18 | ... * ... | 8627385.0 | -| test.c:556:13:556:23 | ... * ... | 8627385.0 | -| test.c:556:13:556:43 | ... + ... | 7.4431771938225E13 | -| test.c:556:17:556:18 | ip | 8627385.0 | -| test.c:556:22:556:23 | 14 | 1.0 | -| test.c:556:22:556:23 | (unsigned int)... | 1.0 | -| test.c:556:27:556:38 | (...) | 8627385.0 | -| test.c:556:27:556:43 | ... * ... | 8627385.0 | -| test.c:556:28:556:28 | 2 | 1.0 | -| test.c:556:28:556:28 | (unsigned int)... | 1.0 | -| test.c:556:28:556:33 | ... * ... | 8627385.0 | -| test.c:556:28:556:37 | ... + ... | 8627385.0 | -| test.c:556:32:556:33 | ip | 8627385.0 | -| test.c:556:37:556:37 | 1 | 1.0 | -| test.c:556:37:556:37 | (unsigned int)... | 1.0 | -| test.c:556:42:556:43 | 17 | 1.0 | -| test.c:556:42:556:43 | (unsigned int)... | 1.0 | -| test.c:557:17:557:17 | 4 | 1.0 | -| test.c:557:17:557:17 | (unsigned int)... | 1.0 | -| test.c:557:17:557:34 | ... * ... | 8627385.0 | -| test.c:557:17:558:34 | ... + ... | 7.4431771938225E13 | -| test.c:557:17:559:34 | ... + ... | 6.421515527432633E20 | -| test.c:557:17:565:30 | ... + ... | 3.298869507082441E42 | -| test.c:557:21:557:34 | (...) | 8627385.0 | -| test.c:557:22:557:23 | ip | 8627385.0 | -| test.c:557:22:557:28 | ... * ... | 8627385.0 | -| test.c:557:22:557:33 | ... + ... | 8627385.0 | -| test.c:557:27:557:28 | 14 | 1.0 | -| test.c:557:27:557:28 | (unsigned int)... | 1.0 | -| test.c:557:32:557:33 | 32 | 1.0 | -| test.c:557:32:557:33 | (unsigned int)... | 1.0 | -| test.c:558:17:558:34 | (...) | 8627385.0 | -| test.c:558:18:558:18 | 2 | 1.0 | -| test.c:558:18:558:18 | (unsigned int)... | 1.0 | -| test.c:558:18:558:23 | ... * ... | 8627385.0 | -| test.c:558:18:558:28 | ... * ... | 8627385.0 | -| test.c:558:18:558:33 | ... + ... | 8627385.0 | -| test.c:558:22:558:23 | ip | 8627385.0 | -| test.c:558:27:558:28 | 14 | 1.0 | -| test.c:558:27:558:28 | (unsigned int)... | 1.0 | -| test.c:558:32:558:33 | 32 | 1.0 | -| test.c:558:32:558:33 | (unsigned int)... | 1.0 | -| test.c:559:17:559:17 | 2 | 1.0 | -| test.c:559:17:559:17 | (unsigned int)... | 1.0 | -| test.c:559:17:559:34 | ... * ... | 8627385.0 | -| test.c:559:21:559:34 | (...) | 8627385.0 | -| test.c:559:22:559:23 | ip | 8627385.0 | -| test.c:559:22:559:28 | ... * ... | 8627385.0 | -| test.c:559:22:559:33 | ... + ... | 8627385.0 | -| test.c:559:27:559:28 | 14 | 1.0 | -| test.c:559:27:559:28 | (unsigned int)... | 1.0 | -| test.c:559:32:559:33 | 64 | 1.0 | -| test.c:559:32:559:33 | (unsigned int)... | 1.0 | -| test.c:560:17:565:30 | (...) | 5.137213315127421E21 | -| test.c:560:18:560:29 | (...) | 8627385.0 | -| test.c:560:18:560:34 | ... * ... | 8627385.0 | -| test.c:560:18:561:67 | ... > ... | 1.0 | -| test.c:560:18:565:29 | ... ? ... : ... | 5.137213315127421E21 | -| test.c:560:19:560:19 | 2 | 1.0 | -| test.c:560:19:560:19 | (unsigned int)... | 1.0 | -| test.c:560:19:560:24 | ... * ... | 8627385.0 | -| test.c:560:19:560:28 | ... + ... | 8627385.0 | -| test.c:560:23:560:24 | ip | 8627385.0 | -| test.c:560:28:560:28 | 1 | 1.0 | -| test.c:560:28:560:28 | (unsigned int)... | 1.0 | -| test.c:560:33:560:34 | 14 | 1.0 | -| test.c:560:33:560:34 | (unsigned int)... | 1.0 | -| test.c:561:17:561:67 | (...) | 7.4431771938225E13 | -| test.c:561:18:561:19 | 14 | 1.0 | -| test.c:561:18:561:19 | (unsigned int)... | 1.0 | -| test.c:561:18:561:30 | ... * ... | 8627385.0 | -| test.c:561:18:561:40 | ... > ... | 1.0 | -| test.c:561:18:561:66 | ... ? ... : ... | 7.4431771938225E13 | -| test.c:561:23:561:30 | (...) | 8627385.0 | -| test.c:561:24:561:24 | 2 | 1.0 | -| test.c:561:24:561:24 | (unsigned int)... | 1.0 | -| test.c:561:24:561:29 | ... * ... | 8627385.0 | -| test.c:561:28:561:29 | ip | 8627385.0 | -| test.c:561:34:561:35 | 17 | 1.0 | -| test.c:561:34:561:35 | (unsigned int)... | 1.0 | -| test.c:561:34:561:40 | ... * ... | 8627385.0 | -| test.c:561:39:561:40 | ip | 8627385.0 | -| test.c:561:44:561:45 | 17 | 1.0 | -| test.c:561:44:561:45 | (unsigned int)... | 1.0 | -| test.c:561:44:561:56 | ... * ... | 8627385.0 | -| test.c:561:49:561:56 | (...) | 8627385.0 | -| test.c:561:50:561:50 | 2 | 1.0 | -| test.c:561:50:561:50 | (unsigned int)... | 1.0 | -| test.c:561:50:561:55 | ... * ... | 8627385.0 | -| test.c:561:54:561:55 | ip | 8627385.0 | -| test.c:561:60:561:61 | 17 | 1.0 | -| test.c:561:60:561:61 | (unsigned int)... | 1.0 | -| test.c:561:60:561:66 | ... * ... | 8627385.0 | -| test.c:561:65:561:66 | ip | 8627385.0 | -| test.c:562:21:562:32 | (...) | 1.7254771E7 | -| test.c:562:21:562:37 | ... * ... | 1.7254771E7 | +| test.c:552:13:552:14 | 14 | 1.0 | +| test.c:552:13:552:14 | (unsigned int)... | 1.0 | +| test.c:552:13:552:19 | ... * ... | 125034.0 | +| test.c:552:18:552:19 | ip | 125034.0 | +| test.c:553:13:553:20 | (...) | 125034.0 | +| test.c:553:13:553:25 | ... * ... | 125034.0 | +| test.c:553:14:553:15 | ip | 125034.0 | +| test.c:553:14:553:19 | ... + ... | 125034.0 | +| test.c:553:19:553:19 | 1 | 1.0 | +| test.c:553:19:553:19 | (unsigned int)... | 1.0 | +| test.c:553:24:553:25 | 14 | 1.0 | +| test.c:553:24:553:25 | (unsigned int)... | 1.0 | +| test.c:554:9:554:10 | 14 | 1.0 | +| test.c:554:9:554:10 | (unsigned int)... | 1.0 | +| test.c:554:9:554:15 | ... * ... | 1437897.0 | +| test.c:554:9:554:59 | ... > ... | 1.0 | +| test.c:554:9:556:51 | ... ? ... : ... | 2.9729207539701335E18 | +| test.c:554:14:554:15 | ip | 1437897.0 | +| test.c:554:19:554:30 | (...) | 1437897.0 | +| test.c:554:19:554:35 | ... * ... | 1437897.0 | +| test.c:554:19:554:59 | ... + ... | 2.067547782609E12 | +| test.c:554:20:554:20 | 2 | 1.0 | +| test.c:554:20:554:20 | (unsigned int)... | 1.0 | +| test.c:554:20:554:25 | ... * ... | 1437897.0 | +| test.c:554:20:554:29 | ... + ... | 1437897.0 | +| test.c:554:24:554:25 | ip | 1437897.0 | +| test.c:554:29:554:29 | 1 | 1.0 | +| test.c:554:29:554:29 | (unsigned int)... | 1.0 | +| test.c:554:34:554:35 | 17 | 1.0 | +| test.c:554:34:554:35 | (unsigned int)... | 1.0 | +| test.c:554:39:554:54 | (...) | 1437897.0 | +| test.c:554:39:554:59 | ... * ... | 1437897.0 | +| test.c:554:40:554:40 | 2 | 1.0 | +| test.c:554:40:554:40 | (unsigned int)... | 1.0 | +| test.c:554:40:554:45 | ... * ... | 1437897.0 | +| test.c:554:40:554:49 | ... + ... | 1437897.0 | +| test.c:554:40:554:53 | ... + ... | 1437897.0 | +| test.c:554:44:554:45 | ip | 1437897.0 | +| test.c:554:49:554:49 | 1 | 1.0 | +| test.c:554:49:554:49 | (unsigned int)... | 1.0 | +| test.c:554:53:554:53 | 1 | 1.0 | +| test.c:554:53:554:53 | (unsigned int)... | 1.0 | +| test.c:554:58:554:59 | 17 | 1.0 | +| test.c:554:58:554:59 | (unsigned int)... | 1.0 | +| test.c:555:11:555:12 | 14 | 1.0 | +| test.c:555:11:555:12 | (unsigned int)... | 1.0 | +| test.c:555:11:555:17 | ... * ... | 1437897.0 | +| test.c:555:16:555:17 | ip | 1437897.0 | +| test.c:556:11:556:22 | (...) | 1437897.0 | +| test.c:556:11:556:27 | ... * ... | 1437897.0 | +| test.c:556:11:556:51 | ... + ... | 2.067547782609E12 | +| test.c:556:12:556:12 | 2 | 1.0 | +| test.c:556:12:556:12 | (unsigned int)... | 1.0 | +| test.c:556:12:556:17 | ... * ... | 1437897.0 | +| test.c:556:12:556:21 | ... + ... | 1437897.0 | +| test.c:556:16:556:17 | ip | 1437897.0 | +| test.c:556:21:556:21 | 1 | 1.0 | +| test.c:556:21:556:21 | (unsigned int)... | 1.0 | +| test.c:556:26:556:27 | 14 | 1.0 | +| test.c:556:26:556:27 | (unsigned int)... | 1.0 | +| test.c:556:31:556:46 | (...) | 1437897.0 | +| test.c:556:31:556:51 | ... * ... | 1437897.0 | +| test.c:556:32:556:32 | 2 | 1.0 | +| test.c:556:32:556:32 | (unsigned int)... | 1.0 | +| test.c:556:32:556:37 | ... * ... | 1437897.0 | +| test.c:556:32:556:41 | ... + ... | 1437897.0 | +| test.c:556:32:556:45 | ... + ... | 1437897.0 | +| test.c:556:36:556:37 | ip | 1437897.0 | +| test.c:556:41:556:41 | 1 | 1.0 | +| test.c:556:41:556:41 | (unsigned int)... | 1.0 | +| test.c:556:45:556:45 | 1 | 1.0 | +| test.c:556:45:556:45 | (unsigned int)... | 1.0 | +| test.c:556:50:556:51 | 17 | 1.0 | +| test.c:556:50:556:51 | (unsigned int)... | 1.0 | +| test.c:557:9:557:9 | 2 | 1.0 | +| test.c:557:9:557:9 | (unsigned int)... | 1.0 | +| test.c:557:9:557:26 | ... * ... | 1437897.0 | +| test.c:557:9:577:48 | ... + ... | 3.5306223994138077E62 | +| test.c:557:9:599:30 | ... > ... | 1.0 | +| test.c:557:9:642:27 | ... ? ... : ... | 4.3658022750663434E182 | +| test.c:557:13:557:26 | (...) | 1437897.0 | +| test.c:557:14:557:15 | ip | 1437897.0 | +| test.c:557:14:557:20 | ... * ... | 1437897.0 | +| test.c:557:14:557:25 | ... + ... | 1437897.0 | +| test.c:557:19:557:20 | 14 | 1.0 | +| test.c:557:19:557:20 | (unsigned int)... | 1.0 | +| test.c:557:24:557:25 | 32 | 1.0 | +| test.c:557:24:557:25 | (unsigned int)... | 1.0 | +| test.c:558:13:577:48 | (...) | 2.4554070280512497E56 | +| test.c:558:14:558:14 | 4 | 1.0 | +| test.c:558:14:558:14 | (unsigned int)... | 1.0 | +| test.c:558:14:558:31 | ... * ... | 1437897.0 | +| test.c:558:14:559:32 | ... + ... | 2.067547782609E12 | +| test.c:558:14:560:32 | ... + ... | 2.9729207539701335E18 | +| test.c:558:14:566:28 | ... + ... | 7.070613623498497E37 | +| test.c:558:14:567:43 | ... > ... | 1.0 | +| test.c:558:14:577:47 | ... ? ... : ... | 2.4554070280512497E56 | +| test.c:558:18:558:31 | (...) | 1437897.0 | +| test.c:558:19:558:20 | ip | 1437897.0 | +| test.c:558:19:558:25 | ... * ... | 1437897.0 | +| test.c:558:19:558:30 | ... + ... | 1437897.0 | +| test.c:558:24:558:25 | 14 | 1.0 | +| test.c:558:24:558:25 | (unsigned int)... | 1.0 | +| test.c:558:29:558:30 | 32 | 1.0 | +| test.c:558:29:558:30 | (unsigned int)... | 1.0 | +| test.c:559:15:559:32 | (...) | 1437897.0 | +| test.c:559:16:559:16 | 2 | 1.0 | +| test.c:559:16:559:16 | (unsigned int)... | 1.0 | +| test.c:559:16:559:21 | ... * ... | 1437897.0 | +| test.c:559:16:559:26 | ... * ... | 1437897.0 | +| test.c:559:16:559:31 | ... + ... | 1437897.0 | +| test.c:559:20:559:21 | ip | 1437897.0 | +| test.c:559:25:559:26 | 14 | 1.0 | +| test.c:559:25:559:26 | (unsigned int)... | 1.0 | +| test.c:559:30:559:31 | 32 | 1.0 | +| test.c:559:30:559:31 | (unsigned int)... | 1.0 | +| test.c:560:15:560:15 | 2 | 1.0 | +| test.c:560:15:560:15 | (unsigned int)... | 1.0 | +| test.c:560:15:560:32 | ... * ... | 1437897.0 | +| test.c:560:19:560:32 | (...) | 1437897.0 | +| test.c:560:20:560:21 | ip | 1437897.0 | +| test.c:560:20:560:26 | ... * ... | 1437897.0 | +| test.c:560:20:560:31 | ... + ... | 1437897.0 | +| test.c:560:25:560:26 | 14 | 1.0 | +| test.c:560:25:560:26 | (unsigned int)... | 1.0 | +| test.c:560:30:560:31 | 64 | 1.0 | +| test.c:560:30:560:31 | (unsigned int)... | 1.0 | +| test.c:561:15:566:28 | (...) | 2.3783390842343084E19 | +| test.c:561:16:561:27 | (...) | 1437897.0 | +| test.c:561:16:561:32 | ... * ... | 1437897.0 | +| test.c:561:16:562:65 | ... > ... | 1.0 | +| test.c:561:16:566:27 | ... ? ... : ... | 2.3783390842343084E19 | +| test.c:561:17:561:17 | 2 | 1.0 | +| test.c:561:17:561:17 | (unsigned int)... | 1.0 | +| test.c:561:17:561:22 | ... * ... | 1437897.0 | +| test.c:561:17:561:26 | ... + ... | 1437897.0 | +| test.c:561:21:561:22 | ip | 1437897.0 | +| test.c:561:26:561:26 | 1 | 1.0 | +| test.c:561:26:561:26 | (unsigned int)... | 1.0 | +| test.c:561:31:561:32 | 14 | 1.0 | +| test.c:561:31:561:32 | (unsigned int)... | 1.0 | +| test.c:562:15:562:65 | (...) | 2.067547782609E12 | +| test.c:562:16:562:17 | 14 | 1.0 | +| test.c:562:16:562:17 | (unsigned int)... | 1.0 | +| test.c:562:16:562:28 | ... * ... | 1437897.0 | +| test.c:562:16:562:38 | ... > ... | 1.0 | +| test.c:562:16:562:64 | ... ? ... : ... | 2.067547782609E12 | +| test.c:562:21:562:28 | (...) | 1437897.0 | | test.c:562:22:562:22 | 2 | 1.0 | | test.c:562:22:562:22 | (unsigned int)... | 1.0 | -| test.c:562:22:562:27 | ... * ... | 1.7254771E7 | -| test.c:562:22:562:31 | ... + ... | 1.7254771E7 | -| test.c:562:26:562:27 | ip | 1.7254771E7 | -| test.c:562:31:562:31 | 1 | 1.0 | -| test.c:562:31:562:31 | (unsigned int)... | 1.0 | -| test.c:562:36:562:37 | 14 | 1.0 | -| test.c:562:36:562:37 | (unsigned int)... | 1.0 | -| test.c:563:21:563:22 | 14 | 1.0 | -| test.c:563:21:563:22 | (unsigned int)... | 1.0 | -| test.c:563:21:563:33 | ... * ... | 1.7254771E7 | -| test.c:563:21:563:43 | ... > ... | 1.0 | -| test.c:563:21:565:29 | ... ? ... : ... | 2.97727122262441E14 | -| test.c:563:26:563:33 | (...) | 1.7254771E7 | -| test.c:563:27:563:27 | 2 | 1.0 | -| test.c:563:27:563:27 | (unsigned int)... | 1.0 | -| test.c:563:27:563:32 | ... * ... | 1.7254771E7 | -| test.c:563:31:563:32 | ip | 1.7254771E7 | -| test.c:563:37:563:38 | 17 | 1.0 | -| test.c:563:37:563:38 | (unsigned int)... | 1.0 | -| test.c:563:37:563:43 | ... * ... | 1.7254771E7 | -| test.c:563:42:563:43 | ip | 1.7254771E7 | -| test.c:564:23:564:24 | 14 | 1.0 | -| test.c:564:23:564:24 | (unsigned int)... | 1.0 | -| test.c:564:23:564:35 | ... * ... | 1.7254771E7 | -| test.c:564:28:564:35 | (...) | 1.7254771E7 | -| test.c:564:29:564:29 | 2 | 1.0 | -| test.c:564:29:564:29 | (unsigned int)... | 1.0 | -| test.c:564:29:564:34 | ... * ... | 1.7254771E7 | -| test.c:564:33:564:34 | ip | 1.7254771E7 | -| test.c:565:23:565:24 | 14 | 1.0 | -| test.c:565:23:565:24 | (unsigned int)... | 1.0 | -| test.c:565:23:565:29 | ... * ... | 1.7254771E7 | -| test.c:565:28:565:29 | ip | 1.7254771E7 | -| test.c:566:17:566:17 | 2 | 1.0 | -| test.c:566:17:566:17 | (unsigned int)... | 1.0 | -| test.c:566:17:566:22 | ... * ... | 8627385.0 | -| test.c:566:17:566:27 | ... * ... | 8627385.0 | -| test.c:566:17:566:47 | ... + ... | 7.4431771938225E13 | -| test.c:566:21:566:22 | ip | 8627385.0 | -| test.c:566:26:566:27 | 14 | 1.0 | -| test.c:566:26:566:27 | (unsigned int)... | 1.0 | -| test.c:566:31:566:42 | (...) | 8627385.0 | -| test.c:566:31:566:47 | ... * ... | 8627385.0 | -| test.c:566:32:566:32 | 2 | 1.0 | -| test.c:566:32:566:32 | (unsigned int)... | 1.0 | -| test.c:566:32:566:37 | ... * ... | 8627385.0 | -| test.c:566:32:566:41 | ... + ... | 8627385.0 | -| test.c:566:36:566:37 | ip | 8627385.0 | -| test.c:566:41:566:41 | 1 | 1.0 | -| test.c:566:41:566:41 | (unsigned int)... | 1.0 | -| test.c:566:46:566:47 | 17 | 1.0 | -| test.c:566:46:566:47 | (unsigned int)... | 1.0 | -| test.c:567:11:588:30 | (...) | 6.08636382738973E71 | -| test.c:567:12:567:12 | 4 | 1.0 | -| test.c:567:12:567:12 | (unsigned int)... | 1.0 | -| test.c:567:12:567:29 | ... * ... | 6.0391698E7 | -| test.c:567:12:568:30 | ... + ... | 3.647157187323204E15 | -| test.c:567:12:569:30 | ... + ... | 2.2025801541535236E23 | -| test.c:567:12:575:26 | ... + ... | 3.881087564774641E47 | -| test.c:567:12:576:61 | ... > ... | 1.0 | -| test.c:567:12:588:29 | ... ? ... : ... | 6.08636382738973E71 | -| test.c:567:16:567:29 | (...) | 6.0391698E7 | -| test.c:567:17:567:18 | ip | 6.0391698E7 | -| test.c:567:17:567:23 | ... * ... | 6.0391698E7 | -| test.c:567:17:567:28 | ... + ... | 6.0391698E7 | +| test.c:562:22:562:27 | ... * ... | 1437897.0 | +| test.c:562:26:562:27 | ip | 1437897.0 | +| test.c:562:32:562:33 | 17 | 1.0 | +| test.c:562:32:562:33 | (unsigned int)... | 1.0 | +| test.c:562:32:562:38 | ... * ... | 1437897.0 | +| test.c:562:37:562:38 | ip | 1437897.0 | +| test.c:562:42:562:43 | 17 | 1.0 | +| test.c:562:42:562:43 | (unsigned int)... | 1.0 | +| test.c:562:42:562:54 | ... * ... | 1437897.0 | +| test.c:562:47:562:54 | (...) | 1437897.0 | +| test.c:562:48:562:48 | 2 | 1.0 | +| test.c:562:48:562:48 | (unsigned int)... | 1.0 | +| test.c:562:48:562:53 | ... * ... | 1437897.0 | +| test.c:562:52:562:53 | ip | 1437897.0 | +| test.c:562:58:562:59 | 17 | 1.0 | +| test.c:562:58:562:59 | (unsigned int)... | 1.0 | +| test.c:562:58:562:64 | ... * ... | 1437897.0 | +| test.c:562:63:562:64 | ip | 1437897.0 | +| test.c:563:19:563:30 | (...) | 2875795.0 | +| test.c:563:19:563:35 | ... * ... | 2875795.0 | +| test.c:563:20:563:20 | 2 | 1.0 | +| test.c:563:20:563:20 | (unsigned int)... | 1.0 | +| test.c:563:20:563:25 | ... * ... | 2875795.0 | +| test.c:563:20:563:29 | ... + ... | 2875795.0 | +| test.c:563:24:563:25 | ip | 2875795.0 | +| test.c:563:29:563:29 | 1 | 1.0 | +| test.c:563:29:563:29 | (unsigned int)... | 1.0 | +| test.c:563:34:563:35 | 14 | 1.0 | +| test.c:563:34:563:35 | (unsigned int)... | 1.0 | +| test.c:564:19:564:20 | 14 | 1.0 | +| test.c:564:19:564:20 | (unsigned int)... | 1.0 | +| test.c:564:19:564:31 | ... * ... | 2875795.0 | +| test.c:564:19:564:41 | ... > ... | 1.0 | +| test.c:564:19:566:27 | ... ? ... : ... | 8.270196882025E12 | +| test.c:564:24:564:31 | (...) | 2875795.0 | +| test.c:564:25:564:25 | 2 | 1.0 | +| test.c:564:25:564:25 | (unsigned int)... | 1.0 | +| test.c:564:25:564:30 | ... * ... | 2875795.0 | +| test.c:564:29:564:30 | ip | 2875795.0 | +| test.c:564:35:564:36 | 17 | 1.0 | +| test.c:564:35:564:36 | (unsigned int)... | 1.0 | +| test.c:564:35:564:41 | ... * ... | 2875795.0 | +| test.c:564:40:564:41 | ip | 2875795.0 | +| test.c:565:21:565:22 | 14 | 1.0 | +| test.c:565:21:565:22 | (unsigned int)... | 1.0 | +| test.c:565:21:565:33 | ... * ... | 2875795.0 | +| test.c:565:26:565:33 | (...) | 2875795.0 | +| test.c:565:27:565:27 | 2 | 1.0 | +| test.c:565:27:565:27 | (unsigned int)... | 1.0 | +| test.c:565:27:565:32 | ... * ... | 2875795.0 | +| test.c:565:31:565:32 | ip | 2875795.0 | +| test.c:566:21:566:22 | 14 | 1.0 | +| test.c:566:21:566:22 | (unsigned int)... | 1.0 | +| test.c:566:21:566:27 | ... * ... | 2875795.0 | +| test.c:566:26:566:27 | ip | 2875795.0 | +| test.c:567:13:567:13 | 2 | 1.0 | +| test.c:567:13:567:13 | (unsigned int)... | 1.0 | +| test.c:567:13:567:18 | ... * ... | 8627385.0 | +| test.c:567:13:567:23 | ... * ... | 8627385.0 | +| test.c:567:13:567:43 | ... + ... | 7.4431771938225E13 | +| test.c:567:17:567:18 | ip | 8627385.0 | | test.c:567:22:567:23 | 14 | 1.0 | | test.c:567:22:567:23 | (unsigned int)... | 1.0 | -| test.c:567:27:567:28 | 32 | 1.0 | -| test.c:567:27:567:28 | (unsigned int)... | 1.0 | -| test.c:568:13:568:30 | (...) | 6.0391698E7 | -| test.c:568:14:568:14 | 2 | 1.0 | -| test.c:568:14:568:14 | (unsigned int)... | 1.0 | -| test.c:568:14:568:19 | ... * ... | 6.0391698E7 | -| test.c:568:14:568:24 | ... * ... | 6.0391698E7 | -| test.c:568:14:568:29 | ... + ... | 6.0391698E7 | -| test.c:568:18:568:19 | ip | 6.0391698E7 | -| test.c:568:23:568:24 | 14 | 1.0 | -| test.c:568:23:568:24 | (unsigned int)... | 1.0 | -| test.c:568:28:568:29 | 32 | 1.0 | -| test.c:568:28:568:29 | (unsigned int)... | 1.0 | -| test.c:569:13:569:13 | 2 | 1.0 | -| test.c:569:13:569:13 | (unsigned int)... | 1.0 | -| test.c:569:13:569:30 | ... * ... | 6.0391698E7 | -| test.c:569:17:569:30 | (...) | 6.0391698E7 | -| test.c:569:18:569:19 | ip | 6.0391698E7 | -| test.c:569:18:569:24 | ... * ... | 6.0391698E7 | -| test.c:569:18:569:29 | ... + ... | 6.0391698E7 | -| test.c:569:23:569:24 | 14 | 1.0 | -| test.c:569:23:569:24 | (unsigned int)... | 1.0 | -| test.c:569:28:569:29 | 64 | 1.0 | -| test.c:569:28:569:29 | (unsigned int)... | 1.0 | -| test.c:570:13:575:26 | (...) | 1.7620641670887053E24 | -| test.c:570:14:570:25 | (...) | 6.0391698E7 | -| test.c:570:14:570:30 | ... * ... | 6.0391698E7 | -| test.c:570:14:571:63 | ... > ... | 1.0 | -| test.c:570:14:575:25 | ... ? ... : ... | 1.7620641670887053E24 | -| test.c:570:15:570:15 | 2 | 1.0 | -| test.c:570:15:570:15 | (unsigned int)... | 1.0 | -| test.c:570:15:570:20 | ... * ... | 6.0391698E7 | -| test.c:570:15:570:24 | ... + ... | 6.0391698E7 | -| test.c:570:19:570:20 | ip | 6.0391698E7 | -| test.c:570:24:570:24 | 1 | 1.0 | -| test.c:570:24:570:24 | (unsigned int)... | 1.0 | -| test.c:570:29:570:30 | 14 | 1.0 | -| test.c:570:29:570:30 | (unsigned int)... | 1.0 | -| test.c:571:13:571:63 | (...) | 3.647157187323204E15 | -| test.c:571:14:571:15 | 14 | 1.0 | -| test.c:571:14:571:15 | (unsigned int)... | 1.0 | -| test.c:571:14:571:26 | ... * ... | 6.0391698E7 | -| test.c:571:14:571:36 | ... > ... | 1.0 | -| test.c:571:14:571:62 | ... ? ... : ... | 3.647157187323204E15 | -| test.c:571:19:571:26 | (...) | 6.0391698E7 | -| test.c:571:20:571:20 | 2 | 1.0 | -| test.c:571:20:571:20 | (unsigned int)... | 1.0 | -| test.c:571:20:571:25 | ... * ... | 6.0391698E7 | -| test.c:571:24:571:25 | ip | 6.0391698E7 | -| test.c:571:30:571:31 | 17 | 1.0 | -| test.c:571:30:571:31 | (unsigned int)... | 1.0 | -| test.c:571:30:571:36 | ... * ... | 6.0391698E7 | -| test.c:571:35:571:36 | ip | 6.0391698E7 | -| test.c:571:40:571:41 | 17 | 1.0 | -| test.c:571:40:571:41 | (unsigned int)... | 1.0 | -| test.c:571:40:571:52 | ... * ... | 6.0391698E7 | -| test.c:571:45:571:52 | (...) | 6.0391698E7 | -| test.c:571:46:571:46 | 2 | 1.0 | -| test.c:571:46:571:46 | (unsigned int)... | 1.0 | -| test.c:571:46:571:51 | ... * ... | 6.0391698E7 | -| test.c:571:50:571:51 | ip | 6.0391698E7 | -| test.c:571:56:571:57 | 17 | 1.0 | -| test.c:571:56:571:57 | (unsigned int)... | 1.0 | -| test.c:571:56:571:62 | ... * ... | 6.0391698E7 | -| test.c:571:61:571:62 | ip | 6.0391698E7 | -| test.c:572:17:572:28 | (...) | 1.20783397E8 | -| test.c:572:17:572:33 | ... * ... | 1.20783397E8 | -| test.c:572:18:572:18 | 2 | 1.0 | -| test.c:572:18:572:18 | (unsigned int)... | 1.0 | -| test.c:572:18:572:23 | ... * ... | 1.20783397E8 | -| test.c:572:18:572:27 | ... + ... | 1.20783397E8 | -| test.c:572:22:572:23 | ip | 1.20783397E8 | -| test.c:572:27:572:27 | 1 | 1.0 | -| test.c:572:27:572:27 | (unsigned int)... | 1.0 | -| test.c:572:32:572:33 | 14 | 1.0 | -| test.c:572:32:572:33 | (unsigned int)... | 1.0 | -| test.c:573:17:573:18 | 14 | 1.0 | -| test.c:573:17:573:18 | (unsigned int)... | 1.0 | -| test.c:573:17:573:29 | ... * ... | 1.20783397E8 | -| test.c:573:17:573:39 | ... > ... | 1.0 | -| test.c:573:17:575:25 | ... ? ... : ... | 1.4588628990859608E16 | -| test.c:573:22:573:29 | (...) | 1.20783397E8 | -| test.c:573:23:573:23 | 2 | 1.0 | -| test.c:573:23:573:23 | (unsigned int)... | 1.0 | -| test.c:573:23:573:28 | ... * ... | 1.20783397E8 | -| test.c:573:27:573:28 | ip | 1.20783397E8 | -| test.c:573:33:573:34 | 17 | 1.0 | -| test.c:573:33:573:34 | (unsigned int)... | 1.0 | -| test.c:573:33:573:39 | ... * ... | 1.20783397E8 | -| test.c:573:38:573:39 | ip | 1.20783397E8 | -| test.c:574:19:574:20 | 14 | 1.0 | -| test.c:574:19:574:20 | (unsigned int)... | 1.0 | -| test.c:574:19:574:31 | ... * ... | 1.20783397E8 | -| test.c:574:24:574:31 | (...) | 1.20783397E8 | -| test.c:574:25:574:25 | 2 | 1.0 | -| test.c:574:25:574:25 | (unsigned int)... | 1.0 | -| test.c:574:25:574:30 | ... * ... | 1.20783397E8 | -| test.c:574:29:574:30 | ip | 1.20783397E8 | -| test.c:575:19:575:20 | 14 | 1.0 | -| test.c:575:19:575:20 | (unsigned int)... | 1.0 | -| test.c:575:19:575:25 | ... * ... | 1.20783397E8 | -| test.c:575:24:575:25 | ip | 1.20783397E8 | -| test.c:576:11:576:61 | (...) | 1.3129766091773648E17 | -| test.c:576:12:576:13 | 14 | 1.0 | -| test.c:576:12:576:13 | (unsigned int)... | 1.0 | -| test.c:576:12:576:18 | ... * ... | 3.62350191E8 | -| test.c:576:12:576:34 | ... > ... | 1.0 | -| test.c:576:12:576:60 | ... ? ... : ... | 1.3129766091773648E17 | -| test.c:576:17:576:18 | ip | 3.62350191E8 | -| test.c:576:22:576:29 | (...) | 3.62350191E8 | -| test.c:576:22:576:34 | ... * ... | 3.62350191E8 | -| test.c:576:23:576:24 | ip | 3.62350191E8 | -| test.c:576:23:576:28 | ... + ... | 3.62350191E8 | -| test.c:576:28:576:28 | 1 | 1.0 | -| test.c:576:28:576:28 | (unsigned int)... | 1.0 | -| test.c:576:33:576:34 | 17 | 1.0 | -| test.c:576:33:576:34 | (unsigned int)... | 1.0 | -| test.c:576:38:576:39 | 17 | 1.0 | -| test.c:576:38:576:39 | (unsigned int)... | 1.0 | -| test.c:576:38:576:44 | ... * ... | 3.62350191E8 | -| test.c:576:43:576:44 | ip | 3.62350191E8 | -| test.c:576:48:576:55 | (...) | 3.62350191E8 | -| test.c:576:48:576:60 | ... * ... | 3.62350191E8 | -| test.c:576:49:576:50 | ip | 3.62350191E8 | -| test.c:576:49:576:54 | ... + ... | 3.62350191E8 | -| test.c:576:54:576:54 | 1 | 1.0 | -| test.c:576:54:576:54 | (unsigned int)... | 1.0 | -| test.c:576:59:576:60 | 17 | 1.0 | -| test.c:576:59:576:60 | (unsigned int)... | 1.0 | -| test.c:577:15:577:15 | 4 | 1.0 | -| test.c:577:15:577:15 | (unsigned int)... | 1.0 | -| test.c:577:15:577:32 | ... * ... | 7.24700382E8 | -| test.c:577:15:578:32 | ... + ... | 5.251906436709459E17 | -| test.c:577:15:579:32 | ... + ... | 3.806058600911604E26 | -| test.c:577:15:585:28 | ... + ... | 1.1588865682845433E54 | -| test.c:577:19:577:32 | (...) | 7.24700382E8 | -| test.c:577:20:577:21 | ip | 7.24700382E8 | -| test.c:577:20:577:26 | ... * ... | 7.24700382E8 | -| test.c:577:20:577:31 | ... + ... | 7.24700382E8 | -| test.c:577:25:577:26 | 14 | 1.0 | -| test.c:577:25:577:26 | (unsigned int)... | 1.0 | -| test.c:577:30:577:31 | 32 | 1.0 | -| test.c:577:30:577:31 | (unsigned int)... | 1.0 | -| test.c:578:15:578:32 | (...) | 7.24700382E8 | -| test.c:578:16:578:16 | 2 | 1.0 | -| test.c:578:16:578:16 | (unsigned int)... | 1.0 | -| test.c:578:16:578:21 | ... * ... | 7.24700382E8 | -| test.c:578:16:578:26 | ... * ... | 7.24700382E8 | -| test.c:578:16:578:31 | ... + ... | 7.24700382E8 | -| test.c:578:20:578:21 | ip | 7.24700382E8 | -| test.c:578:25:578:26 | 14 | 1.0 | -| test.c:578:25:578:26 | (unsigned int)... | 1.0 | -| test.c:578:30:578:31 | 32 | 1.0 | -| test.c:578:30:578:31 | (unsigned int)... | 1.0 | -| test.c:579:15:579:15 | 2 | 1.0 | -| test.c:579:15:579:15 | (unsigned int)... | 1.0 | -| test.c:579:15:579:32 | ... * ... | 7.24700382E8 | -| test.c:579:19:579:32 | (...) | 7.24700382E8 | -| test.c:579:20:579:21 | ip | 7.24700382E8 | -| test.c:579:20:579:26 | ... * ... | 7.24700382E8 | -| test.c:579:20:579:31 | ... + ... | 7.24700382E8 | -| test.c:579:25:579:26 | 14 | 1.0 | -| test.c:579:25:579:26 | (unsigned int)... | 1.0 | -| test.c:579:30:579:31 | 64 | 1.0 | -| test.c:579:30:579:31 | (unsigned int)... | 1.0 | -| test.c:580:15:585:28 | (...) | 3.044846887031571E27 | -| test.c:580:16:580:27 | (...) | 7.24700382E8 | -| test.c:580:16:580:32 | ... * ... | 7.24700382E8 | -| test.c:580:16:581:65 | ... > ... | 1.0 | -| test.c:580:16:585:27 | ... ? ... : ... | 3.044846887031571E27 | -| test.c:580:17:580:17 | 2 | 1.0 | -| test.c:580:17:580:17 | (unsigned int)... | 1.0 | -| test.c:580:17:580:22 | ... * ... | 7.24700382E8 | -| test.c:580:17:580:26 | ... + ... | 7.24700382E8 | -| test.c:580:21:580:22 | ip | 7.24700382E8 | -| test.c:580:26:580:26 | 1 | 1.0 | -| test.c:580:26:580:26 | (unsigned int)... | 1.0 | -| test.c:580:31:580:32 | 14 | 1.0 | -| test.c:580:31:580:32 | (unsigned int)... | 1.0 | -| test.c:581:15:581:65 | (...) | 5.251906436709459E17 | -| test.c:581:16:581:17 | 14 | 1.0 | -| test.c:581:16:581:17 | (unsigned int)... | 1.0 | -| test.c:581:16:581:28 | ... * ... | 7.24700382E8 | -| test.c:581:16:581:38 | ... > ... | 1.0 | -| test.c:581:16:581:64 | ... ? ... : ... | 5.251906436709459E17 | -| test.c:581:21:581:28 | (...) | 7.24700382E8 | -| test.c:581:22:581:22 | 2 | 1.0 | -| test.c:581:22:581:22 | (unsigned int)... | 1.0 | -| test.c:581:22:581:27 | ... * ... | 7.24700382E8 | -| test.c:581:26:581:27 | ip | 7.24700382E8 | -| test.c:581:32:581:33 | 17 | 1.0 | -| test.c:581:32:581:33 | (unsigned int)... | 1.0 | -| test.c:581:32:581:38 | ... * ... | 7.24700382E8 | -| test.c:581:37:581:38 | ip | 7.24700382E8 | -| test.c:581:42:581:43 | 17 | 1.0 | -| test.c:581:42:581:43 | (unsigned int)... | 1.0 | -| test.c:581:42:581:54 | ... * ... | 7.24700382E8 | -| test.c:581:47:581:54 | (...) | 7.24700382E8 | -| test.c:581:48:581:48 | 2 | 1.0 | -| test.c:581:48:581:48 | (unsigned int)... | 1.0 | -| test.c:581:48:581:53 | ... * ... | 7.24700382E8 | -| test.c:581:52:581:53 | ip | 7.24700382E8 | -| test.c:581:58:581:59 | 17 | 1.0 | -| test.c:581:58:581:59 | (unsigned int)... | 1.0 | -| test.c:581:58:581:64 | ... * ... | 7.24700382E8 | -| test.c:581:63:581:64 | ip | 7.24700382E8 | -| test.c:582:19:582:30 | (...) | 1.449400765E9 | -| test.c:582:19:582:35 | ... * ... | 1.449400765E9 | +| test.c:567:27:567:38 | (...) | 8627385.0 | +| test.c:567:27:567:43 | ... * ... | 8627385.0 | +| test.c:567:28:567:28 | 2 | 1.0 | +| test.c:567:28:567:28 | (unsigned int)... | 1.0 | +| test.c:567:28:567:33 | ... * ... | 8627385.0 | +| test.c:567:28:567:37 | ... + ... | 8627385.0 | +| test.c:567:32:567:33 | ip | 8627385.0 | +| test.c:567:37:567:37 | 1 | 1.0 | +| test.c:567:37:567:37 | (unsigned int)... | 1.0 | +| test.c:567:42:567:43 | 17 | 1.0 | +| test.c:567:42:567:43 | (unsigned int)... | 1.0 | +| test.c:568:17:568:17 | 4 | 1.0 | +| test.c:568:17:568:17 | (unsigned int)... | 1.0 | +| test.c:568:17:568:34 | ... * ... | 8627385.0 | +| test.c:568:17:569:34 | ... + ... | 7.4431771938225E13 | +| test.c:568:17:570:34 | ... + ... | 6.421515527432633E20 | +| test.c:568:17:576:30 | ... + ... | 3.298869507082441E42 | +| test.c:568:21:568:34 | (...) | 8627385.0 | +| test.c:568:22:568:23 | ip | 8627385.0 | +| test.c:568:22:568:28 | ... * ... | 8627385.0 | +| test.c:568:22:568:33 | ... + ... | 8627385.0 | +| test.c:568:27:568:28 | 14 | 1.0 | +| test.c:568:27:568:28 | (unsigned int)... | 1.0 | +| test.c:568:32:568:33 | 32 | 1.0 | +| test.c:568:32:568:33 | (unsigned int)... | 1.0 | +| test.c:569:17:569:34 | (...) | 8627385.0 | +| test.c:569:18:569:18 | 2 | 1.0 | +| test.c:569:18:569:18 | (unsigned int)... | 1.0 | +| test.c:569:18:569:23 | ... * ... | 8627385.0 | +| test.c:569:18:569:28 | ... * ... | 8627385.0 | +| test.c:569:18:569:33 | ... + ... | 8627385.0 | +| test.c:569:22:569:23 | ip | 8627385.0 | +| test.c:569:27:569:28 | 14 | 1.0 | +| test.c:569:27:569:28 | (unsigned int)... | 1.0 | +| test.c:569:32:569:33 | 32 | 1.0 | +| test.c:569:32:569:33 | (unsigned int)... | 1.0 | +| test.c:570:17:570:17 | 2 | 1.0 | +| test.c:570:17:570:17 | (unsigned int)... | 1.0 | +| test.c:570:17:570:34 | ... * ... | 8627385.0 | +| test.c:570:21:570:34 | (...) | 8627385.0 | +| test.c:570:22:570:23 | ip | 8627385.0 | +| test.c:570:22:570:28 | ... * ... | 8627385.0 | +| test.c:570:22:570:33 | ... + ... | 8627385.0 | +| test.c:570:27:570:28 | 14 | 1.0 | +| test.c:570:27:570:28 | (unsigned int)... | 1.0 | +| test.c:570:32:570:33 | 64 | 1.0 | +| test.c:570:32:570:33 | (unsigned int)... | 1.0 | +| test.c:571:17:576:30 | (...) | 5.137213315127421E21 | +| test.c:571:18:571:29 | (...) | 8627385.0 | +| test.c:571:18:571:34 | ... * ... | 8627385.0 | +| test.c:571:18:572:67 | ... > ... | 1.0 | +| test.c:571:18:576:29 | ... ? ... : ... | 5.137213315127421E21 | +| test.c:571:19:571:19 | 2 | 1.0 | +| test.c:571:19:571:19 | (unsigned int)... | 1.0 | +| test.c:571:19:571:24 | ... * ... | 8627385.0 | +| test.c:571:19:571:28 | ... + ... | 8627385.0 | +| test.c:571:23:571:24 | ip | 8627385.0 | +| test.c:571:28:571:28 | 1 | 1.0 | +| test.c:571:28:571:28 | (unsigned int)... | 1.0 | +| test.c:571:33:571:34 | 14 | 1.0 | +| test.c:571:33:571:34 | (unsigned int)... | 1.0 | +| test.c:572:17:572:67 | (...) | 7.4431771938225E13 | +| test.c:572:18:572:19 | 14 | 1.0 | +| test.c:572:18:572:19 | (unsigned int)... | 1.0 | +| test.c:572:18:572:30 | ... * ... | 8627385.0 | +| test.c:572:18:572:40 | ... > ... | 1.0 | +| test.c:572:18:572:66 | ... ? ... : ... | 7.4431771938225E13 | +| test.c:572:23:572:30 | (...) | 8627385.0 | +| test.c:572:24:572:24 | 2 | 1.0 | +| test.c:572:24:572:24 | (unsigned int)... | 1.0 | +| test.c:572:24:572:29 | ... * ... | 8627385.0 | +| test.c:572:28:572:29 | ip | 8627385.0 | +| test.c:572:34:572:35 | 17 | 1.0 | +| test.c:572:34:572:35 | (unsigned int)... | 1.0 | +| test.c:572:34:572:40 | ... * ... | 8627385.0 | +| test.c:572:39:572:40 | ip | 8627385.0 | +| test.c:572:44:572:45 | 17 | 1.0 | +| test.c:572:44:572:45 | (unsigned int)... | 1.0 | +| test.c:572:44:572:56 | ... * ... | 8627385.0 | +| test.c:572:49:572:56 | (...) | 8627385.0 | +| test.c:572:50:572:50 | 2 | 1.0 | +| test.c:572:50:572:50 | (unsigned int)... | 1.0 | +| test.c:572:50:572:55 | ... * ... | 8627385.0 | +| test.c:572:54:572:55 | ip | 8627385.0 | +| test.c:572:60:572:61 | 17 | 1.0 | +| test.c:572:60:572:61 | (unsigned int)... | 1.0 | +| test.c:572:60:572:66 | ... * ... | 8627385.0 | +| test.c:572:65:572:66 | ip | 8627385.0 | +| test.c:573:21:573:32 | (...) | 1.7254771E7 | +| test.c:573:21:573:37 | ... * ... | 1.7254771E7 | +| test.c:573:22:573:22 | 2 | 1.0 | +| test.c:573:22:573:22 | (unsigned int)... | 1.0 | +| test.c:573:22:573:27 | ... * ... | 1.7254771E7 | +| test.c:573:22:573:31 | ... + ... | 1.7254771E7 | +| test.c:573:26:573:27 | ip | 1.7254771E7 | +| test.c:573:31:573:31 | 1 | 1.0 | +| test.c:573:31:573:31 | (unsigned int)... | 1.0 | +| test.c:573:36:573:37 | 14 | 1.0 | +| test.c:573:36:573:37 | (unsigned int)... | 1.0 | +| test.c:574:21:574:22 | 14 | 1.0 | +| test.c:574:21:574:22 | (unsigned int)... | 1.0 | +| test.c:574:21:574:33 | ... * ... | 1.7254771E7 | +| test.c:574:21:574:43 | ... > ... | 1.0 | +| test.c:574:21:576:29 | ... ? ... : ... | 2.97727122262441E14 | +| test.c:574:26:574:33 | (...) | 1.7254771E7 | +| test.c:574:27:574:27 | 2 | 1.0 | +| test.c:574:27:574:27 | (unsigned int)... | 1.0 | +| test.c:574:27:574:32 | ... * ... | 1.7254771E7 | +| test.c:574:31:574:32 | ip | 1.7254771E7 | +| test.c:574:37:574:38 | 17 | 1.0 | +| test.c:574:37:574:38 | (unsigned int)... | 1.0 | +| test.c:574:37:574:43 | ... * ... | 1.7254771E7 | +| test.c:574:42:574:43 | ip | 1.7254771E7 | +| test.c:575:23:575:24 | 14 | 1.0 | +| test.c:575:23:575:24 | (unsigned int)... | 1.0 | +| test.c:575:23:575:35 | ... * ... | 1.7254771E7 | +| test.c:575:28:575:35 | (...) | 1.7254771E7 | +| test.c:575:29:575:29 | 2 | 1.0 | +| test.c:575:29:575:29 | (unsigned int)... | 1.0 | +| test.c:575:29:575:34 | ... * ... | 1.7254771E7 | +| test.c:575:33:575:34 | ip | 1.7254771E7 | +| test.c:576:23:576:24 | 14 | 1.0 | +| test.c:576:23:576:24 | (unsigned int)... | 1.0 | +| test.c:576:23:576:29 | ... * ... | 1.7254771E7 | +| test.c:576:28:576:29 | ip | 1.7254771E7 | +| test.c:577:17:577:17 | 2 | 1.0 | +| test.c:577:17:577:17 | (unsigned int)... | 1.0 | +| test.c:577:17:577:22 | ... * ... | 8627385.0 | +| test.c:577:17:577:27 | ... * ... | 8627385.0 | +| test.c:577:17:577:47 | ... + ... | 7.4431771938225E13 | +| test.c:577:21:577:22 | ip | 8627385.0 | +| test.c:577:26:577:27 | 14 | 1.0 | +| test.c:577:26:577:27 | (unsigned int)... | 1.0 | +| test.c:577:31:577:42 | (...) | 8627385.0 | +| test.c:577:31:577:47 | ... * ... | 8627385.0 | +| test.c:577:32:577:32 | 2 | 1.0 | +| test.c:577:32:577:32 | (unsigned int)... | 1.0 | +| test.c:577:32:577:37 | ... * ... | 8627385.0 | +| test.c:577:32:577:41 | ... + ... | 8627385.0 | +| test.c:577:36:577:37 | ip | 8627385.0 | +| test.c:577:41:577:41 | 1 | 1.0 | +| test.c:577:41:577:41 | (unsigned int)... | 1.0 | +| test.c:577:46:577:47 | 17 | 1.0 | +| test.c:577:46:577:47 | (unsigned int)... | 1.0 | +| test.c:578:11:599:30 | (...) | 6.08636382738973E71 | +| test.c:578:12:578:12 | 4 | 1.0 | +| test.c:578:12:578:12 | (unsigned int)... | 1.0 | +| test.c:578:12:578:29 | ... * ... | 6.0391698E7 | +| test.c:578:12:579:30 | ... + ... | 3.647157187323204E15 | +| test.c:578:12:580:30 | ... + ... | 2.2025801541535236E23 | +| test.c:578:12:586:26 | ... + ... | 3.881087564774641E47 | +| test.c:578:12:587:61 | ... > ... | 1.0 | +| test.c:578:12:599:29 | ... ? ... : ... | 6.08636382738973E71 | +| test.c:578:16:578:29 | (...) | 6.0391698E7 | +| test.c:578:17:578:18 | ip | 6.0391698E7 | +| test.c:578:17:578:23 | ... * ... | 6.0391698E7 | +| test.c:578:17:578:28 | ... + ... | 6.0391698E7 | +| test.c:578:22:578:23 | 14 | 1.0 | +| test.c:578:22:578:23 | (unsigned int)... | 1.0 | +| test.c:578:27:578:28 | 32 | 1.0 | +| test.c:578:27:578:28 | (unsigned int)... | 1.0 | +| test.c:579:13:579:30 | (...) | 6.0391698E7 | +| test.c:579:14:579:14 | 2 | 1.0 | +| test.c:579:14:579:14 | (unsigned int)... | 1.0 | +| test.c:579:14:579:19 | ... * ... | 6.0391698E7 | +| test.c:579:14:579:24 | ... * ... | 6.0391698E7 | +| test.c:579:14:579:29 | ... + ... | 6.0391698E7 | +| test.c:579:18:579:19 | ip | 6.0391698E7 | +| test.c:579:23:579:24 | 14 | 1.0 | +| test.c:579:23:579:24 | (unsigned int)... | 1.0 | +| test.c:579:28:579:29 | 32 | 1.0 | +| test.c:579:28:579:29 | (unsigned int)... | 1.0 | +| test.c:580:13:580:13 | 2 | 1.0 | +| test.c:580:13:580:13 | (unsigned int)... | 1.0 | +| test.c:580:13:580:30 | ... * ... | 6.0391698E7 | +| test.c:580:17:580:30 | (...) | 6.0391698E7 | +| test.c:580:18:580:19 | ip | 6.0391698E7 | +| test.c:580:18:580:24 | ... * ... | 6.0391698E7 | +| test.c:580:18:580:29 | ... + ... | 6.0391698E7 | +| test.c:580:23:580:24 | 14 | 1.0 | +| test.c:580:23:580:24 | (unsigned int)... | 1.0 | +| test.c:580:28:580:29 | 64 | 1.0 | +| test.c:580:28:580:29 | (unsigned int)... | 1.0 | +| test.c:581:13:586:26 | (...) | 1.7620641670887053E24 | +| test.c:581:14:581:25 | (...) | 6.0391698E7 | +| test.c:581:14:581:30 | ... * ... | 6.0391698E7 | +| test.c:581:14:582:63 | ... > ... | 1.0 | +| test.c:581:14:586:25 | ... ? ... : ... | 1.7620641670887053E24 | +| test.c:581:15:581:15 | 2 | 1.0 | +| test.c:581:15:581:15 | (unsigned int)... | 1.0 | +| test.c:581:15:581:20 | ... * ... | 6.0391698E7 | +| test.c:581:15:581:24 | ... + ... | 6.0391698E7 | +| test.c:581:19:581:20 | ip | 6.0391698E7 | +| test.c:581:24:581:24 | 1 | 1.0 | +| test.c:581:24:581:24 | (unsigned int)... | 1.0 | +| test.c:581:29:581:30 | 14 | 1.0 | +| test.c:581:29:581:30 | (unsigned int)... | 1.0 | +| test.c:582:13:582:63 | (...) | 3.647157187323204E15 | +| test.c:582:14:582:15 | 14 | 1.0 | +| test.c:582:14:582:15 | (unsigned int)... | 1.0 | +| test.c:582:14:582:26 | ... * ... | 6.0391698E7 | +| test.c:582:14:582:36 | ... > ... | 1.0 | +| test.c:582:14:582:62 | ... ? ... : ... | 3.647157187323204E15 | +| test.c:582:19:582:26 | (...) | 6.0391698E7 | | test.c:582:20:582:20 | 2 | 1.0 | | test.c:582:20:582:20 | (unsigned int)... | 1.0 | -| test.c:582:20:582:25 | ... * ... | 1.449400765E9 | -| test.c:582:20:582:29 | ... + ... | 1.449400765E9 | -| test.c:582:24:582:25 | ip | 1.449400765E9 | -| test.c:582:29:582:29 | 1 | 1.0 | -| test.c:582:29:582:29 | (unsigned int)... | 1.0 | -| test.c:582:34:582:35 | 14 | 1.0 | -| test.c:582:34:582:35 | (unsigned int)... | 1.0 | -| test.c:583:19:583:20 | 14 | 1.0 | -| test.c:583:19:583:20 | (unsigned int)... | 1.0 | -| test.c:583:19:583:31 | ... * ... | 1.449400765E9 | -| test.c:583:19:583:41 | ... > ... | 1.0 | -| test.c:583:19:585:27 | ... ? ... : ... | 2.1007625775825853E18 | -| test.c:583:24:583:31 | (...) | 1.449400765E9 | -| test.c:583:25:583:25 | 2 | 1.0 | -| test.c:583:25:583:25 | (unsigned int)... | 1.0 | -| test.c:583:25:583:30 | ... * ... | 1.449400765E9 | -| test.c:583:29:583:30 | ip | 1.449400765E9 | -| test.c:583:35:583:36 | 17 | 1.0 | -| test.c:583:35:583:36 | (unsigned int)... | 1.0 | -| test.c:583:35:583:41 | ... * ... | 1.449400765E9 | -| test.c:583:40:583:41 | ip | 1.449400765E9 | -| test.c:584:21:584:22 | 14 | 1.0 | -| test.c:584:21:584:22 | (unsigned int)... | 1.0 | -| test.c:584:21:584:33 | ... * ... | 1.449400765E9 | -| test.c:584:26:584:33 | (...) | 1.449400765E9 | -| test.c:584:27:584:27 | 2 | 1.0 | -| test.c:584:27:584:27 | (unsigned int)... | 1.0 | -| test.c:584:27:584:32 | ... * ... | 1.449400765E9 | -| test.c:584:31:584:32 | ip | 1.449400765E9 | -| test.c:585:21:585:22 | 14 | 1.0 | -| test.c:585:21:585:22 | (unsigned int)... | 1.0 | -| test.c:585:21:585:27 | ... * ... | 1.449400765E9 | -| test.c:585:26:585:27 | ip | 1.449400765E9 | -| test.c:586:15:586:16 | 14 | 1.0 | -| test.c:586:15:586:16 | (unsigned int)... | 1.0 | -| test.c:586:15:586:21 | ... * ... | 7.24700382E8 | -| test.c:586:15:586:37 | ... > ... | 1.0 | -| test.c:586:15:588:29 | ... ? ... : ... | 5.251906436709459E17 | -| test.c:586:20:586:21 | ip | 7.24700382E8 | -| test.c:586:25:586:32 | (...) | 7.24700382E8 | -| test.c:586:25:586:37 | ... * ... | 7.24700382E8 | -| test.c:586:26:586:27 | ip | 7.24700382E8 | -| test.c:586:26:586:31 | ... + ... | 7.24700382E8 | -| test.c:586:31:586:31 | 1 | 1.0 | -| test.c:586:31:586:31 | (unsigned int)... | 1.0 | -| test.c:586:36:586:37 | 17 | 1.0 | -| test.c:586:36:586:37 | (unsigned int)... | 1.0 | -| test.c:587:17:587:18 | 14 | 1.0 | -| test.c:587:17:587:18 | (unsigned int)... | 1.0 | -| test.c:587:17:587:23 | ... * ... | 7.24700382E8 | -| test.c:587:22:587:23 | ip | 7.24700382E8 | -| test.c:588:17:588:24 | (...) | 7.24700382E8 | -| test.c:588:17:588:29 | ... * ... | 7.24700382E8 | -| test.c:588:18:588:19 | ip | 7.24700382E8 | -| test.c:588:18:588:23 | ... + ... | 7.24700382E8 | -| test.c:588:23:588:23 | 1 | 1.0 | -| test.c:588:23:588:23 | (unsigned int)... | 1.0 | -| test.c:588:28:588:29 | 14 | 1.0 | -| test.c:588:28:588:29 | (unsigned int)... | 1.0 | -| test.c:589:11:589:11 | 2 | 1.0 | -| test.c:589:11:589:11 | (unsigned int)... | 1.0 | -| test.c:589:11:589:28 | ... * ... | 5.797603059E9 | -| test.c:589:11:609:46 | ... + ... | 9.943431528813442E94 | -| test.c:589:15:589:28 | (...) | 5.797603059E9 | -| test.c:589:16:589:17 | ip | 5.797603059E9 | -| test.c:589:16:589:22 | ... * ... | 5.797603059E9 | -| test.c:589:16:589:27 | ... + ... | 5.797603059E9 | -| test.c:589:21:589:22 | 14 | 1.0 | -| test.c:589:21:589:22 | (unsigned int)... | 1.0 | -| test.c:589:26:589:27 | 32 | 1.0 | -| test.c:589:26:589:27 | (unsigned int)... | 1.0 | -| test.c:590:11:609:46 | (...) | 1.715093535659983E85 | -| test.c:590:12:590:12 | 4 | 1.0 | -| test.c:590:12:590:12 | (unsigned int)... | 1.0 | -| test.c:590:12:590:29 | ... * ... | 5.797603059E9 | -| test.c:590:12:591:30 | ... + ... | 3.361220122972616E19 | -| test.c:590:12:592:30 | ... + ... | 1.9487020066918396E29 | -| test.c:590:12:598:26 | ... + ... | 3.0379516094938436E59 | -| test.c:590:12:599:41 | ... > ... | 1.0 | -| test.c:590:12:609:45 | ... ? ... : ... | 1.715093535659983E85 | -| test.c:590:16:590:29 | (...) | 5.797603059E9 | -| test.c:590:17:590:18 | ip | 5.797603059E9 | -| test.c:590:17:590:23 | ... * ... | 5.797603059E9 | -| test.c:590:17:590:28 | ... + ... | 5.797603059E9 | -| test.c:590:22:590:23 | 14 | 1.0 | -| test.c:590:22:590:23 | (unsigned int)... | 1.0 | -| test.c:590:27:590:28 | 32 | 1.0 | -| test.c:590:27:590:28 | (unsigned int)... | 1.0 | -| test.c:591:13:591:30 | (...) | 5.797603059E9 | -| test.c:591:14:591:14 | 2 | 1.0 | -| test.c:591:14:591:14 | (unsigned int)... | 1.0 | -| test.c:591:14:591:19 | ... * ... | 5.797603059E9 | -| test.c:591:14:591:24 | ... * ... | 5.797603059E9 | -| test.c:591:14:591:29 | ... + ... | 5.797603059E9 | -| test.c:591:18:591:19 | ip | 5.797603059E9 | -| test.c:591:23:591:24 | 14 | 1.0 | -| test.c:591:23:591:24 | (unsigned int)... | 1.0 | -| test.c:591:28:591:29 | 32 | 1.0 | -| test.c:591:28:591:29 | (unsigned int)... | 1.0 | -| test.c:592:13:592:13 | 2 | 1.0 | -| test.c:592:13:592:13 | (unsigned int)... | 1.0 | -| test.c:592:13:592:30 | ... * ... | 5.797603059E9 | -| test.c:592:17:592:30 | (...) | 5.797603059E9 | -| test.c:592:18:592:19 | ip | 5.797603059E9 | -| test.c:592:18:592:24 | ... * ... | 5.797603059E9 | -| test.c:592:18:592:29 | ... + ... | 5.797603059E9 | -| test.c:592:23:592:24 | 14 | 1.0 | -| test.c:592:23:592:24 | (unsigned int)... | 1.0 | -| test.c:592:28:592:29 | 64 | 1.0 | -| test.c:592:28:592:29 | (unsigned int)... | 1.0 | -| test.c:593:13:598:26 | (...) | 1.558961605756818E30 | -| test.c:593:14:593:25 | (...) | 5.797603059E9 | -| test.c:593:14:593:30 | ... * ... | 5.797603059E9 | -| test.c:593:14:594:63 | ... > ... | 1.0 | -| test.c:593:14:598:25 | ... ? ... : ... | 1.558961605756818E30 | -| test.c:593:15:593:15 | 2 | 1.0 | -| test.c:593:15:593:15 | (unsigned int)... | 1.0 | -| test.c:593:15:593:20 | ... * ... | 5.797603059E9 | -| test.c:593:15:593:24 | ... + ... | 5.797603059E9 | -| test.c:593:19:593:20 | ip | 5.797603059E9 | -| test.c:593:24:593:24 | 1 | 1.0 | -| test.c:593:24:593:24 | (unsigned int)... | 1.0 | -| test.c:593:29:593:30 | 14 | 1.0 | -| test.c:593:29:593:30 | (unsigned int)... | 1.0 | -| test.c:594:13:594:63 | (...) | 3.361220122972616E19 | -| test.c:594:14:594:15 | 14 | 1.0 | -| test.c:594:14:594:15 | (unsigned int)... | 1.0 | -| test.c:594:14:594:26 | ... * ... | 5.797603059E9 | -| test.c:594:14:594:36 | ... > ... | 1.0 | -| test.c:594:14:594:62 | ... ? ... : ... | 3.361220122972616E19 | -| test.c:594:19:594:26 | (...) | 5.797603059E9 | -| test.c:594:20:594:20 | 2 | 1.0 | -| test.c:594:20:594:20 | (unsigned int)... | 1.0 | -| test.c:594:20:594:25 | ... * ... | 5.797603059E9 | -| test.c:594:24:594:25 | ip | 5.797603059E9 | -| test.c:594:30:594:31 | 17 | 1.0 | -| test.c:594:30:594:31 | (unsigned int)... | 1.0 | -| test.c:594:30:594:36 | ... * ... | 5.797603059E9 | -| test.c:594:35:594:36 | ip | 5.797603059E9 | -| test.c:594:40:594:41 | 17 | 1.0 | -| test.c:594:40:594:41 | (unsigned int)... | 1.0 | -| test.c:594:40:594:52 | ... * ... | 5.797603059E9 | -| test.c:594:45:594:52 | (...) | 5.797603059E9 | -| test.c:594:46:594:46 | 2 | 1.0 | -| test.c:594:46:594:46 | (unsigned int)... | 1.0 | -| test.c:594:46:594:51 | ... * ... | 5.797603059E9 | -| test.c:594:50:594:51 | ip | 5.797603059E9 | -| test.c:594:56:594:57 | 17 | 1.0 | -| test.c:594:56:594:57 | (unsigned int)... | 1.0 | -| test.c:594:56:594:62 | ... * ... | 5.797603059E9 | -| test.c:594:61:594:62 | ip | 5.797603059E9 | -| test.c:595:17:595:28 | (...) | 1.1595206119E10 | -| test.c:595:17:595:33 | ... * ... | 1.1595206119E10 | -| test.c:595:18:595:18 | 2 | 1.0 | -| test.c:595:18:595:18 | (unsigned int)... | 1.0 | -| test.c:595:18:595:23 | ... * ... | 1.1595206119E10 | -| test.c:595:18:595:27 | ... + ... | 1.1595206119E10 | -| test.c:595:22:595:23 | ip | 1.1595206119E10 | -| test.c:595:27:595:27 | 1 | 1.0 | +| test.c:582:20:582:25 | ... * ... | 6.0391698E7 | +| test.c:582:24:582:25 | ip | 6.0391698E7 | +| test.c:582:30:582:31 | 17 | 1.0 | +| test.c:582:30:582:31 | (unsigned int)... | 1.0 | +| test.c:582:30:582:36 | ... * ... | 6.0391698E7 | +| test.c:582:35:582:36 | ip | 6.0391698E7 | +| test.c:582:40:582:41 | 17 | 1.0 | +| test.c:582:40:582:41 | (unsigned int)... | 1.0 | +| test.c:582:40:582:52 | ... * ... | 6.0391698E7 | +| test.c:582:45:582:52 | (...) | 6.0391698E7 | +| test.c:582:46:582:46 | 2 | 1.0 | +| test.c:582:46:582:46 | (unsigned int)... | 1.0 | +| test.c:582:46:582:51 | ... * ... | 6.0391698E7 | +| test.c:582:50:582:51 | ip | 6.0391698E7 | +| test.c:582:56:582:57 | 17 | 1.0 | +| test.c:582:56:582:57 | (unsigned int)... | 1.0 | +| test.c:582:56:582:62 | ... * ... | 6.0391698E7 | +| test.c:582:61:582:62 | ip | 6.0391698E7 | +| test.c:583:17:583:28 | (...) | 1.20783397E8 | +| test.c:583:17:583:33 | ... * ... | 1.20783397E8 | +| test.c:583:18:583:18 | 2 | 1.0 | +| test.c:583:18:583:18 | (unsigned int)... | 1.0 | +| test.c:583:18:583:23 | ... * ... | 1.20783397E8 | +| test.c:583:18:583:27 | ... + ... | 1.20783397E8 | +| test.c:583:22:583:23 | ip | 1.20783397E8 | +| test.c:583:27:583:27 | 1 | 1.0 | +| test.c:583:27:583:27 | (unsigned int)... | 1.0 | +| test.c:583:32:583:33 | 14 | 1.0 | +| test.c:583:32:583:33 | (unsigned int)... | 1.0 | +| test.c:584:17:584:18 | 14 | 1.0 | +| test.c:584:17:584:18 | (unsigned int)... | 1.0 | +| test.c:584:17:584:29 | ... * ... | 1.20783397E8 | +| test.c:584:17:584:39 | ... > ... | 1.0 | +| test.c:584:17:586:25 | ... ? ... : ... | 1.4588628990859608E16 | +| test.c:584:22:584:29 | (...) | 1.20783397E8 | +| test.c:584:23:584:23 | 2 | 1.0 | +| test.c:584:23:584:23 | (unsigned int)... | 1.0 | +| test.c:584:23:584:28 | ... * ... | 1.20783397E8 | +| test.c:584:27:584:28 | ip | 1.20783397E8 | +| test.c:584:33:584:34 | 17 | 1.0 | +| test.c:584:33:584:34 | (unsigned int)... | 1.0 | +| test.c:584:33:584:39 | ... * ... | 1.20783397E8 | +| test.c:584:38:584:39 | ip | 1.20783397E8 | +| test.c:585:19:585:20 | 14 | 1.0 | +| test.c:585:19:585:20 | (unsigned int)... | 1.0 | +| test.c:585:19:585:31 | ... * ... | 1.20783397E8 | +| test.c:585:24:585:31 | (...) | 1.20783397E8 | +| test.c:585:25:585:25 | 2 | 1.0 | +| test.c:585:25:585:25 | (unsigned int)... | 1.0 | +| test.c:585:25:585:30 | ... * ... | 1.20783397E8 | +| test.c:585:29:585:30 | ip | 1.20783397E8 | +| test.c:586:19:586:20 | 14 | 1.0 | +| test.c:586:19:586:20 | (unsigned int)... | 1.0 | +| test.c:586:19:586:25 | ... * ... | 1.20783397E8 | +| test.c:586:24:586:25 | ip | 1.20783397E8 | +| test.c:587:11:587:61 | (...) | 1.3129766091773648E17 | +| test.c:587:12:587:13 | 14 | 1.0 | +| test.c:587:12:587:13 | (unsigned int)... | 1.0 | +| test.c:587:12:587:18 | ... * ... | 3.62350191E8 | +| test.c:587:12:587:34 | ... > ... | 1.0 | +| test.c:587:12:587:60 | ... ? ... : ... | 1.3129766091773648E17 | +| test.c:587:17:587:18 | ip | 3.62350191E8 | +| test.c:587:22:587:29 | (...) | 3.62350191E8 | +| test.c:587:22:587:34 | ... * ... | 3.62350191E8 | +| test.c:587:23:587:24 | ip | 3.62350191E8 | +| test.c:587:23:587:28 | ... + ... | 3.62350191E8 | +| test.c:587:28:587:28 | 1 | 1.0 | +| test.c:587:28:587:28 | (unsigned int)... | 1.0 | +| test.c:587:33:587:34 | 17 | 1.0 | +| test.c:587:33:587:34 | (unsigned int)... | 1.0 | +| test.c:587:38:587:39 | 17 | 1.0 | +| test.c:587:38:587:39 | (unsigned int)... | 1.0 | +| test.c:587:38:587:44 | ... * ... | 3.62350191E8 | +| test.c:587:43:587:44 | ip | 3.62350191E8 | +| test.c:587:48:587:55 | (...) | 3.62350191E8 | +| test.c:587:48:587:60 | ... * ... | 3.62350191E8 | +| test.c:587:49:587:50 | ip | 3.62350191E8 | +| test.c:587:49:587:54 | ... + ... | 3.62350191E8 | +| test.c:587:54:587:54 | 1 | 1.0 | +| test.c:587:54:587:54 | (unsigned int)... | 1.0 | +| test.c:587:59:587:60 | 17 | 1.0 | +| test.c:587:59:587:60 | (unsigned int)... | 1.0 | +| test.c:588:15:588:15 | 4 | 1.0 | +| test.c:588:15:588:15 | (unsigned int)... | 1.0 | +| test.c:588:15:588:32 | ... * ... | 7.24700382E8 | +| test.c:588:15:589:32 | ... + ... | 5.251906436709459E17 | +| test.c:588:15:590:32 | ... + ... | 3.806058600911604E26 | +| test.c:588:15:596:28 | ... + ... | 1.1588865682845433E54 | +| test.c:588:19:588:32 | (...) | 7.24700382E8 | +| test.c:588:20:588:21 | ip | 7.24700382E8 | +| test.c:588:20:588:26 | ... * ... | 7.24700382E8 | +| test.c:588:20:588:31 | ... + ... | 7.24700382E8 | +| test.c:588:25:588:26 | 14 | 1.0 | +| test.c:588:25:588:26 | (unsigned int)... | 1.0 | +| test.c:588:30:588:31 | 32 | 1.0 | +| test.c:588:30:588:31 | (unsigned int)... | 1.0 | +| test.c:589:15:589:32 | (...) | 7.24700382E8 | +| test.c:589:16:589:16 | 2 | 1.0 | +| test.c:589:16:589:16 | (unsigned int)... | 1.0 | +| test.c:589:16:589:21 | ... * ... | 7.24700382E8 | +| test.c:589:16:589:26 | ... * ... | 7.24700382E8 | +| test.c:589:16:589:31 | ... + ... | 7.24700382E8 | +| test.c:589:20:589:21 | ip | 7.24700382E8 | +| test.c:589:25:589:26 | 14 | 1.0 | +| test.c:589:25:589:26 | (unsigned int)... | 1.0 | +| test.c:589:30:589:31 | 32 | 1.0 | +| test.c:589:30:589:31 | (unsigned int)... | 1.0 | +| test.c:590:15:590:15 | 2 | 1.0 | +| test.c:590:15:590:15 | (unsigned int)... | 1.0 | +| test.c:590:15:590:32 | ... * ... | 7.24700382E8 | +| test.c:590:19:590:32 | (...) | 7.24700382E8 | +| test.c:590:20:590:21 | ip | 7.24700382E8 | +| test.c:590:20:590:26 | ... * ... | 7.24700382E8 | +| test.c:590:20:590:31 | ... + ... | 7.24700382E8 | +| test.c:590:25:590:26 | 14 | 1.0 | +| test.c:590:25:590:26 | (unsigned int)... | 1.0 | +| test.c:590:30:590:31 | 64 | 1.0 | +| test.c:590:30:590:31 | (unsigned int)... | 1.0 | +| test.c:591:15:596:28 | (...) | 3.044846887031571E27 | +| test.c:591:16:591:27 | (...) | 7.24700382E8 | +| test.c:591:16:591:32 | ... * ... | 7.24700382E8 | +| test.c:591:16:592:65 | ... > ... | 1.0 | +| test.c:591:16:596:27 | ... ? ... : ... | 3.044846887031571E27 | +| test.c:591:17:591:17 | 2 | 1.0 | +| test.c:591:17:591:17 | (unsigned int)... | 1.0 | +| test.c:591:17:591:22 | ... * ... | 7.24700382E8 | +| test.c:591:17:591:26 | ... + ... | 7.24700382E8 | +| test.c:591:21:591:22 | ip | 7.24700382E8 | +| test.c:591:26:591:26 | 1 | 1.0 | +| test.c:591:26:591:26 | (unsigned int)... | 1.0 | +| test.c:591:31:591:32 | 14 | 1.0 | +| test.c:591:31:591:32 | (unsigned int)... | 1.0 | +| test.c:592:15:592:65 | (...) | 5.251906436709459E17 | +| test.c:592:16:592:17 | 14 | 1.0 | +| test.c:592:16:592:17 | (unsigned int)... | 1.0 | +| test.c:592:16:592:28 | ... * ... | 7.24700382E8 | +| test.c:592:16:592:38 | ... > ... | 1.0 | +| test.c:592:16:592:64 | ... ? ... : ... | 5.251906436709459E17 | +| test.c:592:21:592:28 | (...) | 7.24700382E8 | +| test.c:592:22:592:22 | 2 | 1.0 | +| test.c:592:22:592:22 | (unsigned int)... | 1.0 | +| test.c:592:22:592:27 | ... * ... | 7.24700382E8 | +| test.c:592:26:592:27 | ip | 7.24700382E8 | +| test.c:592:32:592:33 | 17 | 1.0 | +| test.c:592:32:592:33 | (unsigned int)... | 1.0 | +| test.c:592:32:592:38 | ... * ... | 7.24700382E8 | +| test.c:592:37:592:38 | ip | 7.24700382E8 | +| test.c:592:42:592:43 | 17 | 1.0 | +| test.c:592:42:592:43 | (unsigned int)... | 1.0 | +| test.c:592:42:592:54 | ... * ... | 7.24700382E8 | +| test.c:592:47:592:54 | (...) | 7.24700382E8 | +| test.c:592:48:592:48 | 2 | 1.0 | +| test.c:592:48:592:48 | (unsigned int)... | 1.0 | +| test.c:592:48:592:53 | ... * ... | 7.24700382E8 | +| test.c:592:52:592:53 | ip | 7.24700382E8 | +| test.c:592:58:592:59 | 17 | 1.0 | +| test.c:592:58:592:59 | (unsigned int)... | 1.0 | +| test.c:592:58:592:64 | ... * ... | 7.24700382E8 | +| test.c:592:63:592:64 | ip | 7.24700382E8 | +| test.c:593:19:593:30 | (...) | 1.449400765E9 | +| test.c:593:19:593:35 | ... * ... | 1.449400765E9 | +| test.c:593:20:593:20 | 2 | 1.0 | +| test.c:593:20:593:20 | (unsigned int)... | 1.0 | +| test.c:593:20:593:25 | ... * ... | 1.449400765E9 | +| test.c:593:20:593:29 | ... + ... | 1.449400765E9 | +| test.c:593:24:593:25 | ip | 1.449400765E9 | +| test.c:593:29:593:29 | 1 | 1.0 | +| test.c:593:29:593:29 | (unsigned int)... | 1.0 | +| test.c:593:34:593:35 | 14 | 1.0 | +| test.c:593:34:593:35 | (unsigned int)... | 1.0 | +| test.c:594:19:594:20 | 14 | 1.0 | +| test.c:594:19:594:20 | (unsigned int)... | 1.0 | +| test.c:594:19:594:31 | ... * ... | 1.449400765E9 | +| test.c:594:19:594:41 | ... > ... | 1.0 | +| test.c:594:19:596:27 | ... ? ... : ... | 2.1007625775825853E18 | +| test.c:594:24:594:31 | (...) | 1.449400765E9 | +| test.c:594:25:594:25 | 2 | 1.0 | +| test.c:594:25:594:25 | (unsigned int)... | 1.0 | +| test.c:594:25:594:30 | ... * ... | 1.449400765E9 | +| test.c:594:29:594:30 | ip | 1.449400765E9 | +| test.c:594:35:594:36 | 17 | 1.0 | +| test.c:594:35:594:36 | (unsigned int)... | 1.0 | +| test.c:594:35:594:41 | ... * ... | 1.449400765E9 | +| test.c:594:40:594:41 | ip | 1.449400765E9 | +| test.c:595:21:595:22 | 14 | 1.0 | +| test.c:595:21:595:22 | (unsigned int)... | 1.0 | +| test.c:595:21:595:33 | ... * ... | 1.449400765E9 | +| test.c:595:26:595:33 | (...) | 1.449400765E9 | +| test.c:595:27:595:27 | 2 | 1.0 | | test.c:595:27:595:27 | (unsigned int)... | 1.0 | -| test.c:595:32:595:33 | 14 | 1.0 | -| test.c:595:32:595:33 | (unsigned int)... | 1.0 | -| test.c:596:17:596:18 | 14 | 1.0 | -| test.c:596:17:596:18 | (unsigned int)... | 1.0 | -| test.c:596:17:596:29 | ... * ... | 1.1595206119E10 | -| test.c:596:17:596:39 | ... > ... | 1.0 | -| test.c:596:17:598:25 | ... ? ... : ... | 1.3444880494209504E20 | -| test.c:596:22:596:29 | (...) | 1.1595206119E10 | -| test.c:596:23:596:23 | 2 | 1.0 | -| test.c:596:23:596:23 | (unsigned int)... | 1.0 | -| test.c:596:23:596:28 | ... * ... | 1.1595206119E10 | -| test.c:596:27:596:28 | ip | 1.1595206119E10 | -| test.c:596:33:596:34 | 17 | 1.0 | -| test.c:596:33:596:34 | (unsigned int)... | 1.0 | -| test.c:596:33:596:39 | ... * ... | 1.1595206119E10 | -| test.c:596:38:596:39 | ip | 1.1595206119E10 | -| test.c:597:19:597:20 | 14 | 1.0 | -| test.c:597:19:597:20 | (unsigned int)... | 1.0 | -| test.c:597:19:597:31 | ... * ... | 1.1595206119E10 | -| test.c:597:24:597:31 | (...) | 1.1595206119E10 | -| test.c:597:25:597:25 | 2 | 1.0 | -| test.c:597:25:597:25 | (unsigned int)... | 1.0 | -| test.c:597:25:597:30 | ... * ... | 1.1595206119E10 | -| test.c:597:29:597:30 | ip | 1.1595206119E10 | -| test.c:598:19:598:20 | 14 | 1.0 | -| test.c:598:19:598:20 | (unsigned int)... | 1.0 | -| test.c:598:19:598:25 | ... * ... | 1.1595206119E10 | -| test.c:598:24:598:25 | ip | 1.1595206119E10 | -| test.c:599:11:599:11 | 2 | 1.0 | -| test.c:599:11:599:11 | (unsigned int)... | 1.0 | -| test.c:599:11:599:16 | ... * ... | 3.4785618357E10 | -| test.c:599:11:599:21 | ... * ... | 3.4785618357E10 | -| test.c:599:11:599:41 | ... + ... | 1.2100392444788552E21 | -| test.c:599:15:599:16 | ip | 3.4785618357E10 | -| test.c:599:20:599:21 | 14 | 1.0 | -| test.c:599:20:599:21 | (unsigned int)... | 1.0 | -| test.c:599:25:599:36 | (...) | 3.4785618357E10 | -| test.c:599:25:599:41 | ... * ... | 3.4785618357E10 | -| test.c:599:26:599:26 | 2 | 1.0 | -| test.c:599:26:599:26 | (unsigned int)... | 1.0 | -| test.c:599:26:599:31 | ... * ... | 3.4785618357E10 | -| test.c:599:26:599:35 | ... + ... | 3.4785618357E10 | -| test.c:599:30:599:31 | ip | 3.4785618357E10 | -| test.c:599:35:599:35 | 1 | 1.0 | -| test.c:599:35:599:35 | (unsigned int)... | 1.0 | -| test.c:599:40:599:41 | 17 | 1.0 | -| test.c:599:40:599:41 | (unsigned int)... | 1.0 | -| test.c:600:15:600:15 | 4 | 1.0 | -| test.c:600:15:600:15 | (unsigned int)... | 1.0 | -| test.c:600:15:600:32 | ... * ... | 3.4785618357E10 | -| test.c:600:15:601:32 | ... + ... | 1.2100392444788552E21 | -| test.c:600:15:602:32 | ... + ... | 4.209196335543408E31 | -| test.c:600:15:608:28 | ... + ... | 1.417386703353284E64 | -| test.c:600:19:600:32 | (...) | 3.4785618357E10 | -| test.c:600:20:600:21 | ip | 3.4785618357E10 | -| test.c:600:20:600:26 | ... * ... | 3.4785618357E10 | -| test.c:600:20:600:31 | ... + ... | 3.4785618357E10 | -| test.c:600:25:600:26 | 14 | 1.0 | -| test.c:600:25:600:26 | (unsigned int)... | 1.0 | -| test.c:600:30:600:31 | 32 | 1.0 | -| test.c:600:30:600:31 | (unsigned int)... | 1.0 | -| test.c:601:15:601:32 | (...) | 3.4785618357E10 | -| test.c:601:16:601:16 | 2 | 1.0 | -| test.c:601:16:601:16 | (unsigned int)... | 1.0 | -| test.c:601:16:601:21 | ... * ... | 3.4785618357E10 | -| test.c:601:16:601:26 | ... * ... | 3.4785618357E10 | -| test.c:601:16:601:31 | ... + ... | 3.4785618357E10 | -| test.c:601:20:601:21 | ip | 3.4785618357E10 | -| test.c:601:25:601:26 | 14 | 1.0 | -| test.c:601:25:601:26 | (unsigned int)... | 1.0 | -| test.c:601:30:601:31 | 32 | 1.0 | -| test.c:601:30:601:31 | (unsigned int)... | 1.0 | -| test.c:602:15:602:15 | 2 | 1.0 | -| test.c:602:15:602:15 | (unsigned int)... | 1.0 | -| test.c:602:15:602:32 | ... * ... | 3.4785618357E10 | -| test.c:602:19:602:32 | (...) | 3.4785618357E10 | -| test.c:602:20:602:21 | ip | 3.4785618357E10 | -| test.c:602:20:602:26 | ... * ... | 3.4785618357E10 | -| test.c:602:20:602:31 | ... + ... | 3.4785618357E10 | -| test.c:602:25:602:26 | 14 | 1.0 | -| test.c:602:25:602:26 | (unsigned int)... | 1.0 | -| test.c:602:30:602:31 | 64 | 1.0 | -| test.c:602:30:602:31 | (unsigned int)... | 1.0 | -| test.c:603:15:608:28 | (...) | 3.367357068579931E32 | -| test.c:603:16:603:27 | (...) | 3.4785618357E10 | -| test.c:603:16:603:32 | ... * ... | 3.4785618357E10 | -| test.c:603:16:604:65 | ... > ... | 1.0 | -| test.c:603:16:608:27 | ... ? ... : ... | 3.367357068579931E32 | -| test.c:603:17:603:17 | 2 | 1.0 | -| test.c:603:17:603:17 | (unsigned int)... | 1.0 | -| test.c:603:17:603:22 | ... * ... | 3.4785618357E10 | -| test.c:603:17:603:26 | ... + ... | 3.4785618357E10 | -| test.c:603:21:603:22 | ip | 3.4785618357E10 | -| test.c:603:26:603:26 | 1 | 1.0 | -| test.c:603:26:603:26 | (unsigned int)... | 1.0 | -| test.c:603:31:603:32 | 14 | 1.0 | -| test.c:603:31:603:32 | (unsigned int)... | 1.0 | -| test.c:604:15:604:65 | (...) | 1.2100392444788552E21 | -| test.c:604:16:604:17 | 14 | 1.0 | -| test.c:604:16:604:17 | (unsigned int)... | 1.0 | -| test.c:604:16:604:28 | ... * ... | 3.4785618357E10 | -| test.c:604:16:604:38 | ... > ... | 1.0 | -| test.c:604:16:604:64 | ... ? ... : ... | 1.2100392444788552E21 | -| test.c:604:21:604:28 | (...) | 3.4785618357E10 | -| test.c:604:22:604:22 | 2 | 1.0 | -| test.c:604:22:604:22 | (unsigned int)... | 1.0 | -| test.c:604:22:604:27 | ... * ... | 3.4785618357E10 | -| test.c:604:26:604:27 | ip | 3.4785618357E10 | -| test.c:604:32:604:33 | 17 | 1.0 | -| test.c:604:32:604:33 | (unsigned int)... | 1.0 | -| test.c:604:32:604:38 | ... * ... | 3.4785618357E10 | -| test.c:604:37:604:38 | ip | 3.4785618357E10 | -| test.c:604:42:604:43 | 17 | 1.0 | -| test.c:604:42:604:43 | (unsigned int)... | 1.0 | -| test.c:604:42:604:54 | ... * ... | 3.4785618357E10 | -| test.c:604:47:604:54 | (...) | 3.4785618357E10 | -| test.c:604:48:604:48 | 2 | 1.0 | -| test.c:604:48:604:48 | (unsigned int)... | 1.0 | -| test.c:604:48:604:53 | ... * ... | 3.4785618357E10 | -| test.c:604:52:604:53 | ip | 3.4785618357E10 | -| test.c:604:58:604:59 | 17 | 1.0 | -| test.c:604:58:604:59 | (unsigned int)... | 1.0 | -| test.c:604:58:604:64 | ... * ... | 3.4785618357E10 | -| test.c:604:63:604:64 | ip | 3.4785618357E10 | -| test.c:605:19:605:30 | (...) | 6.9571236715E10 | -| test.c:605:19:605:35 | ... * ... | 6.9571236715E10 | +| test.c:595:27:595:32 | ... * ... | 1.449400765E9 | +| test.c:595:31:595:32 | ip | 1.449400765E9 | +| test.c:596:21:596:22 | 14 | 1.0 | +| test.c:596:21:596:22 | (unsigned int)... | 1.0 | +| test.c:596:21:596:27 | ... * ... | 1.449400765E9 | +| test.c:596:26:596:27 | ip | 1.449400765E9 | +| test.c:597:15:597:16 | 14 | 1.0 | +| test.c:597:15:597:16 | (unsigned int)... | 1.0 | +| test.c:597:15:597:21 | ... * ... | 7.24700382E8 | +| test.c:597:15:597:37 | ... > ... | 1.0 | +| test.c:597:15:599:29 | ... ? ... : ... | 5.251906436709459E17 | +| test.c:597:20:597:21 | ip | 7.24700382E8 | +| test.c:597:25:597:32 | (...) | 7.24700382E8 | +| test.c:597:25:597:37 | ... * ... | 7.24700382E8 | +| test.c:597:26:597:27 | ip | 7.24700382E8 | +| test.c:597:26:597:31 | ... + ... | 7.24700382E8 | +| test.c:597:31:597:31 | 1 | 1.0 | +| test.c:597:31:597:31 | (unsigned int)... | 1.0 | +| test.c:597:36:597:37 | 17 | 1.0 | +| test.c:597:36:597:37 | (unsigned int)... | 1.0 | +| test.c:598:17:598:18 | 14 | 1.0 | +| test.c:598:17:598:18 | (unsigned int)... | 1.0 | +| test.c:598:17:598:23 | ... * ... | 7.24700382E8 | +| test.c:598:22:598:23 | ip | 7.24700382E8 | +| test.c:599:17:599:24 | (...) | 7.24700382E8 | +| test.c:599:17:599:29 | ... * ... | 7.24700382E8 | +| test.c:599:18:599:19 | ip | 7.24700382E8 | +| test.c:599:18:599:23 | ... + ... | 7.24700382E8 | +| test.c:599:23:599:23 | 1 | 1.0 | +| test.c:599:23:599:23 | (unsigned int)... | 1.0 | +| test.c:599:28:599:29 | 14 | 1.0 | +| test.c:599:28:599:29 | (unsigned int)... | 1.0 | +| test.c:600:11:600:11 | 2 | 1.0 | +| test.c:600:11:600:11 | (unsigned int)... | 1.0 | +| test.c:600:11:600:28 | ... * ... | 5.797603059E9 | +| test.c:600:11:620:46 | ... + ... | 9.943431528813442E94 | +| test.c:600:15:600:28 | (...) | 5.797603059E9 | +| test.c:600:16:600:17 | ip | 5.797603059E9 | +| test.c:600:16:600:22 | ... * ... | 5.797603059E9 | +| test.c:600:16:600:27 | ... + ... | 5.797603059E9 | +| test.c:600:21:600:22 | 14 | 1.0 | +| test.c:600:21:600:22 | (unsigned int)... | 1.0 | +| test.c:600:26:600:27 | 32 | 1.0 | +| test.c:600:26:600:27 | (unsigned int)... | 1.0 | +| test.c:601:11:620:46 | (...) | 1.715093535659983E85 | +| test.c:601:12:601:12 | 4 | 1.0 | +| test.c:601:12:601:12 | (unsigned int)... | 1.0 | +| test.c:601:12:601:29 | ... * ... | 5.797603059E9 | +| test.c:601:12:602:30 | ... + ... | 3.361220122972616E19 | +| test.c:601:12:603:30 | ... + ... | 1.9487020066918396E29 | +| test.c:601:12:609:26 | ... + ... | 3.0379516094938436E59 | +| test.c:601:12:610:41 | ... > ... | 1.0 | +| test.c:601:12:620:45 | ... ? ... : ... | 1.715093535659983E85 | +| test.c:601:16:601:29 | (...) | 5.797603059E9 | +| test.c:601:17:601:18 | ip | 5.797603059E9 | +| test.c:601:17:601:23 | ... * ... | 5.797603059E9 | +| test.c:601:17:601:28 | ... + ... | 5.797603059E9 | +| test.c:601:22:601:23 | 14 | 1.0 | +| test.c:601:22:601:23 | (unsigned int)... | 1.0 | +| test.c:601:27:601:28 | 32 | 1.0 | +| test.c:601:27:601:28 | (unsigned int)... | 1.0 | +| test.c:602:13:602:30 | (...) | 5.797603059E9 | +| test.c:602:14:602:14 | 2 | 1.0 | +| test.c:602:14:602:14 | (unsigned int)... | 1.0 | +| test.c:602:14:602:19 | ... * ... | 5.797603059E9 | +| test.c:602:14:602:24 | ... * ... | 5.797603059E9 | +| test.c:602:14:602:29 | ... + ... | 5.797603059E9 | +| test.c:602:18:602:19 | ip | 5.797603059E9 | +| test.c:602:23:602:24 | 14 | 1.0 | +| test.c:602:23:602:24 | (unsigned int)... | 1.0 | +| test.c:602:28:602:29 | 32 | 1.0 | +| test.c:602:28:602:29 | (unsigned int)... | 1.0 | +| test.c:603:13:603:13 | 2 | 1.0 | +| test.c:603:13:603:13 | (unsigned int)... | 1.0 | +| test.c:603:13:603:30 | ... * ... | 5.797603059E9 | +| test.c:603:17:603:30 | (...) | 5.797603059E9 | +| test.c:603:18:603:19 | ip | 5.797603059E9 | +| test.c:603:18:603:24 | ... * ... | 5.797603059E9 | +| test.c:603:18:603:29 | ... + ... | 5.797603059E9 | +| test.c:603:23:603:24 | 14 | 1.0 | +| test.c:603:23:603:24 | (unsigned int)... | 1.0 | +| test.c:603:28:603:29 | 64 | 1.0 | +| test.c:603:28:603:29 | (unsigned int)... | 1.0 | +| test.c:604:13:609:26 | (...) | 1.558961605756818E30 | +| test.c:604:14:604:25 | (...) | 5.797603059E9 | +| test.c:604:14:604:30 | ... * ... | 5.797603059E9 | +| test.c:604:14:605:63 | ... > ... | 1.0 | +| test.c:604:14:609:25 | ... ? ... : ... | 1.558961605756818E30 | +| test.c:604:15:604:15 | 2 | 1.0 | +| test.c:604:15:604:15 | (unsigned int)... | 1.0 | +| test.c:604:15:604:20 | ... * ... | 5.797603059E9 | +| test.c:604:15:604:24 | ... + ... | 5.797603059E9 | +| test.c:604:19:604:20 | ip | 5.797603059E9 | +| test.c:604:24:604:24 | 1 | 1.0 | +| test.c:604:24:604:24 | (unsigned int)... | 1.0 | +| test.c:604:29:604:30 | 14 | 1.0 | +| test.c:604:29:604:30 | (unsigned int)... | 1.0 | +| test.c:605:13:605:63 | (...) | 3.361220122972616E19 | +| test.c:605:14:605:15 | 14 | 1.0 | +| test.c:605:14:605:15 | (unsigned int)... | 1.0 | +| test.c:605:14:605:26 | ... * ... | 5.797603059E9 | +| test.c:605:14:605:36 | ... > ... | 1.0 | +| test.c:605:14:605:62 | ... ? ... : ... | 3.361220122972616E19 | +| test.c:605:19:605:26 | (...) | 5.797603059E9 | | test.c:605:20:605:20 | 2 | 1.0 | | test.c:605:20:605:20 | (unsigned int)... | 1.0 | -| test.c:605:20:605:25 | ... * ... | 6.9571236715E10 | -| test.c:605:20:605:29 | ... + ... | 6.9571236715E10 | -| test.c:605:24:605:25 | ip | 6.9571236715E10 | -| test.c:605:29:605:29 | 1 | 1.0 | -| test.c:605:29:605:29 | (unsigned int)... | 1.0 | -| test.c:605:34:605:35 | 14 | 1.0 | -| test.c:605:34:605:35 | (unsigned int)... | 1.0 | -| test.c:606:19:606:20 | 14 | 1.0 | -| test.c:606:19:606:20 | (unsigned int)... | 1.0 | -| test.c:606:19:606:31 | ... * ... | 6.9571236715E10 | -| test.c:606:19:606:41 | ... > ... | 1.0 | -| test.c:606:19:608:27 | ... ? ... : ... | 4.840156978054564E21 | -| test.c:606:24:606:31 | (...) | 6.9571236715E10 | -| test.c:606:25:606:25 | 2 | 1.0 | -| test.c:606:25:606:25 | (unsigned int)... | 1.0 | -| test.c:606:25:606:30 | ... * ... | 6.9571236715E10 | -| test.c:606:29:606:30 | ip | 6.9571236715E10 | -| test.c:606:35:606:36 | 17 | 1.0 | -| test.c:606:35:606:36 | (unsigned int)... | 1.0 | -| test.c:606:35:606:41 | ... * ... | 6.9571236715E10 | -| test.c:606:40:606:41 | ip | 6.9571236715E10 | -| test.c:607:21:607:22 | 14 | 1.0 | -| test.c:607:21:607:22 | (unsigned int)... | 1.0 | -| test.c:607:21:607:33 | ... * ... | 6.9571236715E10 | -| test.c:607:26:607:33 | (...) | 6.9571236715E10 | -| test.c:607:27:607:27 | 2 | 1.0 | -| test.c:607:27:607:27 | (unsigned int)... | 1.0 | -| test.c:607:27:607:32 | ... * ... | 6.9571236715E10 | -| test.c:607:31:607:32 | ip | 6.9571236715E10 | -| test.c:608:21:608:22 | 14 | 1.0 | -| test.c:608:21:608:22 | (unsigned int)... | 1.0 | -| test.c:608:21:608:27 | ... * ... | 6.9571236715E10 | -| test.c:608:26:608:27 | ip | 6.9571236715E10 | -| test.c:609:15:609:15 | 2 | 1.0 | -| test.c:609:15:609:15 | (unsigned int)... | 1.0 | -| test.c:609:15:609:20 | ... * ... | 3.4785618357E10 | -| test.c:609:15:609:25 | ... * ... | 3.4785618357E10 | -| test.c:609:15:609:45 | ... + ... | 1.2100392444788552E21 | -| test.c:609:19:609:20 | ip | 3.4785618357E10 | -| test.c:609:24:609:25 | 14 | 1.0 | -| test.c:609:24:609:25 | (unsigned int)... | 1.0 | -| test.c:609:29:609:40 | (...) | 3.4785618357E10 | -| test.c:609:29:609:45 | ... * ... | 3.4785618357E10 | -| test.c:609:30:609:30 | 2 | 1.0 | -| test.c:609:30:609:30 | (unsigned int)... | 1.0 | -| test.c:609:30:609:35 | ... * ... | 3.4785618357E10 | -| test.c:609:30:609:39 | ... + ... | 3.4785618357E10 | -| test.c:609:34:609:35 | ip | 3.4785618357E10 | -| test.c:609:39:609:39 | 1 | 1.0 | -| test.c:609:39:609:39 | (unsigned int)... | 1.0 | -| test.c:609:44:609:45 | 17 | 1.0 | -| test.c:609:44:609:45 | (unsigned int)... | 1.0 | -| test.c:610:11:610:11 | 4 | 1.0 | +| test.c:605:20:605:25 | ... * ... | 5.797603059E9 | +| test.c:605:24:605:25 | ip | 5.797603059E9 | +| test.c:605:30:605:31 | 17 | 1.0 | +| test.c:605:30:605:31 | (unsigned int)... | 1.0 | +| test.c:605:30:605:36 | ... * ... | 5.797603059E9 | +| test.c:605:35:605:36 | ip | 5.797603059E9 | +| test.c:605:40:605:41 | 17 | 1.0 | +| test.c:605:40:605:41 | (unsigned int)... | 1.0 | +| test.c:605:40:605:52 | ... * ... | 5.797603059E9 | +| test.c:605:45:605:52 | (...) | 5.797603059E9 | +| test.c:605:46:605:46 | 2 | 1.0 | +| test.c:605:46:605:46 | (unsigned int)... | 1.0 | +| test.c:605:46:605:51 | ... * ... | 5.797603059E9 | +| test.c:605:50:605:51 | ip | 5.797603059E9 | +| test.c:605:56:605:57 | 17 | 1.0 | +| test.c:605:56:605:57 | (unsigned int)... | 1.0 | +| test.c:605:56:605:62 | ... * ... | 5.797603059E9 | +| test.c:605:61:605:62 | ip | 5.797603059E9 | +| test.c:606:17:606:28 | (...) | 1.1595206119E10 | +| test.c:606:17:606:33 | ... * ... | 1.1595206119E10 | +| test.c:606:18:606:18 | 2 | 1.0 | +| test.c:606:18:606:18 | (unsigned int)... | 1.0 | +| test.c:606:18:606:23 | ... * ... | 1.1595206119E10 | +| test.c:606:18:606:27 | ... + ... | 1.1595206119E10 | +| test.c:606:22:606:23 | ip | 1.1595206119E10 | +| test.c:606:27:606:27 | 1 | 1.0 | +| test.c:606:27:606:27 | (unsigned int)... | 1.0 | +| test.c:606:32:606:33 | 14 | 1.0 | +| test.c:606:32:606:33 | (unsigned int)... | 1.0 | +| test.c:607:17:607:18 | 14 | 1.0 | +| test.c:607:17:607:18 | (unsigned int)... | 1.0 | +| test.c:607:17:607:29 | ... * ... | 1.1595206119E10 | +| test.c:607:17:607:39 | ... > ... | 1.0 | +| test.c:607:17:609:25 | ... ? ... : ... | 1.3444880494209504E20 | +| test.c:607:22:607:29 | (...) | 1.1595206119E10 | +| test.c:607:23:607:23 | 2 | 1.0 | +| test.c:607:23:607:23 | (unsigned int)... | 1.0 | +| test.c:607:23:607:28 | ... * ... | 1.1595206119E10 | +| test.c:607:27:607:28 | ip | 1.1595206119E10 | +| test.c:607:33:607:34 | 17 | 1.0 | +| test.c:607:33:607:34 | (unsigned int)... | 1.0 | +| test.c:607:33:607:39 | ... * ... | 1.1595206119E10 | +| test.c:607:38:607:39 | ip | 1.1595206119E10 | +| test.c:608:19:608:20 | 14 | 1.0 | +| test.c:608:19:608:20 | (unsigned int)... | 1.0 | +| test.c:608:19:608:31 | ... * ... | 1.1595206119E10 | +| test.c:608:24:608:31 | (...) | 1.1595206119E10 | +| test.c:608:25:608:25 | 2 | 1.0 | +| test.c:608:25:608:25 | (unsigned int)... | 1.0 | +| test.c:608:25:608:30 | ... * ... | 1.1595206119E10 | +| test.c:608:29:608:30 | ip | 1.1595206119E10 | +| test.c:609:19:609:20 | 14 | 1.0 | +| test.c:609:19:609:20 | (unsigned int)... | 1.0 | +| test.c:609:19:609:25 | ... * ... | 1.1595206119E10 | +| test.c:609:24:609:25 | ip | 1.1595206119E10 | +| test.c:610:11:610:11 | 2 | 1.0 | | test.c:610:11:610:11 | (unsigned int)... | 1.0 | -| test.c:610:11:610:28 | ... * ... | 5.797603059E9 | -| test.c:610:11:611:32 | ... + ... | 3.361220122972616E19 | -| test.c:610:11:612:32 | ... + ... | 1.9487020066918396E29 | -| test.c:610:11:618:28 | ... + ... | 3.0379516094938436E59 | -| test.c:610:11:619:63 | ... > ... | 1.0 | -| test.c:610:11:631:27 | ... ? ... : ... | 4.390639451194891E87 | -| test.c:610:15:610:28 | (...) | 5.797603059E9 | -| test.c:610:16:610:17 | ip | 5.797603059E9 | -| test.c:610:16:610:22 | ... * ... | 5.797603059E9 | -| test.c:610:16:610:27 | ... + ... | 5.797603059E9 | -| test.c:610:21:610:22 | 14 | 1.0 | -| test.c:610:21:610:22 | (unsigned int)... | 1.0 | -| test.c:610:26:610:27 | 32 | 1.0 | -| test.c:610:26:610:27 | (unsigned int)... | 1.0 | -| test.c:611:15:611:32 | (...) | 5.797603059E9 | -| test.c:611:16:611:16 | 2 | 1.0 | -| test.c:611:16:611:16 | (unsigned int)... | 1.0 | -| test.c:611:16:611:21 | ... * ... | 5.797603059E9 | -| test.c:611:16:611:26 | ... * ... | 5.797603059E9 | -| test.c:611:16:611:31 | ... + ... | 5.797603059E9 | -| test.c:611:20:611:21 | ip | 5.797603059E9 | +| test.c:610:11:610:16 | ... * ... | 3.4785618357E10 | +| test.c:610:11:610:21 | ... * ... | 3.4785618357E10 | +| test.c:610:11:610:41 | ... + ... | 1.2100392444788552E21 | +| test.c:610:15:610:16 | ip | 3.4785618357E10 | +| test.c:610:20:610:21 | 14 | 1.0 | +| test.c:610:20:610:21 | (unsigned int)... | 1.0 | +| test.c:610:25:610:36 | (...) | 3.4785618357E10 | +| test.c:610:25:610:41 | ... * ... | 3.4785618357E10 | +| test.c:610:26:610:26 | 2 | 1.0 | +| test.c:610:26:610:26 | (unsigned int)... | 1.0 | +| test.c:610:26:610:31 | ... * ... | 3.4785618357E10 | +| test.c:610:26:610:35 | ... + ... | 3.4785618357E10 | +| test.c:610:30:610:31 | ip | 3.4785618357E10 | +| test.c:610:35:610:35 | 1 | 1.0 | +| test.c:610:35:610:35 | (unsigned int)... | 1.0 | +| test.c:610:40:610:41 | 17 | 1.0 | +| test.c:610:40:610:41 | (unsigned int)... | 1.0 | +| test.c:611:15:611:15 | 4 | 1.0 | +| test.c:611:15:611:15 | (unsigned int)... | 1.0 | +| test.c:611:15:611:32 | ... * ... | 3.4785618357E10 | +| test.c:611:15:612:32 | ... + ... | 1.2100392444788552E21 | +| test.c:611:15:613:32 | ... + ... | 4.209196335543408E31 | +| test.c:611:15:619:28 | ... + ... | 1.417386703353284E64 | +| test.c:611:19:611:32 | (...) | 3.4785618357E10 | +| test.c:611:20:611:21 | ip | 3.4785618357E10 | +| test.c:611:20:611:26 | ... * ... | 3.4785618357E10 | +| test.c:611:20:611:31 | ... + ... | 3.4785618357E10 | | test.c:611:25:611:26 | 14 | 1.0 | | test.c:611:25:611:26 | (unsigned int)... | 1.0 | | test.c:611:30:611:31 | 32 | 1.0 | | test.c:611:30:611:31 | (unsigned int)... | 1.0 | -| test.c:612:15:612:15 | 2 | 1.0 | -| test.c:612:15:612:15 | (unsigned int)... | 1.0 | -| test.c:612:15:612:32 | ... * ... | 5.797603059E9 | -| test.c:612:19:612:32 | (...) | 5.797603059E9 | -| test.c:612:20:612:21 | ip | 5.797603059E9 | -| test.c:612:20:612:26 | ... * ... | 5.797603059E9 | -| test.c:612:20:612:31 | ... + ... | 5.797603059E9 | +| test.c:612:15:612:32 | (...) | 3.4785618357E10 | +| test.c:612:16:612:16 | 2 | 1.0 | +| test.c:612:16:612:16 | (unsigned int)... | 1.0 | +| test.c:612:16:612:21 | ... * ... | 3.4785618357E10 | +| test.c:612:16:612:26 | ... * ... | 3.4785618357E10 | +| test.c:612:16:612:31 | ... + ... | 3.4785618357E10 | +| test.c:612:20:612:21 | ip | 3.4785618357E10 | | test.c:612:25:612:26 | 14 | 1.0 | | test.c:612:25:612:26 | (unsigned int)... | 1.0 | -| test.c:612:30:612:31 | 64 | 1.0 | +| test.c:612:30:612:31 | 32 | 1.0 | | test.c:612:30:612:31 | (unsigned int)... | 1.0 | -| test.c:613:15:618:28 | (...) | 1.558961605756818E30 | -| test.c:613:16:613:27 | (...) | 5.797603059E9 | -| test.c:613:16:613:32 | ... * ... | 5.797603059E9 | -| test.c:613:16:614:65 | ... > ... | 1.0 | -| test.c:613:16:618:27 | ... ? ... : ... | 1.558961605756818E30 | -| test.c:613:17:613:17 | 2 | 1.0 | -| test.c:613:17:613:17 | (unsigned int)... | 1.0 | -| test.c:613:17:613:22 | ... * ... | 5.797603059E9 | -| test.c:613:17:613:26 | ... + ... | 5.797603059E9 | -| test.c:613:21:613:22 | ip | 5.797603059E9 | -| test.c:613:26:613:26 | 1 | 1.0 | -| test.c:613:26:613:26 | (unsigned int)... | 1.0 | -| test.c:613:31:613:32 | 14 | 1.0 | -| test.c:613:31:613:32 | (unsigned int)... | 1.0 | -| test.c:614:15:614:65 | (...) | 3.361220122972616E19 | -| test.c:614:16:614:17 | 14 | 1.0 | -| test.c:614:16:614:17 | (unsigned int)... | 1.0 | -| test.c:614:16:614:28 | ... * ... | 5.797603059E9 | -| test.c:614:16:614:38 | ... > ... | 1.0 | -| test.c:614:16:614:64 | ... ? ... : ... | 3.361220122972616E19 | -| test.c:614:21:614:28 | (...) | 5.797603059E9 | -| test.c:614:22:614:22 | 2 | 1.0 | -| test.c:614:22:614:22 | (unsigned int)... | 1.0 | -| test.c:614:22:614:27 | ... * ... | 5.797603059E9 | -| test.c:614:26:614:27 | ip | 5.797603059E9 | -| test.c:614:32:614:33 | 17 | 1.0 | -| test.c:614:32:614:33 | (unsigned int)... | 1.0 | -| test.c:614:32:614:38 | ... * ... | 5.797603059E9 | -| test.c:614:37:614:38 | ip | 5.797603059E9 | -| test.c:614:42:614:43 | 17 | 1.0 | -| test.c:614:42:614:43 | (unsigned int)... | 1.0 | -| test.c:614:42:614:54 | ... * ... | 5.797603059E9 | -| test.c:614:47:614:54 | (...) | 5.797603059E9 | -| test.c:614:48:614:48 | 2 | 1.0 | -| test.c:614:48:614:48 | (unsigned int)... | 1.0 | -| test.c:614:48:614:53 | ... * ... | 5.797603059E9 | -| test.c:614:52:614:53 | ip | 5.797603059E9 | -| test.c:614:58:614:59 | 17 | 1.0 | -| test.c:614:58:614:59 | (unsigned int)... | 1.0 | -| test.c:614:58:614:64 | ... * ... | 5.797603059E9 | -| test.c:614:63:614:64 | ip | 5.797603059E9 | -| test.c:615:19:615:30 | (...) | 1.1595206119E10 | -| test.c:615:19:615:35 | ... * ... | 1.1595206119E10 | -| test.c:615:20:615:20 | 2 | 1.0 | -| test.c:615:20:615:20 | (unsigned int)... | 1.0 | -| test.c:615:20:615:25 | ... * ... | 1.1595206119E10 | -| test.c:615:20:615:29 | ... + ... | 1.1595206119E10 | -| test.c:615:24:615:25 | ip | 1.1595206119E10 | -| test.c:615:29:615:29 | 1 | 1.0 | -| test.c:615:29:615:29 | (unsigned int)... | 1.0 | -| test.c:615:34:615:35 | 14 | 1.0 | -| test.c:615:34:615:35 | (unsigned int)... | 1.0 | -| test.c:616:19:616:20 | 14 | 1.0 | -| test.c:616:19:616:20 | (unsigned int)... | 1.0 | -| test.c:616:19:616:31 | ... * ... | 1.1595206119E10 | -| test.c:616:19:616:41 | ... > ... | 1.0 | -| test.c:616:19:618:27 | ... ? ... : ... | 1.3444880494209504E20 | -| test.c:616:24:616:31 | (...) | 1.1595206119E10 | -| test.c:616:25:616:25 | 2 | 1.0 | -| test.c:616:25:616:25 | (unsigned int)... | 1.0 | -| test.c:616:25:616:30 | ... * ... | 1.1595206119E10 | -| test.c:616:29:616:30 | ip | 1.1595206119E10 | -| test.c:616:35:616:36 | 17 | 1.0 | -| test.c:616:35:616:36 | (unsigned int)... | 1.0 | -| test.c:616:35:616:41 | ... * ... | 1.1595206119E10 | -| test.c:616:40:616:41 | ip | 1.1595206119E10 | -| test.c:617:21:617:22 | 14 | 1.0 | -| test.c:617:21:617:22 | (unsigned int)... | 1.0 | -| test.c:617:21:617:33 | ... * ... | 1.1595206119E10 | -| test.c:617:26:617:33 | (...) | 1.1595206119E10 | -| test.c:617:27:617:27 | 2 | 1.0 | -| test.c:617:27:617:27 | (unsigned int)... | 1.0 | -| test.c:617:27:617:32 | ... * ... | 1.1595206119E10 | -| test.c:617:31:617:32 | ip | 1.1595206119E10 | +| test.c:613:15:613:15 | 2 | 1.0 | +| test.c:613:15:613:15 | (unsigned int)... | 1.0 | +| test.c:613:15:613:32 | ... * ... | 3.4785618357E10 | +| test.c:613:19:613:32 | (...) | 3.4785618357E10 | +| test.c:613:20:613:21 | ip | 3.4785618357E10 | +| test.c:613:20:613:26 | ... * ... | 3.4785618357E10 | +| test.c:613:20:613:31 | ... + ... | 3.4785618357E10 | +| test.c:613:25:613:26 | 14 | 1.0 | +| test.c:613:25:613:26 | (unsigned int)... | 1.0 | +| test.c:613:30:613:31 | 64 | 1.0 | +| test.c:613:30:613:31 | (unsigned int)... | 1.0 | +| test.c:614:15:619:28 | (...) | 3.367357068579931E32 | +| test.c:614:16:614:27 | (...) | 3.4785618357E10 | +| test.c:614:16:614:32 | ... * ... | 3.4785618357E10 | +| test.c:614:16:615:65 | ... > ... | 1.0 | +| test.c:614:16:619:27 | ... ? ... : ... | 3.367357068579931E32 | +| test.c:614:17:614:17 | 2 | 1.0 | +| test.c:614:17:614:17 | (unsigned int)... | 1.0 | +| test.c:614:17:614:22 | ... * ... | 3.4785618357E10 | +| test.c:614:17:614:26 | ... + ... | 3.4785618357E10 | +| test.c:614:21:614:22 | ip | 3.4785618357E10 | +| test.c:614:26:614:26 | 1 | 1.0 | +| test.c:614:26:614:26 | (unsigned int)... | 1.0 | +| test.c:614:31:614:32 | 14 | 1.0 | +| test.c:614:31:614:32 | (unsigned int)... | 1.0 | +| test.c:615:15:615:65 | (...) | 1.2100392444788552E21 | +| test.c:615:16:615:17 | 14 | 1.0 | +| test.c:615:16:615:17 | (unsigned int)... | 1.0 | +| test.c:615:16:615:28 | ... * ... | 3.4785618357E10 | +| test.c:615:16:615:38 | ... > ... | 1.0 | +| test.c:615:16:615:64 | ... ? ... : ... | 1.2100392444788552E21 | +| test.c:615:21:615:28 | (...) | 3.4785618357E10 | +| test.c:615:22:615:22 | 2 | 1.0 | +| test.c:615:22:615:22 | (unsigned int)... | 1.0 | +| test.c:615:22:615:27 | ... * ... | 3.4785618357E10 | +| test.c:615:26:615:27 | ip | 3.4785618357E10 | +| test.c:615:32:615:33 | 17 | 1.0 | +| test.c:615:32:615:33 | (unsigned int)... | 1.0 | +| test.c:615:32:615:38 | ... * ... | 3.4785618357E10 | +| test.c:615:37:615:38 | ip | 3.4785618357E10 | +| test.c:615:42:615:43 | 17 | 1.0 | +| test.c:615:42:615:43 | (unsigned int)... | 1.0 | +| test.c:615:42:615:54 | ... * ... | 3.4785618357E10 | +| test.c:615:47:615:54 | (...) | 3.4785618357E10 | +| test.c:615:48:615:48 | 2 | 1.0 | +| test.c:615:48:615:48 | (unsigned int)... | 1.0 | +| test.c:615:48:615:53 | ... * ... | 3.4785618357E10 | +| test.c:615:52:615:53 | ip | 3.4785618357E10 | +| test.c:615:58:615:59 | 17 | 1.0 | +| test.c:615:58:615:59 | (unsigned int)... | 1.0 | +| test.c:615:58:615:64 | ... * ... | 3.4785618357E10 | +| test.c:615:63:615:64 | ip | 3.4785618357E10 | +| test.c:616:19:616:30 | (...) | 6.9571236715E10 | +| test.c:616:19:616:35 | ... * ... | 6.9571236715E10 | +| test.c:616:20:616:20 | 2 | 1.0 | +| test.c:616:20:616:20 | (unsigned int)... | 1.0 | +| test.c:616:20:616:25 | ... * ... | 6.9571236715E10 | +| test.c:616:20:616:29 | ... + ... | 6.9571236715E10 | +| test.c:616:24:616:25 | ip | 6.9571236715E10 | +| test.c:616:29:616:29 | 1 | 1.0 | +| test.c:616:29:616:29 | (unsigned int)... | 1.0 | +| test.c:616:34:616:35 | 14 | 1.0 | +| test.c:616:34:616:35 | (unsigned int)... | 1.0 | +| test.c:617:19:617:20 | 14 | 1.0 | +| test.c:617:19:617:20 | (unsigned int)... | 1.0 | +| test.c:617:19:617:31 | ... * ... | 6.9571236715E10 | +| test.c:617:19:617:41 | ... > ... | 1.0 | +| test.c:617:19:619:27 | ... ? ... : ... | 4.840156978054564E21 | +| test.c:617:24:617:31 | (...) | 6.9571236715E10 | +| test.c:617:25:617:25 | 2 | 1.0 | +| test.c:617:25:617:25 | (unsigned int)... | 1.0 | +| test.c:617:25:617:30 | ... * ... | 6.9571236715E10 | +| test.c:617:29:617:30 | ip | 6.9571236715E10 | +| test.c:617:35:617:36 | 17 | 1.0 | +| test.c:617:35:617:36 | (unsigned int)... | 1.0 | +| test.c:617:35:617:41 | ... * ... | 6.9571236715E10 | +| test.c:617:40:617:41 | ip | 6.9571236715E10 | | test.c:618:21:618:22 | 14 | 1.0 | | test.c:618:21:618:22 | (unsigned int)... | 1.0 | -| test.c:618:21:618:27 | ... * ... | 1.1595206119E10 | -| test.c:618:26:618:27 | ip | 1.1595206119E10 | -| test.c:619:13:619:63 | (...) | 1.2100392444788552E21 | -| test.c:619:14:619:15 | 14 | 1.0 | -| test.c:619:14:619:15 | (unsigned int)... | 1.0 | -| test.c:619:14:619:20 | ... * ... | 3.4785618357E10 | -| test.c:619:14:619:36 | ... > ... | 1.0 | -| test.c:619:14:619:62 | ... ? ... : ... | 1.2100392444788552E21 | -| test.c:619:19:619:20 | ip | 3.4785618357E10 | -| test.c:619:24:619:31 | (...) | 3.4785618357E10 | -| test.c:619:24:619:36 | ... * ... | 3.4785618357E10 | -| test.c:619:25:619:26 | ip | 3.4785618357E10 | -| test.c:619:25:619:30 | ... + ... | 3.4785618357E10 | -| test.c:619:30:619:30 | 1 | 1.0 | -| test.c:619:30:619:30 | (unsigned int)... | 1.0 | -| test.c:619:35:619:36 | 17 | 1.0 | -| test.c:619:35:619:36 | (unsigned int)... | 1.0 | -| test.c:619:40:619:41 | 17 | 1.0 | -| test.c:619:40:619:41 | (unsigned int)... | 1.0 | -| test.c:619:40:619:46 | ... * ... | 3.4785618357E10 | -| test.c:619:45:619:46 | ip | 3.4785618357E10 | -| test.c:619:50:619:57 | (...) | 3.4785618357E10 | -| test.c:619:50:619:62 | ... * ... | 3.4785618357E10 | -| test.c:619:51:619:52 | ip | 3.4785618357E10 | -| test.c:619:51:619:56 | ... + ... | 3.4785618357E10 | -| test.c:619:56:619:56 | 1 | 1.0 | -| test.c:619:56:619:56 | (unsigned int)... | 1.0 | -| test.c:619:61:619:62 | 17 | 1.0 | -| test.c:619:61:619:62 | (unsigned int)... | 1.0 | -| test.c:620:13:620:13 | 4 | 1.0 | -| test.c:620:13:620:13 | (unsigned int)... | 1.0 | -| test.c:620:13:620:30 | ... * ... | 6.9571236714E10 | -| test.c:620:13:621:30 | ... + ... | 4.840156977915421E21 | -| test.c:620:13:622:30 | ... + ... | 3.3673570684347266E32 | -| test.c:620:13:628:26 | ... + ... | 9.071274901265435E65 | -| test.c:620:17:620:30 | (...) | 6.9571236714E10 | -| test.c:620:18:620:19 | ip | 6.9571236714E10 | -| test.c:620:18:620:24 | ... * ... | 6.9571236714E10 | -| test.c:620:18:620:29 | ... + ... | 6.9571236714E10 | -| test.c:620:23:620:24 | 14 | 1.0 | -| test.c:620:23:620:24 | (unsigned int)... | 1.0 | -| test.c:620:28:620:29 | 32 | 1.0 | -| test.c:620:28:620:29 | (unsigned int)... | 1.0 | -| test.c:621:13:621:30 | (...) | 6.9571236714E10 | -| test.c:621:14:621:14 | 2 | 1.0 | -| test.c:621:14:621:14 | (unsigned int)... | 1.0 | -| test.c:621:14:621:19 | ... * ... | 6.9571236714E10 | -| test.c:621:14:621:24 | ... * ... | 6.9571236714E10 | -| test.c:621:14:621:29 | ... + ... | 6.9571236714E10 | -| test.c:621:18:621:19 | ip | 6.9571236714E10 | -| test.c:621:23:621:24 | 14 | 1.0 | -| test.c:621:23:621:24 | (unsigned int)... | 1.0 | -| test.c:621:28:621:29 | 32 | 1.0 | -| test.c:621:28:621:29 | (unsigned int)... | 1.0 | -| test.c:622:13:622:13 | 2 | 1.0 | -| test.c:622:13:622:13 | (unsigned int)... | 1.0 | -| test.c:622:13:622:30 | ... * ... | 6.9571236714E10 | -| test.c:622:17:622:30 | (...) | 6.9571236714E10 | -| test.c:622:18:622:19 | ip | 6.9571236714E10 | -| test.c:622:18:622:24 | ... * ... | 6.9571236714E10 | -| test.c:622:18:622:29 | ... + ... | 6.9571236714E10 | -| test.c:622:23:622:24 | 14 | 1.0 | -| test.c:622:23:622:24 | (unsigned int)... | 1.0 | -| test.c:622:28:622:29 | 64 | 1.0 | -| test.c:622:28:622:29 | (unsigned int)... | 1.0 | -| test.c:623:13:628:26 | (...) | 2.693885654805863E33 | -| test.c:623:14:623:25 | (...) | 6.9571236714E10 | -| test.c:623:14:623:30 | ... * ... | 6.9571236714E10 | -| test.c:623:14:624:63 | ... > ... | 1.0 | -| test.c:623:14:628:25 | ... ? ... : ... | 2.693885654805863E33 | +| test.c:618:21:618:33 | ... * ... | 6.9571236715E10 | +| test.c:618:26:618:33 | (...) | 6.9571236715E10 | +| test.c:618:27:618:27 | 2 | 1.0 | +| test.c:618:27:618:27 | (unsigned int)... | 1.0 | +| test.c:618:27:618:32 | ... * ... | 6.9571236715E10 | +| test.c:618:31:618:32 | ip | 6.9571236715E10 | +| test.c:619:21:619:22 | 14 | 1.0 | +| test.c:619:21:619:22 | (unsigned int)... | 1.0 | +| test.c:619:21:619:27 | ... * ... | 6.9571236715E10 | +| test.c:619:26:619:27 | ip | 6.9571236715E10 | +| test.c:620:15:620:15 | 2 | 1.0 | +| test.c:620:15:620:15 | (unsigned int)... | 1.0 | +| test.c:620:15:620:20 | ... * ... | 3.4785618357E10 | +| test.c:620:15:620:25 | ... * ... | 3.4785618357E10 | +| test.c:620:15:620:45 | ... + ... | 1.2100392444788552E21 | +| test.c:620:19:620:20 | ip | 3.4785618357E10 | +| test.c:620:24:620:25 | 14 | 1.0 | +| test.c:620:24:620:25 | (unsigned int)... | 1.0 | +| test.c:620:29:620:40 | (...) | 3.4785618357E10 | +| test.c:620:29:620:45 | ... * ... | 3.4785618357E10 | +| test.c:620:30:620:30 | 2 | 1.0 | +| test.c:620:30:620:30 | (unsigned int)... | 1.0 | +| test.c:620:30:620:35 | ... * ... | 3.4785618357E10 | +| test.c:620:30:620:39 | ... + ... | 3.4785618357E10 | +| test.c:620:34:620:35 | ip | 3.4785618357E10 | +| test.c:620:39:620:39 | 1 | 1.0 | +| test.c:620:39:620:39 | (unsigned int)... | 1.0 | +| test.c:620:44:620:45 | 17 | 1.0 | +| test.c:620:44:620:45 | (unsigned int)... | 1.0 | +| test.c:621:11:621:11 | 4 | 1.0 | +| test.c:621:11:621:11 | (unsigned int)... | 1.0 | +| test.c:621:11:621:28 | ... * ... | 5.797603059E9 | +| test.c:621:11:622:32 | ... + ... | 3.361220122972616E19 | +| test.c:621:11:623:32 | ... + ... | 1.9487020066918396E29 | +| test.c:621:11:629:28 | ... + ... | 3.0379516094938436E59 | +| test.c:621:11:630:63 | ... > ... | 1.0 | +| test.c:621:11:642:27 | ... ? ... : ... | 4.390639451194891E87 | +| test.c:621:15:621:28 | (...) | 5.797603059E9 | +| test.c:621:16:621:17 | ip | 5.797603059E9 | +| test.c:621:16:621:22 | ... * ... | 5.797603059E9 | +| test.c:621:16:621:27 | ... + ... | 5.797603059E9 | +| test.c:621:21:621:22 | 14 | 1.0 | +| test.c:621:21:621:22 | (unsigned int)... | 1.0 | +| test.c:621:26:621:27 | 32 | 1.0 | +| test.c:621:26:621:27 | (unsigned int)... | 1.0 | +| test.c:622:15:622:32 | (...) | 5.797603059E9 | +| test.c:622:16:622:16 | 2 | 1.0 | +| test.c:622:16:622:16 | (unsigned int)... | 1.0 | +| test.c:622:16:622:21 | ... * ... | 5.797603059E9 | +| test.c:622:16:622:26 | ... * ... | 5.797603059E9 | +| test.c:622:16:622:31 | ... + ... | 5.797603059E9 | +| test.c:622:20:622:21 | ip | 5.797603059E9 | +| test.c:622:25:622:26 | 14 | 1.0 | +| test.c:622:25:622:26 | (unsigned int)... | 1.0 | +| test.c:622:30:622:31 | 32 | 1.0 | +| test.c:622:30:622:31 | (unsigned int)... | 1.0 | | test.c:623:15:623:15 | 2 | 1.0 | | test.c:623:15:623:15 | (unsigned int)... | 1.0 | -| test.c:623:15:623:20 | ... * ... | 6.9571236714E10 | -| test.c:623:15:623:24 | ... + ... | 6.9571236714E10 | -| test.c:623:19:623:20 | ip | 6.9571236714E10 | -| test.c:623:24:623:24 | 1 | 1.0 | -| test.c:623:24:623:24 | (unsigned int)... | 1.0 | -| test.c:623:29:623:30 | 14 | 1.0 | -| test.c:623:29:623:30 | (unsigned int)... | 1.0 | -| test.c:624:13:624:63 | (...) | 4.840156977915421E21 | -| test.c:624:14:624:15 | 14 | 1.0 | -| test.c:624:14:624:15 | (unsigned int)... | 1.0 | -| test.c:624:14:624:26 | ... * ... | 6.9571236714E10 | -| test.c:624:14:624:36 | ... > ... | 1.0 | -| test.c:624:14:624:62 | ... ? ... : ... | 4.840156977915421E21 | -| test.c:624:19:624:26 | (...) | 6.9571236714E10 | -| test.c:624:20:624:20 | 2 | 1.0 | -| test.c:624:20:624:20 | (unsigned int)... | 1.0 | -| test.c:624:20:624:25 | ... * ... | 6.9571236714E10 | -| test.c:624:24:624:25 | ip | 6.9571236714E10 | -| test.c:624:30:624:31 | 17 | 1.0 | -| test.c:624:30:624:31 | (unsigned int)... | 1.0 | -| test.c:624:30:624:36 | ... * ... | 6.9571236714E10 | -| test.c:624:35:624:36 | ip | 6.9571236714E10 | -| test.c:624:40:624:41 | 17 | 1.0 | -| test.c:624:40:624:41 | (unsigned int)... | 1.0 | -| test.c:624:40:624:52 | ... * ... | 6.9571236714E10 | -| test.c:624:45:624:52 | (...) | 6.9571236714E10 | -| test.c:624:46:624:46 | 2 | 1.0 | -| test.c:624:46:624:46 | (unsigned int)... | 1.0 | -| test.c:624:46:624:51 | ... * ... | 6.9571236714E10 | -| test.c:624:50:624:51 | ip | 6.9571236714E10 | -| test.c:624:56:624:57 | 17 | 1.0 | -| test.c:624:56:624:57 | (unsigned int)... | 1.0 | -| test.c:624:56:624:62 | ... * ... | 6.9571236714E10 | -| test.c:624:61:624:62 | ip | 6.9571236714E10 | -| test.c:625:17:625:28 | (...) | 1.39142473429E11 | -| test.c:625:17:625:33 | ... * ... | 1.39142473429E11 | -| test.c:625:18:625:18 | 2 | 1.0 | -| test.c:625:18:625:18 | (unsigned int)... | 1.0 | -| test.c:625:18:625:23 | ... * ... | 1.39142473429E11 | -| test.c:625:18:625:27 | ... + ... | 1.39142473429E11 | -| test.c:625:22:625:23 | ip | 1.39142473429E11 | -| test.c:625:27:625:27 | 1 | 1.0 | -| test.c:625:27:625:27 | (unsigned int)... | 1.0 | -| test.c:625:32:625:33 | 14 | 1.0 | +| test.c:623:15:623:32 | ... * ... | 5.797603059E9 | +| test.c:623:19:623:32 | (...) | 5.797603059E9 | +| test.c:623:20:623:21 | ip | 5.797603059E9 | +| test.c:623:20:623:26 | ... * ... | 5.797603059E9 | +| test.c:623:20:623:31 | ... + ... | 5.797603059E9 | +| test.c:623:25:623:26 | 14 | 1.0 | +| test.c:623:25:623:26 | (unsigned int)... | 1.0 | +| test.c:623:30:623:31 | 64 | 1.0 | +| test.c:623:30:623:31 | (unsigned int)... | 1.0 | +| test.c:624:15:629:28 | (...) | 1.558961605756818E30 | +| test.c:624:16:624:27 | (...) | 5.797603059E9 | +| test.c:624:16:624:32 | ... * ... | 5.797603059E9 | +| test.c:624:16:625:65 | ... > ... | 1.0 | +| test.c:624:16:629:27 | ... ? ... : ... | 1.558961605756818E30 | +| test.c:624:17:624:17 | 2 | 1.0 | +| test.c:624:17:624:17 | (unsigned int)... | 1.0 | +| test.c:624:17:624:22 | ... * ... | 5.797603059E9 | +| test.c:624:17:624:26 | ... + ... | 5.797603059E9 | +| test.c:624:21:624:22 | ip | 5.797603059E9 | +| test.c:624:26:624:26 | 1 | 1.0 | +| test.c:624:26:624:26 | (unsigned int)... | 1.0 | +| test.c:624:31:624:32 | 14 | 1.0 | +| test.c:624:31:624:32 | (unsigned int)... | 1.0 | +| test.c:625:15:625:65 | (...) | 3.361220122972616E19 | +| test.c:625:16:625:17 | 14 | 1.0 | +| test.c:625:16:625:17 | (unsigned int)... | 1.0 | +| test.c:625:16:625:28 | ... * ... | 5.797603059E9 | +| test.c:625:16:625:38 | ... > ... | 1.0 | +| test.c:625:16:625:64 | ... ? ... : ... | 3.361220122972616E19 | +| test.c:625:21:625:28 | (...) | 5.797603059E9 | +| test.c:625:22:625:22 | 2 | 1.0 | +| test.c:625:22:625:22 | (unsigned int)... | 1.0 | +| test.c:625:22:625:27 | ... * ... | 5.797603059E9 | +| test.c:625:26:625:27 | ip | 5.797603059E9 | +| test.c:625:32:625:33 | 17 | 1.0 | | test.c:625:32:625:33 | (unsigned int)... | 1.0 | -| test.c:626:17:626:18 | 14 | 1.0 | -| test.c:626:17:626:18 | (unsigned int)... | 1.0 | -| test.c:626:17:626:29 | ... * ... | 1.39142473429E11 | -| test.c:626:17:626:39 | ... > ... | 1.0 | -| test.c:626:17:628:25 | ... ? ... : ... | 1.936062791193997E22 | -| test.c:626:22:626:29 | (...) | 1.39142473429E11 | -| test.c:626:23:626:23 | 2 | 1.0 | -| test.c:626:23:626:23 | (unsigned int)... | 1.0 | -| test.c:626:23:626:28 | ... * ... | 1.39142473429E11 | -| test.c:626:27:626:28 | ip | 1.39142473429E11 | -| test.c:626:33:626:34 | 17 | 1.0 | -| test.c:626:33:626:34 | (unsigned int)... | 1.0 | -| test.c:626:33:626:39 | ... * ... | 1.39142473429E11 | -| test.c:626:38:626:39 | ip | 1.39142473429E11 | +| test.c:625:32:625:38 | ... * ... | 5.797603059E9 | +| test.c:625:37:625:38 | ip | 5.797603059E9 | +| test.c:625:42:625:43 | 17 | 1.0 | +| test.c:625:42:625:43 | (unsigned int)... | 1.0 | +| test.c:625:42:625:54 | ... * ... | 5.797603059E9 | +| test.c:625:47:625:54 | (...) | 5.797603059E9 | +| test.c:625:48:625:48 | 2 | 1.0 | +| test.c:625:48:625:48 | (unsigned int)... | 1.0 | +| test.c:625:48:625:53 | ... * ... | 5.797603059E9 | +| test.c:625:52:625:53 | ip | 5.797603059E9 | +| test.c:625:58:625:59 | 17 | 1.0 | +| test.c:625:58:625:59 | (unsigned int)... | 1.0 | +| test.c:625:58:625:64 | ... * ... | 5.797603059E9 | +| test.c:625:63:625:64 | ip | 5.797603059E9 | +| test.c:626:19:626:30 | (...) | 1.1595206119E10 | +| test.c:626:19:626:35 | ... * ... | 1.1595206119E10 | +| test.c:626:20:626:20 | 2 | 1.0 | +| test.c:626:20:626:20 | (unsigned int)... | 1.0 | +| test.c:626:20:626:25 | ... * ... | 1.1595206119E10 | +| test.c:626:20:626:29 | ... + ... | 1.1595206119E10 | +| test.c:626:24:626:25 | ip | 1.1595206119E10 | +| test.c:626:29:626:29 | 1 | 1.0 | +| test.c:626:29:626:29 | (unsigned int)... | 1.0 | +| test.c:626:34:626:35 | 14 | 1.0 | +| test.c:626:34:626:35 | (unsigned int)... | 1.0 | | test.c:627:19:627:20 | 14 | 1.0 | | test.c:627:19:627:20 | (unsigned int)... | 1.0 | -| test.c:627:19:627:31 | ... * ... | 1.39142473429E11 | -| test.c:627:24:627:31 | (...) | 1.39142473429E11 | +| test.c:627:19:627:31 | ... * ... | 1.1595206119E10 | +| test.c:627:19:627:41 | ... > ... | 1.0 | +| test.c:627:19:629:27 | ... ? ... : ... | 1.3444880494209504E20 | +| test.c:627:24:627:31 | (...) | 1.1595206119E10 | | test.c:627:25:627:25 | 2 | 1.0 | | test.c:627:25:627:25 | (unsigned int)... | 1.0 | -| test.c:627:25:627:30 | ... * ... | 1.39142473429E11 | -| test.c:627:29:627:30 | ip | 1.39142473429E11 | -| test.c:628:19:628:20 | 14 | 1.0 | -| test.c:628:19:628:20 | (unsigned int)... | 1.0 | -| test.c:628:19:628:25 | ... * ... | 1.39142473429E11 | -| test.c:628:24:628:25 | ip | 1.39142473429E11 | -| test.c:629:13:629:14 | 14 | 1.0 | -| test.c:629:13:629:14 | (unsigned int)... | 1.0 | -| test.c:629:13:629:19 | ... * ... | 6.9571236714E10 | -| test.c:629:13:629:35 | ... > ... | 1.0 | -| test.c:629:13:631:27 | ... ? ... : ... | 4.840156977915421E21 | -| test.c:629:18:629:19 | ip | 6.9571236714E10 | -| test.c:629:23:629:30 | (...) | 6.9571236714E10 | -| test.c:629:23:629:35 | ... * ... | 6.9571236714E10 | -| test.c:629:24:629:25 | ip | 6.9571236714E10 | -| test.c:629:24:629:29 | ... + ... | 6.9571236714E10 | -| test.c:629:29:629:29 | 1 | 1.0 | -| test.c:629:29:629:29 | (unsigned int)... | 1.0 | -| test.c:629:34:629:35 | 17 | 1.0 | -| test.c:629:34:629:35 | (unsigned int)... | 1.0 | -| test.c:630:15:630:16 | 14 | 1.0 | -| test.c:630:15:630:16 | (unsigned int)... | 1.0 | -| test.c:630:15:630:21 | ... * ... | 6.9571236714E10 | -| test.c:630:20:630:21 | ip | 6.9571236714E10 | -| test.c:631:15:631:22 | (...) | 6.9571236714E10 | -| test.c:631:15:631:27 | ... * ... | 6.9571236714E10 | -| test.c:631:16:631:17 | ip | 6.9571236714E10 | -| test.c:631:16:631:21 | ... + ... | 6.9571236714E10 | -| test.c:631:21:631:21 | 1 | 1.0 | -| test.c:631:21:631:21 | (unsigned int)... | 1.0 | -| test.c:631:26:631:27 | 14 | 1.0 | -| test.c:631:26:631:27 | (unsigned int)... | 1.0 | -| test.c:632:10:632:23 | special_number | 1.297918419127476E201 | -| test.c:639:10:639:11 | 0 | 1.0 | -| test.c:640:7:640:8 | c1 | 1.0 | -| test.c:640:13:640:13 | x | 1.0 | -| test.c:640:13:640:23 | ... += ... | 1.0 | -| test.c:640:18:640:23 | 748596 | 1.0 | -| test.c:641:7:641:8 | c2 | 1.0 | -| test.c:641:13:641:13 | x | 2.0 | -| test.c:641:13:641:25 | ... += ... | 2.0 | -| test.c:641:18:641:25 | 84652395 | 1.0 | -| test.c:642:7:642:8 | c3 | 1.0 | -| test.c:642:13:642:13 | x | 4.0 | -| test.c:642:13:642:24 | ... += ... | 4.0 | -| test.c:642:18:642:24 | 3675895 | 1.0 | -| test.c:643:7:643:8 | c4 | 1.0 | -| test.c:643:13:643:13 | x | 8.0 | -| test.c:643:13:643:22 | ... += ... | 8.0 | -| test.c:643:18:643:22 | 98634 | 1.0 | -| test.c:644:7:644:8 | c5 | 1.0 | -| test.c:644:13:644:13 | x | 16.0 | -| test.c:644:13:644:24 | ... += ... | 16.0 | -| test.c:644:18:644:24 | 7834985 | 1.0 | -| test.c:645:7:645:8 | c1 | 2.0 | -| test.c:645:7:645:14 | ... && ... | 1.0 | -| test.c:645:13:645:14 | c2 | 2.0 | -| test.c:645:19:645:19 | x | 32.0 | -| test.c:645:19:645:32 | ... += ... | 32.0 | -| test.c:645:24:645:32 | 938457398 | 1.0 | -| test.c:646:7:646:8 | c1 | 3.0 | -| test.c:646:7:646:14 | ... && ... | 1.0 | -| test.c:646:13:646:14 | c3 | 2.0 | -| test.c:646:19:646:19 | x | 64.0 | -| test.c:646:19:646:31 | ... += ... | 64.0 | -| test.c:646:24:646:31 | 73895648 | 1.0 | -| test.c:647:7:647:8 | c1 | 4.0 | -| test.c:647:7:647:14 | ... && ... | 1.0 | -| test.c:647:13:647:14 | c4 | 2.0 | -| test.c:647:19:647:19 | x | 128.0 | -| test.c:647:19:647:31 | ... += ... | 128.0 | -| test.c:647:24:647:31 | 12345432 | 1.0 | -| test.c:648:7:648:8 | c1 | 5.0 | -| test.c:648:7:648:14 | ... && ... | 1.0 | -| test.c:648:13:648:14 | c5 | 2.0 | -| test.c:648:19:648:19 | x | 256.0 | -| test.c:648:19:648:28 | ... += ... | 256.0 | -| test.c:648:24:648:28 | 38847 | 1.0 | -| test.c:649:7:649:8 | c2 | 5.0 | -| test.c:649:7:649:14 | ... && ... | 1.0 | -| test.c:649:13:649:14 | c3 | 5.0 | -| test.c:649:19:649:19 | x | 512.0 | -| test.c:649:19:649:26 | ... += ... | 512.0 | -| test.c:649:24:649:26 | 234 | 1.0 | -| test.c:651:11:651:11 | x | 1024.0 | -| test.c:651:11:651:15 | ... + ... | 1048576.0 | -| test.c:651:11:651:19 | ... + ... | 1.073741824E9 | -| test.c:651:11:651:23 | ... + ... | 1.099511627776E12 | -| test.c:651:11:651:27 | ... + ... | 1.125899906842624E15 | -| test.c:651:11:651:31 | ... + ... | 1.152921504606847E18 | -| test.c:651:11:651:35 | ... + ... | 1.1805916207174113E21 | -| test.c:651:11:651:39 | ... + ... | 1.2089258196146292E24 | -| test.c:651:11:651:43 | ... + ... | 1.2379400392853803E27 | -| test.c:651:11:651:47 | ... + ... | 1.2676506002282294E30 | -| test.c:651:11:651:51 | ... + ... | 1.298074214633707E33 | -| test.c:651:11:651:55 | ... + ... | 1.329227995784916E36 | -| test.c:651:15:651:15 | x | 1024.0 | -| test.c:651:19:651:19 | x | 1024.0 | -| test.c:651:23:651:23 | x | 1024.0 | -| test.c:651:27:651:27 | x | 1024.0 | -| test.c:651:31:651:31 | x | 1024.0 | -| test.c:651:35:651:35 | x | 1024.0 | -| test.c:651:39:651:39 | x | 1024.0 | -| test.c:651:43:651:43 | x | 1024.0 | -| test.c:651:47:651:47 | x | 1024.0 | -| test.c:651:51:651:51 | x | 1024.0 | -| test.c:651:55:651:55 | x | 1024.0 | -| test.c:652:10:652:10 | y | 1.329227995784916E36 | -| test.c:657:20:657:20 | x | 1.0 | -| test.c:657:20:657:26 | ... < ... | 1.0 | -| test.c:657:20:657:36 | ... ? ... : ... | 1.0 | -| test.c:657:24:657:26 | 100 | 1.0 | -| test.c:657:24:657:26 | (unsigned int)... | 1.0 | -| test.c:657:30:657:30 | x | 1.0 | -| test.c:657:34:657:36 | 100 | 1.0 | -| test.c:657:34:657:36 | (unsigned int)... | 1.0 | -| test.c:660:3:660:4 | y1 | 1.0 | -| test.c:660:9:660:11 | ++ ... | 1.0 | -| test.c:660:11:660:11 | y | 1.0 | -| test.c:661:3:661:4 | y2 | 1.0 | -| test.c:661:19:661:19 | 3 | 1.0 | -| test.c:661:19:661:19 | (unsigned int)... | 1.0 | -| test.c:670:3:670:3 | i | 1.0 | -| test.c:670:3:670:8 | ... = ... | 1.0 | -| test.c:670:7:670:8 | 10 | 1.0 | -| test.c:671:7:671:7 | i | 1.0 | -| test.c:673:3:673:3 | i | 1.0 | -| test.c:673:3:673:8 | ... = ... | 1.0 | -| test.c:673:7:673:8 | 10 | 1.0 | -| test.c:674:3:674:3 | i | 1.0 | -| test.c:674:3:674:9 | ... += ... | 1.0 | -| test.c:674:8:674:9 | 10 | 1.0 | -| test.c:675:7:675:7 | i | 1.0 | -| test.c:677:3:677:3 | i | 1.0 | -| test.c:677:3:677:8 | ... = ... | 1.0 | -| test.c:677:7:677:8 | 40 | 1.0 | -| test.c:678:3:678:3 | i | 1.0 | -| test.c:678:3:678:9 | ... -= ... | 1.0 | -| test.c:678:8:678:9 | 10 | 1.0 | -| test.c:679:7:679:7 | i | 1.0 | +| test.c:627:25:627:30 | ... * ... | 1.1595206119E10 | +| test.c:627:29:627:30 | ip | 1.1595206119E10 | +| test.c:627:35:627:36 | 17 | 1.0 | +| test.c:627:35:627:36 | (unsigned int)... | 1.0 | +| test.c:627:35:627:41 | ... * ... | 1.1595206119E10 | +| test.c:627:40:627:41 | ip | 1.1595206119E10 | +| test.c:628:21:628:22 | 14 | 1.0 | +| test.c:628:21:628:22 | (unsigned int)... | 1.0 | +| test.c:628:21:628:33 | ... * ... | 1.1595206119E10 | +| test.c:628:26:628:33 | (...) | 1.1595206119E10 | +| test.c:628:27:628:27 | 2 | 1.0 | +| test.c:628:27:628:27 | (unsigned int)... | 1.0 | +| test.c:628:27:628:32 | ... * ... | 1.1595206119E10 | +| test.c:628:31:628:32 | ip | 1.1595206119E10 | +| test.c:629:21:629:22 | 14 | 1.0 | +| test.c:629:21:629:22 | (unsigned int)... | 1.0 | +| test.c:629:21:629:27 | ... * ... | 1.1595206119E10 | +| test.c:629:26:629:27 | ip | 1.1595206119E10 | +| test.c:630:13:630:63 | (...) | 1.2100392444788552E21 | +| test.c:630:14:630:15 | 14 | 1.0 | +| test.c:630:14:630:15 | (unsigned int)... | 1.0 | +| test.c:630:14:630:20 | ... * ... | 3.4785618357E10 | +| test.c:630:14:630:36 | ... > ... | 1.0 | +| test.c:630:14:630:62 | ... ? ... : ... | 1.2100392444788552E21 | +| test.c:630:19:630:20 | ip | 3.4785618357E10 | +| test.c:630:24:630:31 | (...) | 3.4785618357E10 | +| test.c:630:24:630:36 | ... * ... | 3.4785618357E10 | +| test.c:630:25:630:26 | ip | 3.4785618357E10 | +| test.c:630:25:630:30 | ... + ... | 3.4785618357E10 | +| test.c:630:30:630:30 | 1 | 1.0 | +| test.c:630:30:630:30 | (unsigned int)... | 1.0 | +| test.c:630:35:630:36 | 17 | 1.0 | +| test.c:630:35:630:36 | (unsigned int)... | 1.0 | +| test.c:630:40:630:41 | 17 | 1.0 | +| test.c:630:40:630:41 | (unsigned int)... | 1.0 | +| test.c:630:40:630:46 | ... * ... | 3.4785618357E10 | +| test.c:630:45:630:46 | ip | 3.4785618357E10 | +| test.c:630:50:630:57 | (...) | 3.4785618357E10 | +| test.c:630:50:630:62 | ... * ... | 3.4785618357E10 | +| test.c:630:51:630:52 | ip | 3.4785618357E10 | +| test.c:630:51:630:56 | ... + ... | 3.4785618357E10 | +| test.c:630:56:630:56 | 1 | 1.0 | +| test.c:630:56:630:56 | (unsigned int)... | 1.0 | +| test.c:630:61:630:62 | 17 | 1.0 | +| test.c:630:61:630:62 | (unsigned int)... | 1.0 | +| test.c:631:13:631:13 | 4 | 1.0 | +| test.c:631:13:631:13 | (unsigned int)... | 1.0 | +| test.c:631:13:631:30 | ... * ... | 6.9571236714E10 | +| test.c:631:13:632:30 | ... + ... | 4.840156977915421E21 | +| test.c:631:13:633:30 | ... + ... | 3.3673570684347266E32 | +| test.c:631:13:639:26 | ... + ... | 9.071274901265435E65 | +| test.c:631:17:631:30 | (...) | 6.9571236714E10 | +| test.c:631:18:631:19 | ip | 6.9571236714E10 | +| test.c:631:18:631:24 | ... * ... | 6.9571236714E10 | +| test.c:631:18:631:29 | ... + ... | 6.9571236714E10 | +| test.c:631:23:631:24 | 14 | 1.0 | +| test.c:631:23:631:24 | (unsigned int)... | 1.0 | +| test.c:631:28:631:29 | 32 | 1.0 | +| test.c:631:28:631:29 | (unsigned int)... | 1.0 | +| test.c:632:13:632:30 | (...) | 6.9571236714E10 | +| test.c:632:14:632:14 | 2 | 1.0 | +| test.c:632:14:632:14 | (unsigned int)... | 1.0 | +| test.c:632:14:632:19 | ... * ... | 6.9571236714E10 | +| test.c:632:14:632:24 | ... * ... | 6.9571236714E10 | +| test.c:632:14:632:29 | ... + ... | 6.9571236714E10 | +| test.c:632:18:632:19 | ip | 6.9571236714E10 | +| test.c:632:23:632:24 | 14 | 1.0 | +| test.c:632:23:632:24 | (unsigned int)... | 1.0 | +| test.c:632:28:632:29 | 32 | 1.0 | +| test.c:632:28:632:29 | (unsigned int)... | 1.0 | +| test.c:633:13:633:13 | 2 | 1.0 | +| test.c:633:13:633:13 | (unsigned int)... | 1.0 | +| test.c:633:13:633:30 | ... * ... | 6.9571236714E10 | +| test.c:633:17:633:30 | (...) | 6.9571236714E10 | +| test.c:633:18:633:19 | ip | 6.9571236714E10 | +| test.c:633:18:633:24 | ... * ... | 6.9571236714E10 | +| test.c:633:18:633:29 | ... + ... | 6.9571236714E10 | +| test.c:633:23:633:24 | 14 | 1.0 | +| test.c:633:23:633:24 | (unsigned int)... | 1.0 | +| test.c:633:28:633:29 | 64 | 1.0 | +| test.c:633:28:633:29 | (unsigned int)... | 1.0 | +| test.c:634:13:639:26 | (...) | 2.693885654805863E33 | +| test.c:634:14:634:25 | (...) | 6.9571236714E10 | +| test.c:634:14:634:30 | ... * ... | 6.9571236714E10 | +| test.c:634:14:635:63 | ... > ... | 1.0 | +| test.c:634:14:639:25 | ... ? ... : ... | 2.693885654805863E33 | +| test.c:634:15:634:15 | 2 | 1.0 | +| test.c:634:15:634:15 | (unsigned int)... | 1.0 | +| test.c:634:15:634:20 | ... * ... | 6.9571236714E10 | +| test.c:634:15:634:24 | ... + ... | 6.9571236714E10 | +| test.c:634:19:634:20 | ip | 6.9571236714E10 | +| test.c:634:24:634:24 | 1 | 1.0 | +| test.c:634:24:634:24 | (unsigned int)... | 1.0 | +| test.c:634:29:634:30 | 14 | 1.0 | +| test.c:634:29:634:30 | (unsigned int)... | 1.0 | +| test.c:635:13:635:63 | (...) | 4.840156977915421E21 | +| test.c:635:14:635:15 | 14 | 1.0 | +| test.c:635:14:635:15 | (unsigned int)... | 1.0 | +| test.c:635:14:635:26 | ... * ... | 6.9571236714E10 | +| test.c:635:14:635:36 | ... > ... | 1.0 | +| test.c:635:14:635:62 | ... ? ... : ... | 4.840156977915421E21 | +| test.c:635:19:635:26 | (...) | 6.9571236714E10 | +| test.c:635:20:635:20 | 2 | 1.0 | +| test.c:635:20:635:20 | (unsigned int)... | 1.0 | +| test.c:635:20:635:25 | ... * ... | 6.9571236714E10 | +| test.c:635:24:635:25 | ip | 6.9571236714E10 | +| test.c:635:30:635:31 | 17 | 1.0 | +| test.c:635:30:635:31 | (unsigned int)... | 1.0 | +| test.c:635:30:635:36 | ... * ... | 6.9571236714E10 | +| test.c:635:35:635:36 | ip | 6.9571236714E10 | +| test.c:635:40:635:41 | 17 | 1.0 | +| test.c:635:40:635:41 | (unsigned int)... | 1.0 | +| test.c:635:40:635:52 | ... * ... | 6.9571236714E10 | +| test.c:635:45:635:52 | (...) | 6.9571236714E10 | +| test.c:635:46:635:46 | 2 | 1.0 | +| test.c:635:46:635:46 | (unsigned int)... | 1.0 | +| test.c:635:46:635:51 | ... * ... | 6.9571236714E10 | +| test.c:635:50:635:51 | ip | 6.9571236714E10 | +| test.c:635:56:635:57 | 17 | 1.0 | +| test.c:635:56:635:57 | (unsigned int)... | 1.0 | +| test.c:635:56:635:62 | ... * ... | 6.9571236714E10 | +| test.c:635:61:635:62 | ip | 6.9571236714E10 | +| test.c:636:17:636:28 | (...) | 1.39142473429E11 | +| test.c:636:17:636:33 | ... * ... | 1.39142473429E11 | +| test.c:636:18:636:18 | 2 | 1.0 | +| test.c:636:18:636:18 | (unsigned int)... | 1.0 | +| test.c:636:18:636:23 | ... * ... | 1.39142473429E11 | +| test.c:636:18:636:27 | ... + ... | 1.39142473429E11 | +| test.c:636:22:636:23 | ip | 1.39142473429E11 | +| test.c:636:27:636:27 | 1 | 1.0 | +| test.c:636:27:636:27 | (unsigned int)... | 1.0 | +| test.c:636:32:636:33 | 14 | 1.0 | +| test.c:636:32:636:33 | (unsigned int)... | 1.0 | +| test.c:637:17:637:18 | 14 | 1.0 | +| test.c:637:17:637:18 | (unsigned int)... | 1.0 | +| test.c:637:17:637:29 | ... * ... | 1.39142473429E11 | +| test.c:637:17:637:39 | ... > ... | 1.0 | +| test.c:637:17:639:25 | ... ? ... : ... | 1.936062791193997E22 | +| test.c:637:22:637:29 | (...) | 1.39142473429E11 | +| test.c:637:23:637:23 | 2 | 1.0 | +| test.c:637:23:637:23 | (unsigned int)... | 1.0 | +| test.c:637:23:637:28 | ... * ... | 1.39142473429E11 | +| test.c:637:27:637:28 | ip | 1.39142473429E11 | +| test.c:637:33:637:34 | 17 | 1.0 | +| test.c:637:33:637:34 | (unsigned int)... | 1.0 | +| test.c:637:33:637:39 | ... * ... | 1.39142473429E11 | +| test.c:637:38:637:39 | ip | 1.39142473429E11 | +| test.c:638:19:638:20 | 14 | 1.0 | +| test.c:638:19:638:20 | (unsigned int)... | 1.0 | +| test.c:638:19:638:31 | ... * ... | 1.39142473429E11 | +| test.c:638:24:638:31 | (...) | 1.39142473429E11 | +| test.c:638:25:638:25 | 2 | 1.0 | +| test.c:638:25:638:25 | (unsigned int)... | 1.0 | +| test.c:638:25:638:30 | ... * ... | 1.39142473429E11 | +| test.c:638:29:638:30 | ip | 1.39142473429E11 | +| test.c:639:19:639:20 | 14 | 1.0 | +| test.c:639:19:639:20 | (unsigned int)... | 1.0 | +| test.c:639:19:639:25 | ... * ... | 1.39142473429E11 | +| test.c:639:24:639:25 | ip | 1.39142473429E11 | +| test.c:640:13:640:14 | 14 | 1.0 | +| test.c:640:13:640:14 | (unsigned int)... | 1.0 | +| test.c:640:13:640:19 | ... * ... | 6.9571236714E10 | +| test.c:640:13:640:35 | ... > ... | 1.0 | +| test.c:640:13:642:27 | ... ? ... : ... | 4.840156977915421E21 | +| test.c:640:18:640:19 | ip | 6.9571236714E10 | +| test.c:640:23:640:30 | (...) | 6.9571236714E10 | +| test.c:640:23:640:35 | ... * ... | 6.9571236714E10 | +| test.c:640:24:640:25 | ip | 6.9571236714E10 | +| test.c:640:24:640:29 | ... + ... | 6.9571236714E10 | +| test.c:640:29:640:29 | 1 | 1.0 | +| test.c:640:29:640:29 | (unsigned int)... | 1.0 | +| test.c:640:34:640:35 | 17 | 1.0 | +| test.c:640:34:640:35 | (unsigned int)... | 1.0 | +| test.c:641:15:641:16 | 14 | 1.0 | +| test.c:641:15:641:16 | (unsigned int)... | 1.0 | +| test.c:641:15:641:21 | ... * ... | 6.9571236714E10 | +| test.c:641:20:641:21 | ip | 6.9571236714E10 | +| test.c:642:15:642:22 | (...) | 6.9571236714E10 | +| test.c:642:15:642:27 | ... * ... | 6.9571236714E10 | +| test.c:642:16:642:17 | ip | 6.9571236714E10 | +| test.c:642:16:642:21 | ... + ... | 6.9571236714E10 | +| test.c:642:21:642:21 | 1 | 1.0 | +| test.c:642:21:642:21 | (unsigned int)... | 1.0 | +| test.c:642:26:642:27 | 14 | 1.0 | +| test.c:642:26:642:27 | (unsigned int)... | 1.0 | +| test.c:643:10:643:23 | special_number | 1.297918419127476E201 | +| test.c:650:10:650:11 | 0 | 1.0 | +| test.c:651:7:651:8 | c1 | 1.0 | +| test.c:651:13:651:13 | x | 1.0 | +| test.c:651:13:651:23 | ... += ... | 1.0 | +| test.c:651:18:651:23 | 748596 | 1.0 | +| test.c:652:7:652:8 | c2 | 1.0 | +| test.c:652:13:652:13 | x | 2.0 | +| test.c:652:13:652:25 | ... += ... | 2.0 | +| test.c:652:18:652:25 | 84652395 | 1.0 | +| test.c:653:7:653:8 | c3 | 1.0 | +| test.c:653:13:653:13 | x | 4.0 | +| test.c:653:13:653:24 | ... += ... | 4.0 | +| test.c:653:18:653:24 | 3675895 | 1.0 | +| test.c:654:7:654:8 | c4 | 1.0 | +| test.c:654:13:654:13 | x | 8.0 | +| test.c:654:13:654:22 | ... += ... | 8.0 | +| test.c:654:18:654:22 | 98634 | 1.0 | +| test.c:655:7:655:8 | c5 | 1.0 | +| test.c:655:13:655:13 | x | 16.0 | +| test.c:655:13:655:24 | ... += ... | 16.0 | +| test.c:655:18:655:24 | 7834985 | 1.0 | +| test.c:656:7:656:8 | c1 | 2.0 | +| test.c:656:7:656:14 | ... && ... | 1.0 | +| test.c:656:13:656:14 | c2 | 2.0 | +| test.c:656:19:656:19 | x | 32.0 | +| test.c:656:19:656:32 | ... += ... | 32.0 | +| test.c:656:24:656:32 | 938457398 | 1.0 | +| test.c:657:7:657:8 | c1 | 3.0 | +| test.c:657:7:657:14 | ... && ... | 1.0 | +| test.c:657:13:657:14 | c3 | 2.0 | +| test.c:657:19:657:19 | x | 64.0 | +| test.c:657:19:657:31 | ... += ... | 64.0 | +| test.c:657:24:657:31 | 73895648 | 1.0 | +| test.c:658:7:658:8 | c1 | 4.0 | +| test.c:658:7:658:14 | ... && ... | 1.0 | +| test.c:658:13:658:14 | c4 | 2.0 | +| test.c:658:19:658:19 | x | 128.0 | +| test.c:658:19:658:31 | ... += ... | 128.0 | +| test.c:658:24:658:31 | 12345432 | 1.0 | +| test.c:659:7:659:8 | c1 | 5.0 | +| test.c:659:7:659:14 | ... && ... | 1.0 | +| test.c:659:13:659:14 | c5 | 2.0 | +| test.c:659:19:659:19 | x | 256.0 | +| test.c:659:19:659:28 | ... += ... | 256.0 | +| test.c:659:24:659:28 | 38847 | 1.0 | +| test.c:660:7:660:8 | c2 | 5.0 | +| test.c:660:7:660:14 | ... && ... | 1.0 | +| test.c:660:13:660:14 | c3 | 5.0 | +| test.c:660:19:660:19 | x | 512.0 | +| test.c:660:19:660:26 | ... += ... | 512.0 | +| test.c:660:24:660:26 | 234 | 1.0 | +| test.c:662:11:662:11 | x | 1024.0 | +| test.c:662:11:662:15 | ... + ... | 1048576.0 | +| test.c:662:11:662:19 | ... + ... | 1.073741824E9 | +| test.c:662:11:662:23 | ... + ... | 1.099511627776E12 | +| test.c:662:11:662:27 | ... + ... | 1.125899906842624E15 | +| test.c:662:11:662:31 | ... + ... | 1.152921504606847E18 | +| test.c:662:11:662:35 | ... + ... | 1.1805916207174113E21 | +| test.c:662:11:662:39 | ... + ... | 1.2089258196146292E24 | +| test.c:662:11:662:43 | ... + ... | 1.2379400392853803E27 | +| test.c:662:11:662:47 | ... + ... | 1.2676506002282294E30 | +| test.c:662:11:662:51 | ... + ... | 1.298074214633707E33 | +| test.c:662:11:662:55 | ... + ... | 1.329227995784916E36 | +| test.c:662:15:662:15 | x | 1024.0 | +| test.c:662:19:662:19 | x | 1024.0 | +| test.c:662:23:662:23 | x | 1024.0 | +| test.c:662:27:662:27 | x | 1024.0 | +| test.c:662:31:662:31 | x | 1024.0 | +| test.c:662:35:662:35 | x | 1024.0 | +| test.c:662:39:662:39 | x | 1024.0 | +| test.c:662:43:662:43 | x | 1024.0 | +| test.c:662:47:662:47 | x | 1024.0 | +| test.c:662:51:662:51 | x | 1024.0 | +| test.c:662:55:662:55 | x | 1024.0 | +| test.c:663:10:663:10 | y | 1.329227995784916E36 | +| test.c:668:20:668:20 | x | 1.0 | +| test.c:668:20:668:26 | ... < ... | 1.0 | +| test.c:668:20:668:36 | ... ? ... : ... | 1.0 | +| test.c:668:24:668:26 | 100 | 1.0 | +| test.c:668:24:668:26 | (unsigned int)... | 1.0 | +| test.c:668:30:668:30 | x | 1.0 | +| test.c:668:34:668:36 | 100 | 1.0 | +| test.c:668:34:668:36 | (unsigned int)... | 1.0 | +| test.c:671:3:671:4 | y1 | 1.0 | +| test.c:671:9:671:11 | ++ ... | 1.0 | +| test.c:671:11:671:11 | y | 1.0 | +| test.c:672:3:672:4 | y2 | 1.0 | +| test.c:672:19:672:19 | 3 | 1.0 | +| test.c:672:19:672:19 | (unsigned int)... | 1.0 | | test.c:681:3:681:3 | i | 1.0 | -| test.c:681:3:681:12 | ... = ... | 1.0 | -| test.c:681:7:681:7 | j | 1.0 | -| test.c:681:7:681:12 | ... = ... | 1.0 | -| test.c:681:11:681:12 | 40 | 1.0 | +| test.c:681:3:681:8 | ... = ... | 1.0 | +| test.c:681:7:681:8 | 10 | 1.0 | | test.c:682:7:682:7 | i | 1.0 | | test.c:684:3:684:3 | i | 1.0 | -| test.c:684:3:684:15 | ... = ... | 1.0 | -| test.c:684:7:684:15 | (...) | 1.0 | -| test.c:684:8:684:8 | j | 1.0 | -| test.c:684:8:684:14 | ... += ... | 1.0 | -| test.c:684:13:684:14 | 10 | 1.0 | -| test.c:685:7:685:7 | i | 1.0 | -| test.c:687:3:687:3 | i | 1.0 | -| test.c:687:3:687:20 | ... = ... | 1.0 | -| test.c:687:7:687:8 | 20 | 1.0 | -| test.c:687:7:687:20 | ... + ... | 1.0 | -| test.c:687:12:687:20 | (...) | 1.0 | -| test.c:687:13:687:13 | j | 1.0 | -| test.c:687:13:687:19 | ... -= ... | 1.0 | -| test.c:687:18:687:19 | 10 | 1.0 | -| test.c:688:7:688:7 | i | 1.0 | -| test.c:693:14:693:15 | 0 | 1.0 | -| test.c:695:7:695:7 | 3 | 1.0 | -| test.c:695:7:695:7 | (unsigned int)... | 1.0 | -| test.c:695:7:695:12 | ... <= ... | 1.0 | -| test.c:695:7:695:23 | ... && ... | 1.0 | -| test.c:695:7:695:33 | ... && ... | 1.0 | -| test.c:695:7:695:44 | ... && ... | 1.0 | -| test.c:695:12:695:12 | a | 1.0 | -| test.c:695:17:695:17 | a | 1.0 | -| test.c:695:17:695:23 | ... <= ... | 1.0 | -| test.c:695:22:695:23 | 11 | 1.0 | -| test.c:695:22:695:23 | (unsigned int)... | 1.0 | -| test.c:695:28:695:28 | 5 | 1.0 | -| test.c:695:28:695:28 | (unsigned int)... | 1.0 | -| test.c:695:28:695:33 | ... <= ... | 1.0 | -| test.c:695:33:695:33 | b | 1.0 | -| test.c:695:38:695:38 | b | 1.0 | -| test.c:695:38:695:44 | ... <= ... | 1.0 | -| test.c:695:43:695:44 | 23 | 1.0 | -| test.c:695:43:695:44 | (unsigned int)... | 1.0 | -| test.c:696:13:696:13 | a | 1.0 | -| test.c:696:13:696:15 | (int)... | 1.0 | -| test.c:696:13:696:15 | ... * ... | 1.0 | -| test.c:696:15:696:15 | b | 1.0 | -| test.c:697:5:697:9 | total | 1.0 | -| test.c:697:5:697:14 | ... += ... | 1.0 | -| test.c:697:14:697:14 | r | 1.0 | -| test.c:699:7:699:7 | 3 | 1.0 | -| test.c:699:7:699:7 | (unsigned int)... | 1.0 | -| test.c:699:7:699:12 | ... <= ... | 1.0 | -| test.c:699:7:699:23 | ... && ... | 1.0 | -| test.c:699:7:699:33 | ... && ... | 1.0 | -| test.c:699:7:699:44 | ... && ... | 1.0 | -| test.c:699:12:699:12 | a | 2.0 | -| test.c:699:17:699:17 | a | 2.0 | -| test.c:699:17:699:23 | ... <= ... | 1.0 | -| test.c:699:22:699:23 | 11 | 1.0 | -| test.c:699:22:699:23 | (unsigned int)... | 1.0 | -| test.c:699:28:699:28 | 0 | 1.0 | -| test.c:699:28:699:28 | (unsigned int)... | 1.0 | -| test.c:699:28:699:33 | ... <= ... | 1.0 | -| test.c:699:33:699:33 | b | 3.0 | -| test.c:699:38:699:38 | b | 3.0 | -| test.c:699:38:699:44 | ... <= ... | 1.0 | -| test.c:699:43:699:44 | 23 | 1.0 | -| test.c:699:43:699:44 | (unsigned int)... | 1.0 | -| test.c:700:13:700:13 | a | 2.0 | -| test.c:700:13:700:15 | (int)... | 6.0 | -| test.c:700:13:700:15 | ... * ... | 6.0 | -| test.c:700:15:700:15 | b | 3.0 | -| test.c:701:5:701:9 | total | 2.0 | -| test.c:701:5:701:14 | ... += ... | 12.0 | -| test.c:701:14:701:14 | r | 6.0 | -| test.c:703:7:703:7 | 3 | 1.0 | -| test.c:703:7:703:7 | (unsigned int)... | 1.0 | -| test.c:703:7:703:12 | ... <= ... | 1.0 | -| test.c:703:7:703:23 | ... && ... | 1.0 | -| test.c:703:7:703:34 | ... && ... | 1.0 | -| test.c:703:7:703:45 | ... && ... | 1.0 | -| test.c:703:12:703:12 | a | 3.0 | -| test.c:703:17:703:17 | a | 3.0 | -| test.c:703:17:703:23 | ... <= ... | 1.0 | -| test.c:703:22:703:23 | 11 | 1.0 | -| test.c:703:22:703:23 | (unsigned int)... | 1.0 | -| test.c:703:28:703:29 | 13 | 1.0 | -| test.c:703:28:703:29 | (unsigned int)... | 1.0 | -| test.c:703:28:703:34 | ... <= ... | 1.0 | -| test.c:703:34:703:34 | b | 7.0 | -| test.c:703:39:703:39 | b | 7.0 | -| test.c:703:39:703:45 | ... <= ... | 1.0 | -| test.c:703:44:703:45 | 23 | 1.0 | -| test.c:703:44:703:45 | (unsigned int)... | 1.0 | -| test.c:704:13:704:13 | a | 3.0 | -| test.c:704:13:704:15 | (int)... | 21.0 | -| test.c:704:13:704:15 | ... * ... | 21.0 | -| test.c:704:15:704:15 | b | 7.0 | -| test.c:705:5:705:9 | total | 14.0 | -| test.c:705:5:705:14 | ... += ... | 294.0 | -| test.c:705:14:705:14 | r | 21.0 | -| test.c:708:10:708:14 | total | 308.0 | -| test.c:712:14:712:15 | 0 | 1.0 | -| test.c:714:7:714:7 | 5 | 1.0 | +| test.c:684:3:684:8 | ... = ... | 1.0 | +| test.c:684:7:684:8 | 10 | 1.0 | +| test.c:685:3:685:3 | i | 1.0 | +| test.c:685:3:685:9 | ... += ... | 1.0 | +| test.c:685:8:685:9 | 10 | 1.0 | +| test.c:686:7:686:7 | i | 1.0 | +| test.c:688:3:688:3 | i | 1.0 | +| test.c:688:3:688:8 | ... = ... | 1.0 | +| test.c:688:7:688:8 | 40 | 1.0 | +| test.c:689:3:689:3 | i | 1.0 | +| test.c:689:3:689:9 | ... -= ... | 1.0 | +| test.c:689:8:689:9 | 10 | 1.0 | +| test.c:690:7:690:7 | i | 1.0 | +| test.c:692:3:692:3 | i | 1.0 | +| test.c:692:3:692:12 | ... = ... | 1.0 | +| test.c:692:7:692:7 | j | 1.0 | +| test.c:692:7:692:12 | ... = ... | 1.0 | +| test.c:692:11:692:12 | 40 | 1.0 | +| test.c:693:7:693:7 | i | 1.0 | +| test.c:695:3:695:3 | i | 1.0 | +| test.c:695:3:695:15 | ... = ... | 1.0 | +| test.c:695:7:695:15 | (...) | 1.0 | +| test.c:695:8:695:8 | j | 1.0 | +| test.c:695:8:695:14 | ... += ... | 1.0 | +| test.c:695:13:695:14 | 10 | 1.0 | +| test.c:696:7:696:7 | i | 1.0 | +| test.c:698:3:698:3 | i | 1.0 | +| test.c:698:3:698:20 | ... = ... | 1.0 | +| test.c:698:7:698:8 | 20 | 1.0 | +| test.c:698:7:698:20 | ... + ... | 1.0 | +| test.c:698:12:698:20 | (...) | 1.0 | +| test.c:698:13:698:13 | j | 1.0 | +| test.c:698:13:698:19 | ... -= ... | 1.0 | +| test.c:698:18:698:19 | 10 | 1.0 | +| test.c:699:7:699:7 | i | 1.0 | +| test.c:704:14:704:15 | 0 | 1.0 | +| test.c:706:7:706:7 | 3 | 1.0 | +| test.c:706:7:706:7 | (unsigned int)... | 1.0 | +| test.c:706:7:706:12 | ... <= ... | 1.0 | +| test.c:706:7:706:23 | ... && ... | 1.0 | +| test.c:706:7:706:33 | ... && ... | 1.0 | +| test.c:706:7:706:44 | ... && ... | 1.0 | +| test.c:706:12:706:12 | a | 1.0 | +| test.c:706:17:706:17 | a | 1.0 | +| test.c:706:17:706:23 | ... <= ... | 1.0 | +| test.c:706:22:706:23 | 11 | 1.0 | +| test.c:706:22:706:23 | (unsigned int)... | 1.0 | +| test.c:706:28:706:28 | 5 | 1.0 | +| test.c:706:28:706:28 | (unsigned int)... | 1.0 | +| test.c:706:28:706:33 | ... <= ... | 1.0 | +| test.c:706:33:706:33 | b | 1.0 | +| test.c:706:38:706:38 | b | 1.0 | +| test.c:706:38:706:44 | ... <= ... | 1.0 | +| test.c:706:43:706:44 | 23 | 1.0 | +| test.c:706:43:706:44 | (unsigned int)... | 1.0 | +| test.c:707:13:707:13 | a | 1.0 | +| test.c:707:13:707:15 | (int)... | 1.0 | +| test.c:707:13:707:15 | ... * ... | 1.0 | +| test.c:707:15:707:15 | b | 1.0 | +| test.c:708:5:708:9 | total | 1.0 | +| test.c:708:5:708:14 | ... += ... | 1.0 | +| test.c:708:14:708:14 | r | 1.0 | +| test.c:710:7:710:7 | 3 | 1.0 | +| test.c:710:7:710:7 | (unsigned int)... | 1.0 | +| test.c:710:7:710:12 | ... <= ... | 1.0 | +| test.c:710:7:710:23 | ... && ... | 1.0 | +| test.c:710:7:710:33 | ... && ... | 1.0 | +| test.c:710:7:710:44 | ... && ... | 1.0 | +| test.c:710:12:710:12 | a | 2.0 | +| test.c:710:17:710:17 | a | 2.0 | +| test.c:710:17:710:23 | ... <= ... | 1.0 | +| test.c:710:22:710:23 | 11 | 1.0 | +| test.c:710:22:710:23 | (unsigned int)... | 1.0 | +| test.c:710:28:710:28 | 0 | 1.0 | +| test.c:710:28:710:28 | (unsigned int)... | 1.0 | +| test.c:710:28:710:33 | ... <= ... | 1.0 | +| test.c:710:33:710:33 | b | 3.0 | +| test.c:710:38:710:38 | b | 3.0 | +| test.c:710:38:710:44 | ... <= ... | 1.0 | +| test.c:710:43:710:44 | 23 | 1.0 | +| test.c:710:43:710:44 | (unsigned int)... | 1.0 | +| test.c:711:13:711:13 | a | 2.0 | +| test.c:711:13:711:15 | (int)... | 6.0 | +| test.c:711:13:711:15 | ... * ... | 6.0 | +| test.c:711:15:711:15 | b | 3.0 | +| test.c:712:5:712:9 | total | 2.0 | +| test.c:712:5:712:14 | ... += ... | 12.0 | +| test.c:712:14:712:14 | r | 6.0 | +| test.c:714:7:714:7 | 3 | 1.0 | | test.c:714:7:714:7 | (unsigned int)... | 1.0 | | test.c:714:7:714:12 | ... <= ... | 1.0 | | test.c:714:7:714:23 | ... && ... | 1.0 | -| test.c:714:12:714:12 | b | 1.0 | -| test.c:714:17:714:17 | b | 1.0 | +| test.c:714:7:714:34 | ... && ... | 1.0 | +| test.c:714:7:714:45 | ... && ... | 1.0 | +| test.c:714:12:714:12 | a | 3.0 | +| test.c:714:17:714:17 | a | 3.0 | | test.c:714:17:714:23 | ... <= ... | 1.0 | -| test.c:714:22:714:23 | 23 | 1.0 | +| test.c:714:22:714:23 | 11 | 1.0 | | test.c:714:22:714:23 | (unsigned int)... | 1.0 | -| test.c:715:13:715:14 | 11 | 1.0 | -| test.c:715:13:715:14 | (unsigned int)... | 1.0 | -| test.c:715:13:715:16 | (int)... | 1.0 | -| test.c:715:13:715:16 | ... * ... | 1.0 | -| test.c:715:16:715:16 | b | 1.0 | -| test.c:716:5:716:9 | total | 1.0 | -| test.c:716:5:716:14 | ... += ... | 1.0 | -| test.c:716:14:716:14 | r | 1.0 | -| test.c:718:7:718:7 | 0 | 1.0 | -| test.c:718:7:718:7 | (unsigned int)... | 1.0 | -| test.c:718:7:718:12 | ... <= ... | 1.0 | -| test.c:718:7:718:23 | ... && ... | 1.0 | -| test.c:718:12:718:12 | b | 2.0 | -| test.c:718:17:718:17 | b | 2.0 | -| test.c:718:17:718:23 | ... <= ... | 1.0 | -| test.c:718:22:718:23 | 23 | 1.0 | -| test.c:718:22:718:23 | (unsigned int)... | 1.0 | -| test.c:719:13:719:14 | 11 | 1.0 | -| test.c:719:13:719:14 | (unsigned int)... | 1.0 | -| test.c:719:13:719:16 | (int)... | 2.0 | -| test.c:719:13:719:16 | ... * ... | 2.0 | -| test.c:719:16:719:16 | b | 2.0 | -| test.c:720:5:720:9 | total | 2.0 | -| test.c:720:5:720:14 | ... += ... | 4.0 | -| test.c:720:14:720:14 | r | 2.0 | -| test.c:722:7:722:8 | 13 | 1.0 | -| test.c:722:7:722:8 | (unsigned int)... | 1.0 | -| test.c:722:7:722:13 | ... <= ... | 1.0 | -| test.c:722:7:722:24 | ... && ... | 1.0 | -| test.c:722:13:722:13 | b | 3.0 | -| test.c:722:18:722:18 | b | 3.0 | -| test.c:722:18:722:24 | ... <= ... | 1.0 | -| test.c:722:23:722:24 | 23 | 1.0 | -| test.c:722:23:722:24 | (unsigned int)... | 1.0 | -| test.c:723:13:723:14 | 11 | 1.0 | -| test.c:723:13:723:14 | (unsigned int)... | 1.0 | -| test.c:723:13:723:16 | (int)... | 3.0 | -| test.c:723:13:723:16 | ... * ... | 3.0 | -| test.c:723:16:723:16 | b | 3.0 | -| test.c:724:5:724:9 | total | 6.0 | -| test.c:724:5:724:14 | ... += ... | 18.0 | -| test.c:724:14:724:14 | r | 3.0 | -| test.c:727:10:727:14 | total | 24.0 | -| test.c:732:3:732:3 | x | 1.0 | -| test.c:732:3:732:22 | ... = ... | 1.0 | -| test.c:732:7:732:7 | y | 1.0 | -| test.c:732:7:732:22 | ... = ... | 1.0 | -| test.c:732:11:732:22 | 1000000003 | 1.0 | -| test.c:733:3:733:4 | xy | 1.0 | -| test.c:733:3:733:12 | ... = ... | 1.0 | -| test.c:733:8:733:8 | x | 1.0 | -| test.c:733:8:733:12 | ... * ... | 1.0 | -| test.c:733:12:733:12 | y | 1.0 | -| test.c:734:10:734:11 | xy | 1.0 | -| test.c:739:3:739:3 | x | 1.0 | -| test.c:739:3:739:14 | ... = ... | 1.0 | -| test.c:739:7:739:14 | 274177 | 1.0 | -| test.c:740:3:740:3 | y | 1.0 | -| test.c:740:3:740:22 | ... = ... | 1.0 | -| test.c:740:7:740:22 | 67280421310721 | 1.0 | -| test.c:741:3:741:4 | xy | 1.0 | -| test.c:741:3:741:12 | ... = ... | 1.0 | -| test.c:741:8:741:8 | x | 1.0 | -| test.c:741:8:741:12 | ... * ... | 1.0 | -| test.c:741:12:741:12 | y | 1.0 | -| test.c:742:10:742:11 | xy | 1.0 | -| test.c:746:7:746:8 | ui | 1.0 | -| test.c:746:7:746:14 | ... >= ... | 1.0 | -| test.c:746:13:746:14 | 10 | 1.0 | -| test.c:746:13:746:14 | (unsigned int)... | 1.0 | -| test.c:747:28:747:44 | (unsigned long)... | 1.0 | -| test.c:747:28:747:49 | ... * ... | 1.0 | -| test.c:747:43:747:44 | ui | 1.0 | -| test.c:747:48:747:49 | (unsigned long)... | 1.0 | -| test.c:747:48:747:49 | ui | 1.0 | -| test.c:748:12:748:17 | result | 1.0 | -| test.c:750:7:750:8 | ul | 1.0 | -| test.c:750:7:750:14 | ... >= ... | 1.0 | -| test.c:750:13:750:14 | 10 | 1.0 | -| test.c:750:13:750:14 | (unsigned long)... | 1.0 | -| test.c:751:28:751:29 | ul | 1.0 | -| test.c:751:28:751:34 | ... * ... | 1.0 | -| test.c:751:33:751:34 | ul | 1.0 | -| test.c:752:12:752:17 | result | 1.0 | -| test.c:754:10:754:10 | 0 | 1.0 | -| test.c:754:10:754:10 | (unsigned long)... | 1.0 | -| test.c:758:7:758:8 | ui | 1.0 | -| test.c:758:7:758:14 | ... <= ... | 1.0 | -| test.c:758:7:758:25 | ... && ... | 1.0 | -| test.c:758:13:758:14 | 10 | 1.0 | -| test.c:758:13:758:14 | (unsigned int)... | 1.0 | -| test.c:758:19:758:20 | ui | 1.0 | -| test.c:758:19:758:25 | ... >= ... | 1.0 | -| test.c:758:25:758:25 | 2 | 1.0 | -| test.c:758:25:758:25 | (unsigned int)... | 1.0 | -| test.c:759:5:759:6 | ui | 1.0 | -| test.c:759:5:759:16 | ... *= ... | 1.0 | -| test.c:759:11:759:12 | ui | 1.0 | -| test.c:759:11:759:16 | ... + ... | 1.0 | -| test.c:759:16:759:16 | 0 | 1.0 | -| test.c:759:16:759:16 | (unsigned int)... | 1.0 | -| test.c:760:12:760:13 | (unsigned long)... | 1.0 | -| test.c:760:12:760:13 | ui | 1.0 | -| test.c:763:26:763:27 | 10 | 1.0 | -| test.c:763:26:763:27 | (unsigned int)... | 1.0 | -| test.c:764:3:764:9 | uiconst | 1.0 | -| test.c:764:3:764:14 | ... *= ... | 1.0 | -| test.c:764:14:764:14 | 4 | 1.0 | -| test.c:764:14:764:14 | (unsigned int)... | 1.0 | -| test.c:766:27:766:28 | 10 | 1.0 | -| test.c:766:27:766:28 | (unsigned long)... | 1.0 | -| test.c:767:3:767:9 | ulconst | 1.0 | -| test.c:767:3:767:14 | ... *= ... | 1.0 | -| test.c:767:14:767:14 | 4 | 1.0 | -| test.c:767:14:767:14 | (unsigned long)... | 1.0 | -| test.c:768:10:768:16 | (unsigned long)... | 1.0 | -| test.c:768:10:768:16 | uiconst | 1.0 | -| test.c:768:10:768:26 | ... + ... | 1.0 | -| test.c:768:20:768:26 | ulconst | 1.0 | -| test.c:772:7:772:7 | i | 1.0 | -| test.c:772:7:772:13 | ... >= ... | 1.0 | -| test.c:772:7:772:23 | ... && ... | 1.0 | -| test.c:772:12:772:13 | - ... | 1.0 | -| test.c:772:13:772:13 | 1 | 1.0 | -| test.c:772:18:772:18 | i | 1.0 | -| test.c:772:18:772:23 | ... <= ... | 1.0 | -| test.c:772:23:772:23 | 2 | 1.0 | -| test.c:773:5:773:5 | i | 1.0 | -| test.c:773:5:773:13 | ... = ... | 1.0 | -| test.c:773:9:773:9 | 5 | 1.0 | -| test.c:773:9:773:13 | ... * ... | 1.0 | -| test.c:773:13:773:13 | i | 1.0 | -| test.c:774:9:774:9 | i | 1.0 | -| test.c:776:5:776:5 | i | 1.0 | -| test.c:776:5:776:14 | ... = ... | 1.0 | -| test.c:776:9:776:9 | i | 1.0 | -| test.c:776:9:776:14 | ... * ... | 1.0 | -| test.c:776:13:776:14 | - ... | 1.0 | -| test.c:776:14:776:14 | 3 | 1.0 | -| test.c:777:9:777:9 | i | 1.0 | -| test.c:779:5:779:5 | i | 1.0 | -| test.c:779:5:779:10 | ... *= ... | 1.0 | -| test.c:779:10:779:10 | 7 | 1.0 | -| test.c:780:9:780:9 | i | 1.0 | -| test.c:782:5:782:5 | i | 1.0 | -| test.c:782:5:782:12 | ... *= ... | 1.0 | -| test.c:782:10:782:12 | - ... | 1.0 | -| test.c:782:11:782:12 | 11 | 1.0 | -| test.c:783:9:783:9 | i | 1.0 | -| test.c:785:7:785:7 | i | 2.0 | -| test.c:785:7:785:13 | ... == ... | 1.0 | -| test.c:785:12:785:13 | - ... | 1.0 | -| test.c:785:13:785:13 | 1 | 1.0 | -| test.c:786:5:786:5 | i | 1.0 | -| test.c:786:5:786:27 | ... = ... | 2.0 | -| test.c:786:9:786:9 | i | 2.0 | -| test.c:786:9:786:27 | ... * ... | 2.0 | -| test.c:786:13:786:27 | (int)... | 1.0 | -| test.c:786:18:786:27 | 4294967295 | 1.0 | -| test.c:787:9:787:9 | i | 2.0 | -| test.c:789:3:789:3 | i | 1.0 | -| test.c:789:3:789:12 | ... = ... | 4.0 | -| test.c:789:7:789:7 | i | 4.0 | -| test.c:789:7:789:12 | ... * ... | 4.0 | -| test.c:789:11:789:12 | - ... | 1.0 | -| test.c:789:12:789:12 | 1 | 1.0 | -| test.c:790:10:790:10 | i | 4.0 | -| test.c:792:20:792:20 | 1 | 1.0 | -| test.c:792:20:792:20 | (signed char)... | 1.0 | -| test.c:793:3:793:3 | i | 1.0 | -| test.c:793:3:793:17 | ... = ... | 1.0 | -| test.c:793:7:793:17 | (...) | 1.0 | -| test.c:793:7:793:17 | (int)... | 1.0 | -| test.c:793:8:793:11 | * ... | 1.0 | -| test.c:793:8:793:16 | ... *= ... | 1.0 | -| test.c:793:10:793:11 | sc | 1.0 | -| test.c:793:16:793:16 | 2 | 1.0 | -| test.c:795:7:795:7 | i | 1.0 | -| test.c:797:10:797:10 | 0 | 1.0 | -| test.c:802:7:802:7 | (int)... | 1.0 | -| test.c:802:7:802:7 | n | 1.0 | -| test.c:804:7:804:7 | n | 1.0 | -| test.c:804:7:804:11 | ... > ... | 1.0 | -| test.c:804:11:804:11 | 0 | 1.0 | -| test.c:804:11:804:11 | (unsigned int)... | 1.0 | -| test.c:805:9:805:9 | (int)... | 1.0 | -| test.c:805:9:805:9 | n | 1.0 | -| test.c:808:7:808:7 | n | 2.0 | -| test.c:808:7:808:12 | ... != ... | 1.0 | -| test.c:808:12:808:12 | 0 | 1.0 | -| test.c:808:12:808:12 | (unsigned int)... | 1.0 | -| test.c:809:9:809:9 | (int)... | 2.0 | -| test.c:809:9:809:9 | n | 2.0 | -| test.c:811:9:811:9 | (int)... | 2.0 | -| test.c:811:9:811:9 | n | 2.0 | -| test.c:814:7:814:8 | ! ... | 1.0 | -| test.c:814:8:814:8 | n | 4.0 | -| test.c:815:9:815:9 | (int)... | 4.0 | -| test.c:815:9:815:9 | n | 4.0 | -| test.c:817:9:817:9 | (int)... | 4.0 | -| test.c:817:9:817:9 | n | 4.0 | -| test.c:820:10:820:10 | n | 13.0 | -| test.c:820:10:820:15 | ... != ... | 1.0 | -| test.c:820:15:820:15 | 0 | 1.0 | -| test.c:820:15:820:15 | (unsigned int)... | 1.0 | -| test.c:821:5:821:5 | n | 13.0 | -| test.c:821:5:821:7 | ... -- | 13.0 | -| test.c:824:7:824:7 | (int)... | 13.0 | -| test.c:824:7:824:7 | n | 13.0 | -| test.c:828:7:828:7 | (int)... | 1.0 | -| test.c:828:7:828:7 | n | 1.0 | -| test.c:828:7:828:11 | ... < ... | 1.0 | -| test.c:828:11:828:11 | 0 | 1.0 | -| test.c:831:7:831:7 | (int)... | 1.0 | -| test.c:831:7:831:7 | n | 1.0 | -| test.c:831:7:831:12 | ... == ... | 1.0 | -| test.c:831:12:831:12 | 0 | 1.0 | -| test.c:832:9:832:9 | (int)... | 1.0 | -| test.c:832:9:832:9 | n | 1.0 | -| test.c:834:9:834:9 | (int)... | 1.0 | -| test.c:834:9:834:9 | n | 1.0 | -| test.c:837:7:837:7 | n | 2.0 | -| test.c:838:9:838:9 | (int)... | 2.0 | -| test.c:838:9:838:9 | n | 2.0 | -| test.c:840:9:840:9 | (int)... | 2.0 | -| test.c:840:9:840:9 | n | 2.0 | -| test.c:843:10:843:10 | (int)... | 13.0 | -| test.c:843:10:843:10 | n | 12.0 | -| test.c:843:10:843:15 | ... != ... | 1.0 | -| test.c:843:15:843:15 | 0 | 1.0 | -| test.c:844:5:844:5 | n | 12.0 | -| test.c:844:5:844:7 | ... -- | 12.0 | -| test.c:847:7:847:7 | (int)... | 12.0 | -| test.c:847:7:847:7 | n | 12.0 | -| test.c:851:7:851:7 | (int)... | 1.0 | -| test.c:851:7:851:7 | n | 1.0 | -| test.c:851:7:851:12 | ... != ... | 1.0 | -| test.c:851:12:851:12 | 0 | 1.0 | -| test.c:852:9:852:9 | (int)... | 1.0 | -| test.c:852:9:852:9 | n | 1.0 | -| test.c:852:9:852:14 | ... >= ... | 1.0 | -| test.c:852:14:852:14 | 0 | 1.0 | -| test.c:853:11:853:11 | (int)... | 1.0 | -| test.c:853:11:853:11 | n | 1.0 | -| test.c:857:7:857:7 | (int)... | 2.0 | -| test.c:857:7:857:7 | n | 2.0 | -| test.c:857:7:857:12 | ... >= ... | 1.0 | -| test.c:857:12:857:12 | 5 | 1.0 | -| test.c:858:9:858:9 | 2 | 1.0 | -| test.c:858:9:858:13 | ... * ... | 2.0 | -| test.c:858:9:858:18 | ... - ... | 2.0 | -| test.c:858:9:858:23 | ... == ... | 1.0 | -| test.c:858:13:858:13 | (int)... | 2.0 | -| test.c:858:13:858:13 | n | 2.0 | -| test.c:858:17:858:18 | 10 | 1.0 | -| test.c:858:23:858:23 | 0 | 1.0 | -| test.c:861:9:861:9 | (int)... | 2.0 | -| test.c:861:9:861:9 | n | 2.0 | -| test.c:864:7:864:7 | (int)... | 3.0 | -| test.c:864:7:864:7 | n | 3.0 | -| test.c:864:7:864:17 | ... != ... | 1.0 | -| test.c:864:7:864:32 | ... && ... | 1.0 | -| test.c:864:12:864:17 | - ... | 1.0 | -| test.c:864:13:864:17 | 32768 | 1.0 | -| test.c:864:22:864:22 | (int)... | 3.0 | -| test.c:864:22:864:22 | n | 3.0 | -| test.c:864:22:864:32 | ... != ... | 1.0 | -| test.c:864:27:864:32 | - ... | 1.0 | -| test.c:864:28:864:32 | 32767 | 1.0 | -| test.c:865:9:865:9 | (int)... | 3.0 | -| test.c:865:9:865:9 | n | 3.0 | -| test.c:868:7:868:7 | (int)... | 4.0 | -| test.c:868:7:868:7 | n | 4.0 | +| test.c:714:28:714:29 | 13 | 1.0 | +| test.c:714:28:714:29 | (unsigned int)... | 1.0 | +| test.c:714:28:714:34 | ... <= ... | 1.0 | +| test.c:714:34:714:34 | b | 7.0 | +| test.c:714:39:714:39 | b | 7.0 | +| test.c:714:39:714:45 | ... <= ... | 1.0 | +| test.c:714:44:714:45 | 23 | 1.0 | +| test.c:714:44:714:45 | (unsigned int)... | 1.0 | +| test.c:715:13:715:13 | a | 3.0 | +| test.c:715:13:715:15 | (int)... | 21.0 | +| test.c:715:13:715:15 | ... * ... | 21.0 | +| test.c:715:15:715:15 | b | 7.0 | +| test.c:716:5:716:9 | total | 14.0 | +| test.c:716:5:716:14 | ... += ... | 294.0 | +| test.c:716:14:716:14 | r | 21.0 | +| test.c:719:10:719:14 | total | 308.0 | +| test.c:723:14:723:15 | 0 | 1.0 | +| test.c:725:7:725:7 | 5 | 1.0 | +| test.c:725:7:725:7 | (unsigned int)... | 1.0 | +| test.c:725:7:725:12 | ... <= ... | 1.0 | +| test.c:725:7:725:23 | ... && ... | 1.0 | +| test.c:725:12:725:12 | b | 1.0 | +| test.c:725:17:725:17 | b | 1.0 | +| test.c:725:17:725:23 | ... <= ... | 1.0 | +| test.c:725:22:725:23 | 23 | 1.0 | +| test.c:725:22:725:23 | (unsigned int)... | 1.0 | +| test.c:726:13:726:14 | 11 | 1.0 | +| test.c:726:13:726:14 | (unsigned int)... | 1.0 | +| test.c:726:13:726:16 | (int)... | 1.0 | +| test.c:726:13:726:16 | ... * ... | 1.0 | +| test.c:726:16:726:16 | b | 1.0 | +| test.c:727:5:727:9 | total | 1.0 | +| test.c:727:5:727:14 | ... += ... | 1.0 | +| test.c:727:14:727:14 | r | 1.0 | +| test.c:729:7:729:7 | 0 | 1.0 | +| test.c:729:7:729:7 | (unsigned int)... | 1.0 | +| test.c:729:7:729:12 | ... <= ... | 1.0 | +| test.c:729:7:729:23 | ... && ... | 1.0 | +| test.c:729:12:729:12 | b | 2.0 | +| test.c:729:17:729:17 | b | 2.0 | +| test.c:729:17:729:23 | ... <= ... | 1.0 | +| test.c:729:22:729:23 | 23 | 1.0 | +| test.c:729:22:729:23 | (unsigned int)... | 1.0 | +| test.c:730:13:730:14 | 11 | 1.0 | +| test.c:730:13:730:14 | (unsigned int)... | 1.0 | +| test.c:730:13:730:16 | (int)... | 2.0 | +| test.c:730:13:730:16 | ... * ... | 2.0 | +| test.c:730:16:730:16 | b | 2.0 | +| test.c:731:5:731:9 | total | 2.0 | +| test.c:731:5:731:14 | ... += ... | 4.0 | +| test.c:731:14:731:14 | r | 2.0 | +| test.c:733:7:733:8 | 13 | 1.0 | +| test.c:733:7:733:8 | (unsigned int)... | 1.0 | +| test.c:733:7:733:13 | ... <= ... | 1.0 | +| test.c:733:7:733:24 | ... && ... | 1.0 | +| test.c:733:13:733:13 | b | 3.0 | +| test.c:733:18:733:18 | b | 3.0 | +| test.c:733:18:733:24 | ... <= ... | 1.0 | +| test.c:733:23:733:24 | 23 | 1.0 | +| test.c:733:23:733:24 | (unsigned int)... | 1.0 | +| test.c:734:13:734:14 | 11 | 1.0 | +| test.c:734:13:734:14 | (unsigned int)... | 1.0 | +| test.c:734:13:734:16 | (int)... | 3.0 | +| test.c:734:13:734:16 | ... * ... | 3.0 | +| test.c:734:16:734:16 | b | 3.0 | +| test.c:735:5:735:9 | total | 6.0 | +| test.c:735:5:735:14 | ... += ... | 18.0 | +| test.c:735:14:735:14 | r | 3.0 | +| test.c:738:10:738:14 | total | 24.0 | +| test.c:743:3:743:3 | x | 1.0 | +| test.c:743:3:743:22 | ... = ... | 1.0 | +| test.c:743:7:743:7 | y | 1.0 | +| test.c:743:7:743:22 | ... = ... | 1.0 | +| test.c:743:11:743:22 | 1000000003 | 1.0 | +| test.c:744:3:744:4 | xy | 1.0 | +| test.c:744:3:744:12 | ... = ... | 1.0 | +| test.c:744:8:744:8 | x | 1.0 | +| test.c:744:8:744:12 | ... * ... | 1.0 | +| test.c:744:12:744:12 | y | 1.0 | +| test.c:745:10:745:11 | xy | 1.0 | +| test.c:750:3:750:3 | x | 1.0 | +| test.c:750:3:750:14 | ... = ... | 1.0 | +| test.c:750:7:750:14 | 274177 | 1.0 | +| test.c:751:3:751:3 | y | 1.0 | +| test.c:751:3:751:22 | ... = ... | 1.0 | +| test.c:751:7:751:22 | 67280421310721 | 1.0 | +| test.c:752:3:752:4 | xy | 1.0 | +| test.c:752:3:752:12 | ... = ... | 1.0 | +| test.c:752:8:752:8 | x | 1.0 | +| test.c:752:8:752:12 | ... * ... | 1.0 | +| test.c:752:12:752:12 | y | 1.0 | +| test.c:753:10:753:11 | xy | 1.0 | +| test.c:757:7:757:8 | ui | 1.0 | +| test.c:757:7:757:14 | ... >= ... | 1.0 | +| test.c:757:13:757:14 | 10 | 1.0 | +| test.c:757:13:757:14 | (unsigned int)... | 1.0 | +| test.c:758:28:758:44 | (unsigned long)... | 1.0 | +| test.c:758:28:758:49 | ... * ... | 1.0 | +| test.c:758:43:758:44 | ui | 1.0 | +| test.c:758:48:758:49 | (unsigned long)... | 1.0 | +| test.c:758:48:758:49 | ui | 1.0 | +| test.c:759:12:759:17 | result | 1.0 | +| test.c:761:7:761:8 | ul | 1.0 | +| test.c:761:7:761:14 | ... >= ... | 1.0 | +| test.c:761:13:761:14 | 10 | 1.0 | +| test.c:761:13:761:14 | (unsigned long)... | 1.0 | +| test.c:762:28:762:29 | ul | 1.0 | +| test.c:762:28:762:34 | ... * ... | 1.0 | +| test.c:762:33:762:34 | ul | 1.0 | +| test.c:763:12:763:17 | result | 1.0 | +| test.c:765:10:765:10 | 0 | 1.0 | +| test.c:765:10:765:10 | (unsigned long)... | 1.0 | +| test.c:769:7:769:8 | ui | 1.0 | +| test.c:769:7:769:14 | ... <= ... | 1.0 | +| test.c:769:7:769:25 | ... && ... | 1.0 | +| test.c:769:13:769:14 | 10 | 1.0 | +| test.c:769:13:769:14 | (unsigned int)... | 1.0 | +| test.c:769:19:769:20 | ui | 1.0 | +| test.c:769:19:769:25 | ... >= ... | 1.0 | +| test.c:769:25:769:25 | 2 | 1.0 | +| test.c:769:25:769:25 | (unsigned int)... | 1.0 | +| test.c:770:5:770:6 | ui | 1.0 | +| test.c:770:5:770:16 | ... *= ... | 1.0 | +| test.c:770:11:770:12 | ui | 1.0 | +| test.c:770:11:770:16 | ... + ... | 1.0 | +| test.c:770:16:770:16 | 0 | 1.0 | +| test.c:770:16:770:16 | (unsigned int)... | 1.0 | +| test.c:771:12:771:13 | (unsigned long)... | 1.0 | +| test.c:771:12:771:13 | ui | 1.0 | +| test.c:774:26:774:27 | 10 | 1.0 | +| test.c:774:26:774:27 | (unsigned int)... | 1.0 | +| test.c:775:3:775:9 | uiconst | 1.0 | +| test.c:775:3:775:14 | ... *= ... | 1.0 | +| test.c:775:14:775:14 | 4 | 1.0 | +| test.c:775:14:775:14 | (unsigned int)... | 1.0 | +| test.c:777:27:777:28 | 10 | 1.0 | +| test.c:777:27:777:28 | (unsigned long)... | 1.0 | +| test.c:778:3:778:9 | ulconst | 1.0 | +| test.c:778:3:778:14 | ... *= ... | 1.0 | +| test.c:778:14:778:14 | 4 | 1.0 | +| test.c:778:14:778:14 | (unsigned long)... | 1.0 | +| test.c:779:10:779:16 | (unsigned long)... | 1.0 | +| test.c:779:10:779:16 | uiconst | 1.0 | +| test.c:779:10:779:26 | ... + ... | 1.0 | +| test.c:779:20:779:26 | ulconst | 1.0 | +| test.c:783:7:783:7 | i | 1.0 | +| test.c:783:7:783:13 | ... >= ... | 1.0 | +| test.c:783:7:783:23 | ... && ... | 1.0 | +| test.c:783:12:783:13 | - ... | 1.0 | +| test.c:783:13:783:13 | 1 | 1.0 | +| test.c:783:18:783:18 | i | 1.0 | +| test.c:783:18:783:23 | ... <= ... | 1.0 | +| test.c:783:23:783:23 | 2 | 1.0 | +| test.c:784:5:784:5 | i | 1.0 | +| test.c:784:5:784:13 | ... = ... | 1.0 | +| test.c:784:9:784:9 | 5 | 1.0 | +| test.c:784:9:784:13 | ... * ... | 1.0 | +| test.c:784:13:784:13 | i | 1.0 | +| test.c:785:9:785:9 | i | 1.0 | +| test.c:787:5:787:5 | i | 1.0 | +| test.c:787:5:787:14 | ... = ... | 1.0 | +| test.c:787:9:787:9 | i | 1.0 | +| test.c:787:9:787:14 | ... * ... | 1.0 | +| test.c:787:13:787:14 | - ... | 1.0 | +| test.c:787:14:787:14 | 3 | 1.0 | +| test.c:788:9:788:9 | i | 1.0 | +| test.c:790:5:790:5 | i | 1.0 | +| test.c:790:5:790:10 | ... *= ... | 1.0 | +| test.c:790:10:790:10 | 7 | 1.0 | +| test.c:791:9:791:9 | i | 1.0 | +| test.c:793:5:793:5 | i | 1.0 | +| test.c:793:5:793:12 | ... *= ... | 1.0 | +| test.c:793:10:793:12 | - ... | 1.0 | +| test.c:793:11:793:12 | 11 | 1.0 | +| test.c:794:9:794:9 | i | 1.0 | +| test.c:796:7:796:7 | i | 2.0 | +| test.c:796:7:796:13 | ... == ... | 1.0 | +| test.c:796:12:796:13 | - ... | 1.0 | +| test.c:796:13:796:13 | 1 | 1.0 | +| test.c:797:5:797:5 | i | 1.0 | +| test.c:797:5:797:27 | ... = ... | 2.0 | +| test.c:797:9:797:9 | i | 2.0 | +| test.c:797:9:797:27 | ... * ... | 2.0 | +| test.c:797:13:797:27 | (int)... | 1.0 | +| test.c:797:18:797:27 | 4294967295 | 1.0 | +| test.c:798:9:798:9 | i | 2.0 | +| test.c:800:3:800:3 | i | 1.0 | +| test.c:800:3:800:12 | ... = ... | 4.0 | +| test.c:800:7:800:7 | i | 4.0 | +| test.c:800:7:800:12 | ... * ... | 4.0 | +| test.c:800:11:800:12 | - ... | 1.0 | +| test.c:800:12:800:12 | 1 | 1.0 | +| test.c:801:10:801:10 | i | 4.0 | +| test.c:803:20:803:20 | 1 | 1.0 | +| test.c:803:20:803:20 | (signed char)... | 1.0 | +| test.c:804:3:804:3 | i | 1.0 | +| test.c:804:3:804:17 | ... = ... | 1.0 | +| test.c:804:7:804:17 | (...) | 1.0 | +| test.c:804:7:804:17 | (int)... | 1.0 | +| test.c:804:8:804:11 | * ... | 1.0 | +| test.c:804:8:804:16 | ... *= ... | 1.0 | +| test.c:804:10:804:11 | sc | 1.0 | +| test.c:804:16:804:16 | 2 | 1.0 | +| test.c:806:7:806:7 | i | 1.0 | +| test.c:808:10:808:10 | 0 | 1.0 | +| test.c:813:7:813:7 | (int)... | 1.0 | +| test.c:813:7:813:7 | n | 1.0 | +| test.c:815:7:815:7 | n | 1.0 | +| test.c:815:7:815:11 | ... > ... | 1.0 | +| test.c:815:11:815:11 | 0 | 1.0 | +| test.c:815:11:815:11 | (unsigned int)... | 1.0 | +| test.c:816:9:816:9 | (int)... | 1.0 | +| test.c:816:9:816:9 | n | 1.0 | +| test.c:819:7:819:7 | n | 2.0 | +| test.c:819:7:819:12 | ... != ... | 1.0 | +| test.c:819:12:819:12 | 0 | 1.0 | +| test.c:819:12:819:12 | (unsigned int)... | 1.0 | +| test.c:820:9:820:9 | (int)... | 2.0 | +| test.c:820:9:820:9 | n | 2.0 | +| test.c:822:9:822:9 | (int)... | 2.0 | +| test.c:822:9:822:9 | n | 2.0 | +| test.c:825:7:825:8 | ! ... | 1.0 | +| test.c:825:8:825:8 | n | 4.0 | +| test.c:826:9:826:9 | (int)... | 4.0 | +| test.c:826:9:826:9 | n | 4.0 | +| test.c:828:9:828:9 | (int)... | 4.0 | +| test.c:828:9:828:9 | n | 4.0 | +| test.c:831:10:831:10 | n | 13.0 | +| test.c:831:10:831:15 | ... != ... | 1.0 | +| test.c:831:15:831:15 | 0 | 1.0 | +| test.c:831:15:831:15 | (unsigned int)... | 1.0 | +| test.c:832:5:832:5 | n | 13.0 | +| test.c:832:5:832:7 | ... -- | 13.0 | +| test.c:835:7:835:7 | (int)... | 13.0 | +| test.c:835:7:835:7 | n | 13.0 | +| test.c:839:7:839:7 | (int)... | 1.0 | +| test.c:839:7:839:7 | n | 1.0 | +| test.c:839:7:839:11 | ... < ... | 1.0 | +| test.c:839:11:839:11 | 0 | 1.0 | +| test.c:842:7:842:7 | (int)... | 1.0 | +| test.c:842:7:842:7 | n | 1.0 | +| test.c:842:7:842:12 | ... == ... | 1.0 | +| test.c:842:12:842:12 | 0 | 1.0 | +| test.c:843:9:843:9 | (int)... | 1.0 | +| test.c:843:9:843:9 | n | 1.0 | +| test.c:845:9:845:9 | (int)... | 1.0 | +| test.c:845:9:845:9 | n | 1.0 | +| test.c:848:7:848:7 | n | 2.0 | +| test.c:849:9:849:9 | (int)... | 2.0 | +| test.c:849:9:849:9 | n | 2.0 | +| test.c:851:9:851:9 | (int)... | 2.0 | +| test.c:851:9:851:9 | n | 2.0 | +| test.c:854:10:854:10 | (int)... | 13.0 | +| test.c:854:10:854:10 | n | 12.0 | +| test.c:854:10:854:15 | ... != ... | 1.0 | +| test.c:854:15:854:15 | 0 | 1.0 | +| test.c:855:5:855:5 | n | 12.0 | +| test.c:855:5:855:7 | ... -- | 12.0 | +| test.c:858:7:858:7 | (int)... | 12.0 | +| test.c:858:7:858:7 | n | 12.0 | +| test.c:862:7:862:7 | (int)... | 1.0 | +| test.c:862:7:862:7 | n | 1.0 | +| test.c:862:7:862:12 | ... != ... | 1.0 | +| test.c:862:12:862:12 | 0 | 1.0 | +| test.c:863:9:863:9 | (int)... | 1.0 | +| test.c:863:9:863:9 | n | 1.0 | +| test.c:863:9:863:14 | ... >= ... | 1.0 | +| test.c:863:14:863:14 | 0 | 1.0 | +| test.c:864:11:864:11 | (int)... | 1.0 | +| test.c:864:11:864:11 | n | 1.0 | +| test.c:868:7:868:7 | (int)... | 2.0 | +| test.c:868:7:868:7 | n | 2.0 | | test.c:868:7:868:12 | ... >= ... | 1.0 | -| test.c:868:12:868:12 | 0 | 1.0 | -| test.c:869:5:869:5 | n | 4.0 | -| test.c:869:5:869:14 | ... ? ... : ... | 16.0 | -| test.c:869:10:869:10 | (int)... | 4.0 | -| test.c:869:10:869:10 | n | 4.0 | -| test.c:869:14:869:14 | (int)... | 4.0 | -| test.c:869:14:869:14 | n | 4.0 | -| test.c:870:5:870:6 | ! ... | 1.0 | -| test.c:870:5:870:14 | ... ? ... : ... | 64.0 | -| test.c:870:6:870:6 | n | 8.0 | -| test.c:870:10:870:10 | (int)... | 8.0 | -| test.c:870:10:870:10 | n | 8.0 | -| test.c:870:14:870:14 | (int)... | 8.0 | -| test.c:870:14:870:14 | n | 8.0 | -| test.c:881:7:881:8 | (unsigned long)... | 1.0 | -| test.c:881:7:881:8 | ss | 1.0 | -| test.c:881:7:881:22 | ... < ... | 1.0 | -| test.c:881:12:881:22 | sizeof(int) | 1.0 | -| test.c:882:9:882:10 | (int)... | 1.0 | -| test.c:882:9:882:10 | ss | 1.0 | -| test.c:885:7:885:8 | (int)... | 2.0 | -| test.c:885:7:885:8 | ss | 2.0 | -| test.c:885:7:885:17 | ... < ... | 1.0 | -| test.c:885:12:885:17 | 32769 | 1.0 | -| test.c:886:9:886:10 | (int)... | 2.0 | -| test.c:886:9:886:10 | ss | 2.0 | -| test.c:889:7:889:15 | (int)... | 1.0 | -| test.c:889:7:889:15 | (short)... | 1.0 | -| test.c:889:7:889:20 | ... >= ... | 1.0 | -| test.c:889:14:889:15 | us | 1.0 | -| test.c:889:20:889:20 | 0 | 1.0 | -| test.c:890:9:890:10 | (int)... | 1.0 | -| test.c:890:9:890:10 | us | 1.0 | -| test.c:893:7:893:15 | (int)... | 2.0 | -| test.c:893:7:893:15 | (short)... | 2.0 | -| test.c:893:7:893:21 | ... >= ... | 1.0 | -| test.c:893:14:893:15 | us | 2.0 | -| test.c:893:20:893:21 | - ... | 1.0 | -| test.c:893:21:893:21 | 1 | 1.0 | -| test.c:894:9:894:10 | (int)... | 2.0 | -| test.c:894:9:894:10 | us | 2.0 | -| test.c:897:7:897:8 | (unsigned long)... | 3.0 | -| test.c:897:7:897:8 | ss | 3.0 | -| test.c:897:7:897:23 | ... >= ... | 1.0 | -| test.c:897:13:897:23 | sizeof(int) | 1.0 | -| test.c:898:9:898:10 | (int)... | 3.0 | -| test.c:898:9:898:10 | ss | 3.0 | -| test.c:901:7:901:8 | (int)... | 4.0 | -| test.c:901:7:901:8 | ss | 4.0 | -| test.c:901:7:901:12 | (unsigned long)... | 4.0 | -| test.c:901:7:901:12 | ... + ... | 4.0 | -| test.c:901:7:901:26 | ... < ... | 1.0 | -| test.c:901:12:901:12 | 1 | 1.0 | -| test.c:901:16:901:26 | sizeof(int) | 1.0 | -| test.c:902:9:902:10 | (int)... | 4.0 | -| test.c:902:9:902:10 | ss | 4.0 | -| test.c:908:8:908:8 | s | 1.0 | -| test.c:908:8:908:12 | ... = ... | 1.0 | -| test.c:908:12:908:12 | 0 | 1.0 | -| test.c:908:15:908:15 | s | 13.0 | -| test.c:908:15:908:20 | ... < ... | 1.0 | -| test.c:908:19:908:20 | 10 | 1.0 | -| test.c:908:23:908:23 | s | 13.0 | -| test.c:908:23:908:25 | ... ++ | 13.0 | -| test.c:909:18:909:18 | s | 13.0 | -| test.c:909:18:909:22 | ... + ... | 13.0 | -| test.c:909:22:909:22 | s | 13.0 | -| test.c:910:9:910:14 | result | 13.0 | -| test.c:915:10:915:11 | 0 | 1.0 | -| test.c:916:7:916:7 | i | 1.0 | -| test.c:916:7:916:11 | ... < ... | 1.0 | -| test.c:916:11:916:11 | 0 | 1.0 | -| test.c:917:9:917:9 | i | 1.0 | -| test.c:920:20:920:20 | 0 | 1.0 | -| test.c:920:20:920:20 | (unsigned int)... | 1.0 | -| test.c:921:7:921:7 | u | 1.0 | -| test.c:921:7:921:11 | ... < ... | 1.0 | -| test.c:921:11:921:11 | 0 | 1.0 | -| test.c:921:11:921:11 | (unsigned int)... | 1.0 | -| test.c:922:9:922:9 | (int)... | 1.0 | -| test.c:922:9:922:9 | u | 1.0 | -| test.c:927:12:927:12 | s | 1.0 | -| test.c:927:12:927:16 | ... % ... | 1.0 | -| test.c:927:16:927:16 | 5 | 1.0 | -| test.c:928:7:928:8 | s2 | 1.0 | -| test.c:933:7:933:7 | x | 1.0 | -| test.c:934:9:934:9 | y | 1.0 | -| test.c:934:9:934:14 | ... != ... | 1.0 | -| test.c:934:14:934:14 | 0 | 1.0 | -| test.c:935:12:935:12 | 0 | 1.0 | -| test.c:938:7:938:7 | y | 2.0 | -| test.c:947:7:947:7 | x | 1.0 | -| test.c:947:7:947:13 | ... >= ... | 1.0 | -| test.c:947:12:947:13 | 10 | 1.0 | -| test.c:952:7:952:7 | x | 13.0 | -| test.c:957:16:957:26 | 2147483647 | 1.0 | -| test.c:958:16:958:19 | 256 | 1.0 | -| test.c:959:7:959:13 | (...) | 1.0 | -| test.c:959:7:959:20 | ... <= ... | 1.0 | -| test.c:959:8:959:8 | x | 1.0 | -| test.c:959:8:959:12 | ... + ... | 1.0 | -| test.c:959:12:959:12 | y | 1.0 | -| test.c:959:18:959:20 | 512 | 1.0 | -| test.c:960:9:960:9 | x | 1.0 | -| test.c:961:9:961:9 | y | 1.0 | +| test.c:868:12:868:12 | 5 | 1.0 | +| test.c:869:9:869:9 | 2 | 1.0 | +| test.c:869:9:869:13 | ... * ... | 2.0 | +| test.c:869:9:869:18 | ... - ... | 2.0 | +| test.c:869:9:869:23 | ... == ... | 1.0 | +| test.c:869:13:869:13 | (int)... | 2.0 | +| test.c:869:13:869:13 | n | 2.0 | +| test.c:869:17:869:18 | 10 | 1.0 | +| test.c:869:23:869:23 | 0 | 1.0 | +| test.c:872:9:872:9 | (int)... | 2.0 | +| test.c:872:9:872:9 | n | 2.0 | +| test.c:875:7:875:7 | (int)... | 3.0 | +| test.c:875:7:875:7 | n | 3.0 | +| test.c:875:7:875:17 | ... != ... | 1.0 | +| test.c:875:7:875:32 | ... && ... | 1.0 | +| test.c:875:12:875:17 | - ... | 1.0 | +| test.c:875:13:875:17 | 32768 | 1.0 | +| test.c:875:22:875:22 | (int)... | 3.0 | +| test.c:875:22:875:22 | n | 3.0 | +| test.c:875:22:875:32 | ... != ... | 1.0 | +| test.c:875:27:875:32 | - ... | 1.0 | +| test.c:875:28:875:32 | 32767 | 1.0 | +| test.c:876:9:876:9 | (int)... | 3.0 | +| test.c:876:9:876:9 | n | 3.0 | +| test.c:879:7:879:7 | (int)... | 4.0 | +| test.c:879:7:879:7 | n | 4.0 | +| test.c:879:7:879:12 | ... >= ... | 1.0 | +| test.c:879:12:879:12 | 0 | 1.0 | +| test.c:880:5:880:5 | n | 4.0 | +| test.c:880:5:880:14 | ... ? ... : ... | 16.0 | +| test.c:880:10:880:10 | (int)... | 4.0 | +| test.c:880:10:880:10 | n | 4.0 | +| test.c:880:14:880:14 | (int)... | 4.0 | +| test.c:880:14:880:14 | n | 4.0 | +| test.c:881:5:881:6 | ! ... | 1.0 | +| test.c:881:5:881:14 | ... ? ... : ... | 64.0 | +| test.c:881:6:881:6 | n | 8.0 | +| test.c:881:10:881:10 | (int)... | 8.0 | +| test.c:881:10:881:10 | n | 8.0 | +| test.c:881:14:881:14 | (int)... | 8.0 | +| test.c:881:14:881:14 | n | 8.0 | +| test.c:892:7:892:8 | (unsigned long)... | 1.0 | +| test.c:892:7:892:8 | ss | 1.0 | +| test.c:892:7:892:22 | ... < ... | 1.0 | +| test.c:892:12:892:22 | sizeof(int) | 1.0 | +| test.c:893:9:893:10 | (int)... | 1.0 | +| test.c:893:9:893:10 | ss | 1.0 | +| test.c:896:7:896:8 | (int)... | 2.0 | +| test.c:896:7:896:8 | ss | 2.0 | +| test.c:896:7:896:17 | ... < ... | 1.0 | +| test.c:896:12:896:17 | 32769 | 1.0 | +| test.c:897:9:897:10 | (int)... | 2.0 | +| test.c:897:9:897:10 | ss | 2.0 | +| test.c:900:7:900:15 | (int)... | 1.0 | +| test.c:900:7:900:15 | (short)... | 1.0 | +| test.c:900:7:900:20 | ... >= ... | 1.0 | +| test.c:900:14:900:15 | us | 1.0 | +| test.c:900:20:900:20 | 0 | 1.0 | +| test.c:901:9:901:10 | (int)... | 1.0 | +| test.c:901:9:901:10 | us | 1.0 | +| test.c:904:7:904:15 | (int)... | 2.0 | +| test.c:904:7:904:15 | (short)... | 2.0 | +| test.c:904:7:904:21 | ... >= ... | 1.0 | +| test.c:904:14:904:15 | us | 2.0 | +| test.c:904:20:904:21 | - ... | 1.0 | +| test.c:904:21:904:21 | 1 | 1.0 | +| test.c:905:9:905:10 | (int)... | 2.0 | +| test.c:905:9:905:10 | us | 2.0 | +| test.c:908:7:908:8 | (unsigned long)... | 3.0 | +| test.c:908:7:908:8 | ss | 3.0 | +| test.c:908:7:908:23 | ... >= ... | 1.0 | +| test.c:908:13:908:23 | sizeof(int) | 1.0 | +| test.c:909:9:909:10 | (int)... | 3.0 | +| test.c:909:9:909:10 | ss | 3.0 | +| test.c:912:7:912:8 | (int)... | 4.0 | +| test.c:912:7:912:8 | ss | 4.0 | +| test.c:912:7:912:12 | (unsigned long)... | 4.0 | +| test.c:912:7:912:12 | ... + ... | 4.0 | +| test.c:912:7:912:26 | ... < ... | 1.0 | +| test.c:912:12:912:12 | 1 | 1.0 | +| test.c:912:16:912:26 | sizeof(int) | 1.0 | +| test.c:913:9:913:10 | (int)... | 4.0 | +| test.c:913:9:913:10 | ss | 4.0 | +| test.c:919:8:919:8 | s | 1.0 | +| test.c:919:8:919:12 | ... = ... | 1.0 | +| test.c:919:12:919:12 | 0 | 1.0 | +| test.c:919:15:919:15 | s | 13.0 | +| test.c:919:15:919:20 | ... < ... | 1.0 | +| test.c:919:19:919:20 | 10 | 1.0 | +| test.c:919:23:919:23 | s | 13.0 | +| test.c:919:23:919:25 | ... ++ | 13.0 | +| test.c:920:18:920:18 | s | 13.0 | +| test.c:920:18:920:22 | ... + ... | 13.0 | +| test.c:920:22:920:22 | s | 13.0 | +| test.c:921:9:921:14 | result | 13.0 | +| test.c:926:10:926:11 | 0 | 1.0 | +| test.c:927:7:927:7 | i | 1.0 | +| test.c:927:7:927:11 | ... < ... | 1.0 | +| test.c:927:11:927:11 | 0 | 1.0 | +| test.c:928:9:928:9 | i | 1.0 | +| test.c:931:20:931:20 | 0 | 1.0 | +| test.c:931:20:931:20 | (unsigned int)... | 1.0 | +| test.c:932:7:932:7 | u | 1.0 | +| test.c:932:7:932:11 | ... < ... | 1.0 | +| test.c:932:11:932:11 | 0 | 1.0 | +| test.c:932:11:932:11 | (unsigned int)... | 1.0 | +| test.c:933:9:933:9 | (int)... | 1.0 | +| test.c:933:9:933:9 | u | 1.0 | +| test.c:938:12:938:12 | s | 1.0 | +| test.c:938:12:938:16 | ... % ... | 1.0 | +| test.c:938:16:938:16 | 5 | 1.0 | +| test.c:939:7:939:8 | s2 | 1.0 | +| test.c:944:7:944:7 | x | 1.0 | +| test.c:945:9:945:9 | y | 1.0 | +| test.c:945:9:945:14 | ... != ... | 1.0 | +| test.c:945:14:945:14 | 0 | 1.0 | +| test.c:946:12:946:12 | 0 | 1.0 | +| test.c:949:7:949:7 | y | 2.0 | +| test.c:958:7:958:7 | x | 1.0 | +| test.c:958:7:958:13 | ... >= ... | 1.0 | +| test.c:958:12:958:13 | 10 | 1.0 | +| test.c:963:7:963:7 | x | 13.0 | +| test.c:968:16:968:26 | 2147483647 | 1.0 | +| test.c:969:16:969:19 | 256 | 1.0 | +| test.c:970:7:970:13 | (...) | 1.0 | +| test.c:970:7:970:20 | ... <= ... | 1.0 | +| test.c:970:8:970:8 | x | 1.0 | +| test.c:970:8:970:12 | ... + ... | 1.0 | +| test.c:970:12:970:12 | y | 1.0 | +| test.c:970:18:970:20 | 512 | 1.0 | +| test.c:971:9:971:9 | x | 1.0 | +| test.c:972:9:972:9 | y | 1.0 | | test.cpp:9:11:9:12 | - ... | 1.0 | | test.cpp:9:12:9:12 | 1 | 1.0 | | test.cpp:10:7:10:7 | (bool)... | 1.0 | diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryLower.expected b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryLower.expected index 3edc677b717..50b65d84bf3 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryLower.expected +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryLower.expected @@ -1,148 +1,153 @@ | test.c:154:10:154:40 | ... ? ... : ... | -1.0 | 1.0 | -1.0 | -| test.c:367:8:367:23 | ... ? ... : ... | 0.0 | 0.0 | 10.0 | -| test.c:368:8:368:24 | ... ? ... : ... | 0.0 | 10.0 | 0.0 | -| test.c:376:10:376:15 | ... ? ... : ... | 0.0 | 0.0 | 5.0 | -| test.c:377:10:377:17 | ... ? ... : ... | 0.0 | 0.0 | 500.0 | -| test.c:378:10:378:21 | ... ? ... : ... | 1.0 | 1.0 | 500.0 | -| test.c:379:10:379:36 | ... ? ... : ... | 0.0 | 1.0 | 5.0 | -| test.c:380:10:380:38 | ... ? ... : ... | 0.0 | 1.0 | 500.0 | -| test.c:381:10:381:39 | ... ? ... : ... | 1.0 | 1.0 | 500.0 | -| test.c:389:8:389:24 | ... ? ... : ... | 101.0 | 101.0 | 110.0 | -| test.c:390:8:390:25 | ... ? ... : ... | 101.0 | 110.0 | 101.0 | -| test.c:395:10:395:21 | ... ? ... : ... | 0.0 | 0.0 | 5.0 | -| test.c:396:10:396:21 | ... ? ... : ... | 100.0 | 100.0 | 5.0 | -| test.c:397:10:397:38 | ... ? ... : ... | 0.0 | 100.0 | 5.0 | -| test.c:404:14:404:108 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.40496805 | -| test.c:404:18:404:95 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.21540225 | -| test.c:404:22:404:82 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.39206458 | -| test.c:404:26:404:69 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.35279203 | -| test.c:404:30:404:56 | ... ? ... : ... | 0.14333887 | 0.47438827 | 0.14333887 | -| test.c:405:14:405:108 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.5297741 | -| test.c:405:18:405:95 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.59270465 | -| test.c:405:22:405:82 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.32661893 | -| test.c:405:26:405:69 | ... ? ... : ... | 0.22247853 | 0.34183348 | 0.22247853 | -| test.c:405:30:405:56 | ... ? ... : ... | 0.34183348 | 0.34183348 | 0.3533464 | -| test.c:406:14:406:108 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.67981451 | -| test.c:406:18:406:95 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.79310745 | -| test.c:406:22:406:82 | ... ? ... : ... | 0.05121256 | 0.31235514 | 0.05121256 | -| test.c:406:26:406:69 | ... ? ... : ... | 0.31235514 | 0.31478084 | 0.31235514 | -| test.c:406:30:406:56 | ... ? ... : ... | 0.31478084 | 0.77429603 | 0.31478084 | -| test.c:407:14:407:108 | ... ? ... : ... | 0.36976948 | 0.36976948 | 0.83866835 | -| test.c:407:18:407:95 | ... ? ... : ... | 0.36976948 | 0.44729556 | 0.36976948 | -| test.c:407:22:407:82 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.59952732 | -| test.c:407:26:407:69 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.98997262 | -| test.c:407:30:407:56 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.80599202 | -| test.c:408:14:408:108 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.68734874 | -| test.c:408:18:408:95 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.72485966 | -| test.c:408:22:408:82 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.21778426 | -| test.c:408:26:408:69 | ... ? ... : ... | 0.10597712 | 0.49311828 | 0.10597712 | -| test.c:408:30:408:56 | ... ? ... : ... | 0.49311828 | 0.49311828 | 0.90389911 | -| test.c:409:14:409:108 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.58440865 | -| test.c:409:18:409:95 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.34808892 | -| test.c:409:22:409:82 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.76164052 | -| test.c:409:26:409:69 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.11884576 | -| test.c:409:30:409:56 | ... ? ... : ... | 0.1078665 | 0.47452848 | 0.1078665 | -| test.c:410:14:410:108 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.36232384 | -| test.c:410:18:410:95 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.85235179 | -| test.c:410:22:410:82 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.12516558 | -| test.c:410:26:410:69 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.95823075 | -| test.c:410:30:410:56 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.82905046 | -| test.c:411:14:411:108 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.84331272 | -| test.c:411:18:411:95 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.48640909 | -| test.c:411:22:411:82 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.45041108 | -| test.c:411:26:411:69 | ... ? ... : ... | 0.14963485 | 0.32876044 | 0.14963485 | -| test.c:411:30:411:56 | ... ? ... : ... | 0.32876044 | 0.38708626 | 0.32876044 | -| test.c:412:14:412:108 | ... ? ... : ... | 0.05328182 | 0.14800508 | 0.05328182 | -| test.c:412:18:412:95 | ... ? ... : ... | 0.14800508 | 0.14800508 | 0.37428143 | -| test.c:412:22:412:82 | ... ? ... : ... | 0.14800508 | 0.15755063 | 0.14800508 | -| test.c:412:26:412:69 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.26428481 | -| test.c:412:30:412:56 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.77086833 | -| test.c:413:14:413:108 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.69072144 | -| test.c:413:18:413:95 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.39468857 | -| test.c:413:22:413:82 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.55679274 | -| test.c:413:26:413:69 | ... ? ... : ... | 0.27643238 | 0.41736536 | 0.27643238 | -| test.c:413:30:413:56 | ... ? ... : ... | 0.41736536 | 0.41736536 | 0.76826628 | -| test.c:414:14:414:108 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.81372798 | -| test.c:414:18:414:95 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.88745559 | -| test.c:414:22:414:82 | ... ? ... : ... | 0.2051911 | 0.29904824 | 0.2051911 | -| test.c:414:26:414:69 | ... ? ... : ... | 0.29904824 | 0.29904824 | 0.76242583 | -| test.c:414:30:414:56 | ... ? ... : ... | 0.29904824 | 0.88955345 | 0.29904824 | -| test.c:415:14:415:108 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.42762647 | -| test.c:415:18:415:95 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.52031241 | -| test.c:415:22:415:82 | ... ? ... : ... | 0.13204114 | 0.42186276 | 0.13204114 | -| test.c:415:26:415:69 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.44996679 | -| test.c:415:30:415:56 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.53843358 | -| test.c:457:4:631:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:457:5:459:49 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:460:6:542:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:461:8:479:41 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:464:10:468:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:464:31:464:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:466:13:468:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:473:12:478:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:474:12:474:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:476:15:478:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:480:6:499:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:483:8:487:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:483:29:483:77 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:485:11:487:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:488:6:488:54 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:492:10:496:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:492:31:492:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:494:13:496:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:497:9:499:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:501:10:520:43 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:504:12:509:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:505:12:505:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:507:15:509:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:514:14:519:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:515:14:515:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:517:17:519:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:521:9:542:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:524:14:529:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:525:14:525:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:527:17:529:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:530:12:530:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:534:12:539:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:535:12:535:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:537:15:539:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:540:11:542:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:543:9:545:51 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:546:9:631:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:547:14:566:47 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:550:16:555:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:551:16:551:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:553:19:555:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:560:18:565:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:561:18:561:66 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:563:21:565:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:567:12:588:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:570:14:575:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:571:14:571:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:573:17:575:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:576:12:576:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:580:16:585:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:581:16:581:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:583:19:585:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:586:15:588:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:590:12:609:45 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:593:14:598:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:594:14:594:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:596:17:598:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:603:16:608:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:604:16:604:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:606:19:608:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:610:11:631:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:613:16:618:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:614:16:614:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:616:19:618:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:619:14:619:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:623:14:628:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:624:14:624:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:626:17:628:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:629:13:631:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | -| test.c:657:20:657:36 | ... ? ... : ... | 0.0 | 0.0 | 100.0 | -| test.c:869:5:869:14 | ... ? ... : ... | 0.0 | 1.0 | 0.0 | -| test.c:870:5:870:14 | ... ? ... : ... | 0.0 | 0.0 | 1.0 | +| test.c:348:22:348:44 | ... ? ... : ... | 0.0 | 0.0 | 2.0 | +| test.c:349:20:349:43 | ... ? ... : ... | 0.0 | 0.0 | 2.0 | +| test.c:350:22:350:44 | ... ? ... : ... | 0.0 | 0.0 | 2.0 | +| test.c:351:22:351:44 | ... ? ... : ... | 0.0 | 0.0 | 2.0 | +| test.c:352:22:352:45 | ... ? ... : ... | 2.0 | 8.0 | 2.0 | +| test.c:378:8:378:23 | ... ? ... : ... | 0.0 | 0.0 | 10.0 | +| test.c:379:8:379:24 | ... ? ... : ... | 0.0 | 10.0 | 0.0 | +| test.c:387:10:387:15 | ... ? ... : ... | 0.0 | 0.0 | 5.0 | +| test.c:388:10:388:17 | ... ? ... : ... | 0.0 | 0.0 | 500.0 | +| test.c:389:10:389:21 | ... ? ... : ... | 1.0 | 1.0 | 500.0 | +| test.c:390:10:390:36 | ... ? ... : ... | 0.0 | 1.0 | 5.0 | +| test.c:391:10:391:38 | ... ? ... : ... | 0.0 | 1.0 | 500.0 | +| test.c:392:10:392:39 | ... ? ... : ... | 1.0 | 1.0 | 500.0 | +| test.c:400:8:400:24 | ... ? ... : ... | 101.0 | 101.0 | 110.0 | +| test.c:401:8:401:25 | ... ? ... : ... | 101.0 | 110.0 | 101.0 | +| test.c:406:10:406:21 | ... ? ... : ... | 0.0 | 0.0 | 5.0 | +| test.c:407:10:407:21 | ... ? ... : ... | 100.0 | 100.0 | 5.0 | +| test.c:408:10:408:38 | ... ? ... : ... | 0.0 | 100.0 | 5.0 | +| test.c:415:14:415:108 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.40496805 | +| test.c:415:18:415:95 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.21540225 | +| test.c:415:22:415:82 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.39206458 | +| test.c:415:26:415:69 | ... ? ... : ... | 0.14333887 | 0.14333887 | 0.35279203 | +| test.c:415:30:415:56 | ... ? ... : ... | 0.14333887 | 0.47438827 | 0.14333887 | +| test.c:416:14:416:108 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.5297741 | +| test.c:416:18:416:95 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.59270465 | +| test.c:416:22:416:82 | ... ? ... : ... | 0.22247853 | 0.22247853 | 0.32661893 | +| test.c:416:26:416:69 | ... ? ... : ... | 0.22247853 | 0.34183348 | 0.22247853 | +| test.c:416:30:416:56 | ... ? ... : ... | 0.34183348 | 0.34183348 | 0.3533464 | +| test.c:417:14:417:108 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.67981451 | +| test.c:417:18:417:95 | ... ? ... : ... | 0.05121256 | 0.05121256 | 0.79310745 | +| test.c:417:22:417:82 | ... ? ... : ... | 0.05121256 | 0.31235514 | 0.05121256 | +| test.c:417:26:417:69 | ... ? ... : ... | 0.31235514 | 0.31478084 | 0.31235514 | +| test.c:417:30:417:56 | ... ? ... : ... | 0.31478084 | 0.77429603 | 0.31478084 | +| test.c:418:14:418:108 | ... ? ... : ... | 0.36976948 | 0.36976948 | 0.83866835 | +| test.c:418:18:418:95 | ... ? ... : ... | 0.36976948 | 0.44729556 | 0.36976948 | +| test.c:418:22:418:82 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.59952732 | +| test.c:418:26:418:69 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.98997262 | +| test.c:418:30:418:56 | ... ? ... : ... | 0.44729556 | 0.44729556 | 0.80599202 | +| test.c:419:14:419:108 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.68734874 | +| test.c:419:18:419:95 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.72485966 | +| test.c:419:22:419:82 | ... ? ... : ... | 0.10597712 | 0.10597712 | 0.21778426 | +| test.c:419:26:419:69 | ... ? ... : ... | 0.10597712 | 0.49311828 | 0.10597712 | +| test.c:419:30:419:56 | ... ? ... : ... | 0.49311828 | 0.49311828 | 0.90389911 | +| test.c:420:14:420:108 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.58440865 | +| test.c:420:18:420:95 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.34808892 | +| test.c:420:22:420:82 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.76164052 | +| test.c:420:26:420:69 | ... ? ... : ... | 0.1078665 | 0.1078665 | 0.11884576 | +| test.c:420:30:420:56 | ... ? ... : ... | 0.1078665 | 0.47452848 | 0.1078665 | +| test.c:421:14:421:108 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.36232384 | +| test.c:421:18:421:95 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.85235179 | +| test.c:421:22:421:82 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.12516558 | +| test.c:421:26:421:69 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.95823075 | +| test.c:421:30:421:56 | ... ? ... : ... | 0.02524326 | 0.02524326 | 0.82905046 | +| test.c:422:14:422:108 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.84331272 | +| test.c:422:18:422:95 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.48640909 | +| test.c:422:22:422:82 | ... ? ... : ... | 0.14963485 | 0.14963485 | 0.45041108 | +| test.c:422:26:422:69 | ... ? ... : ... | 0.14963485 | 0.32876044 | 0.14963485 | +| test.c:422:30:422:56 | ... ? ... : ... | 0.32876044 | 0.38708626 | 0.32876044 | +| test.c:423:14:423:108 | ... ? ... : ... | 0.05328182 | 0.14800508 | 0.05328182 | +| test.c:423:18:423:95 | ... ? ... : ... | 0.14800508 | 0.14800508 | 0.37428143 | +| test.c:423:22:423:82 | ... ? ... : ... | 0.14800508 | 0.15755063 | 0.14800508 | +| test.c:423:26:423:69 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.26428481 | +| test.c:423:30:423:56 | ... ? ... : ... | 0.15755063 | 0.15755063 | 0.77086833 | +| test.c:424:14:424:108 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.69072144 | +| test.c:424:18:424:95 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.39468857 | +| test.c:424:22:424:82 | ... ? ... : ... | 0.27643238 | 0.27643238 | 0.55679274 | +| test.c:424:26:424:69 | ... ? ... : ... | 0.27643238 | 0.41736536 | 0.27643238 | +| test.c:424:30:424:56 | ... ? ... : ... | 0.41736536 | 0.41736536 | 0.76826628 | +| test.c:425:14:425:108 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.81372798 | +| test.c:425:18:425:95 | ... ? ... : ... | 0.2051911 | 0.2051911 | 0.88745559 | +| test.c:425:22:425:82 | ... ? ... : ... | 0.2051911 | 0.29904824 | 0.2051911 | +| test.c:425:26:425:69 | ... ? ... : ... | 0.29904824 | 0.29904824 | 0.76242583 | +| test.c:425:30:425:56 | ... ? ... : ... | 0.29904824 | 0.88955345 | 0.29904824 | +| test.c:426:14:426:108 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.42762647 | +| test.c:426:18:426:95 | ... ? ... : ... | 0.13204114 | 0.13204114 | 0.52031241 | +| test.c:426:22:426:82 | ... ? ... : ... | 0.13204114 | 0.42186276 | 0.13204114 | +| test.c:426:26:426:69 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.44996679 | +| test.c:426:30:426:56 | ... ? ... : ... | 0.42186276 | 0.42186276 | 0.53843358 | +| test.c:468:4:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:468:5:470:49 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:471:6:553:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:472:8:490:41 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:475:10:479:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:475:31:475:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:477:13:479:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:484:12:489:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:485:12:485:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:487:15:489:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:491:6:510:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:494:8:498:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:494:29:494:77 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:496:11:498:19 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:499:6:499:54 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:503:10:507:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:503:31:503:79 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:505:13:507:21 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:508:9:510:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:512:10:531:43 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:515:12:520:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:516:12:516:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:518:15:520:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:525:14:530:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:526:14:526:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:528:17:530:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:532:9:553:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:535:14:540:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:536:14:536:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:538:17:540:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:541:12:541:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:545:12:550:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:546:12:546:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:548:15:550:23 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:551:11:553:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:554:9:556:51 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:557:9:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:558:14:577:47 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:561:16:566:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:562:16:562:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:564:19:566:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:571:18:576:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:572:18:572:66 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:574:21:576:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:578:12:599:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:581:14:586:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:582:14:582:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:584:17:586:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:587:12:587:60 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:591:16:596:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:592:16:592:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:594:19:596:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:597:15:599:29 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:601:12:620:45 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:604:14:609:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:605:14:605:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:607:17:609:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:614:16:619:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:615:16:615:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:617:19:619:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:621:11:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:624:16:629:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:625:16:625:64 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:627:19:629:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:630:14:630:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:634:14:639:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:635:14:635:62 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:637:17:639:25 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:640:13:642:27 | ... ? ... : ... | 0.0 | 0.0 | 0.0 | +| test.c:668:20:668:36 | ... ? ... : ... | 0.0 | 0.0 | 100.0 | +| test.c:880:5:880:14 | ... ? ... : ... | 0.0 | 1.0 | 0.0 | +| test.c:881:5:881:14 | ... ? ... : ... | 0.0 | 0.0 | 1.0 | | test.cpp:121:3:121:12 | ... ? ... : ... | 0.0 | 1.0 | 0.0 | | test.cpp:122:3:122:12 | ... ? ... : ... | 0.0 | 0.0 | 1.0 | diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryUpper.expected b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryUpper.expected index 9ffdab9467c..3b3a00df6b9 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryUpper.expected +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/ternaryUpper.expected @@ -1,148 +1,153 @@ | test.c:154:10:154:40 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | -1.0 | -| test.c:367:8:367:23 | ... ? ... : ... | 99.0 | 99.0 | 10.0 | -| test.c:368:8:368:24 | ... ? ... : ... | 99.0 | 10.0 | 99.0 | -| test.c:376:10:376:15 | ... ? ... : ... | 299.0 | 299.0 | 5.0 | -| test.c:377:10:377:17 | ... ? ... : ... | 500.0 | 299.0 | 500.0 | -| test.c:378:10:378:21 | ... ? ... : ... | 300.0 | 300.0 | 500.0 | -| test.c:379:10:379:36 | ... ? ... : ... | 255.0 | 300.0 | 5.0 | -| test.c:380:10:380:38 | ... ? ... : ... | 500.0 | 300.0 | 500.0 | -| test.c:381:10:381:39 | ... ? ... : ... | 300.0 | 300.0 | 500.0 | -| test.c:389:8:389:24 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 110.0 | -| test.c:390:8:390:25 | ... ? ... : ... | 4.294967295E9 | 110.0 | 4.294967295E9 | -| test.c:395:10:395:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 | -| test.c:396:10:396:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 | -| test.c:397:10:397:38 | ... ? ... : ... | 255.0 | 4.294967295E9 | 5.0 | -| test.c:404:14:404:108 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.40496805 | -| test.c:404:18:404:95 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.21540225 | -| test.c:404:22:404:82 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.39206458 | -| test.c:404:26:404:69 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.35279203 | -| test.c:404:30:404:56 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.14333887 | -| test.c:405:14:405:108 | ... ? ... : ... | 0.59270465 | 0.59270465 | 0.5297741 | -| test.c:405:18:405:95 | ... ? ... : ... | 0.59270465 | 0.3533464 | 0.59270465 | -| test.c:405:22:405:82 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.32661893 | -| test.c:405:26:405:69 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.22247853 | -| test.c:405:30:405:56 | ... ? ... : ... | 0.3533464 | 0.34183348 | 0.3533464 | -| test.c:406:14:406:108 | ... ? ... : ... | 0.79310745 | 0.79310745 | 0.67981451 | -| test.c:406:18:406:95 | ... ? ... : ... | 0.79310745 | 0.77429603 | 0.79310745 | -| test.c:406:22:406:82 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.05121256 | -| test.c:406:26:406:69 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31235514 | -| test.c:406:30:406:56 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31478084 | -| test.c:407:14:407:108 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.83866835 | -| test.c:407:18:407:95 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.36976948 | -| test.c:407:22:407:82 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.59952732 | -| test.c:407:26:407:69 | ... ? ... : ... | 0.98997262 | 0.80599202 | 0.98997262 | -| test.c:407:30:407:56 | ... ? ... : ... | 0.80599202 | 0.44729556 | 0.80599202 | -| test.c:408:14:408:108 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.68734874 | -| test.c:408:18:408:95 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.72485966 | -| test.c:408:22:408:82 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.21778426 | -| test.c:408:26:408:69 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.10597712 | -| test.c:408:30:408:56 | ... ? ... : ... | 0.90389911 | 0.49311828 | 0.90389911 | -| test.c:409:14:409:108 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.58440865 | -| test.c:409:18:409:95 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.34808892 | -| test.c:409:22:409:82 | ... ? ... : ... | 0.76164052 | 0.47452848 | 0.76164052 | -| test.c:409:26:409:69 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.11884576 | -| test.c:409:30:409:56 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.1078665 | -| test.c:410:14:410:108 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.36232384 | -| test.c:410:18:410:95 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.85235179 | -| test.c:410:22:410:82 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.12516558 | -| test.c:410:26:410:69 | ... ? ... : ... | 0.95823075 | 0.82905046 | 0.95823075 | -| test.c:410:30:410:56 | ... ? ... : ... | 0.82905046 | 0.02524326 | 0.82905046 | -| test.c:411:14:411:108 | ... ? ... : ... | 0.84331272 | 0.48640909 | 0.84331272 | -| test.c:411:18:411:95 | ... ? ... : ... | 0.48640909 | 0.45041108 | 0.48640909 | -| test.c:411:22:411:82 | ... ? ... : ... | 0.45041108 | 0.38708626 | 0.45041108 | -| test.c:411:26:411:69 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.14963485 | -| test.c:411:30:411:56 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.32876044 | -| test.c:412:14:412:108 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.05328182 | -| test.c:412:18:412:95 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.37428143 | -| test.c:412:22:412:82 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.14800508 | -| test.c:412:26:412:69 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.26428481 | -| test.c:412:30:412:56 | ... ? ... : ... | 0.77086833 | 0.15755063 | 0.77086833 | -| test.c:413:14:413:108 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.69072144 | -| test.c:413:18:413:95 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.39468857 | -| test.c:413:22:413:82 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.55679274 | -| test.c:413:26:413:69 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.27643238 | -| test.c:413:30:413:56 | ... ? ... : ... | 0.76826628 | 0.41736536 | 0.76826628 | -| test.c:414:14:414:108 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.81372798 | -| test.c:414:18:414:95 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.88745559 | -| test.c:414:22:414:82 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.2051911 | -| test.c:414:26:414:69 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.76242583 | -| test.c:414:30:414:56 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.29904824 | -| test.c:415:14:415:108 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.42762647 | -| test.c:415:18:415:95 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.52031241 | -| test.c:415:22:415:82 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.13204114 | -| test.c:415:26:415:69 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.44996679 | -| test.c:415:30:415:56 | ... ? ... : ... | 0.53843358 | 0.42186276 | 0.53843358 | -| test.c:457:4:631:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:457:5:459:49 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:460:6:542:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:461:8:479:41 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:464:10:468:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:464:31:464:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:466:13:468:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:473:12:478:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:474:12:474:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:476:15:478:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:480:6:499:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:483:8:487:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:483:29:483:77 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:485:11:487:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:488:6:488:54 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:492:10:496:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:492:31:492:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:494:13:496:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:497:9:499:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:501:10:520:43 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:504:12:509:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:505:12:505:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:507:15:509:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:514:14:519:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:515:14:515:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:517:17:519:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:521:9:542:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:524:14:529:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:525:14:525:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:527:17:529:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:530:12:530:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:534:12:539:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:535:12:535:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:537:15:539:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:540:11:542:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:543:9:545:51 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:546:9:631:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:547:14:566:47 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:550:16:555:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:551:16:551:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:553:19:555:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:560:18:565:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:561:18:561:66 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:563:21:565:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:567:12:588:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:570:14:575:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:571:14:571:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:573:17:575:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:576:12:576:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:580:16:585:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:581:16:581:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:583:19:585:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:586:15:588:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:590:12:609:45 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:593:14:598:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:594:14:594:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:596:17:598:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:603:16:608:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:604:16:604:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:606:19:608:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:610:11:631:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:613:16:618:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:614:16:614:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:616:19:618:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:619:14:619:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:623:14:628:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:624:14:624:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:626:17:628:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:629:13:631:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | -| test.c:657:20:657:36 | ... ? ... : ... | 100.0 | 99.0 | 100.0 | -| test.c:869:5:869:14 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 | -| test.c:870:5:870:14 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 | +| test.c:348:22:348:44 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 | +| test.c:349:20:349:43 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 | +| test.c:350:22:350:44 | ... ? ... : ... | 1.431655764E9 | 1.431655764E9 | 2.0 | +| test.c:351:22:351:44 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 | +| test.c:352:22:352:45 | ... ? ... : ... | 2.147483647E9 | 2.147483647E9 | 2.0 | +| test.c:378:8:378:23 | ... ? ... : ... | 99.0 | 99.0 | 10.0 | +| test.c:379:8:379:24 | ... ? ... : ... | 99.0 | 10.0 | 99.0 | +| test.c:387:10:387:15 | ... ? ... : ... | 299.0 | 299.0 | 5.0 | +| test.c:388:10:388:17 | ... ? ... : ... | 500.0 | 299.0 | 500.0 | +| test.c:389:10:389:21 | ... ? ... : ... | 300.0 | 300.0 | 500.0 | +| test.c:390:10:390:36 | ... ? ... : ... | 255.0 | 300.0 | 5.0 | +| test.c:391:10:391:38 | ... ? ... : ... | 500.0 | 300.0 | 500.0 | +| test.c:392:10:392:39 | ... ? ... : ... | 300.0 | 300.0 | 500.0 | +| test.c:400:8:400:24 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 110.0 | +| test.c:401:8:401:25 | ... ? ... : ... | 4.294967295E9 | 110.0 | 4.294967295E9 | +| test.c:406:10:406:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 | +| test.c:407:10:407:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 5.0 | +| test.c:408:10:408:38 | ... ? ... : ... | 255.0 | 4.294967295E9 | 5.0 | +| test.c:415:14:415:108 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.40496805 | +| test.c:415:18:415:95 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.21540225 | +| test.c:415:22:415:82 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.39206458 | +| test.c:415:26:415:69 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.35279203 | +| test.c:415:30:415:56 | ... ? ... : ... | 0.47438827 | 0.47438827 | 0.14333887 | +| test.c:416:14:416:108 | ... ? ... : ... | 0.59270465 | 0.59270465 | 0.5297741 | +| test.c:416:18:416:95 | ... ? ... : ... | 0.59270465 | 0.3533464 | 0.59270465 | +| test.c:416:22:416:82 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.32661893 | +| test.c:416:26:416:69 | ... ? ... : ... | 0.3533464 | 0.3533464 | 0.22247853 | +| test.c:416:30:416:56 | ... ? ... : ... | 0.3533464 | 0.34183348 | 0.3533464 | +| test.c:417:14:417:108 | ... ? ... : ... | 0.79310745 | 0.79310745 | 0.67981451 | +| test.c:417:18:417:95 | ... ? ... : ... | 0.79310745 | 0.77429603 | 0.79310745 | +| test.c:417:22:417:82 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.05121256 | +| test.c:417:26:417:69 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31235514 | +| test.c:417:30:417:56 | ... ? ... : ... | 0.77429603 | 0.77429603 | 0.31478084 | +| test.c:418:14:418:108 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.83866835 | +| test.c:418:18:418:95 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.36976948 | +| test.c:418:22:418:82 | ... ? ... : ... | 0.98997262 | 0.98997262 | 0.59952732 | +| test.c:418:26:418:69 | ... ? ... : ... | 0.98997262 | 0.80599202 | 0.98997262 | +| test.c:418:30:418:56 | ... ? ... : ... | 0.80599202 | 0.44729556 | 0.80599202 | +| test.c:419:14:419:108 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.68734874 | +| test.c:419:18:419:95 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.72485966 | +| test.c:419:22:419:82 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.21778426 | +| test.c:419:26:419:69 | ... ? ... : ... | 0.90389911 | 0.90389911 | 0.10597712 | +| test.c:419:30:419:56 | ... ? ... : ... | 0.90389911 | 0.49311828 | 0.90389911 | +| test.c:420:14:420:108 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.58440865 | +| test.c:420:18:420:95 | ... ? ... : ... | 0.76164052 | 0.76164052 | 0.34808892 | +| test.c:420:22:420:82 | ... ? ... : ... | 0.76164052 | 0.47452848 | 0.76164052 | +| test.c:420:26:420:69 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.11884576 | +| test.c:420:30:420:56 | ... ? ... : ... | 0.47452848 | 0.47452848 | 0.1078665 | +| test.c:421:14:421:108 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.36232384 | +| test.c:421:18:421:95 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.85235179 | +| test.c:421:22:421:82 | ... ? ... : ... | 0.95823075 | 0.95823075 | 0.12516558 | +| test.c:421:26:421:69 | ... ? ... : ... | 0.95823075 | 0.82905046 | 0.95823075 | +| test.c:421:30:421:56 | ... ? ... : ... | 0.82905046 | 0.02524326 | 0.82905046 | +| test.c:422:14:422:108 | ... ? ... : ... | 0.84331272 | 0.48640909 | 0.84331272 | +| test.c:422:18:422:95 | ... ? ... : ... | 0.48640909 | 0.45041108 | 0.48640909 | +| test.c:422:22:422:82 | ... ? ... : ... | 0.45041108 | 0.38708626 | 0.45041108 | +| test.c:422:26:422:69 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.14963485 | +| test.c:422:30:422:56 | ... ? ... : ... | 0.38708626 | 0.38708626 | 0.32876044 | +| test.c:423:14:423:108 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.05328182 | +| test.c:423:18:423:95 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.37428143 | +| test.c:423:22:423:82 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.14800508 | +| test.c:423:26:423:69 | ... ? ... : ... | 0.77086833 | 0.77086833 | 0.26428481 | +| test.c:423:30:423:56 | ... ? ... : ... | 0.77086833 | 0.15755063 | 0.77086833 | +| test.c:424:14:424:108 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.69072144 | +| test.c:424:18:424:95 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.39468857 | +| test.c:424:22:424:82 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.55679274 | +| test.c:424:26:424:69 | ... ? ... : ... | 0.76826628 | 0.76826628 | 0.27643238 | +| test.c:424:30:424:56 | ... ? ... : ... | 0.76826628 | 0.41736536 | 0.76826628 | +| test.c:425:14:425:108 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.81372798 | +| test.c:425:18:425:95 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.88745559 | +| test.c:425:22:425:82 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.2051911 | +| test.c:425:26:425:69 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.76242583 | +| test.c:425:30:425:56 | ... ? ... : ... | 0.88955345 | 0.88955345 | 0.29904824 | +| test.c:426:14:426:108 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.42762647 | +| test.c:426:18:426:95 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.52031241 | +| test.c:426:22:426:82 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.13204114 | +| test.c:426:26:426:69 | ... ? ... : ... | 0.53843358 | 0.53843358 | 0.44996679 | +| test.c:426:30:426:56 | ... ? ... : ... | 0.53843358 | 0.42186276 | 0.53843358 | +| test.c:468:4:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:468:5:470:49 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:471:6:553:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:472:8:490:41 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:475:10:479:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:475:31:475:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:477:13:479:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:484:12:489:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:485:12:485:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:487:15:489:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:491:6:510:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:494:8:498:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:494:29:494:77 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:496:11:498:19 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:499:6:499:54 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:503:10:507:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:503:31:503:79 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:505:13:507:21 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:508:9:510:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:512:10:531:43 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:515:12:520:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:516:12:516:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:518:15:520:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:525:14:530:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:526:14:526:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:528:17:530:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:532:9:553:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:535:14:540:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:536:14:536:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:538:17:540:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:541:12:541:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:545:12:550:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:546:12:546:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:548:15:550:23 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:551:11:553:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:554:9:556:51 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:557:9:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:558:14:577:47 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:561:16:566:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:562:16:562:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:564:19:566:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:571:18:576:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:572:18:572:66 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:574:21:576:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:578:12:599:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:581:14:586:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:582:14:582:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:584:17:586:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:587:12:587:60 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:591:16:596:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:592:16:592:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:594:19:596:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:597:15:599:29 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:601:12:620:45 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:604:14:609:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:605:14:605:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:607:17:609:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:614:16:619:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:615:16:615:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:617:19:619:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:621:11:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:624:16:629:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:625:16:625:64 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:627:19:629:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:630:14:630:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:634:14:639:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:635:14:635:62 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:637:17:639:25 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:640:13:642:27 | ... ? ... : ... | 4.294967295E9 | 4.294967295E9 | 4.294967295E9 | +| test.c:668:20:668:36 | ... ? ... : ... | 100.0 | 99.0 | 100.0 | +| test.c:880:5:880:14 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 | +| test.c:881:5:881:14 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 | | test.cpp:121:3:121:12 | ... ? ... : ... | 32767.0 | 32767.0 | 0.0 | | test.cpp:122:3:122:12 | ... ? ... : ... | 32767.0 | 0.0 | 32767.0 | diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/test.c b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/test.c index d59d20ecc9b..d394eb637ab 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/test.c +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/test.c @@ -343,6 +343,17 @@ unsigned long long test_shift(unsigned long long a) { return shifted; } +// Tests for bounds on integers derived from inequalities. +unsigned int test_inequality_integer(unsigned int e) { + unsigned int bi1 = (2 * e + 1) > 0 ? e : 2; + signed int bi2 = (2 * e + 1) >= 0 ? e : 2; + unsigned int bi3 = (3 * e + 2) > 0 ? e : 2; + unsigned int bi4 = (2 * e + 1) > 0 ? e : 2; + unsigned int bi5 = (2 * e + 1) > 16 ? e : 2; + + return bi1 + bi2 + bi3 + bi4 + bi5; +} + int test16(int x) { int d, i = 0; if (x < 0) { diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/upperBound.expected b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/upperBound.expected index b2591fb52f3..dd7fc398f0c 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/upperBound.expected +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/upperBound.expected @@ -352,664 +352,679 @@ | test.c:333:10:333:14 | total | 2147483647 | | test.c:341:32:341:34 | odd | 9007199254740991 | | test.c:343:10:343:16 | shifted | 4503599627370495 | -| test.c:348:7:348:7 | x | 2147483647 | -| test.c:352:10:352:10 | i | 7 | -| test.c:353:5:353:5 | i | 2 | -| test.c:355:3:355:3 | d | 2147483647 | -| test.c:355:7:355:7 | i | 7 | -| test.c:356:7:356:7 | x | 2147483647 | -| test.c:357:9:357:9 | d | 7 | -| test.c:357:14:357:14 | x | -1 | -| test.c:367:3:367:4 | y1 | 4294967295 | -| test.c:367:8:367:8 | x | 4294967295 | -| test.c:367:18:367:18 | x | 99 | -| test.c:368:3:368:4 | y2 | 4294967295 | -| test.c:368:8:368:8 | x | 4294967295 | -| test.c:368:24:368:24 | x | 99 | -| test.c:369:3:369:4 | y3 | 4294967295 | -| test.c:370:3:370:4 | y4 | 4294967295 | -| test.c:371:3:371:4 | y5 | 4294967295 | -| test.c:372:3:372:4 | y6 | 4294967295 | -| test.c:373:3:373:4 | y7 | 4294967295 | -| test.c:374:3:374:4 | y8 | 4294967295 | -| test.c:375:7:375:7 | x | 4294967295 | -| test.c:376:5:376:6 | y3 | 4294967295 | -| test.c:376:10:376:10 | x | 299 | -| test.c:377:5:377:6 | y4 | 4294967295 | -| test.c:377:10:377:10 | x | 299 | -| test.c:378:5:378:6 | y5 | 4294967295 | -| test.c:378:11:378:11 | x | 299 | -| test.c:379:5:379:6 | y6 | 4294967295 | -| test.c:379:27:379:27 | x | 299 | -| test.c:380:5:380:6 | y7 | 4294967295 | -| test.c:380:27:380:27 | x | 299 | -| test.c:381:5:381:6 | y8 | 4294967295 | -| test.c:381:28:381:28 | x | 299 | -| test.c:383:10:383:11 | y1 | 99 | -| test.c:383:15:383:16 | y2 | 99 | -| test.c:383:20:383:21 | y3 | 299 | -| test.c:383:25:383:26 | y4 | 500 | -| test.c:383:30:383:31 | y5 | 300 | -| test.c:383:35:383:36 | y6 | 255 | -| test.c:383:40:383:41 | y7 | 500 | -| test.c:383:45:383:46 | y8 | 300 | -| test.c:389:3:389:4 | y1 | 4294967295 | -| test.c:389:8:389:8 | x | 4294967295 | -| test.c:389:18:389:18 | x | 4294967295 | -| test.c:390:3:390:4 | y2 | 4294967295 | -| test.c:390:8:390:8 | x | 4294967295 | -| test.c:390:25:390:25 | x | 4294967295 | -| test.c:391:3:391:4 | y3 | 4294967295 | -| test.c:392:3:392:4 | y4 | 4294967295 | -| test.c:393:3:393:4 | y5 | 4294967295 | -| test.c:394:7:394:7 | x | 4294967295 | -| test.c:395:5:395:6 | y3 | 4294967295 | -| test.c:395:11:395:11 | x | 4294967295 | -| test.c:396:5:396:6 | y4 | 4294967295 | -| test.c:396:11:396:11 | x | 4294967295 | -| test.c:397:5:397:6 | y5 | 4294967295 | -| test.c:397:27:397:27 | x | 4294967295 | -| test.c:399:10:399:11 | y1 | 4294967295 | -| test.c:399:15:399:16 | y2 | 4294967295 | -| test.c:399:20:399:21 | y3 | 4294967295 | -| test.c:399:25:399:26 | y4 | 4294967295 | -| test.c:399:30:399:31 | y5 | 1000 | -| test.c:404:14:404:14 | m | Infinity | -| test.c:404:18:404:18 | n | Infinity | -| test.c:404:22:404:22 | o | Infinity | -| test.c:404:26:404:26 | p | Infinity | -| test.c:404:30:404:30 | q | Infinity | -| test.c:405:14:405:14 | m | Infinity | -| test.c:405:18:405:18 | n | Infinity | -| test.c:405:22:405:22 | o | Infinity | -| test.c:405:26:405:26 | p | Infinity | -| test.c:405:30:405:30 | q | Infinity | -| test.c:406:14:406:14 | m | Infinity | -| test.c:406:18:406:18 | n | Infinity | -| test.c:406:22:406:22 | o | Infinity | -| test.c:406:26:406:26 | p | Infinity | -| test.c:406:30:406:30 | q | Infinity | -| test.c:407:14:407:14 | m | Infinity | -| test.c:407:18:407:18 | n | Infinity | -| test.c:407:22:407:22 | o | Infinity | -| test.c:407:26:407:26 | p | Infinity | -| test.c:407:30:407:30 | q | Infinity | -| test.c:408:14:408:14 | m | Infinity | -| test.c:408:18:408:18 | n | Infinity | -| test.c:408:22:408:22 | o | Infinity | -| test.c:408:26:408:26 | p | Infinity | -| test.c:408:30:408:30 | q | Infinity | -| test.c:409:14:409:14 | m | Infinity | -| test.c:409:18:409:18 | n | Infinity | -| test.c:409:22:409:22 | o | Infinity | -| test.c:409:26:409:26 | p | Infinity | -| test.c:409:30:409:30 | q | Infinity | -| test.c:410:14:410:14 | m | Infinity | -| test.c:410:18:410:18 | n | Infinity | -| test.c:410:22:410:22 | o | Infinity | -| test.c:410:26:410:26 | p | Infinity | -| test.c:410:30:410:30 | q | Infinity | -| test.c:411:14:411:14 | m | Infinity | -| test.c:411:18:411:18 | n | Infinity | -| test.c:411:22:411:22 | o | Infinity | -| test.c:411:26:411:26 | p | Infinity | -| test.c:411:30:411:30 | q | Infinity | -| test.c:412:14:412:14 | m | Infinity | -| test.c:412:18:412:18 | n | Infinity | -| test.c:412:22:412:22 | o | Infinity | -| test.c:412:26:412:26 | p | Infinity | -| test.c:412:30:412:30 | q | Infinity | -| test.c:413:14:413:14 | m | Infinity | -| test.c:413:18:413:18 | n | Infinity | -| test.c:413:22:413:22 | o | Infinity | -| test.c:413:26:413:26 | p | Infinity | -| test.c:413:30:413:30 | q | Infinity | -| test.c:414:14:414:14 | m | Infinity | -| test.c:414:18:414:18 | n | Infinity | -| test.c:414:22:414:22 | o | Infinity | -| test.c:414:26:414:26 | p | Infinity | -| test.c:414:30:414:30 | q | Infinity | +| test.c:348:27:348:27 | e | 4294967295 | +| test.c:348:40:348:40 | e | 2147483647 | +| test.c:349:25:349:25 | e | 4294967295 | +| test.c:349:39:349:39 | e | 2147483647 | +| test.c:350:27:350:27 | e | 4294967295 | +| test.c:350:40:350:40 | e | 1431655764 | +| test.c:351:27:351:27 | e | 4294967295 | +| test.c:351:40:351:40 | e | 2147483647 | +| test.c:352:27:352:27 | e | 4294967295 | +| test.c:352:41:352:41 | e | 2147483647 | +| test.c:354:10:354:12 | bi1 | 2147483647 | +| test.c:354:16:354:18 | bi2 | 2147483647 | +| test.c:354:22:354:24 | bi3 | 1431655764 | +| test.c:354:28:354:30 | bi4 | 2147483647 | +| test.c:354:34:354:36 | bi5 | 2147483647 | +| test.c:359:7:359:7 | x | 2147483647 | +| test.c:363:10:363:10 | i | 7 | +| test.c:364:5:364:5 | i | 2 | +| test.c:366:3:366:3 | d | 2147483647 | +| test.c:366:7:366:7 | i | 7 | +| test.c:367:7:367:7 | x | 2147483647 | +| test.c:368:9:368:9 | d | 7 | +| test.c:368:14:368:14 | x | -1 | +| test.c:378:3:378:4 | y1 | 4294967295 | +| test.c:378:8:378:8 | x | 4294967295 | +| test.c:378:18:378:18 | x | 99 | +| test.c:379:3:379:4 | y2 | 4294967295 | +| test.c:379:8:379:8 | x | 4294967295 | +| test.c:379:24:379:24 | x | 99 | +| test.c:380:3:380:4 | y3 | 4294967295 | +| test.c:381:3:381:4 | y4 | 4294967295 | +| test.c:382:3:382:4 | y5 | 4294967295 | +| test.c:383:3:383:4 | y6 | 4294967295 | +| test.c:384:3:384:4 | y7 | 4294967295 | +| test.c:385:3:385:4 | y8 | 4294967295 | +| test.c:386:7:386:7 | x | 4294967295 | +| test.c:387:5:387:6 | y3 | 4294967295 | +| test.c:387:10:387:10 | x | 299 | +| test.c:388:5:388:6 | y4 | 4294967295 | +| test.c:388:10:388:10 | x | 299 | +| test.c:389:5:389:6 | y5 | 4294967295 | +| test.c:389:11:389:11 | x | 299 | +| test.c:390:5:390:6 | y6 | 4294967295 | +| test.c:390:27:390:27 | x | 299 | +| test.c:391:5:391:6 | y7 | 4294967295 | +| test.c:391:27:391:27 | x | 299 | +| test.c:392:5:392:6 | y8 | 4294967295 | +| test.c:392:28:392:28 | x | 299 | +| test.c:394:10:394:11 | y1 | 99 | +| test.c:394:15:394:16 | y2 | 99 | +| test.c:394:20:394:21 | y3 | 299 | +| test.c:394:25:394:26 | y4 | 500 | +| test.c:394:30:394:31 | y5 | 300 | +| test.c:394:35:394:36 | y6 | 255 | +| test.c:394:40:394:41 | y7 | 500 | +| test.c:394:45:394:46 | y8 | 300 | +| test.c:400:3:400:4 | y1 | 4294967295 | +| test.c:400:8:400:8 | x | 4294967295 | +| test.c:400:18:400:18 | x | 4294967295 | +| test.c:401:3:401:4 | y2 | 4294967295 | +| test.c:401:8:401:8 | x | 4294967295 | +| test.c:401:25:401:25 | x | 4294967295 | +| test.c:402:3:402:4 | y3 | 4294967295 | +| test.c:403:3:403:4 | y4 | 4294967295 | +| test.c:404:3:404:4 | y5 | 4294967295 | +| test.c:405:7:405:7 | x | 4294967295 | +| test.c:406:5:406:6 | y3 | 4294967295 | +| test.c:406:11:406:11 | x | 4294967295 | +| test.c:407:5:407:6 | y4 | 4294967295 | +| test.c:407:11:407:11 | x | 4294967295 | +| test.c:408:5:408:6 | y5 | 4294967295 | +| test.c:408:27:408:27 | x | 4294967295 | +| test.c:410:10:410:11 | y1 | 4294967295 | +| test.c:410:15:410:16 | y2 | 4294967295 | +| test.c:410:20:410:21 | y3 | 4294967295 | +| test.c:410:25:410:26 | y4 | 4294967295 | +| test.c:410:30:410:31 | y5 | 1000 | | test.c:415:14:415:14 | m | Infinity | | test.c:415:18:415:18 | n | Infinity | | test.c:415:22:415:22 | o | Infinity | | test.c:415:26:415:26 | p | Infinity | | test.c:415:30:415:30 | q | Infinity | -| test.c:421:19:421:19 | a | 0.474388 | -| test.c:421:23:421:23 | b | 0.592705 | -| test.c:421:27:421:27 | c | 0.793107 | -| test.c:421:31:421:31 | d | 0.989973 | -| test.c:421:35:421:35 | e | 0.903899 | -| test.c:421:39:421:39 | f | 0.761641 | -| test.c:421:43:421:43 | g | 0.958231 | -| test.c:421:47:421:47 | h | 0.843313 | -| test.c:421:51:421:51 | i | 0.770868 | -| test.c:421:55:421:55 | j | 0.768266 | -| test.c:421:59:421:59 | k | 0.889553 | -| test.c:421:63:421:63 | l | 0.538434 | -| test.c:423:10:423:15 | output | 9.284378 | -| test.c:430:7:430:9 | rhs | 4294967295 | -| test.c:430:19:430:21 | rhs | 11 | -| test.c:431:7:431:9 | rhs | 4294967295 | -| test.c:431:19:431:21 | rhs | 12 | -| test.c:432:7:432:9 | rhs | 4294967295 | -| test.c:432:19:432:21 | rhs | 13 | -| test.c:433:7:433:9 | rhs | 4294967295 | -| test.c:433:19:433:21 | rhs | 14 | -| test.c:434:7:434:9 | rhs | 4294967295 | -| test.c:434:19:434:21 | rhs | 15 | -| test.c:435:10:435:12 | rhs | 4294967295 | -| test.c:439:7:439:7 | a | 2147483647 | -| test.c:440:9:440:9 | b | 2147483647 | -| test.c:441:7:441:7 | a | 17 | -| test.c:441:12:441:12 | b | 23 | -| test.c:443:9:443:9 | a | 40 | -| test.c:444:7:444:7 | b | 2147483647 | -| test.c:449:11:449:11 | a | 2147483647 | -| test.c:449:15:449:15 | b | 2147483647 | -| test.c:450:10:450:10 | a | 2147483647 | -| test.c:450:14:450:14 | b | 2147483647 | -| test.c:457:10:457:11 | ip | 4294967295 | -| test.c:457:20:457:21 | ip | 4294967295 | -| test.c:457:40:457:41 | ip | 4294967295 | -| test.c:458:14:458:15 | ip | 4294967295 | -| test.c:459:14:459:15 | ip | 4294967295 | -| test.c:459:34:459:35 | ip | 4294967295 | -| test.c:460:11:460:12 | ip | 4294967295 | -| test.c:461:13:461:14 | ip | 4294967295 | -| test.c:462:14:462:15 | ip | 4294967295 | -| test.c:463:14:463:15 | ip | 4294967295 | -| test.c:464:15:464:16 | ip | 4294967295 | -| test.c:464:41:464:42 | ip | 4294967295 | -| test.c:464:52:464:53 | ip | 4294967295 | -| test.c:464:67:464:68 | ip | 4294967295 | -| test.c:464:78:464:79 | ip | 4294967295 | -| test.c:465:18:465:19 | ip | 4294967295 | -| test.c:466:23:466:24 | ip | 4294967295 | -| test.c:466:34:466:35 | ip | 4294967295 | -| test.c:467:25:467:26 | ip | 4294967295 | +| test.c:416:14:416:14 | m | Infinity | +| test.c:416:18:416:18 | n | Infinity | +| test.c:416:22:416:22 | o | Infinity | +| test.c:416:26:416:26 | p | Infinity | +| test.c:416:30:416:30 | q | Infinity | +| test.c:417:14:417:14 | m | Infinity | +| test.c:417:18:417:18 | n | Infinity | +| test.c:417:22:417:22 | o | Infinity | +| test.c:417:26:417:26 | p | Infinity | +| test.c:417:30:417:30 | q | Infinity | +| test.c:418:14:418:14 | m | Infinity | +| test.c:418:18:418:18 | n | Infinity | +| test.c:418:22:418:22 | o | Infinity | +| test.c:418:26:418:26 | p | Infinity | +| test.c:418:30:418:30 | q | Infinity | +| test.c:419:14:419:14 | m | Infinity | +| test.c:419:18:419:18 | n | Infinity | +| test.c:419:22:419:22 | o | Infinity | +| test.c:419:26:419:26 | p | Infinity | +| test.c:419:30:419:30 | q | Infinity | +| test.c:420:14:420:14 | m | Infinity | +| test.c:420:18:420:18 | n | Infinity | +| test.c:420:22:420:22 | o | Infinity | +| test.c:420:26:420:26 | p | Infinity | +| test.c:420:30:420:30 | q | Infinity | +| test.c:421:14:421:14 | m | Infinity | +| test.c:421:18:421:18 | n | Infinity | +| test.c:421:22:421:22 | o | Infinity | +| test.c:421:26:421:26 | p | Infinity | +| test.c:421:30:421:30 | q | Infinity | +| test.c:422:14:422:14 | m | Infinity | +| test.c:422:18:422:18 | n | Infinity | +| test.c:422:22:422:22 | o | Infinity | +| test.c:422:26:422:26 | p | Infinity | +| test.c:422:30:422:30 | q | Infinity | +| test.c:423:14:423:14 | m | Infinity | +| test.c:423:18:423:18 | n | Infinity | +| test.c:423:22:423:22 | o | Infinity | +| test.c:423:26:423:26 | p | Infinity | +| test.c:423:30:423:30 | q | Infinity | +| test.c:424:14:424:14 | m | Infinity | +| test.c:424:18:424:18 | n | Infinity | +| test.c:424:22:424:22 | o | Infinity | +| test.c:424:26:424:26 | p | Infinity | +| test.c:424:30:424:30 | q | Infinity | +| test.c:425:14:425:14 | m | Infinity | +| test.c:425:18:425:18 | n | Infinity | +| test.c:425:22:425:22 | o | Infinity | +| test.c:425:26:425:26 | p | Infinity | +| test.c:425:30:425:30 | q | Infinity | +| test.c:426:14:426:14 | m | Infinity | +| test.c:426:18:426:18 | n | Infinity | +| test.c:426:22:426:22 | o | Infinity | +| test.c:426:26:426:26 | p | Infinity | +| test.c:426:30:426:30 | q | Infinity | +| test.c:432:19:432:19 | a | 0.474388 | +| test.c:432:23:432:23 | b | 0.592705 | +| test.c:432:27:432:27 | c | 0.793107 | +| test.c:432:31:432:31 | d | 0.989973 | +| test.c:432:35:432:35 | e | 0.903899 | +| test.c:432:39:432:39 | f | 0.761641 | +| test.c:432:43:432:43 | g | 0.958231 | +| test.c:432:47:432:47 | h | 0.843313 | +| test.c:432:51:432:51 | i | 0.770868 | +| test.c:432:55:432:55 | j | 0.768266 | +| test.c:432:59:432:59 | k | 0.889553 | +| test.c:432:63:432:63 | l | 0.538434 | +| test.c:434:10:434:15 | output | 9.284378 | +| test.c:441:7:441:9 | rhs | 4294967295 | +| test.c:441:19:441:21 | rhs | 11 | +| test.c:442:7:442:9 | rhs | 4294967295 | +| test.c:442:19:442:21 | rhs | 12 | +| test.c:443:7:443:9 | rhs | 4294967295 | +| test.c:443:19:443:21 | rhs | 13 | +| test.c:444:7:444:9 | rhs | 4294967295 | +| test.c:444:19:444:21 | rhs | 14 | +| test.c:445:7:445:9 | rhs | 4294967295 | +| test.c:445:19:445:21 | rhs | 15 | +| test.c:446:10:446:12 | rhs | 4294967295 | +| test.c:450:7:450:7 | a | 2147483647 | +| test.c:451:9:451:9 | b | 2147483647 | +| test.c:452:7:452:7 | a | 17 | +| test.c:452:12:452:12 | b | 23 | +| test.c:454:9:454:9 | a | 40 | +| test.c:455:7:455:7 | b | 2147483647 | +| test.c:460:11:460:11 | a | 2147483647 | +| test.c:460:15:460:15 | b | 2147483647 | +| test.c:461:10:461:10 | a | 2147483647 | +| test.c:461:14:461:14 | b | 2147483647 | +| test.c:468:10:468:11 | ip | 4294967295 | | test.c:468:20:468:21 | ip | 4294967295 | -| test.c:469:11:469:12 | ip | 4294967295 | -| test.c:469:26:469:27 | ip | 4294967295 | -| test.c:470:16:470:17 | ip | 4294967295 | -| test.c:471:16:471:17 | ip | 4294967295 | -| test.c:472:16:472:17 | ip | 4294967295 | -| test.c:473:17:473:18 | ip | 4294967295 | -| test.c:474:22:474:23 | ip | 4294967295 | -| test.c:474:33:474:34 | ip | 4294967295 | -| test.c:474:48:474:49 | ip | 4294967295 | -| test.c:474:59:474:60 | ip | 4294967295 | -| test.c:475:20:475:21 | ip | 4294967295 | -| test.c:476:25:476:26 | ip | 4294967295 | -| test.c:476:36:476:37 | ip | 4294967295 | -| test.c:477:27:477:28 | ip | 4294967295 | -| test.c:478:22:478:23 | ip | 4294967295 | -| test.c:479:15:479:16 | ip | 4294967295 | -| test.c:479:30:479:31 | ip | 4294967295 | +| test.c:468:40:468:41 | ip | 4294967295 | +| test.c:469:14:469:15 | ip | 4294967295 | +| test.c:470:14:470:15 | ip | 4294967295 | +| test.c:470:34:470:35 | ip | 4294967295 | +| test.c:471:11:471:12 | ip | 4294967295 | +| test.c:472:13:472:14 | ip | 4294967295 | +| test.c:473:14:473:15 | ip | 4294967295 | +| test.c:474:14:474:15 | ip | 4294967295 | +| test.c:475:15:475:16 | ip | 4294967295 | +| test.c:475:41:475:42 | ip | 4294967295 | +| test.c:475:52:475:53 | ip | 4294967295 | +| test.c:475:67:475:68 | ip | 4294967295 | +| test.c:475:78:475:79 | ip | 4294967295 | +| test.c:476:18:476:19 | ip | 4294967295 | +| test.c:477:23:477:24 | ip | 4294967295 | +| test.c:477:34:477:35 | ip | 4294967295 | +| test.c:478:25:478:26 | ip | 4294967295 | +| test.c:479:20:479:21 | ip | 4294967295 | | test.c:480:11:480:12 | ip | 4294967295 | -| test.c:481:12:481:13 | ip | 4294967295 | -| test.c:482:12:482:13 | ip | 4294967295 | -| test.c:483:13:483:14 | ip | 4294967295 | -| test.c:483:39:483:40 | ip | 4294967295 | -| test.c:483:50:483:51 | ip | 4294967295 | -| test.c:483:65:483:66 | ip | 4294967295 | -| test.c:483:76:483:77 | ip | 4294967295 | -| test.c:484:16:484:17 | ip | 4294967295 | -| test.c:485:21:485:22 | ip | 4294967295 | -| test.c:485:32:485:33 | ip | 4294967295 | -| test.c:486:23:486:24 | ip | 4294967295 | -| test.c:487:18:487:19 | ip | 4294967295 | -| test.c:488:11:488:12 | ip | 4294967295 | -| test.c:488:17:488:18 | ip | 4294967295 | -| test.c:488:37:488:38 | ip | 4294967295 | -| test.c:488:43:488:44 | ip | 4294967295 | -| test.c:489:14:489:15 | ip | 4294967295 | -| test.c:490:14:490:15 | ip | 4294967295 | -| test.c:491:14:491:15 | ip | 4294967295 | -| test.c:492:15:492:16 | ip | 4294967295 | -| test.c:492:41:492:42 | ip | 4294967295 | -| test.c:492:52:492:53 | ip | 4294967295 | -| test.c:492:67:492:68 | ip | 4294967295 | -| test.c:492:78:492:79 | ip | 4294967295 | -| test.c:493:18:493:19 | ip | 4294967295 | -| test.c:494:23:494:24 | ip | 4294967295 | -| test.c:494:34:494:35 | ip | 4294967295 | -| test.c:495:25:495:26 | ip | 4294967295 | -| test.c:496:20:496:21 | ip | 4294967295 | -| test.c:497:14:497:15 | ip | 4294967295 | -| test.c:497:20:497:21 | ip | 4294967295 | -| test.c:498:16:498:17 | ip | 4294967295 | -| test.c:499:12:499:13 | ip | 4294967295 | +| test.c:480:26:480:27 | ip | 4294967295 | +| test.c:481:16:481:17 | ip | 4294967295 | +| test.c:482:16:482:17 | ip | 4294967295 | +| test.c:483:16:483:17 | ip | 4294967295 | +| test.c:484:17:484:18 | ip | 4294967295 | +| test.c:485:22:485:23 | ip | 4294967295 | +| test.c:485:33:485:34 | ip | 4294967295 | +| test.c:485:48:485:49 | ip | 4294967295 | +| test.c:485:59:485:60 | ip | 4294967295 | +| test.c:486:20:486:21 | ip | 4294967295 | +| test.c:487:25:487:26 | ip | 4294967295 | +| test.c:487:36:487:37 | ip | 4294967295 | +| test.c:488:27:488:28 | ip | 4294967295 | +| test.c:489:22:489:23 | ip | 4294967295 | +| test.c:490:15:490:16 | ip | 4294967295 | +| test.c:490:30:490:31 | ip | 4294967295 | +| test.c:491:11:491:12 | ip | 4294967295 | +| test.c:492:12:492:13 | ip | 4294967295 | +| test.c:493:12:493:13 | ip | 4294967295 | +| test.c:494:13:494:14 | ip | 4294967295 | +| test.c:494:39:494:40 | ip | 4294967295 | +| test.c:494:50:494:51 | ip | 4294967295 | +| test.c:494:65:494:66 | ip | 4294967295 | +| test.c:494:76:494:77 | ip | 4294967295 | +| test.c:495:16:495:17 | ip | 4294967295 | +| test.c:496:21:496:22 | ip | 4294967295 | +| test.c:496:32:496:33 | ip | 4294967295 | +| test.c:497:23:497:24 | ip | 4294967295 | +| test.c:498:18:498:19 | ip | 4294967295 | +| test.c:499:11:499:12 | ip | 4294967295 | +| test.c:499:17:499:18 | ip | 4294967295 | +| test.c:499:37:499:38 | ip | 4294967295 | +| test.c:499:43:499:44 | ip | 4294967295 | | test.c:500:14:500:15 | ip | 4294967295 | -| test.c:501:15:501:16 | ip | 4294967295 | -| test.c:502:16:502:17 | ip | 4294967295 | -| test.c:503:16:503:17 | ip | 4294967295 | -| test.c:504:17:504:18 | ip | 4294967295 | -| test.c:505:22:505:23 | ip | 4294967295 | -| test.c:505:33:505:34 | ip | 4294967295 | -| test.c:505:48:505:49 | ip | 4294967295 | -| test.c:505:59:505:60 | ip | 4294967295 | -| test.c:506:20:506:21 | ip | 4294967295 | -| test.c:507:25:507:26 | ip | 4294967295 | -| test.c:507:36:507:37 | ip | 4294967295 | -| test.c:508:27:508:28 | ip | 4294967295 | -| test.c:509:22:509:23 | ip | 4294967295 | -| test.c:510:13:510:14 | ip | 4294967295 | -| test.c:510:28:510:29 | ip | 4294967295 | -| test.c:511:18:511:19 | ip | 4294967295 | -| test.c:512:18:512:19 | ip | 4294967295 | -| test.c:513:18:513:19 | ip | 4294967295 | -| test.c:514:19:514:20 | ip | 4294967295 | -| test.c:515:24:515:25 | ip | 4294967295 | -| test.c:515:35:515:36 | ip | 4294967295 | -| test.c:515:50:515:51 | ip | 4294967295 | -| test.c:515:61:515:62 | ip | 4294967295 | +| test.c:501:14:501:15 | ip | 4294967295 | +| test.c:502:14:502:15 | ip | 4294967295 | +| test.c:503:15:503:16 | ip | 4294967295 | +| test.c:503:41:503:42 | ip | 4294967295 | +| test.c:503:52:503:53 | ip | 4294967295 | +| test.c:503:67:503:68 | ip | 4294967295 | +| test.c:503:78:503:79 | ip | 4294967295 | +| test.c:504:18:504:19 | ip | 4294967295 | +| test.c:505:23:505:24 | ip | 4294967295 | +| test.c:505:34:505:35 | ip | 4294967295 | +| test.c:506:25:506:26 | ip | 4294967295 | +| test.c:507:20:507:21 | ip | 4294967295 | +| test.c:508:14:508:15 | ip | 4294967295 | +| test.c:508:20:508:21 | ip | 4294967295 | +| test.c:509:16:509:17 | ip | 4294967295 | +| test.c:510:12:510:13 | ip | 4294967295 | +| test.c:511:14:511:15 | ip | 4294967295 | +| test.c:512:15:512:16 | ip | 4294967295 | +| test.c:513:16:513:17 | ip | 4294967295 | +| test.c:514:16:514:17 | ip | 4294967295 | +| test.c:515:17:515:18 | ip | 4294967295 | | test.c:516:22:516:23 | ip | 4294967295 | -| test.c:517:27:517:28 | ip | 4294967295 | -| test.c:517:38:517:39 | ip | 4294967295 | -| test.c:518:29:518:30 | ip | 4294967295 | -| test.c:519:24:519:25 | ip | 4294967295 | -| test.c:520:17:520:18 | ip | 4294967295 | -| test.c:520:32:520:33 | ip | 4294967295 | -| test.c:521:14:521:15 | ip | 4294967295 | +| test.c:516:33:516:34 | ip | 4294967295 | +| test.c:516:48:516:49 | ip | 4294967295 | +| test.c:516:59:516:60 | ip | 4294967295 | +| test.c:517:20:517:21 | ip | 4294967295 | +| test.c:518:25:518:26 | ip | 4294967295 | +| test.c:518:36:518:37 | ip | 4294967295 | +| test.c:519:27:519:28 | ip | 4294967295 | +| test.c:520:22:520:23 | ip | 4294967295 | +| test.c:521:13:521:14 | ip | 4294967295 | +| test.c:521:28:521:29 | ip | 4294967295 | | test.c:522:18:522:19 | ip | 4294967295 | | test.c:523:18:523:19 | ip | 4294967295 | -| test.c:524:19:524:20 | ip | 4294967295 | -| test.c:525:24:525:25 | ip | 4294967295 | -| test.c:525:35:525:36 | ip | 4294967295 | -| test.c:525:50:525:51 | ip | 4294967295 | -| test.c:525:61:525:62 | ip | 4294967295 | -| test.c:526:22:526:23 | ip | 4294967295 | -| test.c:527:27:527:28 | ip | 4294967295 | -| test.c:527:38:527:39 | ip | 4294967295 | -| test.c:528:29:528:30 | ip | 4294967295 | -| test.c:529:24:529:25 | ip | 4294967295 | -| test.c:530:17:530:18 | ip | 4294967295 | -| test.c:530:23:530:24 | ip | 4294967295 | -| test.c:530:43:530:44 | ip | 4294967295 | -| test.c:530:49:530:50 | ip | 4294967295 | -| test.c:531:16:531:17 | ip | 4294967295 | -| test.c:532:16:532:17 | ip | 4294967295 | -| test.c:533:16:533:17 | ip | 4294967295 | -| test.c:534:17:534:18 | ip | 4294967295 | -| test.c:535:22:535:23 | ip | 4294967295 | -| test.c:535:33:535:34 | ip | 4294967295 | -| test.c:535:48:535:49 | ip | 4294967295 | -| test.c:535:59:535:60 | ip | 4294967295 | -| test.c:536:20:536:21 | ip | 4294967295 | -| test.c:537:25:537:26 | ip | 4294967295 | -| test.c:537:36:537:37 | ip | 4294967295 | +| test.c:524:18:524:19 | ip | 4294967295 | +| test.c:525:19:525:20 | ip | 4294967295 | +| test.c:526:24:526:25 | ip | 4294967295 | +| test.c:526:35:526:36 | ip | 4294967295 | +| test.c:526:50:526:51 | ip | 4294967295 | +| test.c:526:61:526:62 | ip | 4294967295 | +| test.c:527:22:527:23 | ip | 4294967295 | +| test.c:528:27:528:28 | ip | 4294967295 | +| test.c:528:38:528:39 | ip | 4294967295 | +| test.c:529:29:529:30 | ip | 4294967295 | +| test.c:530:24:530:25 | ip | 4294967295 | +| test.c:531:17:531:18 | ip | 4294967295 | +| test.c:531:32:531:33 | ip | 4294967295 | +| test.c:532:14:532:15 | ip | 4294967295 | +| test.c:533:18:533:19 | ip | 4294967295 | +| test.c:534:18:534:19 | ip | 4294967295 | +| test.c:535:19:535:20 | ip | 4294967295 | +| test.c:536:24:536:25 | ip | 4294967295 | +| test.c:536:35:536:36 | ip | 4294967295 | +| test.c:536:50:536:51 | ip | 4294967295 | +| test.c:536:61:536:62 | ip | 4294967295 | +| test.c:537:22:537:23 | ip | 4294967295 | | test.c:538:27:538:28 | ip | 4294967295 | -| test.c:539:22:539:23 | ip | 4294967295 | -| test.c:540:16:540:17 | ip | 4294967295 | -| test.c:540:22:540:23 | ip | 4294967295 | -| test.c:541:18:541:19 | ip | 4294967295 | -| test.c:542:14:542:15 | ip | 4294967295 | -| test.c:543:14:543:15 | ip | 4294967295 | -| test.c:543:24:543:25 | ip | 4294967295 | -| test.c:543:44:543:45 | ip | 4294967295 | +| test.c:538:38:538:39 | ip | 4294967295 | +| test.c:539:29:539:30 | ip | 4294967295 | +| test.c:540:24:540:25 | ip | 4294967295 | +| test.c:541:17:541:18 | ip | 4294967295 | +| test.c:541:23:541:24 | ip | 4294967295 | +| test.c:541:43:541:44 | ip | 4294967295 | +| test.c:541:49:541:50 | ip | 4294967295 | +| test.c:542:16:542:17 | ip | 4294967295 | +| test.c:543:16:543:17 | ip | 4294967295 | | test.c:544:16:544:17 | ip | 4294967295 | -| test.c:545:16:545:17 | ip | 4294967295 | -| test.c:545:36:545:37 | ip | 4294967295 | -| test.c:546:14:546:15 | ip | 4294967295 | -| test.c:547:19:547:20 | ip | 4294967295 | -| test.c:548:20:548:21 | ip | 4294967295 | -| test.c:549:20:549:21 | ip | 4294967295 | -| test.c:550:21:550:22 | ip | 4294967295 | -| test.c:551:26:551:27 | ip | 4294967295 | -| test.c:551:37:551:38 | ip | 4294967295 | -| test.c:551:52:551:53 | ip | 4294967295 | -| test.c:551:63:551:64 | ip | 4294967295 | -| test.c:552:24:552:25 | ip | 4294967295 | -| test.c:553:29:553:30 | ip | 4294967295 | -| test.c:553:40:553:41 | ip | 4294967295 | -| test.c:554:31:554:32 | ip | 4294967295 | -| test.c:555:26:555:27 | ip | 4294967295 | -| test.c:556:17:556:18 | ip | 4294967295 | -| test.c:556:32:556:33 | ip | 4294967295 | -| test.c:557:22:557:23 | ip | 4294967295 | -| test.c:558:22:558:23 | ip | 4294967295 | -| test.c:559:22:559:23 | ip | 4294967295 | -| test.c:560:23:560:24 | ip | 4294967295 | -| test.c:561:28:561:29 | ip | 4294967295 | -| test.c:561:39:561:40 | ip | 4294967295 | -| test.c:561:54:561:55 | ip | 4294967295 | -| test.c:561:65:561:66 | ip | 4294967295 | +| test.c:545:17:545:18 | ip | 4294967295 | +| test.c:546:22:546:23 | ip | 4294967295 | +| test.c:546:33:546:34 | ip | 4294967295 | +| test.c:546:48:546:49 | ip | 4294967295 | +| test.c:546:59:546:60 | ip | 4294967295 | +| test.c:547:20:547:21 | ip | 4294967295 | +| test.c:548:25:548:26 | ip | 4294967295 | +| test.c:548:36:548:37 | ip | 4294967295 | +| test.c:549:27:549:28 | ip | 4294967295 | +| test.c:550:22:550:23 | ip | 4294967295 | +| test.c:551:16:551:17 | ip | 4294967295 | +| test.c:551:22:551:23 | ip | 4294967295 | +| test.c:552:18:552:19 | ip | 4294967295 | +| test.c:553:14:553:15 | ip | 4294967295 | +| test.c:554:14:554:15 | ip | 4294967295 | +| test.c:554:24:554:25 | ip | 4294967295 | +| test.c:554:44:554:45 | ip | 4294967295 | +| test.c:555:16:555:17 | ip | 4294967295 | +| test.c:556:16:556:17 | ip | 4294967295 | +| test.c:556:36:556:37 | ip | 4294967295 | +| test.c:557:14:557:15 | ip | 4294967295 | +| test.c:558:19:558:20 | ip | 4294967295 | +| test.c:559:20:559:21 | ip | 4294967295 | +| test.c:560:20:560:21 | ip | 4294967295 | +| test.c:561:21:561:22 | ip | 4294967295 | | test.c:562:26:562:27 | ip | 4294967295 | -| test.c:563:31:563:32 | ip | 4294967295 | -| test.c:563:42:563:43 | ip | 4294967295 | -| test.c:564:33:564:34 | ip | 4294967295 | -| test.c:565:28:565:29 | ip | 4294967295 | -| test.c:566:21:566:22 | ip | 4294967295 | -| test.c:566:36:566:37 | ip | 4294967295 | +| test.c:562:37:562:38 | ip | 4294967295 | +| test.c:562:52:562:53 | ip | 4294967295 | +| test.c:562:63:562:64 | ip | 4294967295 | +| test.c:563:24:563:25 | ip | 4294967295 | +| test.c:564:29:564:30 | ip | 4294967295 | +| test.c:564:40:564:41 | ip | 4294967295 | +| test.c:565:31:565:32 | ip | 4294967295 | +| test.c:566:26:566:27 | ip | 4294967295 | | test.c:567:17:567:18 | ip | 4294967295 | -| test.c:568:18:568:19 | ip | 4294967295 | -| test.c:569:18:569:19 | ip | 4294967295 | -| test.c:570:19:570:20 | ip | 4294967295 | -| test.c:571:24:571:25 | ip | 4294967295 | -| test.c:571:35:571:36 | ip | 4294967295 | -| test.c:571:50:571:51 | ip | 4294967295 | -| test.c:571:61:571:62 | ip | 4294967295 | -| test.c:572:22:572:23 | ip | 4294967295 | -| test.c:573:27:573:28 | ip | 4294967295 | -| test.c:573:38:573:39 | ip | 4294967295 | -| test.c:574:29:574:30 | ip | 4294967295 | -| test.c:575:24:575:25 | ip | 4294967295 | -| test.c:576:17:576:18 | ip | 4294967295 | -| test.c:576:23:576:24 | ip | 4294967295 | -| test.c:576:43:576:44 | ip | 4294967295 | -| test.c:576:49:576:50 | ip | 4294967295 | -| test.c:577:20:577:21 | ip | 4294967295 | -| test.c:578:20:578:21 | ip | 4294967295 | -| test.c:579:20:579:21 | ip | 4294967295 | -| test.c:580:21:580:22 | ip | 4294967295 | -| test.c:581:26:581:27 | ip | 4294967295 | -| test.c:581:37:581:38 | ip | 4294967295 | -| test.c:581:52:581:53 | ip | 4294967295 | -| test.c:581:63:581:64 | ip | 4294967295 | +| test.c:567:32:567:33 | ip | 4294967295 | +| test.c:568:22:568:23 | ip | 4294967295 | +| test.c:569:22:569:23 | ip | 4294967295 | +| test.c:570:22:570:23 | ip | 4294967295 | +| test.c:571:23:571:24 | ip | 4294967295 | +| test.c:572:28:572:29 | ip | 4294967295 | +| test.c:572:39:572:40 | ip | 4294967295 | +| test.c:572:54:572:55 | ip | 4294967295 | +| test.c:572:65:572:66 | ip | 4294967295 | +| test.c:573:26:573:27 | ip | 4294967295 | +| test.c:574:31:574:32 | ip | 4294967295 | +| test.c:574:42:574:43 | ip | 4294967295 | +| test.c:575:33:575:34 | ip | 4294967295 | +| test.c:576:28:576:29 | ip | 4294967295 | +| test.c:577:21:577:22 | ip | 4294967295 | +| test.c:577:36:577:37 | ip | 4294967295 | +| test.c:578:17:578:18 | ip | 4294967295 | +| test.c:579:18:579:19 | ip | 4294967295 | +| test.c:580:18:580:19 | ip | 4294967295 | +| test.c:581:19:581:20 | ip | 4294967295 | | test.c:582:24:582:25 | ip | 4294967295 | -| test.c:583:29:583:30 | ip | 4294967295 | -| test.c:583:40:583:41 | ip | 4294967295 | -| test.c:584:31:584:32 | ip | 4294967295 | -| test.c:585:26:585:27 | ip | 4294967295 | -| test.c:586:20:586:21 | ip | 4294967295 | -| test.c:586:26:586:27 | ip | 4294967295 | -| test.c:587:22:587:23 | ip | 4294967295 | -| test.c:588:18:588:19 | ip | 4294967295 | -| test.c:589:16:589:17 | ip | 4294967295 | -| test.c:590:17:590:18 | ip | 4294967295 | -| test.c:591:18:591:19 | ip | 4294967295 | -| test.c:592:18:592:19 | ip | 4294967295 | -| test.c:593:19:593:20 | ip | 4294967295 | -| test.c:594:24:594:25 | ip | 4294967295 | -| test.c:594:35:594:36 | ip | 4294967295 | -| test.c:594:50:594:51 | ip | 4294967295 | -| test.c:594:61:594:62 | ip | 4294967295 | -| test.c:595:22:595:23 | ip | 4294967295 | -| test.c:596:27:596:28 | ip | 4294967295 | -| test.c:596:38:596:39 | ip | 4294967295 | -| test.c:597:29:597:30 | ip | 4294967295 | -| test.c:598:24:598:25 | ip | 4294967295 | -| test.c:599:15:599:16 | ip | 4294967295 | -| test.c:599:30:599:31 | ip | 4294967295 | -| test.c:600:20:600:21 | ip | 4294967295 | -| test.c:601:20:601:21 | ip | 4294967295 | -| test.c:602:20:602:21 | ip | 4294967295 | -| test.c:603:21:603:22 | ip | 4294967295 | -| test.c:604:26:604:27 | ip | 4294967295 | -| test.c:604:37:604:38 | ip | 4294967295 | -| test.c:604:52:604:53 | ip | 4294967295 | -| test.c:604:63:604:64 | ip | 4294967295 | +| test.c:582:35:582:36 | ip | 4294967295 | +| test.c:582:50:582:51 | ip | 4294967295 | +| test.c:582:61:582:62 | ip | 4294967295 | +| test.c:583:22:583:23 | ip | 4294967295 | +| test.c:584:27:584:28 | ip | 4294967295 | +| test.c:584:38:584:39 | ip | 4294967295 | +| test.c:585:29:585:30 | ip | 4294967295 | +| test.c:586:24:586:25 | ip | 4294967295 | +| test.c:587:17:587:18 | ip | 4294967295 | +| test.c:587:23:587:24 | ip | 4294967295 | +| test.c:587:43:587:44 | ip | 4294967295 | +| test.c:587:49:587:50 | ip | 4294967295 | +| test.c:588:20:588:21 | ip | 4294967295 | +| test.c:589:20:589:21 | ip | 4294967295 | +| test.c:590:20:590:21 | ip | 4294967295 | +| test.c:591:21:591:22 | ip | 4294967295 | +| test.c:592:26:592:27 | ip | 4294967295 | +| test.c:592:37:592:38 | ip | 4294967295 | +| test.c:592:52:592:53 | ip | 4294967295 | +| test.c:592:63:592:64 | ip | 4294967295 | +| test.c:593:24:593:25 | ip | 4294967295 | +| test.c:594:29:594:30 | ip | 4294967295 | +| test.c:594:40:594:41 | ip | 4294967295 | +| test.c:595:31:595:32 | ip | 4294967295 | +| test.c:596:26:596:27 | ip | 4294967295 | +| test.c:597:20:597:21 | ip | 4294967295 | +| test.c:597:26:597:27 | ip | 4294967295 | +| test.c:598:22:598:23 | ip | 4294967295 | +| test.c:599:18:599:19 | ip | 4294967295 | +| test.c:600:16:600:17 | ip | 4294967295 | +| test.c:601:17:601:18 | ip | 4294967295 | +| test.c:602:18:602:19 | ip | 4294967295 | +| test.c:603:18:603:19 | ip | 4294967295 | +| test.c:604:19:604:20 | ip | 4294967295 | | test.c:605:24:605:25 | ip | 4294967295 | -| test.c:606:29:606:30 | ip | 4294967295 | -| test.c:606:40:606:41 | ip | 4294967295 | -| test.c:607:31:607:32 | ip | 4294967295 | -| test.c:608:26:608:27 | ip | 4294967295 | -| test.c:609:19:609:20 | ip | 4294967295 | -| test.c:609:34:609:35 | ip | 4294967295 | -| test.c:610:16:610:17 | ip | 4294967295 | +| test.c:605:35:605:36 | ip | 4294967295 | +| test.c:605:50:605:51 | ip | 4294967295 | +| test.c:605:61:605:62 | ip | 4294967295 | +| test.c:606:22:606:23 | ip | 4294967295 | +| test.c:607:27:607:28 | ip | 4294967295 | +| test.c:607:38:607:39 | ip | 4294967295 | +| test.c:608:29:608:30 | ip | 4294967295 | +| test.c:609:24:609:25 | ip | 4294967295 | +| test.c:610:15:610:16 | ip | 4294967295 | +| test.c:610:30:610:31 | ip | 4294967295 | | test.c:611:20:611:21 | ip | 4294967295 | | test.c:612:20:612:21 | ip | 4294967295 | -| test.c:613:21:613:22 | ip | 4294967295 | -| test.c:614:26:614:27 | ip | 4294967295 | -| test.c:614:37:614:38 | ip | 4294967295 | -| test.c:614:52:614:53 | ip | 4294967295 | -| test.c:614:63:614:64 | ip | 4294967295 | -| test.c:615:24:615:25 | ip | 4294967295 | -| test.c:616:29:616:30 | ip | 4294967295 | -| test.c:616:40:616:41 | ip | 4294967295 | -| test.c:617:31:617:32 | ip | 4294967295 | -| test.c:618:26:618:27 | ip | 4294967295 | -| test.c:619:19:619:20 | ip | 4294967295 | -| test.c:619:25:619:26 | ip | 4294967295 | -| test.c:619:45:619:46 | ip | 4294967295 | -| test.c:619:51:619:52 | ip | 4294967295 | -| test.c:620:18:620:19 | ip | 4294967295 | -| test.c:621:18:621:19 | ip | 4294967295 | -| test.c:622:18:622:19 | ip | 4294967295 | -| test.c:623:19:623:20 | ip | 4294967295 | -| test.c:624:24:624:25 | ip | 4294967295 | -| test.c:624:35:624:36 | ip | 4294967295 | -| test.c:624:50:624:51 | ip | 4294967295 | -| test.c:624:61:624:62 | ip | 4294967295 | -| test.c:625:22:625:23 | ip | 4294967295 | -| test.c:626:27:626:28 | ip | 4294967295 | -| test.c:626:38:626:39 | ip | 4294967295 | +| test.c:613:20:613:21 | ip | 4294967295 | +| test.c:614:21:614:22 | ip | 4294967295 | +| test.c:615:26:615:27 | ip | 4294967295 | +| test.c:615:37:615:38 | ip | 4294967295 | +| test.c:615:52:615:53 | ip | 4294967295 | +| test.c:615:63:615:64 | ip | 4294967295 | +| test.c:616:24:616:25 | ip | 4294967295 | +| test.c:617:29:617:30 | ip | 4294967295 | +| test.c:617:40:617:41 | ip | 4294967295 | +| test.c:618:31:618:32 | ip | 4294967295 | +| test.c:619:26:619:27 | ip | 4294967295 | +| test.c:620:19:620:20 | ip | 4294967295 | +| test.c:620:34:620:35 | ip | 4294967295 | +| test.c:621:16:621:17 | ip | 4294967295 | +| test.c:622:20:622:21 | ip | 4294967295 | +| test.c:623:20:623:21 | ip | 4294967295 | +| test.c:624:21:624:22 | ip | 4294967295 | +| test.c:625:26:625:27 | ip | 4294967295 | +| test.c:625:37:625:38 | ip | 4294967295 | +| test.c:625:52:625:53 | ip | 4294967295 | +| test.c:625:63:625:64 | ip | 4294967295 | +| test.c:626:24:626:25 | ip | 4294967295 | | test.c:627:29:627:30 | ip | 4294967295 | -| test.c:628:24:628:25 | ip | 4294967295 | -| test.c:629:18:629:19 | ip | 4294967295 | -| test.c:629:24:629:25 | ip | 4294967295 | -| test.c:630:20:630:21 | ip | 4294967295 | -| test.c:631:16:631:17 | ip | 4294967295 | -| test.c:632:10:632:23 | special_number | 4294967295 | -| test.c:640:7:640:8 | c1 | 2147483647 | -| test.c:640:13:640:13 | x | 0 | -| test.c:641:7:641:8 | c2 | 2147483647 | -| test.c:641:13:641:13 | x | 748596 | -| test.c:642:7:642:8 | c3 | 2147483647 | -| test.c:642:13:642:13 | x | 85400991 | -| test.c:643:7:643:8 | c4 | 2147483647 | -| test.c:643:13:643:13 | x | 89076886 | -| test.c:644:7:644:8 | c5 | 2147483647 | -| test.c:644:13:644:13 | x | 89175520 | -| test.c:645:7:645:8 | c1 | 2147483647 | -| test.c:645:13:645:14 | c2 | 2147483647 | -| test.c:645:19:645:19 | x | 97010505 | -| test.c:646:7:646:8 | c1 | 2147483647 | -| test.c:646:13:646:14 | c3 | 2147483647 | -| test.c:646:19:646:19 | x | 1035467903 | -| test.c:647:7:647:8 | c1 | 2147483647 | -| test.c:647:13:647:14 | c4 | 2147483647 | -| test.c:647:19:647:19 | x | 1109363551 | -| test.c:648:7:648:8 | c1 | 2147483647 | -| test.c:648:13:648:14 | c5 | 2147483647 | -| test.c:648:19:648:19 | x | 1121708983 | -| test.c:649:7:649:8 | c2 | 2147483647 | -| test.c:649:13:649:14 | c3 | 2147483647 | -| test.c:649:19:649:19 | x | 1121747830 | -| test.c:651:11:651:11 | x | 2147483647 | -| test.c:651:15:651:15 | x | 2147483647 | -| test.c:651:19:651:19 | x | 2147483647 | -| test.c:651:23:651:23 | x | 2147483647 | -| test.c:651:27:651:27 | x | 2147483647 | -| test.c:651:31:651:31 | x | 2147483647 | -| test.c:651:35:651:35 | x | 2147483647 | -| test.c:651:39:651:39 | x | 2147483647 | -| test.c:651:43:651:43 | x | 2147483647 | -| test.c:651:47:651:47 | x | 2147483647 | -| test.c:651:51:651:51 | x | 2147483647 | -| test.c:651:55:651:55 | x | 2147483647 | -| test.c:652:10:652:10 | y | 2147483647 | -| test.c:657:20:657:20 | x | 4294967295 | -| test.c:657:30:657:30 | x | 99 | -| test.c:660:3:660:4 | y1 | 4294967295 | -| test.c:660:11:660:11 | y | 100 | -| test.c:660:14:660:14 | y | 101 | -| test.c:661:3:661:4 | y2 | 4294967295 | -| test.c:661:9:661:9 | y | 101 | -| test.c:661:14:661:14 | y | 102 | -| test.c:661:22:661:22 | y | 105 | -| test.c:662:10:662:11 | y1 | 101 | -| test.c:662:15:662:16 | y2 | 105 | -| test.c:670:3:670:3 | i | 2147483647 | -| test.c:671:7:671:7 | i | 10 | -| test.c:673:3:673:3 | i | 2147483647 | -| test.c:674:3:674:3 | i | 10 | -| test.c:675:7:675:7 | i | 20 | -| test.c:677:3:677:3 | i | 2147483647 | -| test.c:678:3:678:3 | i | 40 | -| test.c:679:7:679:7 | i | 30 | +| test.c:627:40:627:41 | ip | 4294967295 | +| test.c:628:31:628:32 | ip | 4294967295 | +| test.c:629:26:629:27 | ip | 4294967295 | +| test.c:630:19:630:20 | ip | 4294967295 | +| test.c:630:25:630:26 | ip | 4294967295 | +| test.c:630:45:630:46 | ip | 4294967295 | +| test.c:630:51:630:52 | ip | 4294967295 | +| test.c:631:18:631:19 | ip | 4294967295 | +| test.c:632:18:632:19 | ip | 4294967295 | +| test.c:633:18:633:19 | ip | 4294967295 | +| test.c:634:19:634:20 | ip | 4294967295 | +| test.c:635:24:635:25 | ip | 4294967295 | +| test.c:635:35:635:36 | ip | 4294967295 | +| test.c:635:50:635:51 | ip | 4294967295 | +| test.c:635:61:635:62 | ip | 4294967295 | +| test.c:636:22:636:23 | ip | 4294967295 | +| test.c:637:27:637:28 | ip | 4294967295 | +| test.c:637:38:637:39 | ip | 4294967295 | +| test.c:638:29:638:30 | ip | 4294967295 | +| test.c:639:24:639:25 | ip | 4294967295 | +| test.c:640:18:640:19 | ip | 4294967295 | +| test.c:640:24:640:25 | ip | 4294967295 | +| test.c:641:20:641:21 | ip | 4294967295 | +| test.c:642:16:642:17 | ip | 4294967295 | +| test.c:643:10:643:23 | special_number | 4294967295 | +| test.c:651:7:651:8 | c1 | 2147483647 | +| test.c:651:13:651:13 | x | 0 | +| test.c:652:7:652:8 | c2 | 2147483647 | +| test.c:652:13:652:13 | x | 748596 | +| test.c:653:7:653:8 | c3 | 2147483647 | +| test.c:653:13:653:13 | x | 85400991 | +| test.c:654:7:654:8 | c4 | 2147483647 | +| test.c:654:13:654:13 | x | 89076886 | +| test.c:655:7:655:8 | c5 | 2147483647 | +| test.c:655:13:655:13 | x | 89175520 | +| test.c:656:7:656:8 | c1 | 2147483647 | +| test.c:656:13:656:14 | c2 | 2147483647 | +| test.c:656:19:656:19 | x | 97010505 | +| test.c:657:7:657:8 | c1 | 2147483647 | +| test.c:657:13:657:14 | c3 | 2147483647 | +| test.c:657:19:657:19 | x | 1035467903 | +| test.c:658:7:658:8 | c1 | 2147483647 | +| test.c:658:13:658:14 | c4 | 2147483647 | +| test.c:658:19:658:19 | x | 1109363551 | +| test.c:659:7:659:8 | c1 | 2147483647 | +| test.c:659:13:659:14 | c5 | 2147483647 | +| test.c:659:19:659:19 | x | 1121708983 | +| test.c:660:7:660:8 | c2 | 2147483647 | +| test.c:660:13:660:14 | c3 | 2147483647 | +| test.c:660:19:660:19 | x | 1121747830 | +| test.c:662:11:662:11 | x | 2147483647 | +| test.c:662:15:662:15 | x | 2147483647 | +| test.c:662:19:662:19 | x | 2147483647 | +| test.c:662:23:662:23 | x | 2147483647 | +| test.c:662:27:662:27 | x | 2147483647 | +| test.c:662:31:662:31 | x | 2147483647 | +| test.c:662:35:662:35 | x | 2147483647 | +| test.c:662:39:662:39 | x | 2147483647 | +| test.c:662:43:662:43 | x | 2147483647 | +| test.c:662:47:662:47 | x | 2147483647 | +| test.c:662:51:662:51 | x | 2147483647 | +| test.c:662:55:662:55 | x | 2147483647 | +| test.c:663:10:663:10 | y | 2147483647 | +| test.c:668:20:668:20 | x | 4294967295 | +| test.c:668:30:668:30 | x | 99 | +| test.c:671:3:671:4 | y1 | 4294967295 | +| test.c:671:11:671:11 | y | 100 | +| test.c:671:14:671:14 | y | 101 | +| test.c:672:3:672:4 | y2 | 4294967295 | +| test.c:672:9:672:9 | y | 101 | +| test.c:672:14:672:14 | y | 102 | +| test.c:672:22:672:22 | y | 105 | +| test.c:673:10:673:11 | y1 | 101 | +| test.c:673:15:673:16 | y2 | 105 | | test.c:681:3:681:3 | i | 2147483647 | -| test.c:681:7:681:7 | j | 2147483647 | -| test.c:682:7:682:7 | i | 40 | +| test.c:682:7:682:7 | i | 10 | | test.c:684:3:684:3 | i | 2147483647 | -| test.c:684:8:684:8 | j | 40 | -| test.c:685:7:685:7 | i | 50 | -| test.c:687:3:687:3 | i | 2147483647 | -| test.c:687:13:687:13 | j | 50 | -| test.c:688:7:688:7 | i | 60 | -| test.c:695:12:695:12 | a | 4294967295 | -| test.c:695:17:695:17 | a | 4294967295 | -| test.c:695:33:695:33 | b | 4294967295 | -| test.c:695:38:695:38 | b | 4294967295 | -| test.c:696:13:696:13 | a | 11 | -| test.c:696:15:696:15 | b | 23 | -| test.c:697:5:697:9 | total | 0 | -| test.c:697:14:697:14 | r | 253 | -| test.c:699:12:699:12 | a | 4294967295 | -| test.c:699:17:699:17 | a | 4294967295 | -| test.c:699:33:699:33 | b | 4294967295 | -| test.c:699:38:699:38 | b | 4294967295 | -| test.c:700:13:700:13 | a | 11 | -| test.c:700:15:700:15 | b | 23 | -| test.c:701:5:701:9 | total | 253 | -| test.c:701:14:701:14 | r | 253 | -| test.c:703:12:703:12 | a | 4294967295 | -| test.c:703:17:703:17 | a | 4294967295 | -| test.c:703:34:703:34 | b | 4294967295 | -| test.c:703:39:703:39 | b | 4294967295 | -| test.c:704:13:704:13 | a | 11 | -| test.c:704:15:704:15 | b | 23 | -| test.c:705:5:705:9 | total | 506 | -| test.c:705:14:705:14 | r | 253 | -| test.c:708:10:708:14 | total | 759 | -| test.c:714:12:714:12 | b | 4294967295 | -| test.c:714:17:714:17 | b | 4294967295 | -| test.c:715:16:715:16 | b | 23 | -| test.c:716:5:716:9 | total | 0 | +| test.c:685:3:685:3 | i | 10 | +| test.c:686:7:686:7 | i | 20 | +| test.c:688:3:688:3 | i | 2147483647 | +| test.c:689:3:689:3 | i | 40 | +| test.c:690:7:690:7 | i | 30 | +| test.c:692:3:692:3 | i | 2147483647 | +| test.c:692:7:692:7 | j | 2147483647 | +| test.c:693:7:693:7 | i | 40 | +| test.c:695:3:695:3 | i | 2147483647 | +| test.c:695:8:695:8 | j | 40 | +| test.c:696:7:696:7 | i | 50 | +| test.c:698:3:698:3 | i | 2147483647 | +| test.c:698:13:698:13 | j | 50 | +| test.c:699:7:699:7 | i | 60 | +| test.c:706:12:706:12 | a | 4294967295 | +| test.c:706:17:706:17 | a | 4294967295 | +| test.c:706:33:706:33 | b | 4294967295 | +| test.c:706:38:706:38 | b | 4294967295 | +| test.c:707:13:707:13 | a | 11 | +| test.c:707:15:707:15 | b | 23 | +| test.c:708:5:708:9 | total | 0 | +| test.c:708:14:708:14 | r | 253 | +| test.c:710:12:710:12 | a | 4294967295 | +| test.c:710:17:710:17 | a | 4294967295 | +| test.c:710:33:710:33 | b | 4294967295 | +| test.c:710:38:710:38 | b | 4294967295 | +| test.c:711:13:711:13 | a | 11 | +| test.c:711:15:711:15 | b | 23 | +| test.c:712:5:712:9 | total | 253 | +| test.c:712:14:712:14 | r | 253 | +| test.c:714:12:714:12 | a | 4294967295 | +| test.c:714:17:714:17 | a | 4294967295 | +| test.c:714:34:714:34 | b | 4294967295 | +| test.c:714:39:714:39 | b | 4294967295 | +| test.c:715:13:715:13 | a | 11 | +| test.c:715:15:715:15 | b | 23 | +| test.c:716:5:716:9 | total | 506 | | test.c:716:14:716:14 | r | 253 | -| test.c:718:12:718:12 | b | 4294967295 | -| test.c:718:17:718:17 | b | 4294967295 | -| test.c:719:16:719:16 | b | 23 | -| test.c:720:5:720:9 | total | 253 | -| test.c:720:14:720:14 | r | 253 | -| test.c:722:13:722:13 | b | 4294967295 | -| test.c:722:18:722:18 | b | 4294967295 | -| test.c:723:16:723:16 | b | 23 | -| test.c:724:5:724:9 | total | 506 | -| test.c:724:14:724:14 | r | 253 | -| test.c:727:10:727:14 | total | 759 | -| test.c:732:3:732:3 | x | 18446744073709551616 | -| test.c:732:7:732:7 | y | 18446744073709551616 | -| test.c:733:3:733:4 | xy | 18446744073709551616 | -| test.c:733:8:733:8 | x | 1000000003 | -| test.c:733:12:733:12 | y | 1000000003 | -| test.c:734:10:734:11 | xy | 1000000006000000000 | -| test.c:739:3:739:3 | x | 18446744073709551616 | -| test.c:740:3:740:3 | y | 18446744073709551616 | -| test.c:741:3:741:4 | xy | 18446744073709551616 | -| test.c:741:8:741:8 | x | 274177 | -| test.c:741:12:741:12 | y | 67280421310721 | -| test.c:742:10:742:11 | xy | 18446744073709551616 | -| test.c:746:7:746:8 | ui | 4294967295 | -| test.c:747:43:747:44 | ui | 4294967295 | -| test.c:747:48:747:49 | ui | 4294967295 | -| test.c:748:12:748:17 | result | 18446744065119617024 | -| test.c:750:7:750:8 | ul | 18446744073709551616 | -| test.c:751:28:751:29 | ul | 18446744073709551616 | -| test.c:751:33:751:34 | ul | 18446744073709551616 | -| test.c:752:12:752:17 | result | 18446744073709551616 | -| test.c:758:7:758:8 | ui | 4294967295 | -| test.c:758:19:758:20 | ui | 10 | -| test.c:759:5:759:6 | ui | 10 | -| test.c:759:11:759:12 | ui | 10 | -| test.c:760:12:760:13 | ui | 100 | -| test.c:764:3:764:9 | uiconst | 10 | -| test.c:767:3:767:9 | ulconst | 10 | -| test.c:768:10:768:16 | uiconst | 40 | -| test.c:768:20:768:26 | ulconst | 40 | -| test.c:772:7:772:7 | i | 2147483647 | -| test.c:772:18:772:18 | i | 2147483647 | -| test.c:773:5:773:5 | i | 2147483647 | -| test.c:773:13:773:13 | i | 2 | -| test.c:774:9:774:9 | i | 10 | -| test.c:776:5:776:5 | i | 2147483647 | -| test.c:776:9:776:9 | i | 10 | -| test.c:777:9:777:9 | i | 15 | -| test.c:779:5:779:5 | i | 15 | -| test.c:780:9:780:9 | i | 105 | -| test.c:782:5:782:5 | i | 105 | -| test.c:783:9:783:9 | i | 2310 | -| test.c:785:7:785:7 | i | 2147483647 | -| test.c:786:5:786:5 | i | 2147483647 | -| test.c:786:9:786:9 | i | -1 | -| test.c:787:9:787:9 | i | 1 | -| test.c:789:3:789:3 | i | 2147483647 | -| test.c:789:7:789:7 | i | 2147483647 | -| test.c:790:10:790:10 | i | 2147483647 | -| test.c:793:3:793:3 | i | 2147483647 | -| test.c:793:10:793:11 | sc | 1 | -| test.c:795:7:795:7 | i | 127 | -| test.c:802:7:802:7 | n | 4294967295 | -| test.c:804:7:804:7 | n | 4294967295 | -| test.c:805:9:805:9 | n | 4294967295 | -| test.c:808:7:808:7 | n | 4294967295 | -| test.c:809:9:809:9 | n | 4294967295 | -| test.c:811:9:811:9 | n | 0 | -| test.c:814:8:814:8 | n | 4294967295 | -| test.c:815:9:815:9 | n | 0 | -| test.c:817:9:817:9 | n | 4294967295 | -| test.c:820:10:820:10 | n | 4294967295 | -| test.c:821:5:821:5 | n | 4294967295 | -| test.c:824:7:824:7 | n | 0 | -| test.c:828:7:828:7 | n | 32767 | -| test.c:831:7:831:7 | n | 32767 | -| test.c:832:9:832:9 | n | 0 | -| test.c:834:9:834:9 | n | 32767 | -| test.c:837:7:837:7 | n | 32767 | -| test.c:838:9:838:9 | n | 32767 | -| test.c:840:9:840:9 | n | 0 | -| test.c:843:10:843:10 | n | 32767 | -| test.c:844:5:844:5 | n | 32767 | -| test.c:847:7:847:7 | n | 0 | -| test.c:851:7:851:7 | n | 32767 | -| test.c:852:9:852:9 | n | 32767 | -| test.c:853:11:853:11 | n | 32767 | -| test.c:857:7:857:7 | n | 32767 | -| test.c:858:13:858:13 | n | 32767 | -| test.c:861:9:861:9 | n | 32767 | -| test.c:864:7:864:7 | n | 32767 | -| test.c:864:22:864:22 | n | 32767 | -| test.c:865:9:865:9 | n | 32767 | +| test.c:719:10:719:14 | total | 759 | +| test.c:725:12:725:12 | b | 4294967295 | +| test.c:725:17:725:17 | b | 4294967295 | +| test.c:726:16:726:16 | b | 23 | +| test.c:727:5:727:9 | total | 0 | +| test.c:727:14:727:14 | r | 253 | +| test.c:729:12:729:12 | b | 4294967295 | +| test.c:729:17:729:17 | b | 4294967295 | +| test.c:730:16:730:16 | b | 23 | +| test.c:731:5:731:9 | total | 253 | +| test.c:731:14:731:14 | r | 253 | +| test.c:733:13:733:13 | b | 4294967295 | +| test.c:733:18:733:18 | b | 4294967295 | +| test.c:734:16:734:16 | b | 23 | +| test.c:735:5:735:9 | total | 506 | +| test.c:735:14:735:14 | r | 253 | +| test.c:738:10:738:14 | total | 759 | +| test.c:743:3:743:3 | x | 18446744073709551616 | +| test.c:743:7:743:7 | y | 18446744073709551616 | +| test.c:744:3:744:4 | xy | 18446744073709551616 | +| test.c:744:8:744:8 | x | 1000000003 | +| test.c:744:12:744:12 | y | 1000000003 | +| test.c:745:10:745:11 | xy | 1000000006000000000 | +| test.c:750:3:750:3 | x | 18446744073709551616 | +| test.c:751:3:751:3 | y | 18446744073709551616 | +| test.c:752:3:752:4 | xy | 18446744073709551616 | +| test.c:752:8:752:8 | x | 274177 | +| test.c:752:12:752:12 | y | 67280421310721 | +| test.c:753:10:753:11 | xy | 18446744073709551616 | +| test.c:757:7:757:8 | ui | 4294967295 | +| test.c:758:43:758:44 | ui | 4294967295 | +| test.c:758:48:758:49 | ui | 4294967295 | +| test.c:759:12:759:17 | result | 18446744065119617024 | +| test.c:761:7:761:8 | ul | 18446744073709551616 | +| test.c:762:28:762:29 | ul | 18446744073709551616 | +| test.c:762:33:762:34 | ul | 18446744073709551616 | +| test.c:763:12:763:17 | result | 18446744073709551616 | +| test.c:769:7:769:8 | ui | 4294967295 | +| test.c:769:19:769:20 | ui | 10 | +| test.c:770:5:770:6 | ui | 10 | +| test.c:770:11:770:12 | ui | 10 | +| test.c:771:12:771:13 | ui | 100 | +| test.c:775:3:775:9 | uiconst | 10 | +| test.c:778:3:778:9 | ulconst | 10 | +| test.c:779:10:779:16 | uiconst | 40 | +| test.c:779:20:779:26 | ulconst | 40 | +| test.c:783:7:783:7 | i | 2147483647 | +| test.c:783:18:783:18 | i | 2147483647 | +| test.c:784:5:784:5 | i | 2147483647 | +| test.c:784:13:784:13 | i | 2 | +| test.c:785:9:785:9 | i | 10 | +| test.c:787:5:787:5 | i | 2147483647 | +| test.c:787:9:787:9 | i | 10 | +| test.c:788:9:788:9 | i | 15 | +| test.c:790:5:790:5 | i | 15 | +| test.c:791:9:791:9 | i | 105 | +| test.c:793:5:793:5 | i | 105 | +| test.c:794:9:794:9 | i | 2310 | +| test.c:796:7:796:7 | i | 2147483647 | +| test.c:797:5:797:5 | i | 2147483647 | +| test.c:797:9:797:9 | i | -1 | +| test.c:798:9:798:9 | i | 1 | +| test.c:800:3:800:3 | i | 2147483647 | +| test.c:800:7:800:7 | i | 2147483647 | +| test.c:801:10:801:10 | i | 2147483647 | +| test.c:804:3:804:3 | i | 2147483647 | +| test.c:804:10:804:11 | sc | 1 | +| test.c:806:7:806:7 | i | 127 | +| test.c:813:7:813:7 | n | 4294967295 | +| test.c:815:7:815:7 | n | 4294967295 | +| test.c:816:9:816:9 | n | 4294967295 | +| test.c:819:7:819:7 | n | 4294967295 | +| test.c:820:9:820:9 | n | 4294967295 | +| test.c:822:9:822:9 | n | 0 | +| test.c:825:8:825:8 | n | 4294967295 | +| test.c:826:9:826:9 | n | 0 | +| test.c:828:9:828:9 | n | 4294967295 | +| test.c:831:10:831:10 | n | 4294967295 | +| test.c:832:5:832:5 | n | 4294967295 | +| test.c:835:7:835:7 | n | 0 | +| test.c:839:7:839:7 | n | 32767 | +| test.c:842:7:842:7 | n | 32767 | +| test.c:843:9:843:9 | n | 0 | +| test.c:845:9:845:9 | n | 32767 | +| test.c:848:7:848:7 | n | 32767 | +| test.c:849:9:849:9 | n | 32767 | +| test.c:851:9:851:9 | n | 0 | +| test.c:854:10:854:10 | n | 32767 | +| test.c:855:5:855:5 | n | 32767 | +| test.c:858:7:858:7 | n | 0 | +| test.c:862:7:862:7 | n | 32767 | +| test.c:863:9:863:9 | n | 32767 | +| test.c:864:11:864:11 | n | 32767 | | test.c:868:7:868:7 | n | 32767 | -| test.c:869:5:869:5 | n | 32767 | -| test.c:869:10:869:10 | n | 32767 | -| test.c:869:14:869:14 | n | 0 | -| test.c:870:6:870:6 | n | 32767 | -| test.c:870:10:870:10 | n | 0 | -| test.c:870:14:870:14 | n | 32767 | -| test.c:881:7:881:8 | ss | 32767 | -| test.c:882:9:882:10 | ss | 3 | -| test.c:885:7:885:8 | ss | 32767 | -| test.c:886:9:886:10 | ss | 32767 | -| test.c:889:14:889:15 | us | 65535 | -| test.c:890:9:890:10 | us | 32767 | -| test.c:893:14:893:15 | us | 65535 | -| test.c:894:9:894:10 | us | 65535 | -| test.c:897:7:897:8 | ss | 32767 | -| test.c:898:9:898:10 | ss | 32767 | -| test.c:901:7:901:8 | ss | 32767 | -| test.c:902:9:902:10 | ss | 2 | -| test.c:908:8:908:8 | s | 2147483647 | -| test.c:908:15:908:15 | s | 127 | -| test.c:908:23:908:23 | s | 9 | -| test.c:909:18:909:18 | s | 9 | -| test.c:909:22:909:22 | s | 9 | -| test.c:910:9:910:14 | result | 127 | -| test.c:916:7:916:7 | i | 0 | -| test.c:917:9:917:9 | i | 2147483647 | -| test.c:921:7:921:7 | u | 0 | -| test.c:922:9:922:9 | u | 4294967295 | -| test.c:927:12:927:12 | s | 2147483647 | -| test.c:928:7:928:8 | s2 | 4 | -| test.c:933:7:933:7 | x | 2147483647 | -| test.c:934:9:934:9 | y | 2147483647 | -| test.c:938:7:938:7 | y | 2147483647 | -| test.c:947:7:947:7 | x | 2147483647 | -| test.c:952:7:952:7 | x | 15 | -| test.c:959:8:959:8 | x | 2147483647 | -| test.c:959:12:959:12 | y | 256 | -| test.c:960:9:960:9 | x | 2147483647 | -| test.c:961:9:961:9 | y | 256 | +| test.c:869:13:869:13 | n | 32767 | +| test.c:872:9:872:9 | n | 32767 | +| test.c:875:7:875:7 | n | 32767 | +| test.c:875:22:875:22 | n | 32767 | +| test.c:876:9:876:9 | n | 32767 | +| test.c:879:7:879:7 | n | 32767 | +| test.c:880:5:880:5 | n | 32767 | +| test.c:880:10:880:10 | n | 32767 | +| test.c:880:14:880:14 | n | 0 | +| test.c:881:6:881:6 | n | 32767 | +| test.c:881:10:881:10 | n | 0 | +| test.c:881:14:881:14 | n | 32767 | +| test.c:892:7:892:8 | ss | 32767 | +| test.c:893:9:893:10 | ss | 3 | +| test.c:896:7:896:8 | ss | 32767 | +| test.c:897:9:897:10 | ss | 32767 | +| test.c:900:14:900:15 | us | 65535 | +| test.c:901:9:901:10 | us | 32767 | +| test.c:904:14:904:15 | us | 65535 | +| test.c:905:9:905:10 | us | 65535 | +| test.c:908:7:908:8 | ss | 32767 | +| test.c:909:9:909:10 | ss | 32767 | +| test.c:912:7:912:8 | ss | 32767 | +| test.c:913:9:913:10 | ss | 2 | +| test.c:919:8:919:8 | s | 2147483647 | +| test.c:919:15:919:15 | s | 127 | +| test.c:919:23:919:23 | s | 9 | +| test.c:920:18:920:18 | s | 9 | +| test.c:920:22:920:22 | s | 9 | +| test.c:921:9:921:14 | result | 127 | +| test.c:927:7:927:7 | i | 0 | +| test.c:928:9:928:9 | i | 2147483647 | +| test.c:932:7:932:7 | u | 0 | +| test.c:933:9:933:9 | u | 4294967295 | +| test.c:938:12:938:12 | s | 2147483647 | +| test.c:939:7:939:8 | s2 | 4 | +| test.c:944:7:944:7 | x | 2147483647 | +| test.c:945:9:945:9 | y | 2147483647 | +| test.c:949:7:949:7 | y | 2147483647 | +| test.c:958:7:958:7 | x | 2147483647 | +| test.c:963:7:963:7 | x | 15 | +| test.c:970:8:970:8 | x | 2147483647 | +| test.c:970:12:970:12 | y | 256 | +| test.c:971:9:971:9 | x | 2147483647 | +| test.c:972:9:972:9 | y | 256 | | test.cpp:10:7:10:7 | b | 2147483647 | | test.cpp:11:5:11:5 | x | 2147483647 | | test.cpp:13:10:13:10 | x | 2147483647 | diff --git a/cpp/ql/test/library-tests/subscript_operator/PrintAST.expected b/cpp/ql/test/library-tests/subscript_operator/PrintAST.expected new file mode 100644 index 00000000000..fd092b64a10 --- /dev/null +++ b/cpp/ql/test/library-tests/subscript_operator/PrintAST.expected @@ -0,0 +1,69 @@ +#-----| [CopyAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag const&) +#-----| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const __va_list_tag & +#-----| [MoveAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag&&) +#-----| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] __va_list_tag && +test.cpp: +# 3| [CopyAssignmentOperator] S& S::operator=(S const&) +# 3| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const S & +# 3| [MoveAssignmentOperator] S& S::operator=(S&&) +# 3| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] S && +# 5| [MemberFunction] int S::operator[](int, int) +# 5| : +# 5| getParameter(0): [Parameter] i +# 5| Type = [IntType] int +# 5| getParameter(1): [Parameter] j +# 5| Type = [IntType] int +# 5| getEntryPoint(): [BlockStmt] { ... } +# 6| getStmt(0): [ReturnStmt] return ... +# 6| getExpr(): [ArrayExpr] access to array +# 6| Type = [IntType] int +# 6| ValueCategory = prvalue(load) +# 6| getArrayBase(): [ArrayExpr] access to array +# 6| Type = [ArrayType] int[2] +# 6| ValueCategory = lvalue +# 6| getArrayBase(): [ImplicitThisFieldAccess,PointerFieldAccess] xs +# 6| Type = [ArrayType] int[2][2] +# 6| ValueCategory = lvalue +# 6| getQualifier(): [ThisExpr] this +# 6| Type = [PointerType] S * +# 6| ValueCategory = prvalue(load) +# 6| getArrayOffset(): [VariableAccess] i +# 6| Type = [IntType] int +# 6| ValueCategory = prvalue(load) +#-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +#-----| Type = [PointerType] int(*)[2] +#-----| ValueCategory = prvalue +# 6| getArrayOffset(): [VariableAccess] j +# 6| Type = [IntType] int +# 6| ValueCategory = prvalue(load) +# 6| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 6| Type = [IntPointerType] int * +# 6| ValueCategory = prvalue +# 10| [TopLevelFunction] int foo(S) +# 10| : +# 10| getParameter(0): [Parameter] s +# 10| Type = [Struct] S +# 10| getEntryPoint(): [BlockStmt] { ... } +# 11| getStmt(0): [ReturnStmt] return ... +# 11| getExpr(): [OverloadedArrayExpr] call to operator[] +# 11| Type = [IntType] int +# 11| ValueCategory = prvalue +# 11| getArrayBase(): [VariableAccess] s +# 11| Type = [Struct] S +# 11| ValueCategory = lvalue +# 11| getArrayOffset(0): [Literal] 1 +# 11| Type = [IntType] int +# 11| Value = [Literal] 1 +# 11| ValueCategory = prvalue +# 11| getArrayOffset(1): [Literal] 2 +# 11| Type = [IntType] int +# 11| Value = [Literal] 2 +# 11| ValueCategory = prvalue diff --git a/cpp/ql/test/library-tests/subscript_operator/PrintAST.qlref b/cpp/ql/test/library-tests/subscript_operator/PrintAST.qlref new file mode 100644 index 00000000000..6fcb30ac7a6 --- /dev/null +++ b/cpp/ql/test/library-tests/subscript_operator/PrintAST.qlref @@ -0,0 +1 @@ +semmle/code/cpp/PrintAST.ql \ No newline at end of file diff --git a/cpp/ql/test/library-tests/subscript_operator/test.cpp b/cpp/ql/test/library-tests/subscript_operator/test.cpp new file mode 100644 index 00000000000..647ad916c9c --- /dev/null +++ b/cpp/ql/test/library-tests/subscript_operator/test.cpp @@ -0,0 +1,12 @@ +// semmle-extractor-options: -std=c++23 + +struct S { + int xs[2][2]; + int operator[](int i, int j) { + return xs[i][j]; + } +}; + +int foo(S s) { + return s[1, 2]; +} diff --git a/cpp/ql/test/library-tests/templates/type_instantiations/types.expected b/cpp/ql/test/library-tests/templates/type_instantiations/types.expected index e6c8b1d9406..0f2c2b91917 100644 --- a/cpp/ql/test/library-tests/templates/type_instantiations/types.expected +++ b/cpp/ql/test/library-tests/templates/type_instantiations/types.expected @@ -12,9 +12,6 @@ | file://:0:0:0:0 | _Complex float | | file://:0:0:0:0 | _Complex long double | | file://:0:0:0:0 | _Complex std::float16_t | -| file://:0:0:0:0 | _Decimal32 | -| file://:0:0:0:0 | _Decimal64 | -| file://:0:0:0:0 | _Decimal128 | | file://:0:0:0:0 | _Float16 | | file://:0:0:0:0 | _Float32 | | file://:0:0:0:0 | _Float32x | diff --git a/cpp/ql/test/library-tests/type_sizes/type_sizes.expected b/cpp/ql/test/library-tests/type_sizes/type_sizes.expected index ac1344753e9..63d2b2715ea 100644 --- a/cpp/ql/test/library-tests/type_sizes/type_sizes.expected +++ b/cpp/ql/test/library-tests/type_sizes/type_sizes.expected @@ -32,9 +32,6 @@ | file://:0:0:0:0 | _Complex float | 8 | | file://:0:0:0:0 | _Complex long double | 32 | | file://:0:0:0:0 | _Complex std::float16_t | 4 | -| file://:0:0:0:0 | _Decimal32 | 4 | -| file://:0:0:0:0 | _Decimal64 | 8 | -| file://:0:0:0:0 | _Decimal128 | 16 | | file://:0:0:0:0 | _Float16 | 2 | | file://:0:0:0:0 | _Float32 | 4 | | file://:0:0:0:0 | _Float32x | 8 | diff --git a/cpp/ql/test/library-tests/unspecified_type/types/unspecified_type.expected b/cpp/ql/test/library-tests/unspecified_type/types/unspecified_type.expected index 3f22b9f98f5..b335bfcf178 100644 --- a/cpp/ql/test/library-tests/unspecified_type/types/unspecified_type.expected +++ b/cpp/ql/test/library-tests/unspecified_type/types/unspecified_type.expected @@ -14,9 +14,6 @@ | file://:0:0:0:0 | _Complex float | _Complex float | | file://:0:0:0:0 | _Complex long double | _Complex long double | | file://:0:0:0:0 | _Complex std::float16_t | _Complex std::float16_t | -| file://:0:0:0:0 | _Decimal32 | _Decimal32 | -| file://:0:0:0:0 | _Decimal64 | _Decimal64 | -| file://:0:0:0:0 | _Decimal128 | _Decimal128 | | file://:0:0:0:0 | _Float16 | _Float16 | | file://:0:0:0:0 | _Float32 | _Float32 | | file://:0:0:0:0 | _Float32x | _Float32x | diff --git a/cpp/ql/test/library-tests/variables/variables/types.expected b/cpp/ql/test/library-tests/variables/variables/types.expected index 5d8cec1cff8..3968d7205d5 100644 --- a/cpp/ql/test/library-tests/variables/variables/types.expected +++ b/cpp/ql/test/library-tests/variables/variables/types.expected @@ -13,9 +13,6 @@ | _Complex float | BinaryFloatingPointType, ComplexNumberType, GuardConditionImpl | | | | | | _Complex long double | BinaryFloatingPointType, ComplexNumberType, GuardConditionImpl | | | | | | _Complex std::float16_t | BinaryFloatingPointType, ComplexNumberType, GuardConditionImpl | | | | | -| _Decimal32 | Decimal32Type, GuardConditionImpl | | | | | -| _Decimal64 | Decimal64Type, GuardConditionImpl | | | | | -| _Decimal128 | Decimal128Type, GuardConditionImpl | | | | | | _Float16 | BinaryFloatingPointType, GuardConditionImpl, RealNumberType | | | | | | _Float32 | BinaryFloatingPointType, GuardConditionImpl, RealNumberType | | | | | | _Float32x | BinaryFloatingPointType, GuardConditionImpl, RealNumberType | | | | | diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 73990a2c6fd..029e03a4c9e 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.7.57 + +No user-facing changes. + +## 1.7.56 + +No user-facing changes. + ## 1.7.55 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.56.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.56.md new file mode 100644 index 00000000000..495cde9379d --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.56.md @@ -0,0 +1,3 @@ +## 1.7.56 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.57.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.57.md new file mode 100644 index 00000000000..5d7f99bf24b --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.57.md @@ -0,0 +1,3 @@ +## 1.7.57 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index 26e02fb41f4..4b2fd88d6a3 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.7.55 +lastReleaseVersion: 1.7.57 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 46f964a1bae..59e35f8f8a2 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.7.56-dev +version: 1.7.58-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 73990a2c6fd..029e03a4c9e 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.7.57 + +No user-facing changes. + +## 1.7.56 + +No user-facing changes. + ## 1.7.55 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.56.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.56.md new file mode 100644 index 00000000000..495cde9379d --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.56.md @@ -0,0 +1,3 @@ +## 1.7.56 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.57.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.57.md new file mode 100644 index 00000000000..5d7f99bf24b --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.57.md @@ -0,0 +1,3 @@ +## 1.7.57 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index 26e02fb41f4..4b2fd88d6a3 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.7.55 +lastReleaseVersion: 1.7.57 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index cb91019ff14..a37381968ef 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.7.56-dev +version: 1.7.58-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 59eb2a98cf0..371e10c370a 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,26 @@ +## 5.4.5 + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the C# extractor's search for `.config`, `.props`, XML and project files. +* Updated the generated .NET “models as data” runtime models to cover .NET 10. +* C# 14: Support for *implicit* span conversions in the QL library. +* Basic extractor support for .NET 10 is now available. Extraction is supported for .NET 10 projects in both traced mode and `build mode: none`. However, code that uses language features new to C# 14 is not yet fully supported for extraction and analysis. +* Added autobuilder and `build-mode: none` support for `.slnx` solution files. +* In `build mode: none`, .NET 10 is now used by default unless a specific .NET version is specified elsewhere. +* Added implicit reads of `System.Collections.Generic.KeyValuePair.Value` at taint-tracking sinks and at inputs to additional taint steps. As a result, taint-tracking queries will now produce more results when a container is tainted. + +### Bug Fixes + +* Fixed two issues affecting build mode `none`: + * Corrected version sorting logic when detecting the newest .NET framework to use. + * Improved stability for .NET 10 compatibility. +* Fixed an issue where compiler-generated files were not being extracted. The extractor now runs after compilation completes to ensure all generated files are properly analyzed. + +## 5.4.4 + +No user-facing changes. + ## 5.4.3 No user-facing changes. diff --git a/csharp/ql/lib/change-notes/2025-12-03-implicit-map-value-reads.md b/csharp/ql/lib/change-notes/2025-12-03-implicit-map-value-reads.md deleted file mode 100644 index 2b7f47fe98d..00000000000 --- a/csharp/ql/lib/change-notes/2025-12-03-implicit-map-value-reads.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added implicit reads of `System.Collections.Generic.KeyValuePair.Value` at taint-tracking sinks and at inputs to additional taint steps. As a result, taint-tracking queries will now produce more results when a container is tainted. \ No newline at end of file diff --git a/csharp/ql/lib/change-notes/2025-12-03-run-tracer-after-compilation.md b/csharp/ql/lib/change-notes/2025-12-03-run-tracer-after-compilation.md deleted file mode 100644 index d7dd475cb0b..00000000000 --- a/csharp/ql/lib/change-notes/2025-12-03-run-tracer-after-compilation.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed an issue where compiler-generated files were not being extracted. The extractor now runs after compilation completes to ensure all generated files are properly analyzed. diff --git a/csharp/ql/lib/change-notes/2025-12-04-bmn-dotnet-fixes.md b/csharp/ql/lib/change-notes/2025-12-04-bmn-dotnet-fixes.md deleted file mode 100644 index af1f1b91966..00000000000 --- a/csharp/ql/lib/change-notes/2025-12-04-bmn-dotnet-fixes.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -category: fix ---- -* Fixed two issues affecting build mode `none`: - * Corrected version sorting logic when detecting the newest .NET framework to use. - * Improved stability for .NET 10 compatibility. diff --git a/csharp/ql/lib/change-notes/2025-12-09-bmn-default-dotnet.md b/csharp/ql/lib/change-notes/2025-12-09-bmn-default-dotnet.md deleted file mode 100644 index 832e6069ee0..00000000000 --- a/csharp/ql/lib/change-notes/2025-12-09-bmn-default-dotnet.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* In `build mode: none`, .NET 10 is now used by default unless a specific .NET version is specified elsewhere. diff --git a/csharp/ql/lib/change-notes/2025-12-11-net10-basic-support.md b/csharp/ql/lib/change-notes/2025-12-11-net10-basic-support.md deleted file mode 100644 index d15a55a7eb4..00000000000 --- a/csharp/ql/lib/change-notes/2025-12-11-net10-basic-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Basic extractor support for .NET 10 is now available. Extraction is supported for .NET 10 projects in both traced mode and `build mode: none`. However, code that uses language features new to C# 14 is not yet fully supported for extraction and analysis. diff --git a/csharp/ql/lib/change-notes/2025-12-11-slnx-support.md b/csharp/ql/lib/change-notes/2025-12-11-slnx-support.md deleted file mode 100644 index 9ca9b989812..00000000000 --- a/csharp/ql/lib/change-notes/2025-12-11-slnx-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added autobuilder and `build-mode: none` support for `.slnx` solution files. diff --git a/csharp/ql/lib/change-notes/2025-12-18-implicit-span-conversions.md b/csharp/ql/lib/change-notes/2025-12-18-implicit-span-conversions.md deleted file mode 100644 index 0c2f54d2092..00000000000 --- a/csharp/ql/lib/change-notes/2025-12-18-implicit-span-conversions.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* C# 14: Support for *implicit* span conversions in the QL library. diff --git a/csharp/ql/lib/change-notes/2026-01-05-net-runtime-models.md b/csharp/ql/lib/change-notes/2026-01-05-net-runtime-models.md deleted file mode 100644 index 58b27f1893f..00000000000 --- a/csharp/ql/lib/change-notes/2026-01-05-net-runtime-models.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Updated the generated .NET “models as data” runtime models to cover .NET 10. diff --git a/csharp/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md b/csharp/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md deleted file mode 100644 index ac96e579147..00000000000 --- a/csharp/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the C# extractor's search for `.config`, `.props`, XML and project files. diff --git a/csharp/ql/lib/change-notes/2026-01-14-null-conditional-assignments.md b/csharp/ql/lib/change-notes/2026-01-14-null-conditional-assignments.md new file mode 100644 index 00000000000..ebce4c187e0 --- /dev/null +++ b/csharp/ql/lib/change-notes/2026-01-14-null-conditional-assignments.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* C# 14: Support for null-conditional assignments (such as `c?.Prop = p`). Furthermore, the `MaybeNullExpr` class now takes null-conditional access (such as `?.`) into account when modeling potential null values. diff --git a/csharp/ql/lib/change-notes/released/5.4.4.md b/csharp/ql/lib/change-notes/released/5.4.4.md new file mode 100644 index 00000000000..88aaa5cc6bd --- /dev/null +++ b/csharp/ql/lib/change-notes/released/5.4.4.md @@ -0,0 +1,3 @@ +## 5.4.4 + +No user-facing changes. diff --git a/csharp/ql/lib/change-notes/released/5.4.5.md b/csharp/ql/lib/change-notes/released/5.4.5.md new file mode 100644 index 00000000000..a084df5f200 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/5.4.5.md @@ -0,0 +1,18 @@ +## 5.4.5 + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the C# extractor's search for `.config`, `.props`, XML and project files. +* Updated the generated .NET “models as data” runtime models to cover .NET 10. +* C# 14: Support for *implicit* span conversions in the QL library. +* Basic extractor support for .NET 10 is now available. Extraction is supported for .NET 10 projects in both traced mode and `build mode: none`. However, code that uses language features new to C# 14 is not yet fully supported for extraction and analysis. +* Added autobuilder and `build-mode: none` support for `.slnx` solution files. +* In `build mode: none`, .NET 10 is now used by default unless a specific .NET version is specified elsewhere. +* Added implicit reads of `System.Collections.Generic.KeyValuePair.Value` at taint-tracking sinks and at inputs to additional taint steps. As a result, taint-tracking queries will now produce more results when a container is tainted. + +### Bug Fixes + +* Fixed two issues affecting build mode `none`: + * Corrected version sorting logic when detecting the newest .NET framework to use. + * Improved stability for .NET 10 compatibility. +* Fixed an issue where compiler-generated files were not being extracted. The extractor now runs after compilation completes to ensure all generated files are properly analyzed. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index dc2d3dec96c..e79e40bd1d8 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.4.3 +lastReleaseVersion: 5.4.5 diff --git a/csharp/ql/lib/ext/System.Web.model.yml b/csharp/ql/lib/ext/System.Web.model.yml index ba644e1cc70..6d05cdae75b 100644 --- a/csharp/ql/lib/ext/System.Web.model.yml +++ b/csharp/ql/lib/ext/System.Web.model.yml @@ -1,4 +1,10 @@ extensions: + - addsTo: + pack: codeql/csharp-all + extensible: barrierModel + data: + # The RawUrl property is considered to be safe for URL redirects + - ["System.Web", "HttpRequest", False, "get_RawUrl", "()", "", "ReturnValue", "url-redirection", "manual"] - addsTo: pack: codeql/csharp-all extensible: sinkModel diff --git a/csharp/ql/lib/ext/System.model.yml b/csharp/ql/lib/ext/System.model.yml index 870413e7569..963b37887ee 100644 --- a/csharp/ql/lib/ext/System.model.yml +++ b/csharp/ql/lib/ext/System.model.yml @@ -11,6 +11,11 @@ extensions: - ["System", "Environment", False, "get_CommandLine", "()", "", "ReturnValue", "commandargs", "manual"] - ["System", "Environment", False, "GetEnvironmentVariable", "", "", "ReturnValue", "environment", "manual"] - ["System", "Environment", False, "GetEnvironmentVariables", "", "", "ReturnValue", "environment", "manual"] + - addsTo: + pack: codeql/csharp-all + extensible: barrierGuardModel + data: + - ["System", "Uri", False, "get_IsAbsoluteUri", "()", "", "Argument[this]", "false", "url-redirection", "manual"] - addsTo: pack: codeql/csharp-all extensible: summaryModel diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 527e890f47b..235030e2601 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 5.4.4-dev +version: 5.4.6-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImpl.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImpl.qll index 96fe5703090..6be79a17be2 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImpl.qll @@ -429,7 +429,7 @@ module Expressions { not this instanceof ObjectCreation and not this instanceof ArrayCreation and not this instanceof QualifiedWriteAccess and - not this instanceof AccessorWrite and + not this instanceof QualifiedAccessorWrite and not this instanceof NoNodeExpr and not this instanceof SwitchExpr and not this instanceof SwitchCaseExpr and @@ -446,21 +446,29 @@ module Expressions { } /** - * A qualified write access. In a qualified write access, the access itself is - * not evaluated, only the qualifier and the indexer arguments (if any). + * A qualified write access. + * + * The successor declaration in `QualifiedAccessorWrite` ensures that the access itself + * is evaluated after the qualifier and the indexer arguments (if any) + * and the right hand side of the assignment. + * + * When a qualified write access is used as an `out/ref` argument, the access itself is evaluated immediately. */ private class QualifiedWriteAccess extends ControlFlowTree instanceof WriteAccess, QualifiableExpr { QualifiedWriteAccess() { - this.hasQualifier() - or - // Member initializers like - // ```csharp - // new Dictionary() { [0] = "Zero", [1] = "One", [2] = "Two" } - // ``` - // need special treatment, because the accesses `[0]`, `[1]`, and `[2]` - // have no qualifier. - this = any(MemberInitializer mi).getLValue() + ( + this.hasQualifier() + or + // Member initializers like + // ```csharp + // new Dictionary() { [0] = "Zero", [1] = "One", [2] = "Two" } + // ``` + // need special treatment, because the accesses `[0]`, `[1]`, and `[2]` + // have no qualifier. + this = any(MemberInitializer mi).getLValue() + ) and + not exists(AssignableDefinitions::OutRefDefinition def | def.getTargetAccess() = this) } final override predicate propagatesAbnormal(AstNode child) { child = getExprChild(this, _) } @@ -470,25 +478,25 @@ module Expressions { final override predicate last(AstNode last, Completion c) { // Skip the access in a qualified write access last(getLastExprChild(this), last, c) + or + // Qualifier exits with a null completion + super.isConditional() and + last(super.getQualifier(), last, c) and + c.(NullnessCompletion).isNull() } final override predicate succ(AstNode pred, AstNode succ, Completion c) { exists(int i | last(getExprChild(this, i), pred, c) and c instanceof NormalCompletion and + (if i = 0 then not c.(NullnessCompletion).isNull() else any()) and first(getExprChild(this, i + 1), succ) ) } } - private class StatOrDynAccessorCall_ = - @dynamic_member_access_expr or @dynamic_element_access_expr or @call_access_expr; - - /** A normal or a (potential) dynamic call to an accessor. */ - private class StatOrDynAccessorCall extends Expr, StatOrDynAccessorCall_ { } - /** - * An expression that writes via an accessor call, for example `x.Prop = 0`, + * An expression that writes via a qualifiable expression, for example `x.Prop = 0`, * where `Prop` is a property. * * Accessor writes need special attention, because we need to model the fact @@ -498,13 +506,21 @@ module Expressions { * ```csharp * x -> 0 -> set_Prop -> x.Prop = 0 * ``` + * + * For consistency, control flow is implemented the same way for other qualified writes. + * For example, `x.Field = 0`, where `Field` is a field, we want a CFG that looks like + * + * ```csharp + * x -> 0 -> x.Field -> x.Field = 0 + * ``` */ - class AccessorWrite extends PostOrderTree instanceof Expr { + private class QualifiedAccessorWrite extends PostOrderTree instanceof Expr { AssignableDefinition def; - AccessorWrite() { + QualifiedAccessorWrite() { def.getExpr() = this and - def.getTargetAccess().(WriteAccess) instanceof StatOrDynAccessorCall and + def.getTargetAccess().(WriteAccess) instanceof QualifiableExpr and + not def instanceof AssignableDefinitions::OutRefDefinition and not this instanceof AssignOperationWithExpandedAssignment } @@ -512,10 +528,11 @@ module Expressions { * Gets the `i`th accessor being called in this write. More than one call * can happen in tuple assignments. */ - StatOrDynAccessorCall getCall(int i) { + QualifiableExpr getAccess(int i) { result = rank[i + 1](AssignableDefinitions::TupleAssignmentDefinition tdef | - tdef.getExpr() = this and tdef.getTargetAccess() instanceof StatOrDynAccessorCall + tdef.getExpr() = this and + tdef.getTargetAccess() instanceof QualifiableExpr | tdef order by tdef.getEvaluationOrder() ).getTargetAccess() @@ -528,7 +545,13 @@ module Expressions { final override predicate propagatesAbnormal(AstNode child) { child = getExprChild(this, _) or - child = this.getCall(_) + child = this.getAccess(_) + } + + final override predicate last(AstNode last, Completion c) { + PostOrderTree.super.last(last, c) + or + last(getExprChild(this, 0), last, c) and c.(NullnessCompletion).isNull() } final override predicate first(AstNode first) { first(getExprChild(this, 0), first) } @@ -538,24 +561,25 @@ module Expressions { exists(int i | last(getExprChild(this, i), pred, c) and c instanceof NormalCompletion and + (if i = 0 then not c.(NullnessCompletion).isNull() else any()) and first(getExprChild(this, i + 1), succ) ) or // Flow from last element of last child to first accessor call last(getLastExprChild(this), pred, c) and - succ = this.getCall(0) and + succ = this.getAccess(0) and c instanceof NormalCompletion or // Flow from one call to the next - exists(int i | pred = this.getCall(i) | - succ = this.getCall(i + 1) and + exists(int i | pred = this.getAccess(i) | + succ = this.getAccess(i + 1) and c.isValidFor(pred) and c instanceof NormalCompletion ) or // Post-order: flow from last call to element itself - exists(int last | last = max(int i | exists(this.getCall(i))) | - pred = this.getCall(last) and + exists(int last | last = max(int i | exists(this.getAccess(i))) | + pred = this.getAccess(last) and succ = this and c.isValidFor(pred) and c instanceof NormalCompletion @@ -704,7 +728,9 @@ module Expressions { private class ConditionallyQualifiedExpr extends PostOrderTree instanceof QualifiableExpr { private Expr qualifier; - ConditionallyQualifiedExpr() { this.isConditional() and qualifier = getExprChild(this, 0) } + ConditionallyQualifiedExpr() { + this.isConditional() and qualifier = getExprChild(this, 0) and not this instanceof WriteAccess + } final override predicate propagatesAbnormal(AstNode child) { child = qualifier } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll index 6a211e71f45..c7ac34d3d01 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/Nullness.qll @@ -43,6 +43,13 @@ private Expr maybeNullExpr(Expr reason) { ) or result.(NullCoalescingExpr).getRightOperand() = maybeNullExpr(reason) + or + result = + any(QualifiableExpr qe | + qe.isConditional() and + reason = qe.getQualifier() and + not qe instanceof AssignableWrite + ) } /** An expression that may be `null`. */ 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 4023d6c4597..f4d24fdb510 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll @@ -197,6 +197,42 @@ module BarrierGuard { } } +bindingset[this] +private signature class ParamSig; + +private module WithParam { + /** + * Holds if the guard `g` validates the expression `e` upon evaluating to `gv`. + * + * 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, GuardValue gv, P param); +} + +/** + * 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 ParameterizedBarrierGuard::guardChecksSig/4 guardChecks> { + private import SsaImpl as SsaImpl + + /** Gets a node that is safely guarded by the given guard check. */ + pragma[nomagic] + Node getABarrierNode(P param) { + SsaFlow::asNode(result) = + SsaImpl::DataFlowIntegration::ParameterizedBarrierGuard::getABarrierNode(param) + or + exists(Guard g, Expr e, GuardValue v | + guardChecks(g, e, v, param) and + g.controlsNode(result.getControlFlowNode(), e, v) + ) + } +} + /** * A reference contained in an object. This is either a field, a property, * or an element in a collection. diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll index 75d14034e00..1e6fed03d5c 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll @@ -97,6 +97,7 @@ private import FlowSummaryImpl::Public private import FlowSummaryImpl::Private private import FlowSummaryImpl::Private::External private import semmle.code.csharp.commons.QualifiedName +private import semmle.code.csharp.controlflow.Guards private import semmle.code.csharp.dispatch.OverridableCallable private import semmle.code.csharp.frameworks.System private import codeql.dataflow.internal.AccessPathSyntax as AccessPathSyntax @@ -115,7 +116,9 @@ module ModelValidation { summaryModel(_, _, _, _, _, _, path, _, _, _, _) or summaryModel(_, _, _, _, _, _, _, path, _, _, _) or sinkModel(_, _, _, _, _, _, path, _, _, _) or - sourceModel(_, _, _, _, _, _, path, _, _, _) + sourceModel(_, _, _, _, _, _, path, _, _, _) or + barrierModel(_, _, _, _, _, _, path, _, _, _) or + barrierGuardModel(_, _, _, _, _, _, path, _, _, _, _) } private module MkAccessPath = AccessPathSyntax::AccessPath; @@ -128,6 +131,8 @@ module ModelValidation { exists(string pred, AccessPath input, AccessPathToken part | sinkModel(_, _, _, _, _, _, input, _, _, _) and pred = "sink" or + barrierGuardModel(_, _, _, _, _, _, input, _, _, _, _) and pred = "barrier guard" + or summaryModel(_, _, _, _, _, _, input, _, _, _, _) and pred = "summary" | ( @@ -150,6 +155,8 @@ module ModelValidation { exists(string pred, AccessPath output, AccessPathToken part | sourceModel(_, _, _, _, _, _, output, _, _, _) and pred = "source" or + barrierModel(_, _, _, _, _, _, output, _, _, _) and pred = "barrier" + or summaryModel(_, _, _, _, _, _, _, output, _, _, _) and pred = "summary" | ( @@ -167,7 +174,13 @@ module ModelValidation { private module KindValConfig implements SharedModelVal::KindValidationConfigSig { predicate summaryKind(string kind) { summaryModel(_, _, _, _, _, _, _, _, kind, _, _) } - predicate sinkKind(string kind) { sinkModel(_, _, _, _, _, _, _, kind, _, _) } + predicate sinkKind(string kind) { + sinkModel(_, _, _, _, _, _, _, kind, _, _) + or + barrierModel(_, _, _, _, _, _, _, kind, _, _) + or + barrierGuardModel(_, _, _, _, _, _, _, _, kind, _, _) + } predicate sourceKind(string kind) { sourceModel(_, _, _, _, _, _, _, kind, _, _) } @@ -185,6 +198,12 @@ module ModelValidation { or sinkModel(namespace, type, _, name, signature, ext, _, _, provenance, _) and pred = "sink" or + barrierModel(namespace, type, _, name, signature, ext, _, _, provenance, _) and + pred = "barrier" + or + barrierGuardModel(namespace, type, _, name, signature, ext, _, _, _, provenance, _) and + pred = "barrier guard" + or summaryModel(namespace, type, _, name, signature, ext, _, _, _, provenance, _) and pred = "summary" or @@ -210,6 +229,14 @@ module ModelValidation { invalidProvenance(provenance) and result = "Unrecognized provenance description \"" + provenance + "\" in " + pred + " model." ) + or + exists(string acceptingvalue | + barrierGuardModel(_, _, _, _, _, _, _, acceptingvalue, _, _, _) and + invalidAcceptingValue(acceptingvalue) and + result = + "Unrecognized accepting value description \"" + acceptingvalue + + "\" in barrier guard model." + ) } /** Holds if some row in a MaD flow model appears to contain typos. */ @@ -229,6 +256,10 @@ private predicate elementSpec( or sinkModel(namespace, type, subtypes, name, signature, ext, _, _, _, _) or + barrierModel(namespace, type, subtypes, name, signature, ext, _, _, _, _) + or + barrierGuardModel(namespace, type, subtypes, name, signature, ext, _, _, _, _, _) + or summaryModel(namespace, type, subtypes, name, signature, ext, _, _, _, _, _) or Extensions::neutralModel(namespace, type, name, signature, _, _) and ext = "" and subtypes = true @@ -372,7 +403,9 @@ Declaration interpretElement( private predicate relevantExt(string ext) { summaryModel(_, _, _, _, _, ext, _, _, _, _, _) or sourceModel(_, _, _, _, _, ext, _, _, _, _) or - sinkModel(_, _, _, _, _, ext, _, _, _, _) + sinkModel(_, _, _, _, _, ext, _, _, _, _) or + barrierModel(_, _, _, _, _, ext, _, _, _, _) or + barrierGuardModel(_, _, _, _, _, ext, _, _, _, _, _) } private class ExtPath = AccessPathSyntax::AccessPath::AccessPath; @@ -411,6 +444,53 @@ private module Cached { isSinkNode(n, kind, model) and n.asNode() = node ) } + + private newtype TKindModelPair = + TMkPair(string kind, string model) { isBarrierGuardNode(_, _, kind, model) } + + private GuardValue convertAcceptingValue(AcceptingValue av) { + av.isTrue() and result.asBooleanValue() = true + or + av.isFalse() and result.asBooleanValue() = false + or + av.isNoException() and result.getDualValue().isThrowsException() + or + av.isZero() and result.asIntValue() = 0 + or + av.isNotZero() and result.getDualValue().asIntValue() = 0 + or + av.isNull() and result.isNullValue() + or + av.isNotNull() and result.isNonNullValue() + } + + private predicate barrierGuardChecks(Guard g, Expr e, GuardValue gv, TKindModelPair kmp) { + exists( + SourceSinkInterpretationInput::InterpretNode n, AcceptingValue acceptingvalue, string kind, + string model + | + isBarrierGuardNode(n, acceptingvalue, kind, model) and + n.asNode().asExpr() = e and + kmp = TMkPair(kind, model) and + gv = convertAcceptingValue(acceptingvalue) + | + g.(Call).getAnArgument() = e or g.(QualifiableExpr).getQualifier() = e + ) + } + + /** + * Holds if `node` is specified as a barrier with the given kind in a MaD flow + * model. + */ + cached + predicate barrierNode(Node node, string kind, string model) { + exists(SourceSinkInterpretationInput::InterpretNode n | + isBarrierNode(n, kind, model) and n.asNode() = node + ) + or + ParameterizedBarrierGuard::getABarrierNode(TMkPair(kind, + model)) = node + } } import Cached @@ -427,6 +507,12 @@ predicate sourceNode(Node node, string kind) { sourceNode(node, kind, _) } */ predicate sinkNode(Node node, string kind) { sinkNode(node, kind, _) } +/** + * Holds if `node` is specified as a barrier with the given kind in a MaD flow + * model. + */ +predicate barrierNode(Node node, string kind) { barrierNode(node, kind, _) } + private predicate isOverridableCallable(OverridableCallable c) { not exists(Type t, Callable base | c.getOverridee+() = base and t = base.getDeclaringType() | t instanceof SystemObjectClass or 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 56278b9ef95..fd1bbebd3e4 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll @@ -232,16 +232,27 @@ module SourceSinkInterpretationInput implements } predicate barrierElement( - Element n, string output, string kind, Public::Provenance provenance, string model + Element e, string output, string kind, Public::Provenance provenance, string model ) { - none() + exists( + string namespace, string type, boolean subtypes, string name, string signature, string ext + | + barrierModel(namespace, type, subtypes, name, signature, ext, output, kind, provenance, model) and + e = interpretElement(namespace, type, subtypes, name, signature, ext) + ) } predicate barrierGuardElement( - Element n, string input, Public::AcceptingValue acceptingvalue, string kind, + Element e, string input, Public::AcceptingValue acceptingvalue, string kind, Public::Provenance provenance, string model ) { - none() + exists( + string namespace, string type, boolean subtypes, string name, string signature, string ext + | + barrierGuardModel(namespace, type, subtypes, name, signature, ext, input, acceptingvalue, + kind, provenance, model) and + e = interpretElement(namespace, type, subtypes, name, signature, ext) + ) } class SourceOrSinkElement = Element; diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll index 277abd1d26e..7a592bebff0 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImpl.qll @@ -987,6 +987,36 @@ private module Cached { predicate getABarrierNode = getABarrierNodeImpl/0; } + + bindingset[this] + private signature class ParamSig; + + private module WithParam { + signature predicate guardChecksSig(Guards::Guard g, Expr e, Guards::GuardValue gv, P param); + } + + cached // nothing is actually cached + module ParameterizedBarrierGuard::guardChecksSig/4 guardChecks> { + private predicate guardChecksAdjTypes( + Guards::Guards::Guard g, Expr e, Guards::GuardValue gv, P param + ) { + guardChecks(g, e, gv, param) + } + + private predicate guardChecksWithWrappers( + DataFlowIntegrationInput::Guard g, Definition def, Guards::GuardValue val, P param + ) { + Guards::Guards::ParameterizedValidationWrapper::guardChecksDef(g, + def, val, param) + } + + private Node getABarrierNodeImpl(P param) { + result = + DataFlowIntegrationImpl::BarrierGuardDefWithState::getABarrierNode(param) + } + + predicate getABarrierNode = getABarrierNodeImpl/1; + } } } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CleartextStorageQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CleartextStorageQuery.qll index 3e4642411f0..bf79523f50f 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CleartextStorageQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CleartextStorageQuery.qll @@ -4,6 +4,7 @@ import csharp private import semmle.code.csharp.security.dataflow.flowsources.Remote +private import semmle.code.csharp.dataflow.internal.ExternalFlow private import semmle.code.csharp.frameworks.system.Web private import semmle.code.csharp.security.SensitiveActions private import semmle.code.csharp.security.dataflow.flowsinks.ExternalLocationSink @@ -62,3 +63,5 @@ class ProtectSanitizer extends Sanitizer { * An external location sink. */ class ExternalSink extends Sink instanceof ExternalLocationSink { } + +private class ExternalSanitizer extends Sanitizer instanceof ExternalLocationSanitizer { } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll index 20d5bbe10ca..f567e3cbc02 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CodeInjectionQuery.qll @@ -95,7 +95,12 @@ class RoslynCSharpScriptSink extends Sink { } } -/** Code injection sinks defined through CSV models. */ +/** A code injection sink defined through Models as Data. */ private class ExternalCodeInjectionExprSink extends Sink { ExternalCodeInjectionExprSink() { sinkNode(this, "code-injection") } } + +/** A sanitizer for code injection defined through Models as Data. */ +private class ExternalCodeInjectionSanitizer extends Sanitizer { + ExternalCodeInjectionSanitizer() { barrierNode(this, "code-injection") } +} diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll index 9528676af8e..b8c37d602b9 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/CommandInjectionQuery.qll @@ -61,11 +61,16 @@ deprecated class RemoteSource extends DataFlow::Node instanceof RemoteFlowSource /** A source supported by the current threat model. */ class ThreatModelSource extends Source instanceof ActiveThreatModelSource { } -/** Command Injection sinks defined through Models as Data. */ +/** A Command Injection sink defined through Models as Data. */ private class ExternalCommandInjectionExprSink extends Sink { ExternalCommandInjectionExprSink() { sinkNode(this, "command-injection") } } +/** A sanitizer for command injection defined through Models as Data. */ +private class ExternalCommandInjectionSanitizer extends Sanitizer { + ExternalCommandInjectionSanitizer() { barrierNode(this, "command-injection") } +} + /** * A sink in `System.Diagnostic.Process` or its related classes. */ diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ExposureOfPrivateInformationQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ExposureOfPrivateInformationQuery.qll index 85782fe4936..b5b95902d8a 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ExposureOfPrivateInformationQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ExposureOfPrivateInformationQuery.qll @@ -46,3 +46,5 @@ private class PrivateDataSource extends Source { } private class ExternalLocation extends Sink instanceof ExternalLocationSink { } + +private class ExternalSanitizer extends Sanitizer instanceof ExternalLocationSanitizer { } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll index c2e25f0e522..06bfac6c545 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LDAPInjectionQuery.qll @@ -64,11 +64,16 @@ deprecated class RemoteSource extends DataFlow::Node instanceof RemoteFlowSource /** A source supported by the current threat model. */ class ThreatModelSource extends Source instanceof ActiveThreatModelSource { } -/** LDAP sinks defined through Models as Data. */ +/** An LDAP sink defined through Models as Data. */ private class ExternalLdapExprSink extends Sink { ExternalLdapExprSink() { sinkNode(this, "ldap-injection") } } +/** A sanitizer for LDAP injection defined through Models as Data. */ +private class ExternalLdapInjectionSanitizer extends Sanitizer { + ExternalLdapInjectionSanitizer() { barrierNode(this, "ldap-injection") } +} + /** * An argument that sets the `Path` property of a `DirectoryEntry` object that is a sink for LDAP * injection. diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll index e06e728514d..22023ebc409 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/LogForgingQuery.qll @@ -61,11 +61,16 @@ private class LogForgingLogMessageSink extends Sink, LogMessageSink { } */ private class LogForgingTraceMessageSink extends Sink, TraceMessageSink { } -/** Log Forging sinks defined through Models as Data. */ +/** A Log Forging sink defined through Models as Data. */ private class ExternalLoggingExprSink extends Sink { ExternalLoggingExprSink() { sinkNode(this, "log-injection") } } +/** A sanitizer for log forging defined through Models as Data. */ +private class ExternalLogForgingSanitizer extends Sanitizer { + ExternalLogForgingSanitizer() { barrierNode(this, "log-injection") } +} + /** * A call to String replace or remove that is considered to sanitize replaced string. */ diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll index 510b0381143..addc1932177 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/SqlInjectionQuery.qll @@ -74,11 +74,16 @@ class SqlInjectionExprSink extends Sink { SqlInjectionExprSink() { exists(SqlExpr s | this.getExpr() = s.getSql()) } } -/** SQL sinks defined through CSV models. */ +/** An SQL sink defined through CSV models. */ private class ExternalSqlInjectionExprSink extends Sink { ExternalSqlInjectionExprSink() { sinkNode(this, "sql-injection") } } +/** A sanitizer for SQL injection defined through Models as Data. */ +private class ExternalSqlInjectionSanitizer extends Sanitizer { + ExternalSqlInjectionSanitizer() { barrierNode(this, "sql-injection") } +} + private class SimpleTypeSanitizer extends Sanitizer, SimpleTypeSanitizedExpr { } private class GuidSanitizer extends Sanitizer, GuidSanitizedExpr { } 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 15ba99aedf0..bad6c990fa7 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll @@ -56,11 +56,16 @@ deprecated class RemoteSource extends DataFlow::Node instanceof RemoteFlowSource /** A source supported by the current threat model. */ class ThreatModelSource extends Source instanceof ActiveThreatModelSource { } -/** URL Redirection sinks defined through Models as Data. */ +/** A URL Redirection sink defined through Models as Data. */ private class ExternalUrlRedirectExprSink extends Sink { ExternalUrlRedirectExprSink() { sinkNode(this, "url-redirection") } } +/** A sanitizer for URL redirection defined through Models as Data. */ +private class ExternalUrlRedirectSanitizer extends Sanitizer { + ExternalUrlRedirectSanitizer() { barrierNode(this, "url-redirection") } +} + /** * A URL argument to a call to `HttpResponse.Redirect()` or `Controller.Redirect()`, that is a * sink for URL redirects. @@ -160,27 +165,6 @@ class ContainsUrlSanitizer extends Sanitizer { } } -/** - * A check that the URL is relative, and therefore safe for URL redirects. - */ -private predicate isRelativeUrlSanitizer(Guard guard, Expr e, GuardValue v) { - guard = - any(PropertyAccess access | - access.getProperty().hasFullyQualifiedName("System", "Uri", "IsAbsoluteUri") and - e = access.getQualifier() and - v.asBooleanValue() = false - ) -} - -/** - * A check that the URL is relative, and therefore safe for URL redirects. - */ -class RelativeUrlSanitizer extends Sanitizer { - RelativeUrlSanitizer() { - this = DataFlow::BarrierGuard::getABarrierNode() - } -} - /** * A comparison on the `Host` property of a url, that is a sanitizer for URL redirects. * E.g. `url.Host == "example.org"` @@ -205,16 +189,6 @@ class HostComparisonSanitizer extends Sanitizer { } } -/** - * A call to the getter of the RawUrl property, whose value is considered to be safe for URL - * redirects. - */ -class RawUrlSanitizer extends Sanitizer { - RawUrlSanitizer() { - this.getExpr() = any(SystemWebHttpRequestClass r).getRawUrlProperty().getGetter().getACall() - } -} - /** * A string concatenation expression, where the left hand side contains the character "?". * diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSQuery.qll index 2d687b51d67..b084905ddad 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSQuery.qll @@ -7,6 +7,7 @@ import csharp private import XSSSinks private import semmle.code.csharp.security.Sanitizers private import semmle.code.csharp.security.dataflow.flowsources.FlowSources +private import semmle.code.csharp.dataflow.internal.ExternalFlow /** * Holds if there is tainted flow from `source` to `sink` that may lead to a @@ -169,6 +170,11 @@ private class SimpleTypeSanitizer extends Sanitizer, SimpleTypeSanitizedExpr { } private class GuidSanitizer extends Sanitizer, GuidSanitizedExpr { } +/** A sanitizer for XSS defined through Models as Data. */ +private class ExternalXssSanitizer extends Sanitizer { + ExternalXssSanitizer() { barrierNode(this, ["html-injection", "js-injection"]) } +} + /** A call to an HTML encoder. */ private class HtmlEncodeSanitizer extends Sanitizer { HtmlEncodeSanitizer() { this.getExpr() instanceof HtmlSanitizedExpr } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll index 3bcfdde669a..4ee02416961 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/ExternalLocationSink.qll @@ -126,3 +126,11 @@ class LocalFileOutputSink extends ExternalLocationSink { ) } } + +/** + * A sanitizer for writing data to locations that are external to the + * application, defined through Models as Data. + */ +class ExternalLocationSanitizer extends DataFlow::Node { + ExternalLocationSanitizer() { barrierNode(this, "file-content-store") } +} diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index e91f882b9ed..b3c3276ae5c 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,18 @@ +## 1.6.0 + +### Query Metadata Changes + +* Updated the `name`, `description`, and alert message of `cs/path-combine` to have more details about why it's a problem. + +### Minor Analysis Improvements + +* Added `NHibernate.ISession.CreateSQLQuery`, `NHibernate.IStatelessSession.CreateSQLQuery` and `NHibernate.Impl.AbstractSessionImpl.CreateSQLQuery` as SQL injection sinks. +* The `Missing cross-site request forgery token validation` query was extended to support ASP.NET Core. + +## 1.5.4 + +No user-facing changes. + ## 1.5.3 No user-facing changes. diff --git a/csharp/ql/src/change-notes/2025-12-08-csrf-aspnetcore.md b/csharp/ql/src/change-notes/2025-12-08-csrf-aspnetcore.md deleted file mode 100644 index e4a1f64ef14..00000000000 --- a/csharp/ql/src/change-notes/2025-12-08-csrf-aspnetcore.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `Missing cross-site request forgery token validation` query was extended to support ASP.NET Core. diff --git a/csharp/ql/src/change-notes/2025-12-11-nhibernate-sql-sinks.md b/csharp/ql/src/change-notes/2025-12-11-nhibernate-sql-sinks.md deleted file mode 100644 index c2ce476dd7a..00000000000 --- a/csharp/ql/src/change-notes/2025-12-11-nhibernate-sql-sinks.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added `NHibernate.ISession.CreateSQLQuery`, `NHibernate.IStatelessSession.CreateSQLQuery` and `NHibernate.Impl.AbstractSessionImpl.CreateSQLQuery` as SQL injection sinks. \ No newline at end of file diff --git a/csharp/ql/src/change-notes/2025-12-16-path-combine-metadata.md b/csharp/ql/src/change-notes/2025-12-16-path-combine-metadata.md deleted file mode 100644 index 23c74d27398..00000000000 --- a/csharp/ql/src/change-notes/2025-12-16-path-combine-metadata.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: queryMetadata ---- -* Updated the `name`, `description`, and alert message of `cs/path-combine` to have more details about why it's a problem. diff --git a/csharp/ql/src/change-notes/released/1.5.4.md b/csharp/ql/src/change-notes/released/1.5.4.md new file mode 100644 index 00000000000..5ff5ac8ebb7 --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.5.4.md @@ -0,0 +1,3 @@ +## 1.5.4 + +No user-facing changes. diff --git a/csharp/ql/src/change-notes/released/1.6.0.md b/csharp/ql/src/change-notes/released/1.6.0.md new file mode 100644 index 00000000000..36b3c6574ea --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.6.0.md @@ -0,0 +1,10 @@ +## 1.6.0 + +### Query Metadata Changes + +* Updated the `name`, `description`, and alert message of `cs/path-combine` to have more details about why it's a problem. + +### Minor Analysis Improvements + +* Added `NHibernate.ISession.CreateSQLQuery`, `NHibernate.IStatelessSession.CreateSQLQuery` and `NHibernate.Impl.AbstractSessionImpl.CreateSQLQuery` as SQL injection sinks. +* The `Missing cross-site request forgery token validation` query was extended to support ASP.NET Core. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 232224b0e26..c4f0b07d533 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.5.3 +lastReleaseVersion: 1.6.0 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index efe787aaae5..2ea09521187 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.5.4-dev +version: 1.6.1-dev groups: - csharp - queries diff --git a/csharp/ql/test/library-tests/controlflow/graph/Assignments.cs b/csharp/ql/test/library-tests/controlflow/graph/Assignments.cs index bb8a645427e..e967904c80c 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Assignments.cs +++ b/csharp/ql/test/library-tests/controlflow/graph/Assignments.cs @@ -21,4 +21,26 @@ class Assignments delegate void EventHandler(object sender, object e); event EventHandler Event; + int IntField; + string StringField; + + void SetParamSingle(out int x) + { + x = 42; + } + + void SetParamMulti(out int x, object o, out string y) + { + x = 42; + y = "Hello"; + } + + void M2() + { + int x1; + SetParamSingle(out x1); + SetParamSingle(out IntField); + SetParamMulti(out var y, null, out StringField); + SetParamMulti(out IntField, null, out StringField); + } } diff --git a/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected b/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected index 99d89a29c13..30f2b105155 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/BasicBlock.expected @@ -3,14 +3,14 @@ | AccessorCalls.cs:5:33:5:35 | enter set_Item | AccessorCalls.cs:5:33:5:35 | exit set_Item | 4 | | AccessorCalls.cs:7:32:7:34 | enter add_Event | AccessorCalls.cs:7:32:7:34 | exit add_Event | 4 | | AccessorCalls.cs:7:40:7:45 | enter remove_Event | AccessorCalls.cs:7:40:7:45 | exit remove_Event | 4 | -| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:10:10:10:11 | exit M1 | 33 | -| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:19:10:19:11 | exit M2 | 41 | +| AccessorCalls.cs:10:10:10:11 | enter M1 | AccessorCalls.cs:10:10:10:11 | exit M1 | 34 | +| AccessorCalls.cs:19:10:19:11 | enter M2 | AccessorCalls.cs:19:10:19:11 | exit M2 | 42 | | AccessorCalls.cs:28:10:28:11 | enter M3 | AccessorCalls.cs:28:10:28:11 | exit M3 | 17 | | AccessorCalls.cs:35:10:35:11 | enter M4 | AccessorCalls.cs:35:10:35:11 | exit M4 | 20 | -| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:42:10:42:11 | exit M5 | 33 | -| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:49:10:49:11 | exit M6 | 42 | -| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:56:10:56:11 | exit M7 | 24 | -| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:61:10:61:11 | exit M8 | 30 | +| AccessorCalls.cs:42:10:42:11 | enter M5 | AccessorCalls.cs:42:10:42:11 | exit M5 | 34 | +| AccessorCalls.cs:49:10:49:11 | enter M6 | AccessorCalls.cs:49:10:49:11 | exit M6 | 43 | +| AccessorCalls.cs:56:10:56:11 | enter M7 | AccessorCalls.cs:56:10:56:11 | exit M7 | 25 | +| AccessorCalls.cs:61:10:61:11 | enter M8 | AccessorCalls.cs:61:10:61:11 | exit M8 | 31 | | AccessorCalls.cs:66:10:66:11 | enter M9 | AccessorCalls.cs:66:10:66:11 | exit M9 | 58 | | ArrayCreation.cs:1:7:1:19 | enter ArrayCreation | ArrayCreation.cs:1:7:1:19 | exit ArrayCreation | 7 | | ArrayCreation.cs:3:11:3:12 | enter M1 | ArrayCreation.cs:3:11:3:12 | exit M1 | 5 | @@ -167,6 +167,9 @@ | Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | exit M | 34 | | Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | exit (...) => ... | 4 | | Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | exit + | 6 | +| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | exit SetParamSingle | 7 | +| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | exit SetParamMulti | 10 | +| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | exit M2 | 28 | | BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | exit BreakInTry | 7 | | BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:7:33:7:36 | access to parameter args | 5 | | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | exit M1 | 2 | @@ -244,7 +247,30 @@ | ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:35:9:35:12 | access to property Prop | 8 | | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 | 2 | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | 1 | -| ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith | 8 | +| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | exit get_Item | 6 | +| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | exit set_Item | 4 | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | 4 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | exit M9 | 2 | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:12:48:25 | ... = ... | 3 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | 2 | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:12:49:32 | ... = ... | 3 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | 2 | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:12:50:23 | ... = ... | 4 | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | 1 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | 2 | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:18:51:31 | ... = ... | 3 | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | 1 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | 2 | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:18:52:38 | ... = ... | 3 | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | 1 | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | 1 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | 2 | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:12:53:25 | ... = ... | 4 | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | 1 | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | 1 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | 2 | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:12:54:29 | ... = ... | 4 | +| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | 8 | | Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | exit Conditions | 7 | | Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:5:13:5:15 | access to parameter inc | 4 | | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | exit IncrOrDecr | 2 | @@ -490,8 +516,8 @@ | Finally.cs:205:31:205:46 | object creation of type ExceptionB | Finally.cs:205:31:205:46 | object creation of type ExceptionB | 1 | | Finally.cs:208:13:210:13 | {...} | Finally.cs:209:21:209:22 | access to parameter b3 | 3 | | Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | 2 | -| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | ... = ... | 4 | -| Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | exit M10 (normal) | 5 | +| Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:28 | ... = ... | 5 | +| Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | exit M10 (normal) | 6 | | Finally.cs:216:10:216:12 | enter M11 | Finally.cs:220:13:220:36 | call to method WriteLine | 7 | | Finally.cs:222:9:225:9 | catch {...} | Finally.cs:224:13:224:38 | call to method WriteLine | 5 | | Finally.cs:227:9:229:9 | {...} | Finally.cs:216:10:216:12 | exit M11 | 9 | @@ -539,21 +565,21 @@ | Foreach.cs:36:10:36:11 | exit M6 (normal) | Foreach.cs:36:10:36:11 | exit M6 | 2 | | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | Foreach.cs:38:9:39:11 | foreach (... ... in ...) ... | 1 | | Foreach.cs:38:26:38:26 | String x | Foreach.cs:39:11:39:11 | ; | 4 | -| Initializers.cs:3:7:3:18 | enter | Initializers.cs:3:7:3:18 | exit | 14 | +| Initializers.cs:3:7:3:18 | enter | Initializers.cs:3:7:3:18 | exit | 15 | | Initializers.cs:3:7:3:18 | enter Initializers | Initializers.cs:3:7:3:18 | exit Initializers | 4 | | Initializers.cs:8:5:8:16 | enter Initializers | Initializers.cs:8:5:8:16 | exit Initializers | 7 | | Initializers.cs:10:5:10:16 | enter Initializers | Initializers.cs:10:5:10:16 | exit Initializers | 7 | -| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:12:10:12:10 | exit M | 22 | -| Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:16:18:16 | exit H | 5 | -| Initializers.cs:20:11:20:23 | enter | Initializers.cs:20:11:20:23 | exit | 9 | +| Initializers.cs:12:10:12:10 | enter M | Initializers.cs:12:10:12:10 | exit M | 23 | +| Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:16:18:16 | exit H | 6 | +| Initializers.cs:20:11:20:23 | enter | Initializers.cs:20:11:20:23 | exit | 11 | | Initializers.cs:20:11:20:23 | enter NoConstructor | Initializers.cs:20:11:20:23 | exit NoConstructor | 7 | -| Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | exit | 6 | -| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | exit Sub | 11 | -| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | exit Sub | 9 | -| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | exit Sub | 13 | +| Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | exit | 7 | +| Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | exit Sub | 12 | +| Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:9:33:11 | exit Sub | 10 | +| Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | exit Sub | 14 | | Initializers.cs:39:7:39:23 | enter IndexInitializers | Initializers.cs:39:7:39:23 | exit IndexInitializers | 7 | | Initializers.cs:41:11:41:18 | enter Compound | Initializers.cs:41:11:41:18 | exit Compound | 7 | -| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | exit Test | 105 | +| Initializers.cs:51:10:51:13 | enter Test | Initializers.cs:51:10:51:13 | exit Test | 116 | | LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | exit LoopUnrolling | 7 | | LoopUnrolling.cs:7:10:7:11 | enter M1 | LoopUnrolling.cs:9:13:9:28 | ... == ... | 7 | | LoopUnrolling.cs:7:10:7:11 | exit M1 (normal) | LoopUnrolling.cs:7:10:7:11 | exit M1 | 2 | @@ -629,7 +655,7 @@ | MultiImplementationA.cs:8:29:8:32 | null | MultiImplementationA.cs:8:16:8:16 | exit M (abnormal) | 3 | | MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | enter | 1 | | MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit | 2 | -| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:24:32:24:34 | ... = ... | 7 | +| MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:24:32:24:34 | ... = ... | 8 | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | 2 | | MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | enter get_Item | 1 | | MultiImplementationA.cs:14:31:14:31 | exit get_Item | MultiImplementationA.cs:14:31:14:31 | exit get_Item | 1 | @@ -645,7 +671,7 @@ | MultiImplementationA.cs:18:9:18:22 | enter M2 | MultiImplementationA.cs:18:9:18:22 | exit M2 | 4 | | MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationA.cs:20:12:20:13 | enter C2 | 1 | | MultiImplementationA.cs:20:12:20:13 | exit C2 | MultiImplementationA.cs:20:12:20:13 | exit C2 | 1 | -| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | 9 | +| MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | 10 | | MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:12:21:13 | enter C2 | 1 | | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 | 2 | | MultiImplementationA.cs:21:24:21:24 | 0 | MultiImplementationA.cs:21:27:21:29 | {...} | 3 | @@ -671,7 +697,7 @@ | MultiImplementationB.cs:4:25:4:37 | {...} | MultiImplementationA.cs:7:21:7:23 | exit get_P2 (normal) | 4 | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | 2 | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | exit M (normal) | 2 | -| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:22:32:22:34 | ... = ... | 7 | +| MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:22:32:22:34 | ... = ... | 8 | | MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | 3 | | MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationA.cs:15:36:15:38 | exit get_Item (abnormal) | 4 | | MultiImplementationB.cs:13:60:13:62 | {...} | MultiImplementationB.cs:13:60:13:62 | {...} | 1 | @@ -722,7 +748,7 @@ | NullCoalescing.cs:15:31:15:31 | 0 | NullCoalescing.cs:16:17:16:18 | "" | 5 | | NullCoalescing.cs:16:17:16:25 | ... ?? ... | NullCoalescing.cs:17:13:17:19 | (...) ... | 5 | | NullCoalescing.cs:17:13:17:24 | ... ?? ... | NullCoalescing.cs:13:10:13:11 | exit M6 | 4 | -| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationA.cs:1:15:1:21 | exit | 10 | +| PartialImplementationA.cs:1:15:1:21 | enter | PartialImplementationA.cs:1:15:1:21 | exit | 11 | | PartialImplementationA.cs:3:12:3:18 | enter Partial | PartialImplementationA.cs:3:12:3:18 | exit Partial | 7 | | PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | exit Partial | 7 | | Patterns.cs:3:7:3:14 | enter Patterns | Patterns.cs:3:7:3:14 | exit Patterns | 7 | @@ -1041,8 +1067,8 @@ | cflow.cs:127:32:127:57 | ... ? ... : ... | cflow.cs:127:19:127:21 | exit get_Prop | 4 | | cflow.cs:127:48:127:49 | "" | cflow.cs:127:48:127:49 | "" | 1 | | cflow.cs:127:53:127:57 | this access | cflow.cs:127:53:127:57 | access to field Field | 2 | -| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:62:127:64 | exit set_Prop | 8 | -| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | exit ControlFlow | 11 | +| cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:62:127:64 | exit set_Prop | 9 | +| cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | exit ControlFlow | 12 | | cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:5:134:15 | exit ControlFlow | 9 | | cflow.cs:136:12:136:22 | enter ControlFlow | cflow.cs:136:12:136:22 | exit ControlFlow | 8 | | cflow.cs:138:40:138:40 | enter + | cflow.cs:138:40:138:40 | exit + | 9 | @@ -1104,7 +1130,7 @@ | cflow.cs:201:9:205:9 | {...} | cflow.cs:193:10:193:17 | exit Booleans (abnormal) | 5 | | cflow.cs:208:10:208:11 | enter Do | cflow.cs:210:9:221:36 | do ... while (...); | 3 | | cflow.cs:208:10:208:11 | exit Do (normal) | cflow.cs:208:10:208:11 | exit Do | 2 | -| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | ... > ... | 14 | +| cflow.cs:211:9:221:9 | {...} | cflow.cs:213:17:213:32 | ... > ... | 15 | | cflow.cs:214:13:216:13 | {...} | cflow.cs:215:17:215:25 | continue; | 2 | | cflow.cs:217:13:220:13 | if (...) ... | cflow.cs:217:17:217:32 | ... < ... | 6 | | cflow.cs:218:13:220:13 | {...} | cflow.cs:219:17:219:22 | break; | 2 | @@ -1112,7 +1138,7 @@ | cflow.cs:224:10:224:16 | enter Foreach | cflow.cs:226:27:226:64 | call to method Repeat | 5 | | cflow.cs:224:10:224:16 | exit Foreach (normal) | cflow.cs:224:10:224:16 | exit Foreach | 2 | | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | cflow.cs:226:9:237:9 | foreach (... ... in ...) ... | 1 | -| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | ... > ... | 15 | +| cflow.cs:226:22:226:22 | String x | cflow.cs:229:17:229:32 | ... > ... | 16 | | cflow.cs:230:13:232:13 | {...} | cflow.cs:231:17:231:25 | continue; | 2 | | cflow.cs:233:13:236:13 | if (...) ... | cflow.cs:233:17:233:32 | ... < ... | 6 | | cflow.cs:234:13:236:13 | {...} | cflow.cs:235:17:235:22 | break; | 2 | diff --git a/csharp/ql/test/library-tests/controlflow/graph/Condition.expected b/csharp/ql/test/library-tests/controlflow/graph/Condition.expected index 2c2f3dbb018..3ef1d481abe 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Condition.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Condition.expected @@ -91,6 +91,23 @@ conditionBlock | ConditionalAccess.cs:23:13:23:38 | Nullable j = ... | ConditionalAccess.cs:25:31:25:31 | access to local variable s | false | | ConditionalAccess.cs:24:17:24:37 | call to method ToString | ConditionalAccess.cs:25:31:25:31 | access to local variable s | false | | ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:35:9:35:24 | call to method Out | false | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:48:24:48:25 | 42 | false | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | false | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | false | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | false | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | false | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | false | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | false | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | false | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | false | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:20 | access to field IntField | false | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | false | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | false | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | false | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | false | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | false | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | false | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | false | | Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:6:13:6:16 | ...; | true | | Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | [false] !... | true | | Conditions.cs:7:9:8:16 | if (...) ... | Conditions.cs:7:13:7:16 | [true] !... | false | diff --git a/csharp/ql/test/library-tests/controlflow/graph/ConditionalAccess.cs b/csharp/ql/test/library-tests/controlflow/graph/ConditionalAccess.cs index a03564b529f..b99e940f88b 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/ConditionalAccess.cs +++ b/csharp/ql/test/library-tests/controlflow/graph/ConditionalAccess.cs @@ -34,6 +34,25 @@ class ConditionalAccess i = 0; Prop?.Out(out i); } + + string StringProp { get; set; } + int IntField; + string this[int index] + { + get { return null; } + set { } + } + + void M9(ConditionalAccess ca) + { + ca?.IntField = 42; + ca?.StringProp = "Hello"; + ca?[0] = "Set0"; + ca?.Prop?.IntField = 84; + ca?.Prop?.StringProp = "World"; + ca?.IntField -= 1; + ca?.StringProp += "!"; + } } static class Ext diff --git a/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected b/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected index 8240e61a419..204092c6df2 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Dominance.expected @@ -21,10 +21,11 @@ dominance | AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:10:10:10:11 | exit M1 | | AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:12:9:12:32 | ...; | | AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:22:12:25 | this access | +| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | | AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:13:9:13:30 | ...; | | AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:12 | this access | | AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:22:12:31 | access to field Field | -| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | +| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:9:12:18 | access to field Field | | AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:21:13:24 | this access | | AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:29 | ... = ... | | AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:14:9:14:26 | ...; | @@ -54,11 +55,12 @@ dominance | AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:21:9:21:36 | ...; | | AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:14 | access to field x | | AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:24:21:27 | this access | +| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | | AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:22:9:22:34 | ...; | | AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:12 | this access | | AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:24:21:29 | access to field x | | AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:35 | access to field Field | -| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | +| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:9:21:20 | access to field Field | | AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:14 | access to field x | | AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:23:22:26 | this access | | AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:33 | ... = ... | @@ -129,8 +131,9 @@ dominance | AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:44:9:44:33 | ...; | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:12 | this access | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:18 | access to field Field | +| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:32 | ... = ... | | AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:23:44:26 | this access | -| AccessorCalls.cs:44:9:44:32 | ... + ... | AccessorCalls.cs:44:9:44:32 | ... = ... | +| AccessorCalls.cs:44:9:44:32 | ... + ... | AccessorCalls.cs:44:9:44:18 | access to field Field | | AccessorCalls.cs:44:9:44:32 | ... = ... | AccessorCalls.cs:45:9:45:31 | ...; | | AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:12 | this access | | AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:23:44:32 | access to field Field | @@ -163,8 +166,9 @@ dominance | AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:14 | access to field x | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:12 | this access | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:20 | access to field Field | +| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:36 | ... = ... | | AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:25:51:28 | this access | -| AccessorCalls.cs:51:9:51:36 | ... + ... | AccessorCalls.cs:51:9:51:36 | ... = ... | +| AccessorCalls.cs:51:9:51:36 | ... + ... | AccessorCalls.cs:51:9:51:20 | access to field Field | | AccessorCalls.cs:51:9:51:36 | ... = ... | AccessorCalls.cs:52:9:52:35 | ...; | | AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:12 | this access | | AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:25:51:30 | access to field x | @@ -204,13 +208,14 @@ dominance | AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | | AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:10:58:13 | this access | | AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:22:58:25 | this access | +| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:22:58:30 | access to property Prop | | AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:37:58:40 | this access | | AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:37:58:43 | access to indexer | | AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | | AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:42:58:42 | 0 | | AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:9:58:85 | ... = ... | | AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:33:58:44 | (..., ...) | -| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:22:58:30 | access to property Prop | +| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:10:58:19 | access to field Field | | AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:50:58:59 | access to field Field | | AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:62:58:65 | this access | | AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:62:58:70 | access to property Prop | @@ -228,6 +233,7 @@ dominance | AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:10:63:13 | this access | | AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:10:63:15 | access to field x | | AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | +| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:24:63:34 | access to property Prop | | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:29 | access to field x | | AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | | AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:41:63:49 | access to indexer | @@ -236,7 +242,7 @@ dominance | AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:48:63:48 | 0 | | AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:9:63:97 | ... = ... | | AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:37:63:50 | (..., ...) | -| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:24:63:34 | access to property Prop | +| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:10:63:21 | access to field Field | | AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:56:63:61 | access to field x | | AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:67 | access to field Field | | AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:70:63:73 | this access | @@ -760,6 +766,48 @@ dominance | Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:16:19:16 | access to parameter x | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | exit + (normal) | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:9:19:17 | return ...; | +| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:28:5:30:5 | {...} | +| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:27:10:27:23 | exit SetParamSingle | +| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:29:9:29:15 | ...; | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:9:29:14 | ... = ... | +| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:33:5:36:5 | {...} | +| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:32:10:32:22 | exit SetParamMulti | +| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:34:9:34:15 | ...; | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:35:9:35:20 | ...; | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:9:34:14 | ... = ... | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:13:35:19 | "Hello" | +| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:9:35:19 | ... = ... | +| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:39:5:45:5 | {...} | +| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:38:10:38:11 | exit M2 | +| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:40:9:40:15 | ... ...; | +| Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:40:13:40:14 | Int32 x1 | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:41:9:41:31 | ...; | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:42:9:42:37 | ...; | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | call to method SetParamSingle | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | this access | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:43:9:43:56 | ...; | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:28:42:35 | this access | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | this access | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:9:42:36 | call to method SetParamSingle | +| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | access to field IntField | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:44:9:44:59 | ...; | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:34:43:37 | null | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | this access | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:44:43:54 | this access | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:9:43:55 | call to method SetParamMulti | +| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | access to field StringField | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | exit M2 (normal) | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:27:44:34 | this access | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | this access | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:37:44:40 | null | +| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | access to field IntField | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:47:44:57 | this access | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:9:44:58 | call to method SetParamMulti | +| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | access to field StringField | | BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | {...} | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | call to constructor Object | | BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | this access | @@ -971,13 +1019,68 @@ dominance | ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:24 | call to method Out | | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | access to property Prop | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:12 | this access | -| ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | -| ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith | -| ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | ConditionalAccess.cs:41:75:41:78 | ", " | -| ConditionalAccess.cs:41:70:41:78 | ... + ... | ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | -| ConditionalAccess.cs:41:70:41:83 | ... + ... | ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith (normal) | -| ConditionalAccess.cs:41:75:41:78 | ", " | ConditionalAccess.cs:41:70:41:78 | ... + ... | -| ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | ConditionalAccess.cs:41:70:41:83 | ... + ... | +| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:13:42:28 | {...} | +| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:9:42:11 | exit get_Item | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:22:42:25 | null | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | +| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:15:42:26 | return ...; | +| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:13:43:15 | {...} | +| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:9:43:11 | exit set_Item | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:47:5:55:5 | {...} | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | exit M9 | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:48:9:48:26 | ...; | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:12:48:25 | ... = ... | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:9:48:20 | access to field IntField | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:12:49:32 | ... = ... | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:12:50:23 | ... = ... | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:18:50:23 | "Set0" | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:9:50:14 | access to indexer | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:18:51:31 | ... = ... | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:9:51:26 | access to field IntField | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:18:52:38 | ... = ... | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:12:53:25 | ... = ... | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:12:53:25 | ... - ... | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:12:53:25 | ... - ... | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:12:54:29 | ... = ... | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:12:54:29 | ... + ... | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:12:54:29 | ... + ... | +| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | +| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | +| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:75:60:78 | ", " | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | +| ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:70:60:78 | ... + ... | +| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:70:60:83 | ... + ... | | Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | {...} | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | call to constructor Object | | Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | this access | @@ -1763,13 +1866,15 @@ dominance | Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:211:13:211:29 | ...; | | Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | | Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" | +| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:28 | ... = ... | | Finally.cs:211:13:211:28 | ... = ... | Finally.cs:213:9:213:25 | ...; | | Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access | -| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... | +| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:22 | access to field Field | | Finally.cs:213:9:213:12 | this access | Finally.cs:213:22:213:24 | "1" | +| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:24 | ... = ... | | Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | exit M10 (normal) | | Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:12 | this access | -| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:24 | ... = ... | +| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:18 | access to field Field | | Finally.cs:216:10:216:12 | enter M11 | Finally.cs:217:5:231:5 | {...} | | Finally.cs:216:10:216:12 | exit M11 (normal) | Finally.cs:216:10:216:12 | exit M11 | | Finally.cs:217:5:231:5 | {...} | Finally.cs:218:9:229:9 | try {...} ... | @@ -1900,10 +2005,11 @@ dominance | Initializers.cs:3:7:3:18 | exit (normal) | Initializers.cs:3:7:3:18 | exit | | Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | exit Initializers | | Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | exit Initializers (normal) | +| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:17 | ... = ... | | Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:13:5:13 | access to field H | | Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:6:9:6:9 | this access | | Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:17:5:17 | 1 | -| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:9:5:17 | ... = ... | +| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:9:5:9 | access to field F | | Initializers.cs:5:17:5:17 | 1 | Initializers.cs:5:13:5:17 | ... + ... | | Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:25:6:31 | ... = ... | | Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:27:6:27 | access to field H | @@ -1931,8 +2037,9 @@ dominance | Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:44:14:44 | 0 | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:17:14:53 | object creation of type Initializers | | Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:13:14:53 | Initializers i = ... | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:40:14:44 | ... = ... | | Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:51:14:51 | 1 | -| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:44 | ... = ... | +| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:40 | access to field F | | Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:51 | ... = ... | | Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:38:14:53 | { ..., ... } | | Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:47:14:47 | access to property G | @@ -1944,10 +2051,11 @@ dominance | Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:59:15:60 | "" | | Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:37:15:63 | { ..., ... } | | Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:42:15:61 | object creation of type Initializers | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:16:18:20 | ... = ... | | Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:20:18:20 | 1 | | Initializers.cs:18:16:18:16 | exit H (normal) | Initializers.cs:18:16:18:16 | exit H | | Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:16 | exit H (normal) | -| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:20 | ... = ... | +| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:16 | access to field H | | Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | {...} | | Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | call to constructor Object | | Initializers.cs:20:11:20:23 | enter | Initializers.cs:22:23:22:23 | this access | @@ -1956,46 +2064,52 @@ dominance | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | exit NoConstructor | | Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | call to method | | Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | +| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:27 | ... = ... | | Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:27:22:27 | 0 | | Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:23:23:23:23 | this access | -| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:27 | ... = ... | +| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:23 | access to field F | +| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:27 | ... = ... | | Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:27:23:27 | 1 | | Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:20:11:20:23 | exit (normal) | -| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:27 | ... = ... | +| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:23 | access to field G | | Initializers.cs:26:11:26:13 | enter | Initializers.cs:28:13:28:13 | this access | | Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:26:11:26:13 | exit | +| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:17 | ... = ... | | Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:17:28:17 | 2 | | Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:26:11:26:13 | exit (normal) | -| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:17 | ... = ... | +| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:13 | access to field H | | Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | | Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | this access | | Initializers.cs:31:9:31:11 | exit Sub (normal) | Initializers.cs:31:9:31:11 | exit Sub | | Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | call to method | | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:24:31:33 | {...} | | Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:26:31:31 | ...; | +| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:30 | ... = ... | | Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:30:31:30 | 3 | | Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:9:31:11 | exit Sub (normal) | | Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:26:31:26 | this access | -| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:30 | ... = ... | +| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:26 | access to field I | | Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | | Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:9:33:11 | exit Sub | | Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:29:33:38 | {...} | | Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:31:33:36 | ...; | +| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:35 | ... = ... | | Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:35:33:35 | access to parameter i | | Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:9:33:11 | exit Sub (normal) | | Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:31:33:31 | this access | -| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:35 | ... = ... | +| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:31 | access to field I | | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:27:35:40 | {...} | | Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | | Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | this access | | Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:9:35:11 | exit Sub | | Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | call to method | | Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:29:35:38 | ...; | +| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:37 | ... = ... | | Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:33:35:33 | access to parameter i | | Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:9:35:11 | exit Sub (normal) | | Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:29:35:29 | this access | | Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:37:35:37 | access to parameter j | -| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:29:35:37 | ... = ... | +| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:29:35:29 | access to field I | | Initializers.cs:35:37:35:37 | access to parameter j | Initializers.cs:35:33:35:37 | ... + ... | | Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | {...} | | Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | call to constructor Object | @@ -2034,8 +2148,9 @@ dominance | Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | exit Test (normal) | | Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:59:34:59:34 | 0 | | Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:57:13:65:9 | Compound compound = ... | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:13:59:76 | ... = ... | | Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:60:37:60:37 | 3 | -| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:76 | ... = ... | +| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:27 | access to field DictionaryField | | Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:44 | ... = ... | | Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:48:59:48 | 1 | | Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:39:59:44 | "Zero" | @@ -2067,52 +2182,62 @@ dominance | Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:74:60:78 | "One" | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:65:60:69 | ... + ... | | Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:70 | access to indexer | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:13:61:58 | ... = ... | | Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:62:30:62:30 | 0 | -| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:58 | ... = ... | +| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:22 | access to field ArrayField | +| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:28:61:39 | ... = ... | | Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:43:61:43 | access to parameter i | | Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:34:61:39 | "Zero" | -| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:39 | ... = ... | +| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:30 | access to array element | +| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:42:61:56 | ... = ... | | Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | | Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:47:61:47 | 1 | | Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:52:61:56 | "One" | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:43:61:47 | ... + ... | -| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:56 | ... = ... | +| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:48 | access to array element | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:13:62:60 | ... = ... | | Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 | -| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:60 | ... = ... | +| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:23 | access to field ArrayField2 | +| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:29:62:40 | ... = ... | | Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:44:62:44 | 1 | | Initializers.cs:62:30:62:30 | 0 | Initializers.cs:62:33:62:33 | 1 | | Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:38:62:40 | "i" | -| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:40 | ... = ... | +| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:34 | access to array element | +| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:43:62:58 | ... = ... | | Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | | Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:47:62:47 | access to parameter i | | Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:51:62:51 | 0 | | Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:56:62:58 | "1" | | Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:47:62:51 | ... + ... | -| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:58 | ... = ... | +| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:52 | access to array element | | Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:60 | ... = ... | | Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:64:33:64:33 | 0 | | Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:13:63:25 | access to property ArrayProperty | +| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:31:63:41 | ... = ... | | Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:45:63:45 | access to parameter i | | Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:37:63:41 | "One" | -| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:41 | ... = ... | +| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:33 | access to array element | +| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:44:63:58 | ... = ... | | Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } | | Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:49:63:49 | 2 | | Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:54:63:58 | "Two" | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:45:63:49 | ... + ... | -| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:58 | ... = ... | +| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:50 | access to array element | | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:63 | ... = ... | | Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:58:9:65:9 | { ..., ... } | | Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | +| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:32:64:43 | ... = ... | | Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:47:64:47 | 1 | | Initializers.cs:64:33:64:33 | 0 | Initializers.cs:64:36:64:36 | 1 | | Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:41:64:43 | "i" | -| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:43 | ... = ... | +| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:37 | access to array element | +| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:46:64:61 | ... = ... | | Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:30:64:63 | { ..., ... } | | Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:50:64:50 | access to parameter i | | Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:54:64:54 | 0 | | Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:59:64:61 | "1" | | Initializers.cs:64:54:64:54 | 0 | Initializers.cs:64:50:64:54 | ... + ... | -| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:61 | ... = ... | +| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:55 | access to array element | | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | {...} | | LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | | LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | this access | @@ -2339,9 +2464,10 @@ dominance | MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:13:16:13:16 | this access | | MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationB.cs:11:16:11:16 | this access | | MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit | +| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:20 | ... = ... | | MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:20:13:20 | 0 | | MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:24:16:24:16 | this access | -| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:20 | ... = ... | +| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:16 | access to field F | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | | MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | access to parameter i | | MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationB.cs:12:37:12:40 | null | @@ -2366,10 +2492,11 @@ dominance | MultiImplementationA.cs:20:12:20:13 | enter C2 | MultiImplementationB.cs:18:12:18:13 | this access | | MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | call to method | | MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:24:20:29 | ...; | +| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:28 | ... = ... | | MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:28:20:28 | access to parameter i | | MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | | MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:24:20:24 | this access | -| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:28 | ... = ... | +| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:24 | access to field F | | MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:24:21:24 | 0 | | MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationB.cs:19:24:19:24 | 1 | | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 | @@ -2419,9 +2546,10 @@ dominance | MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:27:4:35 | return ...; | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | exit M (normal) | +| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:20 | ... = ... | | MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:20:11:20 | 1 | | MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:22:16:22:16 | this access | -| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:20 | ... = ... | +| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:16 | access to field F | | MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | | MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:31:12:40 | throw ... | | MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:48:13:51 | null | @@ -2525,9 +2653,10 @@ dominance | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:12:3:18 | exit Partial | | PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | call to method | | PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | +| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:20 | ... = ... | | PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:20:3:20 | 0 | | PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:5:16:5:16 | this access | -| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:20 | ... = ... | +| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:16 | access to field F | | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:22:4:24 | {...} | | PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | | PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | this access | @@ -3462,20 +3591,22 @@ dominance | cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:66:127:83 | {...} | | cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:62:127:64 | exit set_Prop | | cflow.cs:127:66:127:83 | {...} | cflow.cs:127:68:127:81 | ...; | +| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:80 | ... = ... | | cflow.cs:127:68:127:72 | this access | cflow.cs:127:76:127:80 | access to parameter value | | cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:62:127:64 | exit set_Prop (normal) | | cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:72 | this access | -| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:80 | ... = ... | +| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:72 | access to field Field | | cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:130:5:132:5 | {...} | | cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | call to constructor Object | | cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | this access | | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:129:5:129:15 | exit ControlFlow | | cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | call to method | | cflow.cs:130:5:132:5 | {...} | cflow.cs:131:9:131:18 | ...; | +| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:17 | ... = ... | | cflow.cs:131:9:131:13 | this access | cflow.cs:131:17:131:17 | access to parameter s | | cflow.cs:131:9:131:17 | ... = ... | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | | cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:13 | this access | -| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:17 | ... = ... | +| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:13 | access to field Field | | cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:31:134:31 | access to parameter i | | cflow.cs:134:5:134:15 | exit ControlFlow (normal) | cflow.cs:134:5:134:15 | exit ControlFlow | | cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:39:134:41 | {...} | @@ -3688,10 +3819,11 @@ dominance | cflow.cs:209:5:222:5 | {...} | cflow.cs:210:9:221:36 | do ... while (...); | | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:211:9:221:9 | {...} | | cflow.cs:211:9:221:9 | {...} | cflow.cs:212:13:212:25 | ...; | +| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:24 | ... = ... | | cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:22:212:24 | "a" | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | access to field Field | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | this access | -| cflow.cs:212:13:212:24 | ... + ... | cflow.cs:212:13:212:24 | ... = ... | +| cflow.cs:212:13:212:24 | ... + ... | cflow.cs:212:13:212:17 | access to field Field | | cflow.cs:212:13:212:24 | ... = ... | cflow.cs:213:13:216:13 | if (...) ... | | cflow.cs:212:13:212:25 | ...; | cflow.cs:212:13:212:17 | this access | | cflow.cs:212:22:212:24 | "a" | cflow.cs:212:13:212:24 | ... + ... | @@ -3724,10 +3856,11 @@ dominance | cflow.cs:226:57:226:59 | "a" | cflow.cs:226:62:226:63 | 10 | | cflow.cs:226:62:226:63 | 10 | cflow.cs:226:27:226:64 | call to method Repeat | | cflow.cs:227:9:237:9 | {...} | cflow.cs:228:13:228:23 | ...; | +| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:22 | ... = ... | | cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:22:228:22 | access to local variable x | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | access to field Field | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | this access | -| cflow.cs:228:13:228:22 | ... + ... | cflow.cs:228:13:228:22 | ... = ... | +| cflow.cs:228:13:228:22 | ... + ... | cflow.cs:228:13:228:17 | access to field Field | | cflow.cs:228:13:228:22 | ... = ... | cflow.cs:229:13:232:13 | if (...) ... | | cflow.cs:228:13:228:23 | ...; | cflow.cs:228:13:228:17 | this access | | cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:13:228:22 | ... + ... | @@ -3899,7 +4032,8 @@ postDominance | AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:16:9:16:23 | ... -= ... | | AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:10:10:10:11 | enter M1 | | AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:9:12:32 | ...; | -| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:12:22:12:31 | access to field Field | +| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:22:12:31 | access to field Field | +| AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:12:9:12:18 | access to field Field | | AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:11:5:17:5 | {...} | | AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:9:12:12 | this access | | AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:22:12:25 | this access | @@ -3932,7 +4066,8 @@ postDominance | AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:19:10:19:11 | enter M2 | | AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:36 | ...; | | AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:9:21:12 | this access | -| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:21:24:21:35 | access to field Field | +| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:24:21:35 | access to field Field | +| AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:21:9:21:20 | access to field Field | | AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:20:5:26:5 | {...} | | AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:9:21:14 | access to field x | | AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:27 | this access | @@ -4008,8 +4143,9 @@ postDominance | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:12 | this access | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:33 | ...; | | AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:12 | this access | +| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:32 | ... + ... | | AccessorCalls.cs:44:9:44:32 | ... + ... | AccessorCalls.cs:44:23:44:32 | access to field Field | -| AccessorCalls.cs:44:9:44:32 | ... = ... | AccessorCalls.cs:44:9:44:32 | ... + ... | +| AccessorCalls.cs:44:9:44:32 | ... = ... | AccessorCalls.cs:44:9:44:18 | access to field Field | | AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:43:5:47:5 | {...} | | AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:9:44:18 | access to field Field | | AccessorCalls.cs:44:23:44:32 | access to field Field | AccessorCalls.cs:44:23:44:26 | this access | @@ -4042,8 +4178,9 @@ postDominance | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:12 | this access | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:12 | this access | | AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:14 | access to field x | +| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:36 | ... + ... | | AccessorCalls.cs:51:9:51:36 | ... + ... | AccessorCalls.cs:51:25:51:36 | access to field Field | -| AccessorCalls.cs:51:9:51:36 | ... = ... | AccessorCalls.cs:51:9:51:36 | ... + ... | +| AccessorCalls.cs:51:9:51:36 | ... = ... | AccessorCalls.cs:51:9:51:20 | access to field Field | | AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:50:5:54:5 | {...} | | AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:9:51:20 | access to field Field | | AccessorCalls.cs:51:25:51:30 | access to field x | AccessorCalls.cs:51:25:51:28 | this access | @@ -4082,8 +4219,9 @@ postDominance | AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:58:37:58:43 | access to indexer | | AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:57:5:59:5 | {...} | | AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:9:58:86 | ...; | +| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:49:58:85 | (..., ...) | | AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:10:58:13 | this access | -| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:49:58:85 | (..., ...) | +| AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:10:58:19 | access to field Field | | AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:42:58:42 | 0 | | AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:22:58:25 | this access | | AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:22:58:30 | access to property Prop | @@ -4106,9 +4244,10 @@ postDominance | AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:62:5:64:5 | {...} | | AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:9:63:98 | ...; | | AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:10:63:13 | this access | +| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:55:63:97 | (..., ...) | | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:10:63:15 | access to field x | | AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | -| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:55:63:97 | (..., ...) | +| AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:10:63:21 | access to field Field | | AccessorCalls.cs:63:37:63:50 | (..., ...) | AccessorCalls.cs:63:48:63:48 | 0 | | AccessorCalls.cs:63:41:63:44 | this access | AccessorCalls.cs:63:24:63:29 | access to field x | | AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | @@ -4625,6 +4764,48 @@ postDominance | Assignments.cs:18:5:20:5 | {...} | Assignments.cs:17:40:17:40 | enter + | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:19:16:19:16 | access to parameter x | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:18:5:20:5 | {...} | +| Assignments.cs:27:10:27:23 | exit SetParamSingle | Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | +| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:29:9:29:14 | ... = ... | +| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:27:10:27:23 | enter SetParamSingle | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:28:5:30:5 | {...} | +| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:9:29:15 | ...; | +| Assignments.cs:32:10:32:22 | exit SetParamMulti | Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | +| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:35:9:35:19 | ... = ... | +| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:32:10:32:22 | enter SetParamMulti | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:33:5:36:5 | {...} | +| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:9:34:15 | ...; | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:13:35:19 | "Hello" | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:34:9:34:14 | ... = ... | +| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:9:35:20 | ...; | +| Assignments.cs:38:10:38:11 | exit M2 | Assignments.cs:38:10:38:11 | exit M2 (normal) | +| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:44:9:44:58 | call to method SetParamMulti | +| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:38:10:38:11 | enter M2 | +| Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:39:5:45:5 | {...} | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:40:9:40:15 | ... ...; | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | this access | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:31 | ...; | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:40:13:40:14 | Int32 x1 | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:28:42:35 | access to field IntField | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:9:42:37 | ...; | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:41:9:41:30 | call to method SetParamSingle | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:28:42:35 | this access | +| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:9:42:36 | this access | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:44:43:54 | access to field StringField | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:9:43:56 | ...; | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:42:9:42:36 | call to method SetParamSingle | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:9:43:55 | this access | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | this access | +| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:34:43:37 | null | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:47:44:57 | access to field StringField | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:9:44:59 | ...; | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:43:9:43:55 | call to method SetParamMulti | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:27:44:34 | this access | +| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:9:44:58 | this access | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:27:44:34 | access to field IntField | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:47:44:57 | this access | +| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:37:44:40 | null | | BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | call to method | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | this access | | BreakInTry.cs:1:7:1:16 | exit BreakInTry | BreakInTry.cs:1:7:1:16 | exit BreakInTry (normal) | @@ -4832,13 +5013,68 @@ postDominance | ConditionalAccess.cs:35:9:35:12 | access to property Prop | ConditionalAccess.cs:35:9:35:12 | this access | | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:25 | ...; | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:34:9:34:13 | ... = ... | -| ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith | ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith (normal) | -| ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:41:70:41:83 | ... + ... | -| ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | -| ConditionalAccess.cs:41:70:41:78 | ... + ... | ConditionalAccess.cs:41:75:41:78 | ", " | -| ConditionalAccess.cs:41:70:41:83 | ... + ... | ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | -| ConditionalAccess.cs:41:75:41:78 | ", " | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | -| ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | ConditionalAccess.cs:41:70:41:78 | ... + ... | +| ConditionalAccess.cs:42:9:42:11 | exit get_Item | ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | +| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:15:42:26 | return ...; | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:9:42:11 | enter get_Item | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:22:42:25 | null | +| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:13:42:28 | {...} | +| ConditionalAccess.cs:43:9:43:11 | exit set_Item | ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | +| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:13:43:15 | {...} | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | enter set_Item | +| ConditionalAccess.cs:46:10:46:11 | exit M9 | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:54:12:54:29 | ... = ... | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:26 | ...; | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:47:5:55:5 | {...} | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:9:48:20 | access to field IntField | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:48:12:48:25 | ... = ... | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:18:50:23 | "Set0" | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:12:49:32 | ... = ... | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:9:50:14 | access to indexer | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:12:50:23 | ... = ... | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:9:51:26 | access to field IntField | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:18:51:31 | ... = ... | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:12:53:25 | ... - ... | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:18:52:38 | ... = ... | +| ConditionalAccess.cs:53:12:53:25 | ... - ... | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:53:12:53:25 | ... = ... | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:12:54:29 | ... + ... | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:12:53:25 | ... = ... | +| ConditionalAccess.cs:54:12:54:29 | ... + ... | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:54:12:54:29 | ... = ... | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | +| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:70:60:83 | ... + ... | +| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:75:60:78 | ", " | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | +| ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | +| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:70:60:78 | ... + ... | | Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | call to method | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | this access | | Conditions.cs:1:7:1:16 | exit Conditions | Conditions.cs:1:7:1:16 | exit Conditions (normal) | @@ -5594,11 +5830,13 @@ postDominance | Finally.cs:209:21:209:22 | access to parameter b3 | Finally.cs:209:17:209:47 | if (...) ... | | Finally.cs:209:25:209:47 | throw ...; | Finally.cs:209:31:209:46 | object creation of type ExceptionC | | Finally.cs:211:13:211:16 | this access | Finally.cs:211:13:211:29 | ...; | -| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:26:211:28 | "0" | +| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:26:211:28 | "0" | +| Finally.cs:211:13:211:28 | ... = ... | Finally.cs:211:13:211:22 | access to field Field | | Finally.cs:211:13:211:29 | ...; | Finally.cs:209:21:209:22 | access to parameter b3 | | Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:16 | this access | | Finally.cs:213:9:213:12 | this access | Finally.cs:213:9:213:25 | ...; | -| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:22:213:24 | "1" | +| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:22:213:24 | "1" | +| Finally.cs:213:9:213:24 | ... = ... | Finally.cs:213:9:213:18 | access to field Field | | Finally.cs:213:9:213:25 | ...; | Finally.cs:211:13:211:28 | ... = ... | | Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:12 | this access | | Finally.cs:216:10:216:12 | exit M11 | Finally.cs:216:10:216:12 | exit M11 (normal) | @@ -5729,8 +5967,9 @@ postDominance | Initializers.cs:3:7:3:18 | exit Initializers | Initializers.cs:3:7:3:18 | exit Initializers (normal) | | Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | {...} | | Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | enter Initializers | +| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:13:5:17 | ... + ... | | Initializers.cs:5:9:5:9 | this access | Initializers.cs:3:7:3:18 | enter | -| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:5:13:5:17 | ... + ... | +| Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:5:9:5:9 | access to field F | | Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:9:5:9 | this access | | Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:17:5:17 | 1 | | Initializers.cs:5:17:5:17 | 1 | Initializers.cs:5:13:5:13 | access to field H | @@ -5760,7 +5999,8 @@ postDominance | Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:34:14:35 | "" | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:9:14:54 | ... ...; | | Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:47:14:51 | ... = ... | -| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:44:14:44 | 0 | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:44:14:44 | 0 | +| Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:40:14:40 | access to field F | | Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:17:14:53 | object creation of type Initializers | | Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:51:14:51 | 1 | | Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:47:14:47 | access to property G | @@ -5773,9 +6013,10 @@ postDominance | Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:18:15:63 | array creation of type Initializers[] | | Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:59:15:60 | "" | | Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:39:15:39 | access to local variable i | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:20:18:20 | 1 | | Initializers.cs:18:16:18:16 | exit H | Initializers.cs:18:16:18:16 | exit H (normal) | | Initializers.cs:18:16:18:16 | exit H (normal) | Initializers.cs:18:16:18:20 | ... = ... | -| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:20:18:20 | 1 | +| Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:16 | access to field H | | Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:16 | enter H | | Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | call to method | | Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | this access | @@ -5785,16 +6026,19 @@ postDominance | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | {...} | | Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | enter NoConstructor | | Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | call to constructor Object | +| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:27:22:27 | 0 | | Initializers.cs:22:23:22:23 | this access | Initializers.cs:20:11:20:23 | enter | -| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:22:27:22:27 | 0 | +| Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:22:23:22:23 | access to field F | | Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:23 | this access | +| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:27:23:27 | 1 | | Initializers.cs:23:23:23:23 | this access | Initializers.cs:22:23:22:27 | ... = ... | -| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:23:27:23:27 | 1 | +| Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:23:23:23:23 | access to field G | | Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:23 | this access | | Initializers.cs:26:11:26:13 | exit | Initializers.cs:26:11:26:13 | exit (normal) | | Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:28:13:28:17 | ... = ... | +| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:17:28:17 | 2 | | Initializers.cs:28:13:28:13 | this access | Initializers.cs:26:11:26:13 | enter | -| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:28:17:28:17 | 2 | +| Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:28:13:28:13 | access to field H | | Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:13 | this access | | Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:9:31:11 | this access | | Initializers.cs:31:9:31:11 | exit Sub | Initializers.cs:31:9:31:11 | exit Sub (normal) | @@ -5802,16 +6046,18 @@ postDominance | Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | enter Sub | | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:9:31:11 | call to method | | Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | +| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:30:31:30 | 3 | | Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:26:31:31 | ...; | -| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:30:31:30 | 3 | +| Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:26:31:26 | access to field I | | Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:24:31:33 | {...} | | Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:26 | this access | | Initializers.cs:33:9:33:11 | exit Sub | Initializers.cs:33:9:33:11 | exit Sub (normal) | | Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:31:33:35 | ... = ... | | Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:9:33:11 | enter Sub | | Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:22:33:25 | call to constructor Sub | +| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:35:33:35 | access to parameter i | | Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:31:33:36 | ...; | -| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:35:33:35 | access to parameter i | +| Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:31:33:31 | access to field I | | Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:29:33:38 | {...} | | Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:31 | this access | | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:9:35:11 | call to method | @@ -5820,8 +6066,9 @@ postDominance | Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:29:35:37 | ... = ... | | Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | enter Sub | | Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | +| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:33:35:37 | ... + ... | | Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:29:35:38 | ...; | -| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:33:35:37 | ... + ... | +| Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:29:35:29 | access to field I | | Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:27:35:40 | {...} | | Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:29:35:29 | this access | | Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:37:35:37 | access to parameter j | @@ -5863,7 +6110,8 @@ postDominance | Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:58:9:65:9 | { ..., ... } | | Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:57:9:65:10 | ... ...; | | Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:64:13:64:63 | ... = ... | -| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:31:59:76 | { ..., ... } | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:31:59:76 | { ..., ... } | +| Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:59:13:59:27 | access to field DictionaryField | | Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:60:59:74 | ... = ... | | Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:39:59:44 | "Zero" | | Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:33:59:35 | access to indexer | @@ -5896,23 +6144,29 @@ postDominance | Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:69:60:69 | 1 | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:65:60:65 | access to parameter i | | Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:65:60:69 | ... + ... | -| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:26:61:58 | { ..., ... } | +| Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:61:13:61:22 | access to field ArrayField | | Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:42:61:56 | ... = ... | -| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:34:61:39 | "Zero" | +| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:34:61:39 | "Zero" | +| Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:28:61:30 | access to array element | | Initializers.cs:61:29:61:29 | 0 | Initializers.cs:60:13:60:80 | ... = ... | | Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:29:61:29 | 0 | -| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:52:61:56 | "One" | +| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:52:61:56 | "One" | +| Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:42:61:48 | access to array element | | Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:28:61:39 | ... = ... | | Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:47:61:47 | 1 | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:43:61:43 | access to parameter i | | Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:43:61:47 | ... + ... | -| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:27:62:60 | { ..., ... } | +| Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:62:13:62:23 | access to field ArrayField2 | | Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:43:62:58 | ... = ... | -| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:38:62:40 | "i" | +| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:38:62:40 | "i" | +| Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:29:62:34 | access to array element | | Initializers.cs:62:30:62:30 | 0 | Initializers.cs:61:13:61:58 | ... = ... | | Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:30:62:30 | 0 | | Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:33:62:33 | 1 | -| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:56:62:58 | "1" | +| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:56:62:58 | "1" | +| Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:43:62:52 | access to array element | | Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:29:62:40 | ... = ... | | Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:44:62:44 | 1 | | Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:51:62:51 | 0 | @@ -5921,10 +6175,12 @@ postDominance | Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:29:63:60 | { ..., ... } | | Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:63:13:63:25 | access to property ArrayProperty | | Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:44:63:58 | ... = ... | -| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:37:63:41 | "One" | +| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:37:63:41 | "One" | +| Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:31:63:33 | access to array element | | Initializers.cs:63:32:63:32 | 1 | Initializers.cs:62:13:62:60 | ... = ... | | Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:32:63:32 | 1 | -| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:54:63:58 | "Two" | +| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:54:63:58 | "Two" | +| Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:44:63:50 | access to array element | | Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:31:63:41 | ... = ... | | Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:49:63:49 | 2 | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:45:63:45 | access to parameter i | @@ -5932,11 +6188,13 @@ postDominance | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:30:64:63 | { ..., ... } | | Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | | Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:46:64:61 | ... = ... | -| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:41:64:43 | "i" | +| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:41:64:43 | "i" | +| Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:32:64:37 | access to array element | | Initializers.cs:64:33:64:33 | 0 | Initializers.cs:63:13:63:60 | ... = ... | | Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:33:64:33 | 0 | | Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:36:64:36 | 1 | -| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:59:64:61 | "1" | +| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:59:64:61 | "1" | +| Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:46:64:55 | access to array element | | Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:32:64:43 | ... = ... | | Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:47:64:47 | 1 | | Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:54:64:54 | 0 | @@ -6162,7 +6420,8 @@ postDominance | MultiImplementationA.cs:11:7:11:8 | exit | MultiImplementationA.cs:11:7:11:8 | exit (normal) | | MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:24:32:24:34 | ... = ... | | MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationB.cs:22:32:22:34 | ... = ... | -| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:13:20:13:20 | 0 | +| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:20:13:20 | 0 | +| MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:13:16:13:16 | access to field F | | MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:16 | this access | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | enter get_Item | | MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | MultiImplementationB.cs:12:31:12:40 | throw ... | @@ -6188,8 +6447,9 @@ postDominance | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | MultiImplementationA.cs:20:24:20:28 | ... = ... | | MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | enter C2 | | MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:12:20:13 | call to constructor Object | +| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:28:20:28 | access to parameter i | | MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:24:20:29 | ...; | -| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:28:20:28 | access to parameter i | +| MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:24:20:24 | access to field F | | MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:22:20:31 | {...} | | MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:24 | this access | | MultiImplementationA.cs:21:12:21:13 | exit C2 | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | @@ -6241,7 +6501,8 @@ postDominance | MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:25:4:37 | {...} | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | enter set_P2 | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | enter M | -| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:11:20:11:20 | 1 | +| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:20:11:20 | 1 | +| MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:11:16:11:16 | access to field F | | MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:16 | this access | | MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationB.cs:12:37:12:40 | null | | MultiImplementationB.cs:13:42:13:52 | throw ...; | MultiImplementationB.cs:13:48:13:51 | null | @@ -6340,8 +6601,9 @@ postDominance | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:27:3:29 | {...} | | PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | enter Partial | | PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | call to constructor Object | +| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:20:3:20 | 0 | | PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationA.cs:1:15:1:21 | enter | -| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:3:20:3:20 | 0 | +| PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:3:16:3:16 | access to field F | | PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:16 | this access | | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:12:4:18 | call to method | | PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | this access | @@ -7233,8 +7495,9 @@ postDominance | cflow.cs:127:62:127:64 | exit set_Prop | cflow.cs:127:62:127:64 | exit set_Prop (normal) | | cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:68:127:80 | ... = ... | | cflow.cs:127:66:127:83 | {...} | cflow.cs:127:62:127:64 | enter set_Prop | +| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:76:127:80 | access to parameter value | | cflow.cs:127:68:127:72 | this access | cflow.cs:127:68:127:81 | ...; | -| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:76:127:80 | access to parameter value | +| cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:68:127:72 | access to field Field | | cflow.cs:127:68:127:81 | ...; | cflow.cs:127:66:127:83 | {...} | | cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:72 | this access | | cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:129:5:129:15 | call to method | @@ -7243,8 +7506,9 @@ postDominance | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:131:9:131:17 | ... = ... | | cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | enter ControlFlow | | cflow.cs:130:5:132:5 | {...} | cflow.cs:129:5:129:15 | call to constructor Object | +| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:17:131:17 | access to parameter s | | cflow.cs:131:9:131:13 | this access | cflow.cs:131:9:131:18 | ...; | -| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:131:17:131:17 | access to parameter s | +| cflow.cs:131:9:131:17 | ... = ... | cflow.cs:131:9:131:13 | access to field Field | | cflow.cs:131:9:131:18 | ...; | cflow.cs:130:5:132:5 | {...} | | cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:13 | this access | | cflow.cs:134:5:134:15 | exit ControlFlow | cflow.cs:134:5:134:15 | exit ControlFlow (normal) | @@ -7456,10 +7720,11 @@ postDominance | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:209:5:222:5 | {...} | | cflow.cs:211:9:221:9 | {...} | cflow.cs:210:9:221:36 | do ... while (...); | | cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:17 | this access | +| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:24 | ... + ... | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | this access | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:25 | ...; | | cflow.cs:212:13:212:24 | ... + ... | cflow.cs:212:22:212:24 | "a" | -| cflow.cs:212:13:212:24 | ... = ... | cflow.cs:212:13:212:24 | ... + ... | +| cflow.cs:212:13:212:24 | ... = ... | cflow.cs:212:13:212:17 | access to field Field | | cflow.cs:212:13:212:25 | ...; | cflow.cs:211:9:221:9 | {...} | | cflow.cs:212:22:212:24 | "a" | cflow.cs:212:13:212:17 | access to field Field | | cflow.cs:213:13:216:13 | if (...) ... | cflow.cs:212:13:212:24 | ... = ... | @@ -7491,10 +7756,11 @@ postDominance | cflow.cs:226:62:226:63 | 10 | cflow.cs:226:57:226:59 | "a" | | cflow.cs:227:9:237:9 | {...} | cflow.cs:226:22:226:22 | String x | | cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:17 | this access | +| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:22 | ... + ... | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | this access | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:23 | ...; | | cflow.cs:228:13:228:22 | ... + ... | cflow.cs:228:22:228:22 | access to local variable x | -| cflow.cs:228:13:228:22 | ... = ... | cflow.cs:228:13:228:22 | ... + ... | +| cflow.cs:228:13:228:22 | ... = ... | cflow.cs:228:13:228:17 | access to field Field | | cflow.cs:228:13:228:23 | ...; | cflow.cs:227:9:237:9 | {...} | | cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:13:228:17 | access to field Field | | cflow.cs:229:13:232:13 | if (...) ... | cflow.cs:228:13:228:22 | ... = ... | @@ -8629,6 +8895,9 @@ blockDominance | Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | enter M | | Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | enter (...) => ... | | Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | enter + | +| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | enter SetParamSingle | +| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | enter SetParamMulti | +| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | enter M2 | | BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | enter BreakInTry | | BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | enter M1 | | BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | @@ -8805,7 +9074,127 @@ blockDominance | ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:35:9:35:24 | call to method Out | | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | -| ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | +| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | enter get_Item | +| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | enter set_Item | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | | Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | enter Conditions | | Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | enter IncrOrDecr | | Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | @@ -12456,6 +12845,9 @@ postBlockDominance | Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | enter M | | Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | enter (...) => ... | | Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | enter + | +| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | enter SetParamSingle | +| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | enter SetParamMulti | +| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | enter M2 | | BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | enter BreakInTry | | BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | enter M1 | | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | enter M1 | @@ -12610,7 +13002,103 @@ postBlockDominance | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:35:9:35:24 | call to method Out | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | -| ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | +| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | enter get_Item | +| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | enter set_Item | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:46:10:46:11 | enter M9 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:9:53:20 | access to field IntField | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | | Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | enter Conditions | | Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | enter IncrOrDecr | | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | enter IncrOrDecr | diff --git a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected index 14dcdb56b26..8f48cd46fc3 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/EnclosingCallable.expected @@ -27,6 +27,7 @@ nodeEnclosing | AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:10:10:10:11 | M1 | +| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:10:10:10:11 | M1 | | AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:10:10:10:11 | M1 | @@ -61,6 +62,7 @@ nodeEnclosing | AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:19:10:19:11 | M2 | +| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:19:10:19:11 | M2 | | AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:19:10:19:11 | M2 | @@ -140,6 +142,7 @@ nodeEnclosing | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | +| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:32 | ... + ... | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:32 | ... = ... | AccessorCalls.cs:42:10:42:11 | M5 | | AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:42:10:42:11 | M5 | @@ -175,6 +178,7 @@ nodeEnclosing | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | +| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:36 | ... + ... | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:36 | ... = ... | AccessorCalls.cs:49:10:49:11 | M6 | | AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:49:10:49:11 | M6 | @@ -216,6 +220,7 @@ nodeEnclosing | AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:56:10:56:11 | M7 | +| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:56:10:56:11 | M7 | | AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:56:10:56:11 | M7 | @@ -241,6 +246,7 @@ nodeEnclosing | AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | +| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:61:10:61:11 | M8 | | AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:61:10:61:11 | M8 | @@ -833,6 +839,51 @@ nodeEnclosing | Assignments.cs:18:5:20:5 | {...} | Assignments.cs:17:40:17:40 | + | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | + | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:17:40:17:40 | + | +| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:27:10:27:23 | exit SetParamSingle | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:32:10:32:22 | exit SetParamMulti | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:38:10:38:11 | exit M2 | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:42:28:42:35 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:43:44:43:54 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:27:44:34 | this access | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:38:10:38:11 | M2 | +| Assignments.cs:44:47:44:57 | this access | Assignments.cs:38:10:38:11 | M2 | | BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | BreakInTry | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | BreakInTry | | BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | BreakInTry | @@ -1071,14 +1122,72 @@ nodeEnclosing | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | -| ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | -| ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | -| ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | -| ConditionalAccess.cs:41:70:41:78 | ... + ... | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | -| ConditionalAccess.cs:41:70:41:83 | ... + ... | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | -| ConditionalAccess.cs:41:75:41:78 | ", " | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | -| ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | +| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:9:42:11 | exit get_Item | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:43:9:43:11 | exit set_Item | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:12:53:25 | ... - ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:12:53:25 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:12:54:29 | ... + ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:12:54:29 | ... = ... | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | +| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | | Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | Conditions | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | Conditions | | Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | Conditions | @@ -1943,10 +2052,12 @@ nodeEnclosing | Finally.cs:209:25:209:47 | throw ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:13:211:16 | this access | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:13:211:29 | ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:211:26:211:28 | "0" | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:9:213:12 | this access | Finally.cs:195:10:195:12 | M10 | +| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:9:213:25 | ...; | Finally.cs:195:10:195:12 | M10 | | Finally.cs:213:22:213:24 | "1" | Finally.cs:195:10:195:12 | M10 | @@ -2095,6 +2206,7 @@ nodeEnclosing | Initializers.cs:3:7:3:18 | exit Initializers | Initializers.cs:3:7:3:18 | Initializers | | Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | Initializers | | Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | Initializers | +| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:9:5:9 | this access | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:3:7:3:18 | | | Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:3:7:3:18 | | @@ -2129,6 +2241,7 @@ nodeEnclosing | Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:12:10:12:10 | M | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:44:14:44 | 0 | Initializers.cs:12:10:12:10 | M | | Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:12:10:12:10 | M | @@ -2152,15 +2265,18 @@ nodeEnclosing | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | NoConstructor | | Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | NoConstructor | | Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | NoConstructor | +| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:20:11:20:23 | | | Initializers.cs:22:23:22:23 | this access | Initializers.cs:20:11:20:23 | | | Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:20:11:20:23 | | | Initializers.cs:22:27:22:27 | 0 | Initializers.cs:20:11:20:23 | | +| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:20:11:20:23 | | | Initializers.cs:23:23:23:23 | this access | Initializers.cs:20:11:20:23 | | | Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:20:11:20:23 | | | Initializers.cs:23:27:23:27 | 1 | Initializers.cs:20:11:20:23 | | | Initializers.cs:26:11:26:13 | enter | Initializers.cs:26:11:26:13 | | | Initializers.cs:26:11:26:13 | exit | Initializers.cs:26:11:26:13 | | | Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:26:11:26:13 | | +| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:26:11:26:13 | | | Initializers.cs:28:13:28:13 | this access | Initializers.cs:26:11:26:13 | | | Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:26:11:26:13 | | | Initializers.cs:28:17:28:17 | 2 | Initializers.cs:26:11:26:13 | | @@ -2171,6 +2287,7 @@ nodeEnclosing | Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:9:31:11 | Sub | +| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:9:31:11 | Sub | | Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:9:31:11 | Sub | @@ -2180,6 +2297,7 @@ nodeEnclosing | Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:9:33:11 | Sub | +| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:9:33:11 | Sub | | Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:9:33:11 | Sub | @@ -2191,6 +2309,7 @@ nodeEnclosing | Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:9:35:11 | Sub | +| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:9:35:11 | Sub | | Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:9:35:11 | Sub | @@ -2237,6 +2356,7 @@ nodeEnclosing | Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:51:10:51:13 | Test | @@ -2270,22 +2390,28 @@ nodeEnclosing | Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:60:74:60:78 | "One" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:29:61:29 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:61:52:61:56 | "One" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:30:62:30 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:33:62:33 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:38:62:40 | "i" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:44:62:44 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:51:10:51:13 | Test | @@ -2295,9 +2421,11 @@ nodeEnclosing | Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:32:63:32 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:37:63:41 | "One" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:51:10:51:13 | Test | @@ -2306,10 +2434,12 @@ nodeEnclosing | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:33:64:33 | 0 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:36:64:36 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:41:64:43 | "i" | Initializers.cs:51:10:51:13 | Test | +| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:47:64:47 | 1 | Initializers.cs:51:10:51:13 | Test | | Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:51:10:51:13 | Test | @@ -2565,6 +2695,7 @@ nodeEnclosing | MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:11:7:11:8 | exit | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | | +| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:11:7:11:8 | | @@ -2601,6 +2732,7 @@ nodeEnclosing | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:12:20:13 | C2 | +| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:12:20:13 | C2 | | MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:12:20:13 | C2 | @@ -2667,6 +2799,7 @@ nodeEnclosing | MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationA.cs:7:21:7:23 | get_P2 | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | set_P2 | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | M | +| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationA.cs:11:7:11:8 | | | MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationA.cs:11:7:11:8 | | @@ -2794,6 +2927,7 @@ nodeEnclosing | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:12:3:18 | Partial | | PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | Partial | | PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | Partial | +| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationA.cs:1:15:1:21 | | | PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationA.cs:1:15:1:21 | | @@ -3824,6 +3958,7 @@ nodeEnclosing | cflow.cs:127:62:127:64 | exit set_Prop | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:66:127:83 | {...} | cflow.cs:127:62:127:64 | set_Prop | +| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:68:127:72 | this access | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:62:127:64 | set_Prop | | cflow.cs:127:68:127:81 | ...; | cflow.cs:127:62:127:64 | set_Prop | @@ -3835,6 +3970,7 @@ nodeEnclosing | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:130:5:132:5 | {...} | cflow.cs:129:5:129:15 | ControlFlow | +| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:9:131:13 | this access | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:9:131:17 | ... = ... | cflow.cs:129:5:129:15 | ControlFlow | | cflow.cs:131:9:131:18 | ...; | cflow.cs:129:5:129:15 | ControlFlow | @@ -4068,6 +4204,7 @@ nodeEnclosing | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:208:10:208:11 | Do | | cflow.cs:211:9:221:9 | {...} | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:17 | access to field Field | cflow.cs:208:10:208:11 | Do | +| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:17 | this access | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:17 | this access | cflow.cs:208:10:208:11 | Do | | cflow.cs:212:13:212:24 | ... + ... | cflow.cs:208:10:208:11 | Do | @@ -4106,6 +4243,7 @@ nodeEnclosing | cflow.cs:226:62:226:63 | 10 | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:227:9:237:9 | {...} | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:17 | access to field Field | cflow.cs:224:10:224:16 | Foreach | +| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:17 | this access | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:17 | this access | cflow.cs:224:10:224:16 | Foreach | | cflow.cs:228:13:228:22 | ... + ... | cflow.cs:224:10:224:16 | Foreach | @@ -4445,6 +4583,9 @@ blockEnclosing | Assignments.cs:3:10:3:10 | enter M | Assignments.cs:3:10:3:10 | M | | Assignments.cs:14:18:14:35 | enter (...) => ... | Assignments.cs:14:18:14:35 | (...) => ... | | Assignments.cs:17:40:17:40 | enter + | Assignments.cs:17:40:17:40 | + | +| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:27:10:27:23 | SetParamSingle | +| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:32:10:32:22 | SetParamMulti | +| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:38:10:38:11 | M2 | | BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | BreakInTry | | BreakInTry.cs:3:10:3:11 | enter M1 | BreakInTry.cs:3:10:3:11 | M1 | | BreakInTry.cs:3:10:3:11 | exit M1 (normal) | BreakInTry.cs:3:10:3:11 | M1 | @@ -4522,7 +4663,30 @@ blockEnclosing | ConditionalAccess.cs:32:10:32:11 | enter M8 | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | ConditionalAccess.cs:32:10:32:11 | M8 | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:32:10:32:11 | M8 | -| ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | +| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:9:42:11 | get_Item | +| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:9:43:11 | set_Item | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:46:10:46:11 | M9 | +| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | | Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | Conditions | | Conditions.cs:3:10:3:19 | enter IncrOrDecr | Conditions.cs:3:10:3:19 | IncrOrDecr | | Conditions.cs:3:10:3:19 | exit IncrOrDecr (normal) | Conditions.cs:3:10:3:19 | IncrOrDecr | diff --git a/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected b/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected index da8fe4664f5..410916afabd 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/EntryElement.expected @@ -722,6 +722,42 @@ | Assignments.cs:18:5:20:5 | {...} | Assignments.cs:18:5:20:5 | {...} | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:19:16:19:16 | access to parameter x | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:16:19:16 | access to parameter x | +| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:28:5:30:5 | {...} | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:9:29:15 | ...; | +| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:13:29:14 | 42 | +| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:33:5:36:5 | {...} | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:9:34:15 | ...; | +| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:13:34:14 | 42 | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:13:35:19 | "Hello" | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:9:35:20 | ...; | +| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:13:35:19 | "Hello" | +| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:39:5:45:5 | {...} | +| Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:40:9:40:15 | ... ...; | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:40:13:40:14 | Int32 x1 | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | this access | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | this access | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:31 | ...; | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:9:42:36 | this access | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:9:42:36 | this access | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:37 | ...; | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:28:42:35 | this access | +| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | this access | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:9:43:55 | this access | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:9:43:55 | this access | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:56 | ...; | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:34:43:37 | null | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | this access | +| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | this access | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:9:44:58 | this access | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:9:44:58 | this access | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:59 | ...; | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:27:44:34 | this access | +| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | this access | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:37:44:40 | null | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:47:44:57 | this access | +| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | this access | | BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | call to constructor Object | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | this access | | BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | this access | @@ -896,11 +932,62 @@ | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | this access | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:12 | this access | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:25 | ...; | -| ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | -| ConditionalAccess.cs:41:70:41:78 | ... + ... | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | -| ConditionalAccess.cs:41:70:41:83 | ... + ... | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | -| ConditionalAccess.cs:41:75:41:78 | ", " | ConditionalAccess.cs:41:75:41:78 | ", " | -| ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:13:42:28 | {...} | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:22:42:25 | null | +| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:22:42:25 | null | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:13:43:15 | {...} | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:47:5:55:5 | {...} | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:9:48:26 | ...; | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:24:48:25 | 42 | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:33 | ...; | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:26:49:32 | "Hello" | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:24 | ...; | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:13:50:13 | 0 | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:18:50:23 | "Set0" | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:32 | ...; | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:30:51:31 | 84 | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:39 | ...; | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:32:52:38 | "World" | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:26 | ...; | +| ConditionalAccess.cs:53:12:53:25 | ... - ... | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:12:53:25 | ... = ... | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:25:53:25 | 1 | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:30 | ...; | +| ConditionalAccess.cs:54:12:54:29 | ... + ... | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:12:54:29 | ... = ... | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:27:54:29 | "!" | +| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | +| ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:75:60:78 | ", " | +| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | | Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | call to constructor Object | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | this access | | Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | this access | diff --git a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected b/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected index e3d13701cff..a6794112ebd 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/ExitElement.expected @@ -821,6 +821,42 @@ | Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:9:19:17 | return ...; | return | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:19:9:19:17 | return ...; | return | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:16:19:16 | access to parameter x | normal | +| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:29:9:29:14 | ... = ... | normal | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:29:9:29:14 | ... = ... | normal | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:9:29:14 | ... = ... | normal | +| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:13:29:14 | 42 | normal | +| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:35:9:35:19 | ... = ... | normal | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:34:9:34:14 | ... = ... | normal | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:9:34:14 | ... = ... | normal | +| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:13:34:14 | 42 | normal | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:35:9:35:19 | ... = ... | normal | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:9:35:19 | ... = ... | normal | +| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:13:35:19 | "Hello" | normal | +| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:44:9:44:58 | call to method SetParamMulti | normal | +| Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:40:13:40:14 | Int32 x1 | normal | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:40:13:40:14 | Int32 x1 | normal | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:41:9:41:30 | call to method SetParamSingle | normal | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | this access | normal | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | call to method SetParamSingle | normal | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:42:9:42:36 | call to method SetParamSingle | normal | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:9:42:36 | this access | normal | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | call to method SetParamSingle | normal | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:28:42:35 | access to field IntField | normal | +| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | this access | normal | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:43:9:43:55 | call to method SetParamMulti | normal | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:9:43:55 | this access | normal | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | call to method SetParamMulti | normal | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:34:43:37 | null | normal | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:44:43:54 | access to field StringField | normal | +| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | this access | normal | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:44:9:44:58 | call to method SetParamMulti | normal | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:9:44:58 | this access | normal | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | call to method SetParamMulti | normal | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:27:44:34 | access to field IntField | normal | +| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | this access | normal | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:37:44:40 | null | normal | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:47:44:57 | access to field StringField | normal | +| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | this access | normal | | BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | call to constructor Object | normal | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | call to method | normal | | BreakInTry.cs:1:7:1:16 | this access | BreakInTry.cs:1:7:1:16 | this access | normal | @@ -1080,11 +1116,107 @@ | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:35:9:35:24 | call to method Out | normal | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:12 | access to property Prop | null | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:24 | call to method Out | normal | -| ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | normal | -| ConditionalAccess.cs:41:70:41:78 | ... + ... | ConditionalAccess.cs:41:70:41:78 | ... + ... | normal | -| ConditionalAccess.cs:41:70:41:83 | ... + ... | ConditionalAccess.cs:41:70:41:83 | ... + ... | normal | -| ConditionalAccess.cs:41:75:41:78 | ", " | ConditionalAccess.cs:41:75:41:78 | ", " | normal | -| ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | normal | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:15:42:26 | return ...; | return | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:15:42:26 | return ...; | return | +| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:22:42:25 | null | normal | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:13:43:15 | {...} | normal | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:54:12:54:29 | ... = ... | normal | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:12:48:25 | ... = ... | normal | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | null | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:48:12:48:25 | ... = ... | normal | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:24:48:25 | 42 | normal | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:12:49:32 | ... = ... | normal | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | null | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:49:12:49:32 | ... = ... | normal | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:26:49:32 | "Hello" | normal | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:13:50:13 | 0 | normal | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:12:50:23 | ... = ... | normal | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | null | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:50:12:50:23 | ... = ... | normal | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:13:50:13 | 0 | normal | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:18:50:23 | "Set0" | normal | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | non-null | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:16 | access to property Prop | non-null | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:18:51:31 | ... = ... | normal | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | null | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:9:51:16 | access to property Prop | null | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:51:18:51:31 | ... = ... | normal | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:30:51:31 | 84 | normal | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | non-null | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:16 | access to property Prop | non-null | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:18:52:38 | ... = ... | normal | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | null | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:9:52:16 | access to property Prop | null | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:52:18:52:38 | ... = ... | normal | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:32:52:38 | "World" | normal | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:9:53:20 | access to field IntField | normal | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:12:53:25 | ... = ... | normal | +| ConditionalAccess.cs:53:12:53:25 | ... - ... | ConditionalAccess.cs:53:12:53:25 | ... - ... | normal | +| ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | +| ConditionalAccess.cs:53:12:53:25 | ... -= ... | ConditionalAccess.cs:53:12:53:25 | ... = ... | normal | +| ConditionalAccess.cs:53:12:53:25 | ... = ... | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | null | +| ConditionalAccess.cs:53:12:53:25 | ... = ... | ConditionalAccess.cs:53:12:53:25 | ... = ... | normal | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:25:53:25 | 1 | normal | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | normal | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:12:54:29 | ... = ... | normal | +| ConditionalAccess.cs:54:12:54:29 | ... + ... | ConditionalAccess.cs:54:12:54:29 | ... + ... | normal | +| ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:54:12:54:29 | ... += ... | ConditionalAccess.cs:54:12:54:29 | ... = ... | normal | +| ConditionalAccess.cs:54:12:54:29 | ... = ... | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | null | +| ConditionalAccess.cs:54:12:54:29 | ... = ... | ConditionalAccess.cs:54:12:54:29 | ... = ... | normal | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:27:54:29 | "!" | normal | +| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | normal | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:70:60:78 | ... + ... | normal | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:70:60:83 | ... + ... | normal | +| ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:75:60:78 | ", " | normal | +| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | normal | | Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | call to constructor Object | normal | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | call to method | normal | | Conditions.cs:1:7:1:16 | this access | Conditions.cs:1:7:1:16 | this access | normal | diff --git a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected index b764e2fb2a5..4ce98d5096f 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected @@ -20,10 +20,11 @@ | AccessorCalls.cs:10:10:10:11 | exit M1 (normal) | AccessorCalls.cs:10:10:10:11 | exit M1 | | | AccessorCalls.cs:11:5:17:5 | {...} | AccessorCalls.cs:12:9:12:32 | ...; | | | AccessorCalls.cs:12:9:12:12 | this access | AccessorCalls.cs:12:22:12:25 | this access | | +| AccessorCalls.cs:12:9:12:18 | access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | | | AccessorCalls.cs:12:9:12:31 | ... = ... | AccessorCalls.cs:13:9:13:30 | ...; | | | AccessorCalls.cs:12:9:12:32 | ...; | AccessorCalls.cs:12:9:12:12 | this access | | | AccessorCalls.cs:12:22:12:25 | this access | AccessorCalls.cs:12:22:12:31 | access to field Field | | -| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:9:12:31 | ... = ... | | +| AccessorCalls.cs:12:22:12:31 | access to field Field | AccessorCalls.cs:12:9:12:18 | access to field Field | | | AccessorCalls.cs:13:9:13:12 | this access | AccessorCalls.cs:13:21:13:24 | this access | | | AccessorCalls.cs:13:9:13:17 | access to property Prop | AccessorCalls.cs:13:9:13:29 | ... = ... | | | AccessorCalls.cs:13:9:13:29 | ... = ... | AccessorCalls.cs:14:9:14:26 | ...; | | @@ -53,11 +54,12 @@ | AccessorCalls.cs:20:5:26:5 | {...} | AccessorCalls.cs:21:9:21:36 | ...; | | | AccessorCalls.cs:21:9:21:12 | this access | AccessorCalls.cs:21:9:21:14 | access to field x | | | AccessorCalls.cs:21:9:21:14 | access to field x | AccessorCalls.cs:21:24:21:27 | this access | | +| AccessorCalls.cs:21:9:21:20 | access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | | | AccessorCalls.cs:21:9:21:35 | ... = ... | AccessorCalls.cs:22:9:22:34 | ...; | | | AccessorCalls.cs:21:9:21:36 | ...; | AccessorCalls.cs:21:9:21:12 | this access | | | AccessorCalls.cs:21:24:21:27 | this access | AccessorCalls.cs:21:24:21:29 | access to field x | | | AccessorCalls.cs:21:24:21:29 | access to field x | AccessorCalls.cs:21:24:21:35 | access to field Field | | -| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:9:21:35 | ... = ... | | +| AccessorCalls.cs:21:24:21:35 | access to field Field | AccessorCalls.cs:21:9:21:20 | access to field Field | | | AccessorCalls.cs:22:9:22:12 | this access | AccessorCalls.cs:22:9:22:14 | access to field x | | | AccessorCalls.cs:22:9:22:14 | access to field x | AccessorCalls.cs:22:23:22:26 | this access | | | AccessorCalls.cs:22:9:22:19 | access to property Prop | AccessorCalls.cs:22:9:22:33 | ... = ... | | @@ -128,8 +130,9 @@ | AccessorCalls.cs:43:5:47:5 | {...} | AccessorCalls.cs:44:9:44:33 | ...; | | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:12 | this access | | | AccessorCalls.cs:44:9:44:12 | this access | AccessorCalls.cs:44:9:44:18 | access to field Field | | +| AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:9:44:32 | ... = ... | | | AccessorCalls.cs:44:9:44:18 | access to field Field | AccessorCalls.cs:44:23:44:26 | this access | | -| AccessorCalls.cs:44:9:44:32 | ... + ... | AccessorCalls.cs:44:9:44:32 | ... = ... | | +| AccessorCalls.cs:44:9:44:32 | ... + ... | AccessorCalls.cs:44:9:44:18 | access to field Field | | | AccessorCalls.cs:44:9:44:32 | ... = ... | AccessorCalls.cs:45:9:45:31 | ...; | | | AccessorCalls.cs:44:9:44:33 | ...; | AccessorCalls.cs:44:9:44:12 | this access | | | AccessorCalls.cs:44:23:44:26 | this access | AccessorCalls.cs:44:23:44:32 | access to field Field | | @@ -162,8 +165,9 @@ | AccessorCalls.cs:51:9:51:12 | this access | AccessorCalls.cs:51:9:51:14 | access to field x | | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:12 | this access | | | AccessorCalls.cs:51:9:51:14 | access to field x | AccessorCalls.cs:51:9:51:20 | access to field Field | | +| AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:9:51:36 | ... = ... | | | AccessorCalls.cs:51:9:51:20 | access to field Field | AccessorCalls.cs:51:25:51:28 | this access | | -| AccessorCalls.cs:51:9:51:36 | ... + ... | AccessorCalls.cs:51:9:51:36 | ... = ... | | +| AccessorCalls.cs:51:9:51:36 | ... + ... | AccessorCalls.cs:51:9:51:20 | access to field Field | | | AccessorCalls.cs:51:9:51:36 | ... = ... | AccessorCalls.cs:52:9:52:35 | ...; | | | AccessorCalls.cs:51:9:51:37 | ...; | AccessorCalls.cs:51:9:51:12 | this access | | | AccessorCalls.cs:51:25:51:28 | this access | AccessorCalls.cs:51:25:51:30 | access to field x | | @@ -203,13 +207,14 @@ | AccessorCalls.cs:58:9:58:85 | ... = ... | AccessorCalls.cs:56:10:56:11 | exit M7 (normal) | | | AccessorCalls.cs:58:9:58:86 | ...; | AccessorCalls.cs:58:10:58:13 | this access | | | AccessorCalls.cs:58:10:58:13 | this access | AccessorCalls.cs:58:22:58:25 | this access | | +| AccessorCalls.cs:58:10:58:19 | access to field Field | AccessorCalls.cs:58:22:58:30 | access to property Prop | | | AccessorCalls.cs:58:22:58:25 | this access | AccessorCalls.cs:58:37:58:40 | this access | | | AccessorCalls.cs:58:22:58:30 | access to property Prop | AccessorCalls.cs:58:37:58:43 | access to indexer | | | AccessorCalls.cs:58:33:58:44 | (..., ...) | AccessorCalls.cs:58:9:58:45 | (..., ...) | | | AccessorCalls.cs:58:37:58:40 | this access | AccessorCalls.cs:58:42:58:42 | 0 | | | AccessorCalls.cs:58:37:58:43 | access to indexer | AccessorCalls.cs:58:9:58:85 | ... = ... | | | AccessorCalls.cs:58:42:58:42 | 0 | AccessorCalls.cs:58:33:58:44 | (..., ...) | | -| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:22:58:30 | access to property Prop | | +| AccessorCalls.cs:58:49:58:85 | (..., ...) | AccessorCalls.cs:58:10:58:19 | access to field Field | | | AccessorCalls.cs:58:50:58:53 | this access | AccessorCalls.cs:58:50:58:59 | access to field Field | | | AccessorCalls.cs:58:50:58:59 | access to field Field | AccessorCalls.cs:58:62:58:65 | this access | | | AccessorCalls.cs:58:62:58:65 | this access | AccessorCalls.cs:58:62:58:70 | access to property Prop | | @@ -227,6 +232,7 @@ | AccessorCalls.cs:63:9:63:98 | ...; | AccessorCalls.cs:63:10:63:13 | this access | | | AccessorCalls.cs:63:10:63:13 | this access | AccessorCalls.cs:63:10:63:15 | access to field x | | | AccessorCalls.cs:63:10:63:15 | access to field x | AccessorCalls.cs:63:24:63:27 | this access | | +| AccessorCalls.cs:63:10:63:21 | access to field Field | AccessorCalls.cs:63:24:63:34 | access to property Prop | | | AccessorCalls.cs:63:24:63:27 | this access | AccessorCalls.cs:63:24:63:29 | access to field x | | | AccessorCalls.cs:63:24:63:29 | access to field x | AccessorCalls.cs:63:41:63:44 | this access | | | AccessorCalls.cs:63:24:63:34 | access to property Prop | AccessorCalls.cs:63:41:63:49 | access to indexer | | @@ -235,7 +241,7 @@ | AccessorCalls.cs:63:41:63:46 | access to field x | AccessorCalls.cs:63:48:63:48 | 0 | | | AccessorCalls.cs:63:41:63:49 | access to indexer | AccessorCalls.cs:63:9:63:97 | ... = ... | | | AccessorCalls.cs:63:48:63:48 | 0 | AccessorCalls.cs:63:37:63:50 | (..., ...) | | -| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:24:63:34 | access to property Prop | | +| AccessorCalls.cs:63:55:63:97 | (..., ...) | AccessorCalls.cs:63:10:63:21 | access to field Field | | | AccessorCalls.cs:63:56:63:59 | this access | AccessorCalls.cs:63:56:63:61 | access to field x | | | AccessorCalls.cs:63:56:63:61 | access to field x | AccessorCalls.cs:63:56:63:67 | access to field Field | | | AccessorCalls.cs:63:56:63:67 | access to field Field | AccessorCalls.cs:63:70:63:73 | this access | | @@ -847,6 +853,48 @@ | Assignments.cs:18:5:20:5 | {...} | Assignments.cs:19:16:19:16 | access to parameter x | | | Assignments.cs:19:9:19:17 | return ...; | Assignments.cs:17:40:17:40 | exit + (normal) | return | | Assignments.cs:19:16:19:16 | access to parameter x | Assignments.cs:19:9:19:17 | return ...; | | +| Assignments.cs:27:10:27:23 | enter SetParamSingle | Assignments.cs:28:5:30:5 | {...} | | +| Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | Assignments.cs:27:10:27:23 | exit SetParamSingle | | +| Assignments.cs:28:5:30:5 | {...} | Assignments.cs:29:9:29:15 | ...; | | +| Assignments.cs:29:9:29:14 | ... = ... | Assignments.cs:27:10:27:23 | exit SetParamSingle (normal) | | +| Assignments.cs:29:9:29:15 | ...; | Assignments.cs:29:13:29:14 | 42 | | +| Assignments.cs:29:13:29:14 | 42 | Assignments.cs:29:9:29:14 | ... = ... | | +| Assignments.cs:32:10:32:22 | enter SetParamMulti | Assignments.cs:33:5:36:5 | {...} | | +| Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | Assignments.cs:32:10:32:22 | exit SetParamMulti | | +| Assignments.cs:33:5:36:5 | {...} | Assignments.cs:34:9:34:15 | ...; | | +| Assignments.cs:34:9:34:14 | ... = ... | Assignments.cs:35:9:35:20 | ...; | | +| Assignments.cs:34:9:34:15 | ...; | Assignments.cs:34:13:34:14 | 42 | | +| Assignments.cs:34:13:34:14 | 42 | Assignments.cs:34:9:34:14 | ... = ... | | +| Assignments.cs:35:9:35:19 | ... = ... | Assignments.cs:32:10:32:22 | exit SetParamMulti (normal) | | +| Assignments.cs:35:9:35:20 | ...; | Assignments.cs:35:13:35:19 | "Hello" | | +| Assignments.cs:35:13:35:19 | "Hello" | Assignments.cs:35:9:35:19 | ... = ... | | +| Assignments.cs:38:10:38:11 | enter M2 | Assignments.cs:39:5:45:5 | {...} | | +| Assignments.cs:38:10:38:11 | exit M2 (normal) | Assignments.cs:38:10:38:11 | exit M2 | | +| Assignments.cs:39:5:45:5 | {...} | Assignments.cs:40:9:40:15 | ... ...; | | +| Assignments.cs:40:9:40:15 | ... ...; | Assignments.cs:40:13:40:14 | Int32 x1 | | +| Assignments.cs:40:13:40:14 | Int32 x1 | Assignments.cs:41:9:41:31 | ...; | | +| Assignments.cs:41:9:41:30 | call to method SetParamSingle | Assignments.cs:42:9:42:37 | ...; | | +| Assignments.cs:41:9:41:30 | this access | Assignments.cs:41:9:41:30 | call to method SetParamSingle | | +| Assignments.cs:41:9:41:31 | ...; | Assignments.cs:41:9:41:30 | this access | | +| Assignments.cs:42:9:42:36 | call to method SetParamSingle | Assignments.cs:43:9:43:56 | ...; | | +| Assignments.cs:42:9:42:36 | this access | Assignments.cs:42:28:42:35 | this access | | +| Assignments.cs:42:9:42:37 | ...; | Assignments.cs:42:9:42:36 | this access | | +| Assignments.cs:42:28:42:35 | access to field IntField | Assignments.cs:42:9:42:36 | call to method SetParamSingle | | +| Assignments.cs:42:28:42:35 | this access | Assignments.cs:42:28:42:35 | access to field IntField | | +| Assignments.cs:43:9:43:55 | call to method SetParamMulti | Assignments.cs:44:9:44:59 | ...; | | +| Assignments.cs:43:9:43:55 | this access | Assignments.cs:43:34:43:37 | null | | +| Assignments.cs:43:9:43:56 | ...; | Assignments.cs:43:9:43:55 | this access | | +| Assignments.cs:43:34:43:37 | null | Assignments.cs:43:44:43:54 | this access | | +| Assignments.cs:43:44:43:54 | access to field StringField | Assignments.cs:43:9:43:55 | call to method SetParamMulti | | +| Assignments.cs:43:44:43:54 | this access | Assignments.cs:43:44:43:54 | access to field StringField | | +| Assignments.cs:44:9:44:58 | call to method SetParamMulti | Assignments.cs:38:10:38:11 | exit M2 (normal) | | +| Assignments.cs:44:9:44:58 | this access | Assignments.cs:44:27:44:34 | this access | | +| Assignments.cs:44:9:44:59 | ...; | Assignments.cs:44:9:44:58 | this access | | +| Assignments.cs:44:27:44:34 | access to field IntField | Assignments.cs:44:37:44:40 | null | | +| Assignments.cs:44:27:44:34 | this access | Assignments.cs:44:27:44:34 | access to field IntField | | +| Assignments.cs:44:37:44:40 | null | Assignments.cs:44:47:44:57 | this access | | +| Assignments.cs:44:47:44:57 | access to field StringField | Assignments.cs:44:9:44:58 | call to method SetParamMulti | | +| Assignments.cs:44:47:44:57 | this access | Assignments.cs:44:47:44:57 | access to field StringField | | | BreakInTry.cs:1:7:1:16 | call to constructor Object | BreakInTry.cs:1:7:1:16 | {...} | | | BreakInTry.cs:1:7:1:16 | call to method | BreakInTry.cs:1:7:1:16 | call to constructor Object | | | BreakInTry.cs:1:7:1:16 | enter BreakInTry | BreakInTry.cs:1:7:1:16 | this access | | @@ -1093,13 +1141,79 @@ | ConditionalAccess.cs:35:9:35:12 | this access | ConditionalAccess.cs:35:9:35:12 | access to property Prop | | | ConditionalAccess.cs:35:9:35:24 | call to method Out | ConditionalAccess.cs:32:10:32:11 | exit M8 (normal) | | | ConditionalAccess.cs:35:9:35:25 | ...; | ConditionalAccess.cs:35:9:35:12 | this access | | -| ConditionalAccess.cs:41:26:41:38 | enter CommaJoinWith | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | | -| ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith | | -| ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | ConditionalAccess.cs:41:75:41:78 | ", " | | -| ConditionalAccess.cs:41:70:41:78 | ... + ... | ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | | -| ConditionalAccess.cs:41:70:41:83 | ... + ... | ConditionalAccess.cs:41:26:41:38 | exit CommaJoinWith (normal) | | -| ConditionalAccess.cs:41:75:41:78 | ", " | ConditionalAccess.cs:41:70:41:78 | ... + ... | | -| ConditionalAccess.cs:41:82:41:83 | access to parameter s2 | ConditionalAccess.cs:41:70:41:83 | ... + ... | | +| ConditionalAccess.cs:42:9:42:11 | enter get_Item | ConditionalAccess.cs:42:13:42:28 | {...} | | +| ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | ConditionalAccess.cs:42:9:42:11 | exit get_Item | | +| ConditionalAccess.cs:42:13:42:28 | {...} | ConditionalAccess.cs:42:22:42:25 | null | | +| ConditionalAccess.cs:42:15:42:26 | return ...; | ConditionalAccess.cs:42:9:42:11 | exit get_Item (normal) | return | +| ConditionalAccess.cs:42:22:42:25 | null | ConditionalAccess.cs:42:15:42:26 | return ...; | | +| ConditionalAccess.cs:43:9:43:11 | enter set_Item | ConditionalAccess.cs:43:13:43:15 | {...} | | +| ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | ConditionalAccess.cs:43:9:43:11 | exit set_Item | | +| ConditionalAccess.cs:43:13:43:15 | {...} | ConditionalAccess.cs:43:9:43:11 | exit set_Item (normal) | | +| ConditionalAccess.cs:46:10:46:11 | enter M9 | ConditionalAccess.cs:47:5:55:5 | {...} | | +| ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | ConditionalAccess.cs:46:10:46:11 | exit M9 | | +| ConditionalAccess.cs:47:5:55:5 | {...} | ConditionalAccess.cs:48:9:48:26 | ...; | | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:48:24:48:25 | 42 | non-null | +| ConditionalAccess.cs:48:9:48:10 | access to parameter ca | ConditionalAccess.cs:49:9:49:33 | ...; | null | +| ConditionalAccess.cs:48:9:48:20 | access to field IntField | ConditionalAccess.cs:48:12:48:25 | ... = ... | | +| ConditionalAccess.cs:48:9:48:26 | ...; | ConditionalAccess.cs:48:9:48:10 | access to parameter ca | | +| ConditionalAccess.cs:48:12:48:25 | ... = ... | ConditionalAccess.cs:49:9:49:33 | ...; | | +| ConditionalAccess.cs:48:24:48:25 | 42 | ConditionalAccess.cs:48:9:48:20 | access to field IntField | | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:49:26:49:32 | "Hello" | non-null | +| ConditionalAccess.cs:49:9:49:10 | access to parameter ca | ConditionalAccess.cs:50:9:50:24 | ...; | null | +| ConditionalAccess.cs:49:9:49:22 | access to property StringProp | ConditionalAccess.cs:49:12:49:32 | ... = ... | | +| ConditionalAccess.cs:49:9:49:33 | ...; | ConditionalAccess.cs:49:9:49:10 | access to parameter ca | | +| ConditionalAccess.cs:49:12:49:32 | ... = ... | ConditionalAccess.cs:50:9:50:24 | ...; | | +| ConditionalAccess.cs:49:26:49:32 | "Hello" | ConditionalAccess.cs:49:9:49:22 | access to property StringProp | | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:50:13:50:13 | 0 | non-null | +| ConditionalAccess.cs:50:9:50:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:32 | ...; | null | +| ConditionalAccess.cs:50:9:50:14 | access to indexer | ConditionalAccess.cs:50:12:50:23 | ... = ... | | +| ConditionalAccess.cs:50:9:50:24 | ...; | ConditionalAccess.cs:50:9:50:10 | access to parameter ca | | +| ConditionalAccess.cs:50:12:50:23 | ... = ... | ConditionalAccess.cs:51:9:51:32 | ...; | | +| ConditionalAccess.cs:50:13:50:13 | 0 | ConditionalAccess.cs:50:18:50:23 | "Set0" | | +| ConditionalAccess.cs:50:18:50:23 | "Set0" | ConditionalAccess.cs:50:9:50:14 | access to indexer | | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:51:9:51:16 | access to property Prop | non-null | +| ConditionalAccess.cs:51:9:51:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:39 | ...; | null | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:51:30:51:31 | 84 | non-null | +| ConditionalAccess.cs:51:9:51:16 | access to property Prop | ConditionalAccess.cs:52:9:52:39 | ...; | null | +| ConditionalAccess.cs:51:9:51:26 | access to field IntField | ConditionalAccess.cs:51:18:51:31 | ... = ... | | +| ConditionalAccess.cs:51:9:51:32 | ...; | ConditionalAccess.cs:51:9:51:10 | access to parameter ca | | +| ConditionalAccess.cs:51:18:51:31 | ... = ... | ConditionalAccess.cs:52:9:52:39 | ...; | | +| ConditionalAccess.cs:51:30:51:31 | 84 | ConditionalAccess.cs:51:9:51:26 | access to field IntField | | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:52:9:52:16 | access to property Prop | non-null | +| ConditionalAccess.cs:52:9:52:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:26 | ...; | null | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:52:32:52:38 | "World" | non-null | +| ConditionalAccess.cs:52:9:52:16 | access to property Prop | ConditionalAccess.cs:53:9:53:26 | ...; | null | +| ConditionalAccess.cs:52:9:52:28 | access to property StringProp | ConditionalAccess.cs:52:18:52:38 | ... = ... | | +| ConditionalAccess.cs:52:9:52:39 | ...; | ConditionalAccess.cs:52:9:52:10 | access to parameter ca | | +| ConditionalAccess.cs:52:18:52:38 | ... = ... | ConditionalAccess.cs:53:9:53:26 | ...; | | +| ConditionalAccess.cs:52:32:52:38 | "World" | ConditionalAccess.cs:52:9:52:28 | access to property StringProp | | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:9:53:20 | access to field IntField | non-null | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:53:25:53:25 | 1 | null | +| ConditionalAccess.cs:53:9:53:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:30 | ...; | null | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:12:53:25 | ... = ... | | +| ConditionalAccess.cs:53:9:53:20 | access to field IntField | ConditionalAccess.cs:53:25:53:25 | 1 | | +| ConditionalAccess.cs:53:9:53:26 | ...; | ConditionalAccess.cs:53:9:53:10 | access to parameter ca | | +| ConditionalAccess.cs:53:12:53:25 | ... - ... | ConditionalAccess.cs:53:9:53:20 | access to field IntField | | +| ConditionalAccess.cs:53:12:53:25 | ... = ... | ConditionalAccess.cs:54:9:54:30 | ...; | | +| ConditionalAccess.cs:53:25:53:25 | 1 | ConditionalAccess.cs:53:12:53:25 | ... - ... | | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | null | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | non-null | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | non-null | +| ConditionalAccess.cs:54:9:54:10 | access to parameter ca | ConditionalAccess.cs:54:27:54:29 | "!" | null | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:12:54:29 | ... = ... | | +| ConditionalAccess.cs:54:9:54:22 | access to property StringProp | ConditionalAccess.cs:54:27:54:29 | "!" | | +| ConditionalAccess.cs:54:9:54:30 | ...; | ConditionalAccess.cs:54:9:54:10 | access to parameter ca | | +| ConditionalAccess.cs:54:12:54:29 | ... + ... | ConditionalAccess.cs:54:9:54:22 | access to property StringProp | | +| ConditionalAccess.cs:54:12:54:29 | ... = ... | ConditionalAccess.cs:46:10:46:11 | exit M9 (normal) | | +| ConditionalAccess.cs:54:27:54:29 | "!" | ConditionalAccess.cs:54:12:54:29 | ... + ... | | +| ConditionalAccess.cs:60:26:60:38 | enter CommaJoinWith | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | | +| ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith | | +| ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | ConditionalAccess.cs:60:75:60:78 | ", " | | +| ConditionalAccess.cs:60:70:60:78 | ... + ... | ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | | +| ConditionalAccess.cs:60:70:60:83 | ... + ... | ConditionalAccess.cs:60:26:60:38 | exit CommaJoinWith (normal) | | +| ConditionalAccess.cs:60:75:60:78 | ", " | ConditionalAccess.cs:60:70:60:78 | ... + ... | | +| ConditionalAccess.cs:60:82:60:83 | access to parameter s2 | ConditionalAccess.cs:60:70:60:83 | ... + ... | | | Conditions.cs:1:7:1:16 | call to constructor Object | Conditions.cs:1:7:1:16 | {...} | | | Conditions.cs:1:7:1:16 | call to method | Conditions.cs:1:7:1:16 | call to constructor Object | | | Conditions.cs:1:7:1:16 | enter Conditions | Conditions.cs:1:7:1:16 | this access | | @@ -2007,14 +2121,16 @@ | Finally.cs:209:25:209:47 | throw ...; | Finally.cs:195:10:195:12 | exit M10 (abnormal) | exception | | Finally.cs:209:31:209:46 | object creation of type ExceptionC | Finally.cs:209:25:209:47 | throw ...; | | | Finally.cs:211:13:211:16 | this access | Finally.cs:211:26:211:28 | "0" | | +| Finally.cs:211:13:211:22 | access to field Field | Finally.cs:211:13:211:28 | ... = ... | | | Finally.cs:211:13:211:28 | ... = ... | Finally.cs:195:10:195:12 | exit M10 (abnormal) | exception | | Finally.cs:211:13:211:28 | ... = ... | Finally.cs:213:9:213:25 | ...; | | | Finally.cs:211:13:211:29 | ...; | Finally.cs:211:13:211:16 | this access | | -| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:28 | ... = ... | | +| Finally.cs:211:26:211:28 | "0" | Finally.cs:211:13:211:22 | access to field Field | | | Finally.cs:213:9:213:12 | this access | Finally.cs:213:22:213:24 | "1" | | +| Finally.cs:213:9:213:18 | access to field Field | Finally.cs:213:9:213:24 | ... = ... | | | Finally.cs:213:9:213:24 | ... = ... | Finally.cs:195:10:195:12 | exit M10 (normal) | | | Finally.cs:213:9:213:25 | ...; | Finally.cs:213:9:213:12 | this access | | -| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:24 | ... = ... | | +| Finally.cs:213:22:213:24 | "1" | Finally.cs:213:9:213:18 | access to field Field | | | Finally.cs:216:10:216:12 | enter M11 | Finally.cs:217:5:231:5 | {...} | | | Finally.cs:216:10:216:12 | exit M11 (normal) | Finally.cs:216:10:216:12 | exit M11 | | | Finally.cs:217:5:231:5 | {...} | Finally.cs:218:9:229:9 | try {...} ... | | @@ -2164,10 +2280,11 @@ | Initializers.cs:3:7:3:18 | exit (normal) | Initializers.cs:3:7:3:18 | exit | | | Initializers.cs:3:7:3:18 | exit Initializers (normal) | Initializers.cs:3:7:3:18 | exit Initializers | | | Initializers.cs:3:7:3:18 | {...} | Initializers.cs:3:7:3:18 | exit Initializers (normal) | | +| Initializers.cs:5:9:5:9 | access to field F | Initializers.cs:5:9:5:17 | ... = ... | | | Initializers.cs:5:9:5:9 | this access | Initializers.cs:5:13:5:13 | access to field H | | | Initializers.cs:5:9:5:17 | ... = ... | Initializers.cs:6:9:6:9 | this access | | | Initializers.cs:5:13:5:13 | access to field H | Initializers.cs:5:17:5:17 | 1 | | -| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:9:5:17 | ... = ... | | +| Initializers.cs:5:13:5:17 | ... + ... | Initializers.cs:5:9:5:9 | access to field F | | | Initializers.cs:5:17:5:17 | 1 | Initializers.cs:5:13:5:17 | ... + ... | | | Initializers.cs:6:9:6:9 | access to property G | Initializers.cs:6:25:6:31 | ... = ... | | | Initializers.cs:6:9:6:9 | this access | Initializers.cs:6:27:6:27 | access to field H | | @@ -2195,8 +2312,9 @@ | Initializers.cs:14:17:14:53 | object creation of type Initializers | Initializers.cs:14:44:14:44 | 0 | | | Initializers.cs:14:34:14:35 | "" | Initializers.cs:14:17:14:53 | object creation of type Initializers | | | Initializers.cs:14:38:14:53 | { ..., ... } | Initializers.cs:14:13:14:53 | Initializers i = ... | | +| Initializers.cs:14:40:14:40 | access to field F | Initializers.cs:14:40:14:44 | ... = ... | | | Initializers.cs:14:40:14:44 | ... = ... | Initializers.cs:14:51:14:51 | 1 | | -| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:44 | ... = ... | | +| Initializers.cs:14:44:14:44 | 0 | Initializers.cs:14:40:14:40 | access to field F | | | Initializers.cs:14:47:14:47 | access to property G | Initializers.cs:14:47:14:51 | ... = ... | | | Initializers.cs:14:47:14:51 | ... = ... | Initializers.cs:14:38:14:53 | { ..., ... } | | | Initializers.cs:14:51:14:51 | 1 | Initializers.cs:14:47:14:47 | access to property G | | @@ -2208,10 +2326,11 @@ | Initializers.cs:15:39:15:39 | access to local variable i | Initializers.cs:15:59:15:60 | "" | | | Initializers.cs:15:42:15:61 | object creation of type Initializers | Initializers.cs:15:37:15:63 | { ..., ... } | | | Initializers.cs:15:59:15:60 | "" | Initializers.cs:15:42:15:61 | object creation of type Initializers | | +| Initializers.cs:18:16:18:16 | access to field H | Initializers.cs:18:16:18:20 | ... = ... | | | Initializers.cs:18:16:18:16 | enter H | Initializers.cs:18:20:18:20 | 1 | | | Initializers.cs:18:16:18:16 | exit H (normal) | Initializers.cs:18:16:18:16 | exit H | | | Initializers.cs:18:16:18:20 | ... = ... | Initializers.cs:18:16:18:16 | exit H (normal) | | -| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:20 | ... = ... | | +| Initializers.cs:18:20:18:20 | 1 | Initializers.cs:18:16:18:16 | access to field H | | | Initializers.cs:20:11:20:23 | call to constructor Object | Initializers.cs:20:11:20:23 | {...} | | | Initializers.cs:20:11:20:23 | call to method | Initializers.cs:20:11:20:23 | call to constructor Object | | | Initializers.cs:20:11:20:23 | enter | Initializers.cs:22:23:22:23 | this access | | @@ -2220,46 +2339,52 @@ | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | Initializers.cs:20:11:20:23 | exit NoConstructor | | | Initializers.cs:20:11:20:23 | this access | Initializers.cs:20:11:20:23 | call to method | | | Initializers.cs:20:11:20:23 | {...} | Initializers.cs:20:11:20:23 | exit NoConstructor (normal) | | +| Initializers.cs:22:23:22:23 | access to field F | Initializers.cs:22:23:22:27 | ... = ... | | | Initializers.cs:22:23:22:23 | this access | Initializers.cs:22:27:22:27 | 0 | | | Initializers.cs:22:23:22:27 | ... = ... | Initializers.cs:23:23:23:23 | this access | | -| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:27 | ... = ... | | +| Initializers.cs:22:27:22:27 | 0 | Initializers.cs:22:23:22:23 | access to field F | | +| Initializers.cs:23:23:23:23 | access to field G | Initializers.cs:23:23:23:27 | ... = ... | | | Initializers.cs:23:23:23:23 | this access | Initializers.cs:23:27:23:27 | 1 | | | Initializers.cs:23:23:23:27 | ... = ... | Initializers.cs:20:11:20:23 | exit (normal) | | -| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:27 | ... = ... | | +| Initializers.cs:23:27:23:27 | 1 | Initializers.cs:23:23:23:23 | access to field G | | | Initializers.cs:26:11:26:13 | enter | Initializers.cs:28:13:28:13 | this access | | | Initializers.cs:26:11:26:13 | exit (normal) | Initializers.cs:26:11:26:13 | exit | | +| Initializers.cs:28:13:28:13 | access to field H | Initializers.cs:28:13:28:17 | ... = ... | | | Initializers.cs:28:13:28:13 | this access | Initializers.cs:28:17:28:17 | 2 | | | Initializers.cs:28:13:28:17 | ... = ... | Initializers.cs:26:11:26:13 | exit (normal) | | -| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:17 | ... = ... | | +| Initializers.cs:28:17:28:17 | 2 | Initializers.cs:28:13:28:13 | access to field H | | | Initializers.cs:31:9:31:11 | call to method | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | | | Initializers.cs:31:9:31:11 | enter Sub | Initializers.cs:31:9:31:11 | this access | | | Initializers.cs:31:9:31:11 | exit Sub (normal) | Initializers.cs:31:9:31:11 | exit Sub | | | Initializers.cs:31:9:31:11 | this access | Initializers.cs:31:9:31:11 | call to method | | | Initializers.cs:31:17:31:20 | call to constructor NoConstructor | Initializers.cs:31:24:31:33 | {...} | | | Initializers.cs:31:24:31:33 | {...} | Initializers.cs:31:26:31:31 | ...; | | +| Initializers.cs:31:26:31:26 | access to field I | Initializers.cs:31:26:31:30 | ... = ... | | | Initializers.cs:31:26:31:26 | this access | Initializers.cs:31:30:31:30 | 3 | | | Initializers.cs:31:26:31:30 | ... = ... | Initializers.cs:31:9:31:11 | exit Sub (normal) | | | Initializers.cs:31:26:31:31 | ...; | Initializers.cs:31:26:31:26 | this access | | -| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:30 | ... = ... | | +| Initializers.cs:31:30:31:30 | 3 | Initializers.cs:31:26:31:26 | access to field I | | | Initializers.cs:33:9:33:11 | enter Sub | Initializers.cs:33:22:33:25 | call to constructor Sub | | | Initializers.cs:33:9:33:11 | exit Sub (normal) | Initializers.cs:33:9:33:11 | exit Sub | | | Initializers.cs:33:22:33:25 | call to constructor Sub | Initializers.cs:33:29:33:38 | {...} | | | Initializers.cs:33:29:33:38 | {...} | Initializers.cs:33:31:33:36 | ...; | | +| Initializers.cs:33:31:33:31 | access to field I | Initializers.cs:33:31:33:35 | ... = ... | | | Initializers.cs:33:31:33:31 | this access | Initializers.cs:33:35:33:35 | access to parameter i | | | Initializers.cs:33:31:33:35 | ... = ... | Initializers.cs:33:9:33:11 | exit Sub (normal) | | | Initializers.cs:33:31:33:36 | ...; | Initializers.cs:33:31:33:31 | this access | | -| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:35 | ... = ... | | +| Initializers.cs:33:35:33:35 | access to parameter i | Initializers.cs:33:31:33:31 | access to field I | | | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | Initializers.cs:35:27:35:40 | {...} | | | Initializers.cs:35:9:35:11 | call to method | Initializers.cs:35:9:35:11 | call to constructor NoConstructor | | | Initializers.cs:35:9:35:11 | enter Sub | Initializers.cs:35:9:35:11 | this access | | | Initializers.cs:35:9:35:11 | exit Sub (normal) | Initializers.cs:35:9:35:11 | exit Sub | | | Initializers.cs:35:9:35:11 | this access | Initializers.cs:35:9:35:11 | call to method | | | Initializers.cs:35:27:35:40 | {...} | Initializers.cs:35:29:35:38 | ...; | | +| Initializers.cs:35:29:35:29 | access to field I | Initializers.cs:35:29:35:37 | ... = ... | | | Initializers.cs:35:29:35:29 | this access | Initializers.cs:35:33:35:33 | access to parameter i | | | Initializers.cs:35:29:35:37 | ... = ... | Initializers.cs:35:9:35:11 | exit Sub (normal) | | | Initializers.cs:35:29:35:38 | ...; | Initializers.cs:35:29:35:29 | this access | | | Initializers.cs:35:33:35:33 | access to parameter i | Initializers.cs:35:37:35:37 | access to parameter j | | -| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:29:35:37 | ... = ... | | +| Initializers.cs:35:33:35:37 | ... + ... | Initializers.cs:35:29:35:29 | access to field I | | | Initializers.cs:35:37:35:37 | access to parameter j | Initializers.cs:35:33:35:37 | ... + ... | | | Initializers.cs:39:7:39:23 | call to constructor Object | Initializers.cs:39:7:39:23 | {...} | | | Initializers.cs:39:7:39:23 | call to method | Initializers.cs:39:7:39:23 | call to constructor Object | | @@ -2298,8 +2423,9 @@ | Initializers.cs:57:13:65:9 | Compound compound = ... | Initializers.cs:51:10:51:13 | exit Test (normal) | | | Initializers.cs:57:24:65:9 | object creation of type Compound | Initializers.cs:59:34:59:34 | 0 | | | Initializers.cs:58:9:65:9 | { ..., ... } | Initializers.cs:57:13:65:9 | Compound compound = ... | | +| Initializers.cs:59:13:59:27 | access to field DictionaryField | Initializers.cs:59:13:59:76 | ... = ... | | | Initializers.cs:59:13:59:76 | ... = ... | Initializers.cs:60:37:60:37 | 3 | | -| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:76 | ... = ... | | +| Initializers.cs:59:31:59:76 | { ..., ... } | Initializers.cs:59:13:59:27 | access to field DictionaryField | | | Initializers.cs:59:33:59:35 | access to indexer | Initializers.cs:59:33:59:44 | ... = ... | | | Initializers.cs:59:33:59:44 | ... = ... | Initializers.cs:59:48:59:48 | 1 | | | Initializers.cs:59:34:59:34 | 0 | Initializers.cs:59:39:59:44 | "Zero" | | @@ -2331,52 +2457,62 @@ | Initializers.cs:60:65:60:69 | ... + ... | Initializers.cs:60:74:60:78 | "One" | | | Initializers.cs:60:69:60:69 | 1 | Initializers.cs:60:65:60:69 | ... + ... | | | Initializers.cs:60:74:60:78 | "One" | Initializers.cs:60:64:60:70 | access to indexer | | +| Initializers.cs:61:13:61:22 | access to field ArrayField | Initializers.cs:61:13:61:58 | ... = ... | | | Initializers.cs:61:13:61:58 | ... = ... | Initializers.cs:62:30:62:30 | 0 | | -| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:58 | ... = ... | | +| Initializers.cs:61:26:61:58 | { ..., ... } | Initializers.cs:61:13:61:22 | access to field ArrayField | | +| Initializers.cs:61:28:61:30 | access to array element | Initializers.cs:61:28:61:39 | ... = ... | | | Initializers.cs:61:28:61:39 | ... = ... | Initializers.cs:61:43:61:43 | access to parameter i | | | Initializers.cs:61:29:61:29 | 0 | Initializers.cs:61:34:61:39 | "Zero" | | -| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:39 | ... = ... | | +| Initializers.cs:61:34:61:39 | "Zero" | Initializers.cs:61:28:61:30 | access to array element | | +| Initializers.cs:61:42:61:48 | access to array element | Initializers.cs:61:42:61:56 | ... = ... | | | Initializers.cs:61:42:61:56 | ... = ... | Initializers.cs:61:26:61:58 | { ..., ... } | | | Initializers.cs:61:43:61:43 | access to parameter i | Initializers.cs:61:47:61:47 | 1 | | | Initializers.cs:61:43:61:47 | ... + ... | Initializers.cs:61:52:61:56 | "One" | | | Initializers.cs:61:47:61:47 | 1 | Initializers.cs:61:43:61:47 | ... + ... | | -| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:56 | ... = ... | | +| Initializers.cs:61:52:61:56 | "One" | Initializers.cs:61:42:61:48 | access to array element | | +| Initializers.cs:62:13:62:23 | access to field ArrayField2 | Initializers.cs:62:13:62:60 | ... = ... | | | Initializers.cs:62:13:62:60 | ... = ... | Initializers.cs:63:32:63:32 | 1 | | -| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:60 | ... = ... | | +| Initializers.cs:62:27:62:60 | { ..., ... } | Initializers.cs:62:13:62:23 | access to field ArrayField2 | | +| Initializers.cs:62:29:62:34 | access to array element | Initializers.cs:62:29:62:40 | ... = ... | | | Initializers.cs:62:29:62:40 | ... = ... | Initializers.cs:62:44:62:44 | 1 | | | Initializers.cs:62:30:62:30 | 0 | Initializers.cs:62:33:62:33 | 1 | | | Initializers.cs:62:33:62:33 | 1 | Initializers.cs:62:38:62:40 | "i" | | -| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:40 | ... = ... | | +| Initializers.cs:62:38:62:40 | "i" | Initializers.cs:62:29:62:34 | access to array element | | +| Initializers.cs:62:43:62:52 | access to array element | Initializers.cs:62:43:62:58 | ... = ... | | | Initializers.cs:62:43:62:58 | ... = ... | Initializers.cs:62:27:62:60 | { ..., ... } | | | Initializers.cs:62:44:62:44 | 1 | Initializers.cs:62:47:62:47 | access to parameter i | | | Initializers.cs:62:47:62:47 | access to parameter i | Initializers.cs:62:51:62:51 | 0 | | | Initializers.cs:62:47:62:51 | ... + ... | Initializers.cs:62:56:62:58 | "1" | | | Initializers.cs:62:51:62:51 | 0 | Initializers.cs:62:47:62:51 | ... + ... | | -| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:58 | ... = ... | | +| Initializers.cs:62:56:62:58 | "1" | Initializers.cs:62:43:62:52 | access to array element | | | Initializers.cs:63:13:63:25 | access to property ArrayProperty | Initializers.cs:63:13:63:60 | ... = ... | | | Initializers.cs:63:13:63:60 | ... = ... | Initializers.cs:64:33:64:33 | 0 | | | Initializers.cs:63:29:63:60 | { ..., ... } | Initializers.cs:63:13:63:25 | access to property ArrayProperty | | +| Initializers.cs:63:31:63:33 | access to array element | Initializers.cs:63:31:63:41 | ... = ... | | | Initializers.cs:63:31:63:41 | ... = ... | Initializers.cs:63:45:63:45 | access to parameter i | | | Initializers.cs:63:32:63:32 | 1 | Initializers.cs:63:37:63:41 | "One" | | -| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:41 | ... = ... | | +| Initializers.cs:63:37:63:41 | "One" | Initializers.cs:63:31:63:33 | access to array element | | +| Initializers.cs:63:44:63:50 | access to array element | Initializers.cs:63:44:63:58 | ... = ... | | | Initializers.cs:63:44:63:58 | ... = ... | Initializers.cs:63:29:63:60 | { ..., ... } | | | Initializers.cs:63:45:63:45 | access to parameter i | Initializers.cs:63:49:63:49 | 2 | | | Initializers.cs:63:45:63:49 | ... + ... | Initializers.cs:63:54:63:58 | "Two" | | | Initializers.cs:63:49:63:49 | 2 | Initializers.cs:63:45:63:49 | ... + ... | | -| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:58 | ... = ... | | +| Initializers.cs:63:54:63:58 | "Two" | Initializers.cs:63:44:63:50 | access to array element | | | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | Initializers.cs:64:13:64:63 | ... = ... | | | Initializers.cs:64:13:64:63 | ... = ... | Initializers.cs:58:9:65:9 | { ..., ... } | | | Initializers.cs:64:30:64:63 | { ..., ... } | Initializers.cs:64:13:64:26 | access to property ArrayProperty2 | | +| Initializers.cs:64:32:64:37 | access to array element | Initializers.cs:64:32:64:43 | ... = ... | | | Initializers.cs:64:32:64:43 | ... = ... | Initializers.cs:64:47:64:47 | 1 | | | Initializers.cs:64:33:64:33 | 0 | Initializers.cs:64:36:64:36 | 1 | | | Initializers.cs:64:36:64:36 | 1 | Initializers.cs:64:41:64:43 | "i" | | -| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:43 | ... = ... | | +| Initializers.cs:64:41:64:43 | "i" | Initializers.cs:64:32:64:37 | access to array element | | +| Initializers.cs:64:46:64:55 | access to array element | Initializers.cs:64:46:64:61 | ... = ... | | | Initializers.cs:64:46:64:61 | ... = ... | Initializers.cs:64:30:64:63 | { ..., ... } | | | Initializers.cs:64:47:64:47 | 1 | Initializers.cs:64:50:64:50 | access to parameter i | | | Initializers.cs:64:50:64:50 | access to parameter i | Initializers.cs:64:54:64:54 | 0 | | | Initializers.cs:64:50:64:54 | ... + ... | Initializers.cs:64:59:64:61 | "1" | | | Initializers.cs:64:54:64:54 | 0 | Initializers.cs:64:50:64:54 | ... + ... | | -| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:61 | ... = ... | | +| Initializers.cs:64:59:64:61 | "1" | Initializers.cs:64:46:64:55 | access to array element | | | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | LoopUnrolling.cs:5:7:5:19 | {...} | | | LoopUnrolling.cs:5:7:5:19 | call to method | LoopUnrolling.cs:5:7:5:19 | call to constructor Object | | | LoopUnrolling.cs:5:7:5:19 | enter LoopUnrolling | LoopUnrolling.cs:5:7:5:19 | this access | | @@ -2631,9 +2767,10 @@ | MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationA.cs:13:16:13:16 | this access | | | MultiImplementationA.cs:11:7:11:8 | enter | MultiImplementationB.cs:11:16:11:16 | this access | | | MultiImplementationA.cs:11:7:11:8 | exit (normal) | MultiImplementationA.cs:11:7:11:8 | exit | | +| MultiImplementationA.cs:13:16:13:16 | access to field F | MultiImplementationA.cs:13:16:13:20 | ... = ... | | | MultiImplementationA.cs:13:16:13:16 | this access | MultiImplementationA.cs:13:20:13:20 | 0 | | | MultiImplementationA.cs:13:16:13:20 | ... = ... | MultiImplementationA.cs:24:16:24:16 | this access | | -| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:20 | ... = ... | | +| MultiImplementationA.cs:13:20:13:20 | 0 | MultiImplementationA.cs:13:16:13:16 | access to field F | | | MultiImplementationA.cs:14:31:14:31 | access to parameter i | MultiImplementationA.cs:14:31:14:31 | exit get_Item (normal) | | | MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationA.cs:14:31:14:31 | access to parameter i | | | MultiImplementationA.cs:14:31:14:31 | enter get_Item | MultiImplementationB.cs:12:37:12:40 | null | | @@ -2666,10 +2803,11 @@ | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | MultiImplementationA.cs:20:12:20:13 | exit C2 | | | MultiImplementationA.cs:20:12:20:13 | this access | MultiImplementationA.cs:20:12:20:13 | call to method | | | MultiImplementationA.cs:20:22:20:31 | {...} | MultiImplementationA.cs:20:24:20:29 | ...; | | +| MultiImplementationA.cs:20:24:20:24 | access to field F | MultiImplementationA.cs:20:24:20:28 | ... = ... | | | MultiImplementationA.cs:20:24:20:24 | this access | MultiImplementationA.cs:20:28:20:28 | access to parameter i | | | MultiImplementationA.cs:20:24:20:28 | ... = ... | MultiImplementationA.cs:20:12:20:13 | exit C2 (normal) | | | MultiImplementationA.cs:20:24:20:29 | ...; | MultiImplementationA.cs:20:24:20:24 | this access | | -| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:28 | ... = ... | | +| MultiImplementationA.cs:20:28:20:28 | access to parameter i | MultiImplementationA.cs:20:24:20:24 | access to field F | | | MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationA.cs:21:24:21:24 | 0 | | | MultiImplementationA.cs:21:12:21:13 | enter C2 | MultiImplementationB.cs:19:24:19:24 | 1 | | | MultiImplementationA.cs:21:12:21:13 | exit C2 (normal) | MultiImplementationA.cs:21:12:21:13 | exit C2 | | @@ -2730,9 +2868,10 @@ | MultiImplementationB.cs:4:34:4:34 | 1 | MultiImplementationB.cs:4:27:4:35 | return ...; | | | MultiImplementationB.cs:4:43:4:45 | {...} | MultiImplementationA.cs:7:41:7:43 | exit set_P2 (normal) | | | MultiImplementationB.cs:5:23:5:23 | 2 | MultiImplementationA.cs:8:16:8:16 | exit M (normal) | | +| MultiImplementationB.cs:11:16:11:16 | access to field F | MultiImplementationB.cs:11:16:11:20 | ... = ... | | | MultiImplementationB.cs:11:16:11:16 | this access | MultiImplementationB.cs:11:20:11:20 | 1 | | | MultiImplementationB.cs:11:16:11:20 | ... = ... | MultiImplementationB.cs:22:16:22:16 | this access | | -| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:20 | ... = ... | | +| MultiImplementationB.cs:11:20:11:20 | 1 | MultiImplementationB.cs:11:16:11:16 | access to field F | | | MultiImplementationB.cs:12:31:12:40 | throw ... | MultiImplementationA.cs:14:31:14:31 | exit get_Item (abnormal) | exception | | MultiImplementationB.cs:12:37:12:40 | null | MultiImplementationB.cs:12:31:12:40 | throw ... | | | MultiImplementationB.cs:13:40:13:54 | {...} | MultiImplementationB.cs:13:48:13:51 | null | | @@ -2859,9 +2998,10 @@ | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | PartialImplementationA.cs:3:12:3:18 | exit Partial | | | PartialImplementationA.cs:3:12:3:18 | this access | PartialImplementationA.cs:3:12:3:18 | call to method | | | PartialImplementationA.cs:3:27:3:29 | {...} | PartialImplementationA.cs:3:12:3:18 | exit Partial (normal) | | +| PartialImplementationB.cs:3:16:3:16 | access to field F | PartialImplementationB.cs:3:16:3:20 | ... = ... | | | PartialImplementationB.cs:3:16:3:16 | this access | PartialImplementationB.cs:3:20:3:20 | 0 | | | PartialImplementationB.cs:3:16:3:20 | ... = ... | PartialImplementationB.cs:5:16:5:16 | this access | | -| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:20 | ... = ... | | +| PartialImplementationB.cs:3:20:3:20 | 0 | PartialImplementationB.cs:3:16:3:16 | access to field F | | | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | PartialImplementationB.cs:4:22:4:24 | {...} | | | PartialImplementationB.cs:4:12:4:18 | call to method | PartialImplementationB.cs:4:12:4:18 | call to constructor Object | | | PartialImplementationB.cs:4:12:4:18 | enter Partial | PartialImplementationB.cs:4:12:4:18 | this access | | @@ -3922,20 +4062,22 @@ | cflow.cs:127:62:127:64 | enter set_Prop | cflow.cs:127:66:127:83 | {...} | | | cflow.cs:127:62:127:64 | exit set_Prop (normal) | cflow.cs:127:62:127:64 | exit set_Prop | | | cflow.cs:127:66:127:83 | {...} | cflow.cs:127:68:127:81 | ...; | | +| cflow.cs:127:68:127:72 | access to field Field | cflow.cs:127:68:127:80 | ... = ... | | | cflow.cs:127:68:127:72 | this access | cflow.cs:127:76:127:80 | access to parameter value | | | cflow.cs:127:68:127:80 | ... = ... | cflow.cs:127:62:127:64 | exit set_Prop (normal) | | | cflow.cs:127:68:127:81 | ...; | cflow.cs:127:68:127:72 | this access | | -| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:80 | ... = ... | | +| cflow.cs:127:76:127:80 | access to parameter value | cflow.cs:127:68:127:72 | access to field Field | | | cflow.cs:129:5:129:15 | call to constructor Object | cflow.cs:130:5:132:5 | {...} | | | cflow.cs:129:5:129:15 | call to method | cflow.cs:129:5:129:15 | call to constructor Object | | | cflow.cs:129:5:129:15 | enter ControlFlow | cflow.cs:129:5:129:15 | this access | | | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | cflow.cs:129:5:129:15 | exit ControlFlow | | | cflow.cs:129:5:129:15 | this access | cflow.cs:129:5:129:15 | call to method | | | cflow.cs:130:5:132:5 | {...} | cflow.cs:131:9:131:18 | ...; | | +| cflow.cs:131:9:131:13 | access to field Field | cflow.cs:131:9:131:17 | ... = ... | | | cflow.cs:131:9:131:13 | this access | cflow.cs:131:17:131:17 | access to parameter s | | | cflow.cs:131:9:131:17 | ... = ... | cflow.cs:129:5:129:15 | exit ControlFlow (normal) | | | cflow.cs:131:9:131:18 | ...; | cflow.cs:131:9:131:13 | this access | | -| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:17 | ... = ... | | +| cflow.cs:131:17:131:17 | access to parameter s | cflow.cs:131:9:131:13 | access to field Field | | | cflow.cs:134:5:134:15 | enter ControlFlow | cflow.cs:134:31:134:31 | access to parameter i | | | cflow.cs:134:5:134:15 | exit ControlFlow (normal) | cflow.cs:134:5:134:15 | exit ControlFlow | | | cflow.cs:134:26:134:29 | call to constructor ControlFlow | cflow.cs:134:39:134:41 | {...} | | @@ -4163,10 +4305,11 @@ | cflow.cs:209:5:222:5 | {...} | cflow.cs:210:9:221:36 | do ... while (...); | | | cflow.cs:210:9:221:36 | do ... while (...); | cflow.cs:211:9:221:9 | {...} | | | cflow.cs:211:9:221:9 | {...} | cflow.cs:212:13:212:25 | ...; | | +| cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:13:212:24 | ... = ... | | | cflow.cs:212:13:212:17 | access to field Field | cflow.cs:212:22:212:24 | "a" | | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | access to field Field | | | cflow.cs:212:13:212:17 | this access | cflow.cs:212:13:212:17 | this access | | -| cflow.cs:212:13:212:24 | ... + ... | cflow.cs:212:13:212:24 | ... = ... | | +| cflow.cs:212:13:212:24 | ... + ... | cflow.cs:212:13:212:17 | access to field Field | | | cflow.cs:212:13:212:24 | ... = ... | cflow.cs:213:13:216:13 | if (...) ... | | | cflow.cs:212:13:212:25 | ...; | cflow.cs:212:13:212:17 | this access | | | cflow.cs:212:22:212:24 | "a" | cflow.cs:212:13:212:24 | ... + ... | | @@ -4204,10 +4347,11 @@ | cflow.cs:226:57:226:59 | "a" | cflow.cs:226:62:226:63 | 10 | | | cflow.cs:226:62:226:63 | 10 | cflow.cs:226:27:226:64 | call to method Repeat | | | cflow.cs:227:9:237:9 | {...} | cflow.cs:228:13:228:23 | ...; | | +| cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:13:228:22 | ... = ... | | | cflow.cs:228:13:228:17 | access to field Field | cflow.cs:228:22:228:22 | access to local variable x | | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | access to field Field | | | cflow.cs:228:13:228:17 | this access | cflow.cs:228:13:228:17 | this access | | -| cflow.cs:228:13:228:22 | ... + ... | cflow.cs:228:13:228:22 | ... = ... | | +| cflow.cs:228:13:228:22 | ... + ... | cflow.cs:228:13:228:17 | access to field Field | | | cflow.cs:228:13:228:22 | ... = ... | cflow.cs:229:13:232:13 | if (...) ... | | | cflow.cs:228:13:228:23 | ...; | cflow.cs:228:13:228:17 | this access | | | cflow.cs:228:22:228:22 | access to local variable x | cflow.cs:228:13:228:22 | ... + ... | | diff --git a/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected b/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected index aff87481461..d76f989e5cf 100644 --- a/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected +++ b/csharp/ql/test/library-tests/controlflow/graph/Nodes.expected @@ -36,6 +36,9 @@ | Assignments.cs:3:10:3:10 | M | Assignments.cs:4:5:15:5 | {...} | | Assignments.cs:14:18:14:35 | (...) => ... | Assignments.cs:14:33:14:35 | {...} | | Assignments.cs:17:40:17:40 | + | Assignments.cs:18:5:20:5 | {...} | +| Assignments.cs:27:10:27:23 | SetParamSingle | Assignments.cs:28:5:30:5 | {...} | +| Assignments.cs:32:10:32:22 | SetParamMulti | Assignments.cs:33:5:36:5 | {...} | +| Assignments.cs:38:10:38:11 | M2 | Assignments.cs:39:5:45:5 | {...} | | BreakInTry.cs:1:7:1:16 | BreakInTry | BreakInTry.cs:1:7:1:16 | this access | | BreakInTry.cs:3:10:3:11 | M1 | BreakInTry.cs:4:5:18:5 | {...} | | BreakInTry.cs:20:10:20:11 | M2 | BreakInTry.cs:21:5:36:5 | {...} | @@ -58,7 +61,10 @@ | ConditionalAccess.cs:21:10:21:11 | M7 | ConditionalAccess.cs:22:5:26:5 | {...} | | ConditionalAccess.cs:30:10:30:12 | Out | ConditionalAccess.cs:30:32:30:32 | 0 | | ConditionalAccess.cs:32:10:32:11 | M8 | ConditionalAccess.cs:33:5:36:5 | {...} | -| ConditionalAccess.cs:41:26:41:38 | CommaJoinWith | ConditionalAccess.cs:41:70:41:71 | access to parameter s1 | +| ConditionalAccess.cs:42:9:42:11 | get_Item | ConditionalAccess.cs:42:13:42:28 | {...} | +| ConditionalAccess.cs:43:9:43:11 | set_Item | ConditionalAccess.cs:43:13:43:15 | {...} | +| ConditionalAccess.cs:46:10:46:11 | M9 | ConditionalAccess.cs:47:5:55:5 | {...} | +| ConditionalAccess.cs:60:26:60:38 | CommaJoinWith | ConditionalAccess.cs:60:70:60:71 | access to parameter s1 | | Conditions.cs:1:7:1:16 | Conditions | Conditions.cs:1:7:1:16 | this access | | Conditions.cs:3:10:3:19 | IncrOrDecr | Conditions.cs:4:5:9:5 | {...} | | Conditions.cs:11:9:11:10 | M1 | Conditions.cs:12:5:20:5 | {...} | diff --git a/csharp/ql/test/library-tests/csharp8/ispatternflow.expected b/csharp/ql/test/library-tests/csharp8/ispatternflow.expected index 553f416cd96..f8d1de5d7e9 100644 --- a/csharp/ql/test/library-tests/csharp8/ispatternflow.expected +++ b/csharp/ql/test/library-tests/csharp8/ispatternflow.expected @@ -6,8 +6,9 @@ | patterns.cs:7:20:7:41 | (...) ... | patterns.cs:7:16:7:41 | Object o = ... | semmle.label | successor | | patterns.cs:7:20:7:41 | object creation of type MyStruct | patterns.cs:7:39:7:39 | 2 | semmle.label | successor | | patterns.cs:7:33:7:41 | { ..., ... } | patterns.cs:7:20:7:41 | (...) ... | semmle.label | successor | +| patterns.cs:7:35:7:35 | access to field X | patterns.cs:7:35:7:39 | ... = ... | semmle.label | successor | | patterns.cs:7:35:7:39 | ... = ... | patterns.cs:7:33:7:41 | { ..., ... } | semmle.label | successor | -| patterns.cs:7:39:7:39 | 2 | patterns.cs:7:35:7:39 | ... = ... | semmle.label | successor | +| patterns.cs:7:39:7:39 | 2 | patterns.cs:7:35:7:35 | access to field X | semmle.label | successor | | patterns.cs:9:9:11:9 | if (...) ... | patterns.cs:9:13:9:13 | access to local variable o | semmle.label | successor | | patterns.cs:9:13:9:13 | access to local variable o | patterns.cs:9:18:9:29 | MyStruct ms1 | semmle.label | successor | | patterns.cs:9:13:9:29 | [false] ... is ... | patterns.cs:13:9:15:9 | if (...) ... | semmle.label | false | diff --git a/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected b/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected index 83438c26f6e..c6ecf8bcfd9 100644 --- a/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected +++ b/csharp/ql/test/library-tests/csharp8/switchexprcontrolflow.expected @@ -108,8 +108,9 @@ | patterns.cs:125:13:125:38 | MyStruct s = ... | patterns.cs:126:9:132:10 | ... ...; | semmle.label | successor | | patterns.cs:125:17:125:38 | object creation of type MyStruct | patterns.cs:125:36:125:36 | 0 | semmle.label | successor | | patterns.cs:125:30:125:38 | { ..., ... } | patterns.cs:125:13:125:38 | MyStruct s = ... | semmle.label | successor | +| patterns.cs:125:32:125:32 | access to field X | patterns.cs:125:32:125:36 | ... = ... | semmle.label | successor | | patterns.cs:125:32:125:36 | ... = ... | patterns.cs:125:30:125:38 | { ..., ... } | semmle.label | successor | -| patterns.cs:125:36:125:36 | 0 | patterns.cs:125:32:125:36 | ... = ... | semmle.label | successor | +| patterns.cs:125:36:125:36 | 0 | patterns.cs:125:32:125:32 | access to field X | semmle.label | successor | | patterns.cs:126:9:132:10 | ... ...; | patterns.cs:126:17:126:17 | access to local variable s | semmle.label | successor | | patterns.cs:126:13:132:9 | Int32 r = ... | patterns.cs:134:9:148:9 | try {...} ... | semmle.label | successor | | patterns.cs:126:17:126:17 | access to local variable s | patterns.cs:128:13:128:20 | access to type MyStruct | semmle.label | successor | diff --git a/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected b/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected index 64e16c2d7cf..06e4623611b 100644 --- a/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected +++ b/csharp/ql/test/library-tests/csharp8/switchstmtctrlflow.expected @@ -5,8 +5,9 @@ | patterns.cs:34:13:34:38 | MyStruct s = ... | patterns.cs:36:9:44:9 | switch (...) {...} | semmle.label | successor | | patterns.cs:34:17:34:38 | object creation of type MyStruct | patterns.cs:34:36:34:36 | 0 | semmle.label | successor | | patterns.cs:34:30:34:38 | { ..., ... } | patterns.cs:34:13:34:38 | MyStruct s = ... | semmle.label | successor | +| patterns.cs:34:32:34:32 | access to field X | patterns.cs:34:32:34:36 | ... = ... | semmle.label | successor | | patterns.cs:34:32:34:36 | ... = ... | patterns.cs:34:30:34:38 | { ..., ... } | semmle.label | successor | -| patterns.cs:34:36:34:36 | 0 | patterns.cs:34:32:34:36 | ... = ... | semmle.label | successor | +| patterns.cs:34:36:34:36 | 0 | patterns.cs:34:32:34:32 | access to field X | semmle.label | successor | | patterns.cs:36:9:44:9 | switch (...) {...} | patterns.cs:36:17:36:17 | access to local variable s | semmle.label | successor | | patterns.cs:36:17:36:17 | access to local variable s | patterns.cs:38:13:38:47 | case ...: | semmle.label | successor | | patterns.cs:38:13:38:47 | case ...: | patterns.cs:38:18:38:29 | MyStruct ms1 | semmle.label | successor | diff --git a/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected b/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected index b2d395d4b83..0950638d830 100644 --- a/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected +++ b/csharp/ql/test/library-tests/dataflow/local/TaintTrackingStep.expected @@ -1124,6 +1124,7 @@ | Splitting.cs:51:30:51:36 | { ..., ... } | Splitting.cs:51:17:51:36 | array creation of type String[] | | Splitting.cs:51:32:51:34 | "a" | Splitting.cs:51:30:51:36 | { ..., ... } | | Splitting.cs:52:9:52:9 | [post] access to local variable y | Splitting.cs:53:17:53:17 | access to local variable y | +| Splitting.cs:52:9:52:9 | access to local variable y | Splitting.cs:52:9:52:12 | access to array element | | Splitting.cs:52:9:52:9 | access to local variable y | Splitting.cs:53:17:53:17 | access to local variable y | | Splitting.cs:52:16:52:18 | "b" | Splitting.cs:52:9:52:9 | [post] access to local variable y | | Splitting.cs:52:16:52:18 | "b" | Splitting.cs:52:9:52:12 | access to array element | diff --git a/csharp/ql/test/library-tests/dataflow/nullness/MaybeNullExpr.cs b/csharp/ql/test/library-tests/dataflow/nullness/MaybeNullExpr.cs new file mode 100644 index 00000000000..6be2c54d41f --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/nullness/MaybeNullExpr.cs @@ -0,0 +1,24 @@ +using System; + +public class C +{ + string Prop { get; set; } + + void M(object o, bool b) + { + // Conditional expr might be null. + var conditionalExpr = b ? new object() : null; + + // Null-coalescing expr might be null as the right operand is null. + var nullCoalescing = o ?? null; + + // Cast might be null. + var c = o as C; + + // Conditional access might be null as the qualifier might be null. + var s1 = (o as C)?.Prop; + + // Conditional access might be null as the qualifier might be null. + var i = o?.GetHashCode(); + } +} diff --git a/csharp/ql/test/library-tests/dataflow/nullness/maybeNullExpr.expected b/csharp/ql/test/library-tests/dataflow/nullness/maybeNullExpr.expected new file mode 100644 index 00000000000..7182c0cdf95 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/nullness/maybeNullExpr.expected @@ -0,0 +1,8 @@ +| MaybeNullExpr.cs:10:31:10:53 | ... ? ... : ... | +| MaybeNullExpr.cs:10:50:10:53 | null | +| MaybeNullExpr.cs:13:30:13:38 | ... ?? ... | +| MaybeNullExpr.cs:13:35:13:38 | null | +| MaybeNullExpr.cs:16:17:16:22 | ... as ... | +| MaybeNullExpr.cs:19:18:19:31 | access to property Prop | +| MaybeNullExpr.cs:19:19:19:24 | ... as ... | +| MaybeNullExpr.cs:22:17:22:32 | call to method GetHashCode | diff --git a/csharp/ql/test/library-tests/dataflow/nullness/maybeNullExpr.ql b/csharp/ql/test/library-tests/dataflow/nullness/maybeNullExpr.ql new file mode 100644 index 00000000000..3b5531ccb3a --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/nullness/maybeNullExpr.ql @@ -0,0 +1,6 @@ +import csharp +import semmle.code.csharp.dataflow.Nullness + +from MaybeNullExpr e +where e.fromSource() +select e diff --git a/csharp/ql/test/library-tests/dataflow/nullness/options b/csharp/ql/test/library-tests/dataflow/nullness/options new file mode 100644 index 00000000000..75c39b4541b --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/nullness/options @@ -0,0 +1,2 @@ +semmle-extractor-options: /nostdlib /noconfig +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj diff --git a/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected b/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected index b0d97c4d6e4..9f87bf59eeb 100644 --- a/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected +++ b/csharp/ql/test/library-tests/dataflow/signanalysis/SignAnalysis.expected @@ -95,6 +95,7 @@ | SignAnalysis.cs:120:9:120:10 | access to field f0 | positive | | SignAnalysis.cs:120:9:120:12 | ...++ | positive | | SignAnalysis.cs:121:34:121:35 | access to field f0 | strictlyPositive | +| SignAnalysis.cs:122:9:122:10 | access to field f0 | positive | | SignAnalysis.cs:129:9:129:16 | ... = ... | strictlyNegative | | SignAnalysis.cs:129:14:129:16 | -... | strictlyNegative | | SignAnalysis.cs:129:15:129:16 | 10 | strictlyPositive | @@ -213,6 +214,7 @@ | SignAnalysis.cs:414:13:414:13 | access to local variable i | strictlyPositive | | SignAnalysis.cs:415:31:415:31 | access to local variable i | strictlyPositive | | SignAnalysis.cs:424:31:424:31 | access to local variable x | strictlyNegative | +| SignAnalysis.cs:428:19:428:19 | access to constant A | strictlyPositive | | SignAnalysis.cs:428:19:428:24 | ... = ... | strictlyPositive | | SignAnalysis.cs:428:23:428:24 | 12 | strictlyPositive | | SignAnalysis.cs:434:38:434:38 | access to local variable i | strictlyNegative | diff --git a/csharp/ql/test/library-tests/obinit/ObInit.expected b/csharp/ql/test/library-tests/obinit/ObInit.expected index 38dd8268680..3d2c7df895f 100644 --- a/csharp/ql/test/library-tests/obinit/ObInit.expected +++ b/csharp/ql/test/library-tests/obinit/ObInit.expected @@ -6,11 +6,13 @@ call | obinit.cs:9:16:9:16 | call to method | obinit.cs:2:18:2:18 | | obinit.cs:9:16:9:16 | A | | obinit.cs:15:16:15:16 | call to method | obinit.cs:14:18:14:18 | | obinit.cs:15:16:15:16 | B | cfg +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | access to field x | obinit.cs:3:13:3:17 | ... = ... | normal | 2 | | obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:13 | this access | obinit.cs:3:17:3:17 | 1 | normal | 0 | -| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:17 | ... = ... | obinit.cs:5:23:5:23 | this access | normal | 2 | -| obinit.cs:2:18:2:18 | | obinit.cs:3:17:3:17 | 1 | obinit.cs:3:13:3:17 | ... = ... | normal | 1 | -| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | this access | obinit.cs:5:27:5:34 | "source" | normal | 3 | -| obinit.cs:2:18:2:18 | | obinit.cs:5:27:5:34 | "source" | obinit.cs:5:23:5:34 | ... = ... | normal | 4 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:13:3:17 | ... = ... | obinit.cs:5:23:5:23 | this access | normal | 3 | +| obinit.cs:2:18:2:18 | | obinit.cs:3:17:3:17 | 1 | obinit.cs:3:13:3:13 | access to field x | normal | 1 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | access to field s | obinit.cs:5:23:5:34 | ... = ... | normal | 6 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:23:5:23 | this access | obinit.cs:5:27:5:34 | "source" | normal | 4 | +| obinit.cs:2:18:2:18 | | obinit.cs:5:27:5:34 | "source" | obinit.cs:5:23:5:23 | access to field s | normal | 5 | | obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | call to constructor Object | obinit.cs:7:20:7:22 | {...} | normal | 2 | | obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | call to method | obinit.cs:7:16:7:16 | call to constructor Object | normal | 1 | | obinit.cs:7:16:7:16 | A | obinit.cs:7:16:7:16 | this access | obinit.cs:7:16:7:16 | call to method | normal | 0 | diff --git a/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected b/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected index a42a3c662d4..d0838ceed01 100644 --- a/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected +++ b/csharp/ql/test/library-tests/standalone/controlflow/cfg.expected @@ -31,10 +31,12 @@ | ControlFlow.cs:10:9:10:87 | ...; | ControlFlow.cs:10:9:10:86 | Call (unknown target) | | ControlFlow.cs:10:9:10:87 | ...; | ControlFlow.cs:10:9:10:86 | object creation of type | | ControlFlow.cs:10:35:10:86 | { ..., ... } | ControlFlow.cs:5:10:5:10 | exit F (normal) | +| ControlFlow.cs:10:37:10:47 | access to array element | ControlFlow.cs:10:37:10:62 | ... = ... | | ControlFlow.cs:10:37:10:62 | ... = ... | ControlFlow.cs:10:79:10:79 | access to local variable v | -| ControlFlow.cs:10:51:10:62 | access to field Empty | ControlFlow.cs:10:37:10:62 | ... = ... | +| ControlFlow.cs:10:51:10:62 | access to field Empty | ControlFlow.cs:10:37:10:47 | access to array element | +| ControlFlow.cs:10:65:10:75 | access to array element | ControlFlow.cs:10:65:10:84 | ... = ... | | ControlFlow.cs:10:65:10:84 | ... = ... | ControlFlow.cs:10:35:10:86 | { ..., ... } | | ControlFlow.cs:10:79:10:79 | access to local variable v | ControlFlow.cs:10:79:10:84 | Call (unknown target) | | ControlFlow.cs:10:79:10:79 | access to local variable v | ControlFlow.cs:10:79:10:84 | access to property (unknown) | -| ControlFlow.cs:10:79:10:84 | Call (unknown target) | ControlFlow.cs:10:65:10:84 | ... = ... | -| ControlFlow.cs:10:79:10:84 | access to property (unknown) | ControlFlow.cs:10:65:10:84 | ... = ... | +| ControlFlow.cs:10:79:10:84 | Call (unknown target) | ControlFlow.cs:10:65:10:75 | access to array element | +| ControlFlow.cs:10:79:10:84 | access to property (unknown) | ControlFlow.cs:10:65:10:75 | access to array element | diff --git a/csharp/ql/test/query-tests/Nullness/ConditionalAccess.cs b/csharp/ql/test/query-tests/Nullness/ConditionalAccess.cs new file mode 100644 index 00000000000..fd3fae179ed --- /dev/null +++ b/csharp/ql/test/query-tests/Nullness/ConditionalAccess.cs @@ -0,0 +1,11 @@ +using System; +using System.ComponentModel; + +class ConditionalAccessTest +{ + void M1(object o) + { + var t = o?.GetType(); + Console.WriteLine(t.FullName); // $ Alert[cs/dereferenced-value-may-be-null] + } +} diff --git a/csharp/ql/test/query-tests/Nullness/NullCheck.expected b/csharp/ql/test/query-tests/Nullness/NullCheck.expected index ada1054f02c..2b6962b51c0 100644 --- a/csharp/ql/test/query-tests/Nullness/NullCheck.expected +++ b/csharp/ql/test/query-tests/Nullness/NullCheck.expected @@ -51,6 +51,7 @@ | C.cs:229:22:229:30 | ... != ... | C.cs:229:22:229:22 | access to local variable s | | C.cs:235:24:235:32 | ... == ... | C.cs:235:24:235:24 | access to local variable s | | C.cs:235:24:235:32 | ... == ... | C.cs:235:29:235:32 | null | +| ConditionalAccess.cs:8:17:8:17 | access to parameter o | ConditionalAccess.cs:8:17:8:17 | access to parameter o | | D.cs:28:13:28:25 | ... != ... | D.cs:28:13:28:17 | access to parameter param | | D.cs:38:13:38:21 | ... == ... | D.cs:38:13:38:13 | access to parameter x | | D.cs:39:16:39:24 | ... == ... | D.cs:39:16:39:16 | access to parameter x | diff --git a/csharp/ql/test/query-tests/Nullness/NullMaybe.expected b/csharp/ql/test/query-tests/Nullness/NullMaybe.expected index 6a0d8372e3e..3f5219d8c0c 100644 --- a/csharp/ql/test/query-tests/Nullness/NullMaybe.expected +++ b/csharp/ql/test/query-tests/Nullness/NullMaybe.expected @@ -6,6 +6,7 @@ | C.cs:203:13:203:13 | access to local variable s | Variable $@ may be null at this access because of $@ assignment. | C.cs:185:13:185:13 | s | s | C.cs:204:13:204:20 | ... = ... | this | | C.cs:223:9:223:9 | access to local variable s | Variable $@ may be null at this access because of $@ assignment. | C.cs:210:13:210:13 | s | s | C.cs:222:13:222:20 | ... = ... | this | | C.cs:242:13:242:13 | access to local variable s | Variable $@ may be null at this access because of $@ assignment. | C.cs:228:16:228:16 | s | s | C.cs:240:24:240:31 | ... = ... | this | +| ConditionalAccess.cs:9:27:9:27 | access to local variable t | Variable $@ may be null at this access because of $@ assignment. | ConditionalAccess.cs:8:13:8:13 | t | t | ConditionalAccess.cs:8:13:8:28 | Type t = ... | this | | D.cs:23:9:23:13 | access to parameter param | Variable $@ may be null at this access because of $@ null argument. | D.cs:21:32:21:36 | param | param | D.cs:17:17:17:20 | null | this | | D.cs:32:9:32:13 | access to parameter param | Variable $@ may be null at this access as suggested by $@ null check. | D.cs:26:32:26:36 | param | param | D.cs:28:13:28:25 | ... != ... | this | | D.cs:73:13:73:14 | access to local variable o7 | Variable $@ may be null at this access because of $@ assignment. | D.cs:68:13:68:14 | o7 | o7 | D.cs:68:13:68:34 | String o7 = ... | this | diff --git a/docs/codeql/_static/custom.css_t b/docs/codeql/_static/custom.css_t index b05c5120398..6a7fadc8d41 100644 --- a/docs/codeql/_static/custom.css_t +++ b/docs/codeql/_static/custom.css_t @@ -14,6 +14,18 @@ code { font-size: 0.9em !important; /* makes code snippets in headings the correct size */ } +/* -- HEADER ------------------------------------------------------------------------------- */ + +/* Override alabaster.css purple link color for header links to match the rest of the site */ +.Header .Header-link { + color: #fff; +} + +.Header .Header-link:hover, +.Header .Header-link:focus { + color: rgba(255, 255, 255, 0.7); +} + /* -- MAIN BODY ---------------------------------------------------------------------------- */ main { diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.5.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.5.rst index 9022a09444f..d317551d344 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.5.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.5.rst @@ -33,7 +33,7 @@ Minor Analysis Improvements C# "" -* the :code:`cs/web/missing-x-frame-options` query now correctly handles configuration nested in root :code:`` elements. +* The :code:`cs/web/missing-x-frame-options` query now correctly handles configuration nested in root :code:`` elements. Java/Kotlin """"""""""" @@ -80,7 +80,7 @@ Major Analysis Improvements C# "" -* The representation of the C# control-flow graph has been significantly changed. This has minor effects on a wide range of queries including both minor improvements and minor regressions, for example, improved precision has been observed for :code:`cs/inefficient-containskey` and :code:`cs/stringbuilder-creation-in-loop`. Two queries stand out as being significantly affected with great improvements: :code:`cs/dereferenced-value-may-be-null` has been completely rewritten which removes a very significant number of false positives. Furthermore, :code:`cs/constant-condition` has been updated to report many new results - these new results are primarily expected to be true positives, but a few new false positives are expected as well. As part of these changes, :code:`cs/dereferenced-value-may-be-null` has been changed from a :code:`path-problem` query to a :code:`problem` query, so paths are no longer reported for this query. +* The representation of the C# control-flow graph has been significantly changed. This has minor effects on a wide range of queries including both minor improvements and minor regressions. For example, improved precision has been observed for :code:`cs/inefficient-containskey` and :code:`cs/stringbuilder-creation-in-loop`. Two queries stand out as being significantly affected with great improvements: :code:`cs/dereferenced-value-may-be-null` has been completely rewritten which removes a very significant number of false positives. Furthermore, :code:`cs/constant-condition` has been updated to report many new results - these new results are primarily expected to be true positives, but a few new false positives are expected as well. As part of these changes, :code:`cs/dereferenced-value-may-be-null` has been changed from a :code:`path-problem` query to a :code:`problem` query, so paths are no longer reported for this query. Swift """"" diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.6.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.6.rst index 67fe1ed487f..dc0239a1f6c 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.6.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.6.rst @@ -9,7 +9,7 @@ CodeQL 2.23.6 (2025-11-24) :local: :backlinks: none -This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. +This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. Security Coverage ----------------- diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.7.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.7.rst new file mode 100644 index 00000000000..01312548aaf --- /dev/null +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.7.rst @@ -0,0 +1,116 @@ +.. _codeql-cli-2.23.7: + +========================== +CodeQL 2.23.7 (2025-12-05) +========================== + +.. contents:: Contents + :depth: 2 + :local: + :backlinks: none + +This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. + +Security Coverage +----------------- + +CodeQL 2.23.7 runs a total of 491 security queries when configured with the Default suite (covering 166 CWE). The Extended suite enables an additional 135 queries (covering 35 more CWE). 6 security queries have been added with this release. + +CodeQL CLI +---------- + +Deprecations +~~~~~~~~~~~~ + +* The :code:`--save-cache` flag to :code:`codeql database run-queries` and other commands that execute queries has been deprecated. This flag previously instructed the evaluator to aggressively write intermediate results to the disk cache, but now has no effect. + +Query Packs +----------- + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Java/Kotlin +""""""""""" + +* Operations that extract only a fixed-length prefix or suffix of a string (for example, :code:`substring` in Java or :code:`take` in Kotlin), when limited to a length of at most 7 characters, are now treated as sanitizers for the :code:`java/sensitive-log` query. + +JavaScript/TypeScript +""""""""""""""""""""" + +* Fixed a bug in the Next.js model that would cause the analysis to miss server-side taint sources in the :code:`app/pages` folder. + +Rust +"""" + +* The :code:`rust/access-invalid-pointer` query has been improved with new flow sources and barriers. + +New Queries +~~~~~~~~~~~ + +Golang +"""""" + +* The :code:`go/cookie-http-only-not-set` query has been promoted from the experimental query pack. This query was originally contributed to the experimental query pack by @edvraa. +* A new query :code:`go/cookie-secure-not-set` has been added to detect cookies without the :code:`Secure` flag set. +* Added a new query, :code:`go/weak-crypto-algorithm`, to detect the use of a broken or weak cryptographic algorithm. A very simple version of this query was originally contributed as an `experimental query by @dilanbhalla `__. +* Added a new query, :code:`go/weak-sensitive-data-hashing`, to detect the use of a broken or weak cryptographic hash algorithm on sensitive data. + +Rust +"""" + +* Added a new query :code:`rust/xss`, to detect cross-site scripting security vulnerabilities. +* Added a new query :code:`rust/disabled-certificate-check`, to detect disabled TLS certificate checks. +* Added three example queries (:code:`rust/examples/empty-if`, :code:`rust/examples/simple-sql-injection` and :code:`rust/examples/simple-constant-password`) to help developers learn to write CodeQL queries for Rust. + +Language Libraries +------------------ + +Bug Fixes +~~~~~~~~~ + +Python +"""""" + +* Fixed a bug in the Python extractor's import handling where failing to find an import in :code:`find_module` would cause a :code:`KeyError` to be raised. (Contributed by @akoeplinger.) + +Breaking Changes +~~~~~~~~~~~~~~~~ + +Rust +"""" + +* The type :code:`DataFlow::Node` is now based directly on the AST instead of the CFG, which means that predicates like :code:`asExpr()` return AST nodes instead of CFG nodes. + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* The class :code:`DataFlow::FieldContent` now covers both :code:`union` and :code:`struct`\ /\ :code:`class` types. A new predicate :code:`FieldContent.getAField` has been added to access the union members associated with the :code:`FieldContent`. The old :code:`FieldContent` has been renamed to :code:`NonUnionFieldContent`. + +C# +"" + +* Improved stability when downloading .NET versions by setting appropriate environment variables for :code:`dotnet` commands. The correct architecture-specific version of .NET is now downloaded on ARM runners. +* Compilation errors are now included in the debug log when using build-mode none. +* Added a new extractor option to specify a custom directory for dependency downloads in buildless mode. Use :code:`-O buildless_dependency_dir=` to configure the target directory. + +JavaScript/TypeScript +""""""""""""""""""""" + +* JavaScript :code:`DataFlow::globalVarRef` now recognizes :code:`document.defaultView` as an alias of :code:`window`, allowing flows such as :code:`document.defaultView.history.pushState(...)` to be modeled and found by queries relying on :code:`globalVarRef("history")`. + +Rust +"""" + +* Added more detailed models for :code:`std::fs` and :code:`std::path`. + +Deprecated APIs +~~~~~~~~~~~~~~~ + +Java/Kotlin +""""""""""" + +* The SSA interface has been updated and all classes and several predicates have been renamed. See the qldoc for more specific migration information. diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.8.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.8.rst new file mode 100644 index 00000000000..be32da0df0e --- /dev/null +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.8.rst @@ -0,0 +1,33 @@ +.. _codeql-cli-2.23.8: + +========================== +CodeQL 2.23.8 (2025-12-10) +========================== + +.. contents:: Contents + :depth: 2 + :local: + :backlinks: none + +This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. + +Security Coverage +----------------- + +CodeQL 2.23.8 runs a total of 491 security queries when configured with the Default suite (covering 166 CWE). The Extended suite enables an additional 135 queries (covering 35 more CWE). + +CodeQL CLI +---------- + +There are no user-facing CLI changes in this release. + +Query Packs +----------- + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Java/Kotlin +""""""""""" + +* Java analysis no longer forces :code:`--source` and :code:`--target` compiler flags for Maven builds. This allows Maven to use the project's own compiler configuration, improving build compatibility. diff --git a/docs/codeql/codeql-overview/codeql-changelog/index.rst b/docs/codeql/codeql-overview/codeql-changelog/index.rst index 195a9782088..8eb59792af4 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/index.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/index.rst @@ -11,6 +11,8 @@ A list of queries for each suite and language `is available here ` diff --git a/docs/codeql/ql-language-reference/ql-language-specification.rst b/docs/codeql/ql-language-reference/ql-language-specification.rst index 1d84cc31c73..496b1245ff5 100644 --- a/docs/codeql/ql-language-reference/ql-language-specification.rst +++ b/docs/codeql/ql-language-reference/ql-language-specification.rst @@ -776,6 +776,7 @@ Various kinds of syntax can have *annotations* applied to them. Annotations are argsAnnotation ::= "pragma" "[" ("inline" | "inline_late" | "noinline" | "nomagic" | "noopt" | "assume_small_delta") "]" | "language" "[" "monotonicAggregates" "]" | "bindingset" "[" (variable ( "," variable)*)? "]" + | "overlay" "[" ("local" | "local?" | "global" | "caller" | "caller?" | "discard_entity") "]" Each simple annotation adds a same-named attribute to the syntactic entity it precedes. For example, if a class is preceded by the ``abstract`` annotation, then the class is said to be abstract. @@ -873,6 +874,26 @@ A predicate may have several different binding sets, which can be stated by usin The ``bindingset`` pragma is usable with type signatures and predicate signatures, but not with module signatures. +The parameterized annotation ``overlay`` controls predicate behavior during overlay evaluation, which is a feature for incremental analysis. Overlay annotations apply at the scope level, and are inherited by nested scopes. + ++---------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+ +| Overlay | Classes | Characters | Member predicates | Non-member predicates | Imports | Fields | Modules | Aliases | ++=====================+=========+============+===================+=======================+=========+========+=========+=========+ +| ``local`` | yes | yes | yes | yes | | | yes | | ++---------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+ +| ``local?`` | yes | yes | yes | yes | | | yes | | ++---------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+ +| ``global`` | yes | yes | yes | yes | | | yes | | ++---------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+ +| ``caller`` | yes | yes | yes | yes | | | yes | | ++---------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+ +| ``caller?`` | yes | yes | yes | yes | | | yes | | ++---------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+ +| ``discard_entity`` | | | | yes | | | | | ++---------------------+---------+------------+-------------------+-----------------------+---------+--------+---------+---------+ + +The ``overlay[discard_entity]`` annotation is only valid on unary non-member predicates whose argument is a database type. + QLDoc ----- diff --git a/docs/codeql/qllexer.py b/docs/codeql/qllexer.py index 33c0becdfc3..55a65e84152 100644 --- a/docs/codeql/qllexer.py +++ b/docs/codeql/qllexer.py @@ -35,7 +35,7 @@ class QLLexer(RegexLexer): # Keywords (r'\b(boolean|date|float|int|string)\b', Keyword.Type), (r'\b(abstract|cached|deprecated|external|final|library|override|private|query' - r'|(pragma|language|bindingset)\[\w*(,\s*\w*)*\])\s', + r'|(pragma|language|bindingset|overlay)\[\w*\??(,\s*\w*\??)*\])\s', Keyword.Reserved), (words(( 'and', 'any', 'as', 'asc', 'avg', 'by', 'class','concat', 'count', diff --git a/go/extractor/go.mod b/go/extractor/go.mod index 2729c7dfcc5..62d42b037ef 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -9,8 +9,8 @@ toolchain go1.25.0 // when adding or removing dependencies, run // bazel mod tidy require ( - golang.org/x/mod v0.31.0 - golang.org/x/tools v0.40.0 + golang.org/x/mod v0.32.0 + golang.org/x/tools v0.41.0 ) require golang.org/x/sync v0.19.0 // indirect diff --git a/go/extractor/go.sum b/go/extractor/go.sum index 488d2003193..d462d8f3668 100644 --- a/go/extractor/go.sum +++ b/go/extractor/go.sum @@ -1,8 +1,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 00273047253..8718668249f 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.39.md b/go/ql/consistency-queries/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.40.md b/go/ql/consistency-queries/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index 8bb3c230c3e..b164141b828 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.39-dev +version: 1.0.41-dev groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 5f0fda7c3e6..97391d2342a 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,17 @@ +## 6.0.0 + +### Breaking Changes + +* The query `go/unexpected-frontend-error` has been moved from the `codeql/go-queries` query to the `codeql-go-consistency-queries` query pack. + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Go extractor's search for `.vue` and HTML files. + +## 5.0.6 + +No user-facing changes. + ## 5.0.5 No user-facing changes. diff --git a/go/ql/lib/change-notes/2025-11-26-unexpected-frontend-errors-query-moved.md b/go/ql/lib/change-notes/2025-11-26-unexpected-frontend-errors-query-moved.md deleted file mode 100644 index cf4b724dbd9..00000000000 --- a/go/ql/lib/change-notes/2025-11-26-unexpected-frontend-errors-query-moved.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* The query `go/unexpected-frontend-error` has been moved from the `codeql/go-queries` query to the `codeql-go-consistency-queries` query pack. diff --git a/go/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md b/go/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md deleted file mode 100644 index bf9c4553573..00000000000 --- a/go/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Go extractor's search for `.vue` and HTML files. diff --git a/go/ql/lib/change-notes/released/5.0.6.md b/go/ql/lib/change-notes/released/5.0.6.md new file mode 100644 index 00000000000..3281a876281 --- /dev/null +++ b/go/ql/lib/change-notes/released/5.0.6.md @@ -0,0 +1,3 @@ +## 5.0.6 + +No user-facing changes. diff --git a/go/ql/lib/change-notes/released/6.0.0.md b/go/ql/lib/change-notes/released/6.0.0.md new file mode 100644 index 00000000000..1e02ee8eea0 --- /dev/null +++ b/go/ql/lib/change-notes/released/6.0.0.md @@ -0,0 +1,9 @@ +## 6.0.0 + +### Breaking Changes + +* The query `go/unexpected-frontend-error` has been moved from the `codeql/go-queries` query to the `codeql-go-consistency-queries` query pack. + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Go extractor's search for `.vue` and HTML files. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 02e5f00fa9e..f8c4fa43ccb 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.0.5 +lastReleaseVersion: 6.0.0 diff --git a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml index 0c539522c5a..8588af2652c 100644 --- a/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml +++ b/go/ql/lib/ext/github.com.beego.beego.server.web.model.yml @@ -50,3 +50,8 @@ extensions: - ["group:beego", "Controller", True, "GetString", "", "", "ReturnValue[0]", "remote", "manual"] - ["group:beego", "Controller", True, "GetStrings", "", "", "ReturnValue[0]", "remote", "manual"] - ["group:beego", "Controller", True, "Input", "", "", "ReturnValue[0]", "remote", "manual"] + - addsTo: + pack: codeql/go-all + extensible: barrierModel + data: + - ["group:beego", "", True, "Htmlquote", "", "", "ReturnValue", "html-injection", "manual"] diff --git a/go/ql/lib/ext/mime.multipart.model.yml b/go/ql/lib/ext/mime.multipart.model.yml index 410eac26af6..134481dfce3 100644 --- a/go/ql/lib/ext/mime.multipart.model.yml +++ b/go/ql/lib/ext/mime.multipart.model.yml @@ -1,4 +1,21 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: barrierModel + data: + # The only way to create a `mime/multipart.FileHeader` is to create a + # `mime/multipart.Form`, which creates the `Filename` field of each + # `mime/multipart.FileHeader` by calling `Part.FileName`, which calls + # `path/filepath.Base` on its return value. In general `path/filepath.Base` + # is not a sanitizer for path traversal, but in this specific case where the + # output is going to be used as a filename rather than a directory name, it + # is adequate. + - ["mime/multipart", "FileHeader", False, "Filename", "", "", "", "path-injection", "manual"] + # `Part.FileName` calls `path/filepath.Base` on its return value. In + # general `path/filepath.Base` is not a sanitizer for path traversal, but in + # this specific case where the output is going to be used as a filename + # rather than a directory name, it is adequate. + - ["mime/multipart", "Part", False, "FileName", "", "", "ReturnValue", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/ext/path.filepath.model.yml b/go/ql/lib/ext/path.filepath.model.yml index 15bcb7d386d..d450e2bbc56 100644 --- a/go/ql/lib/ext/path.filepath.model.yml +++ b/go/ql/lib/ext/path.filepath.model.yml @@ -1,4 +1,9 @@ extensions: + - addsTo: + pack: codeql/go-all + extensible: barrierModel + data: + - ["path/filepath", "", False, "Rel", "", "", "ReturnValue", "path-injection", "manual"] - addsTo: pack: codeql/go-all extensible: summaryModel diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 64cb6fbf98c..669112f115d 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 5.0.6-dev +version: 6.0.1-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/lib/semmle/go/Concepts.qll b/go/ql/lib/semmle/go/Concepts.qll index acb16b62d07..4e328ed76c4 100644 --- a/go/ql/lib/semmle/go/Concepts.qll +++ b/go/ql/lib/semmle/go/Concepts.qll @@ -116,10 +116,10 @@ module FileSystemAccess { } } -private class DefaultFileSystemAccess extends FileSystemAccess::Range, DataFlow::CallNode { +private class ExternalFileSystemAccess extends FileSystemAccess::Range, DataFlow::CallNode { DataFlow::ArgumentNode pathArgument; - DefaultFileSystemAccess() { + ExternalFileSystemAccess() { sinkNode(pathArgument, "path-injection") and this = pathArgument.getCall() } @@ -394,10 +394,10 @@ module LoggerCall { } } -private class DefaultLoggerCall extends LoggerCall::Range, DataFlow::CallNode { +private class ExternalLoggerCall extends LoggerCall::Range, DataFlow::CallNode { DataFlow::ArgumentNode messageComponent; - DefaultLoggerCall() { + ExternalLoggerCall() { sinkNode(messageComponent, "log-injection") and this = messageComponent.getCall() } diff --git a/go/ql/lib/semmle/go/concepts/HTTP.qll b/go/ql/lib/semmle/go/concepts/HTTP.qll index 479cc19bfcc..b3990edd084 100644 --- a/go/ql/lib/semmle/go/concepts/HTTP.qll +++ b/go/ql/lib/semmle/go/concepts/HTTP.qll @@ -320,11 +320,11 @@ module Http { ) } - private class DefaultHttpRedirect extends Range, DataFlow::CallNode { + private class ExternalHttpRedirect extends Range, DataFlow::CallNode { DataFlow::ArgumentNode url; int rw; - DefaultHttpRedirect() { + ExternalHttpRedirect() { this = url.getCall() and exists(string kind | sinkKindInfo(kind, rw) and diff --git a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll index de1e3da6281..8ce76526728 100644 --- a/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll +++ b/go/ql/lib/semmle/go/dataflow/ExternalFlow.qll @@ -129,7 +129,9 @@ module ModelValidation { summaryModel(_, _, _, _, _, _, path, _, _, _, _) or summaryModel(_, _, _, _, _, _, _, path, _, _, _) or sinkModel(_, _, _, _, _, _, path, _, _, _) or - sourceModel(_, _, _, _, _, _, path, _, _, _) + sourceModel(_, _, _, _, _, _, path, _, _, _) or + barrierModel(_, _, _, _, _, _, path, _, _, _) or + barrierGuardModel(_, _, _, _, _, _, path, _, _, _, _) } private module MkAccessPath = AccessPathSyntax::AccessPath; @@ -142,6 +144,8 @@ module ModelValidation { exists(string pred, AccessPath input, AccessPathToken part | sinkModel(_, _, _, _, _, _, input, _, _, _) and pred = "sink" or + barrierGuardModel(_, _, _, _, _, _, input, _, _, _, _) and pred = "barrier guard" + or summaryModel(_, _, _, _, _, _, input, _, _, _, _) and pred = "summary" | ( @@ -164,6 +168,8 @@ module ModelValidation { exists(string pred, AccessPath output, AccessPathToken part | sourceModel(_, _, _, _, _, _, output, _, _, _) and pred = "source" or + barrierModel(_, _, _, _, _, _, output, _, _, _) and pred = "barrier" + or summaryModel(_, _, _, _, _, _, _, output, _, _, _) and pred = "summary" | ( @@ -181,7 +187,13 @@ module ModelValidation { private module KindValConfig implements SharedModelVal::KindValidationConfigSig { predicate summaryKind(string kind) { summaryModel(_, _, _, _, _, _, _, _, kind, _, _) } - predicate sinkKind(string kind) { sinkModel(_, _, _, _, _, _, _, kind, _, _) } + predicate sinkKind(string kind) { + sinkModel(_, _, _, _, _, _, _, kind, _, _) + or + barrierModel(_, _, _, _, _, _, _, kind, _, _) + or + barrierGuardModel(_, _, _, _, _, _, _, _, kind, _, _) + } predicate sourceKind(string kind) { sourceModel(_, _, _, _, _, _, _, kind, _, _) } @@ -199,6 +211,11 @@ module ModelValidation { or sinkModel(package, type, _, name, signature, ext, _, _, provenance, _) and pred = "sink" or + barrierModel(package, type, _, name, signature, ext, _, _, provenance, _) and pred = "barrier" + or + barrierGuardModel(package, type, _, name, signature, ext, _, _, _, provenance, _) and + pred = "barrier guard" + or summaryModel(package, type, _, name, signature, ext, _, _, _, provenance, _) and pred = "summary" or @@ -224,6 +241,14 @@ module ModelValidation { invalidProvenance(provenance) and result = "Unrecognized provenance description \"" + provenance + "\" in " + pred + " model." ) + or + exists(string acceptingvalue | + barrierGuardModel(_, _, _, _, _, _, _, acceptingvalue, _, _, _) and + invalidAcceptingValue(acceptingvalue) and + result = + "Unrecognized accepting value description \"" + acceptingvalue + + "\" in barrier guard model." + ) } private string getInvalidPackageGroup() { @@ -232,6 +257,11 @@ module ModelValidation { or FlowExtensions::sinkModel(package, _, _, _, _, _, _, _, _, _) and pred = "sink" or + FlowExtensions::barrierModel(package, _, _, _, _, _, _, _, _, _) and pred = "barrier" + or + FlowExtensions::barrierGuardModel(package, _, _, _, _, _, _, _, _, _, _) and + pred = "barrier guard" + or FlowExtensions::summaryModel(package, _, _, _, _, _, _, _, _, _, _) and pred = "summary" or @@ -262,6 +292,10 @@ private predicate elementSpec( or sinkModel(package, type, subtypes, name, signature, ext, _, _, _, _) or + barrierModel(package, type, subtypes, name, signature, ext, _, _, _, _) + or + barrierGuardModel(package, type, subtypes, name, signature, ext, _, _, _, _, _) + or summaryModel(package, type, subtypes, name, signature, ext, _, _, _, _, _) or neutralModel(package, type, name, signature, _, _) and ext = "" and subtypes = false @@ -397,6 +431,54 @@ private module Cached { isSinkNode(n, kind, model) and n.asNode() = node ) } + + private newtype TKindModelPair = + TMkPair(string kind, string model) { isBarrierGuardNode(_, _, kind, model) } + + private boolean convertAcceptingValue(Public::AcceptingValue av) { + av.isTrue() and result = true + or + av.isFalse() and result = false + // Remaining cases are not supported yet, they depend on the shared Guards library. + // or + // av.isNoException() and result.getDualValue().isThrowsException() + // or + // av.isZero() and result.asIntValue() = 0 + // or + // av.isNotZero() and result.getDualValue().asIntValue() = 0 + // or + // av.isNull() and result.isNullValue() + // or + // av.isNotNull() and result.isNonNullValue() + } + + private predicate barrierGuardChecks(DataFlow::Node g, Expr e, boolean gv, TKindModelPair kmp) { + exists( + SourceSinkInterpretationInput::InterpretNode n, Public::AcceptingValue acceptingvalue, + string kind, string model + | + isBarrierGuardNode(n, acceptingvalue, kind, model) and + n.asNode().asExpr() = e and + kmp = TMkPair(kind, model) and + gv = convertAcceptingValue(acceptingvalue) + | + g.asExpr().(CallExpr).getAnArgument() = e // TODO: qualifier? + ) + } + + /** + * Holds if `node` is specified as a barrier with the given kind in a MaD flow + * model. + */ + cached + predicate barrierNode(DataFlow::Node node, string kind, string model) { + exists(SourceSinkInterpretationInput::InterpretNode n | + isBarrierNode(n, kind, model) and n.asNode() = node + ) + or + DataFlow::ParameterizedBarrierGuard::getABarrierNode(TMkPair(kind, + model)) = node + } } import Cached @@ -413,6 +495,12 @@ predicate sourceNode(DataFlow::Node node, string kind) { sourceNode(node, kind, */ predicate sinkNode(DataFlow::Node node, string kind) { sinkNode(node, kind, _) } +/** + * Holds if `node` is specified as a barrier with the given kind in a MaD flow + * model. + */ +predicate barrierNode(DataFlow::Node node, string kind) { barrierNode(node, kind, _) } + // adapter class for converting Mad summaries to `SummarizedCallable`s private class SummarizedCallableAdapter extends Public::SummarizedCallable { SummarizedCallableAdapter() { summaryElement(this, _, _, _, _, _) } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll index 14ff455646c..404eca4b4a2 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll @@ -339,6 +339,20 @@ class ContentSet instanceof TContentSet { */ signature predicate guardChecksSig(Node g, Expr e, boolean branch); +bindingset[this] +private signature class ParamSig; + +private module WithParam { + /** + * 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(Node g, Expr e, boolean branch, P param); +} + /** * Provides a set of barrier nodes for a guard that validates an expression. * @@ -346,12 +360,36 @@ signature predicate guardChecksSig(Node g, Expr e, boolean branch); * in data flow and taint tracking. */ module BarrierGuard { + private predicate guardChecks(Node g, Expr e, boolean branch, Unit param) { + guardChecks(g, e, branch) and exists(param) + } + + private module B = ParameterizedBarrierGuard; + /** Gets a node that is safely guarded by the given guard check. */ - Node getABarrierNode() { + Node getABarrierNode() { result = B::getABarrierNode(_) } + + /** + * Gets a node that is safely guarded by the given guard check. + */ + Node getABarrierNodeForGuard(Node guardCheck) { + result = B::getABarrierNodeForGuard(guardCheck, _) + } +} + +/** + * 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 ParameterizedBarrierGuard::guardChecksSig/4 guardChecks> { + /** Gets a node that is safely guarded by the given guard check. */ + Node getABarrierNode(P param) { exists(ControlFlow::ConditionGuardNode guard, SsaWithFields var | result = pragma[only_bind_out](var).getAUse() | - guards(_, guard, _, var) and + guards(_, guard, _, var, param) and pragma[only_bind_out](guard).dominates(result.getBasicBlock()) ) } @@ -359,9 +397,9 @@ module BarrierGuard { /** * Gets a node that is safely guarded by the given guard check. */ - Node getABarrierNodeForGuard(Node guardCheck) { + Node getABarrierNodeForGuard(Node guardCheck, P param) { exists(ControlFlow::ConditionGuardNode guard, SsaWithFields var | result = var.getAUse() | - guards(guardCheck, guard, _, var) and + guards(guardCheck, guard, _, var, param) and guard.dominates(result.getBasicBlock()) ) } @@ -373,22 +411,24 @@ module BarrierGuard { * This predicate exists to enforce a good join order in `getAGuardedNode`. */ pragma[noinline] - private predicate guards(Node g, ControlFlow::ConditionGuardNode guard, Node nd, SsaWithFields ap) { - guards(g, guard, nd) and nd = ap.getAUse() + private predicate guards( + Node g, ControlFlow::ConditionGuardNode guard, Node nd, SsaWithFields ap, P param + ) { + guards(g, guard, nd, param) and nd = ap.getAUse() } /** * Holds if `guard` marks a point in the control-flow graph where `g` * is known to validate `nd`. */ - private predicate guards(Node g, ControlFlow::ConditionGuardNode guard, Node nd) { + private predicate guards(Node g, ControlFlow::ConditionGuardNode guard, Node nd, P param) { exists(boolean branch | - guardChecks(g, nd.asExpr(), branch) and + guardChecks(g, nd.asExpr(), branch, param) and guard.ensures(g, branch) ) or exists(DataFlow::Property p, Node resNode, Node check, boolean outcome | - guardingCall(g, _, _, _, p, _, nd, resNode) and + guardingCall(g, _, _, _, p, _, nd, resNode, param) and p.checkOn(check, outcome, resNode) and guard.ensures(pragma[only_bind_into](check), outcome) ) @@ -405,9 +445,9 @@ module BarrierGuard { pragma[noinline] private predicate guardingCall( Node g, Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p, CallNode c, - Node nd, Node resNode + Node nd, Node resNode, P param ) { - guardingFunction(g, f, inp, outp, p) and + guardingFunction(g, f, inp, outp, p, param) and c = f.getACall() and nd = getInputNode(inp, c) and localFlow(getOutputNode(outp, c), resNode) @@ -438,7 +478,7 @@ module BarrierGuard { * `false`, `nil` or a non-`nil` value.) */ private predicate guardingFunction( - Node g, Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p + Node g, Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p, P param ) { exists(FuncDecl fd, Node arg, Node ret | fd.getFunction() = f and @@ -446,7 +486,7 @@ module BarrierGuard { ( // Case: a function like "if someBarrierGuard(arg) { return true } else { return false }" exists(ControlFlow::ConditionGuardNode guard | - guards(g, pragma[only_bind_out](guard), arg) and + guards(g, pragma[only_bind_out](guard), arg, param) and guard.dominates(pragma[only_bind_out](ret).getBasicBlock()) | onlyPossibleReturnSatisfyingProperty(fd, outp, ret, p) @@ -456,7 +496,7 @@ module BarrierGuard { // or "return !someBarrierGuard(arg) && otherCond(...)" exists(boolean outcome | ret = getUniqueOutputNode(fd, outp) and - guardChecks(g, arg.asExpr(), outcome) and + guardChecks(g, arg.asExpr(), outcome, param) 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), @@ -471,7 +511,7 @@ module BarrierGuard { DataFlow::Property outpProp | ret = getUniqueOutputNode(fd, outp) and - guardingFunction(g, f2, inp2, outp2, outpProp) and + guardingFunction(g, f2, inp2, outp2, outpProp, param) and c = f2.getACall() and arg = inp2.getNode(c) and ( diff --git a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll index 6c49cb75bd3..633864fbf8c 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll @@ -160,16 +160,27 @@ module SourceSinkInterpretationInput implements } predicate barrierElement( - Element n, string output, string kind, Public::Provenance provenance, string model + Element e, string output, string kind, Public::Provenance provenance, string model ) { - none() + exists( + string package, string type, boolean subtypes, string name, string signature, string ext + | + barrierModel(package, type, subtypes, name, signature, ext, output, kind, provenance, model) and + e = interpretElement(package, type, subtypes, name, signature, ext) + ) } predicate barrierGuardElement( - Element n, string input, Public::AcceptingValue acceptingvalue, string kind, + Element e, string input, Public::AcceptingValue acceptingvalue, string kind, Public::Provenance provenance, string model ) { - none() + exists( + string package, string type, boolean subtypes, string name, string signature, string ext + | + barrierGuardModel(package, type, subtypes, name, signature, ext, input, acceptingvalue, kind, + provenance, model) and + e = interpretElement(package, type, subtypes, name, signature, ext) + ) } // Note that due to embedding, which is currently implemented via some diff --git a/go/ql/lib/semmle/go/frameworks/Beego.qll b/go/ql/lib/semmle/go/frameworks/Beego.qll index 952958cebf0..383be8ec42a 100644 --- a/go/ql/lib/semmle/go/frameworks/Beego.qll +++ b/go/ql/lib/semmle/go/frameworks/Beego.qll @@ -165,14 +165,6 @@ module Beego { override string getAContentType() { none() } } - private class HtmlQuoteSanitizer extends SharedXss::Sanitizer { - HtmlQuoteSanitizer() { - exists(DataFlow::CallNode c | c.getTarget().hasQualifiedName(packagePath(), "Htmlquote") | - this = c.getArgument(0) - ) - } - } - private class UtilsTaintPropagators extends TaintTracking::FunctionModel { UtilsTaintPropagators() { this.hasQualifiedName(utilsPackagePath(), "GetDisplayString") } diff --git a/go/ql/lib/semmle/go/frameworks/K8sIoApimachineryPkgRuntime.qll b/go/ql/lib/semmle/go/frameworks/K8sIoApimachineryPkgRuntime.qll index 5f1a45945e7..5c7481e5808 100644 --- a/go/ql/lib/semmle/go/frameworks/K8sIoApimachineryPkgRuntime.qll +++ b/go/ql/lib/semmle/go/frameworks/K8sIoApimachineryPkgRuntime.qll @@ -50,7 +50,7 @@ module K8sIoApimachineryPkgRuntime { } } - private class DecoderDecode extends Method, UnmarshalingFunction::Range { + private class DecoderDecode extends UnmarshalingFunction::Range, Method { DecoderDecode() { this.implements(packagePath(), "Decoder", "Decode") or this.hasQualifiedName(packagePath(), "WithoutVersionDecoder", "Decode") @@ -95,7 +95,7 @@ module K8sIoApimachineryPkgRuntime { } } - private class ParameterCodecDecodeParameters extends Method, UnmarshalingFunction::Range { + private class ParameterCodecDecodeParameters extends UnmarshalingFunction::Range, Method { ParameterCodecDecodeParameters() { this.implements(packagePath(), "ParameterCodec", "DecodeParameters") } @@ -110,7 +110,7 @@ module K8sIoApimachineryPkgRuntime { } } - private class ParameterCodecEncodeParameters extends Method, MarshalingFunction::Range { + private class ParameterCodecEncodeParameters extends MarshalingFunction::Range, Method { ParameterCodecEncodeParameters() { this.implements(packagePath(), "ParameterCodec", "EncodeParameters") } @@ -125,7 +125,7 @@ module K8sIoApimachineryPkgRuntime { } } - private class ProtobufMarshallerMarshalTo extends Method, MarshalingFunction::Range { + private class ProtobufMarshallerMarshalTo extends MarshalingFunction::Range, Method { ProtobufMarshallerMarshalTo() { this.implements(packagePath(), "ProtobufMarshaller", "MarshalTo") or this.implements(packagePath(), "ProtobufReverseMarshaller", "MarshalToSizedBuffer") @@ -138,7 +138,7 @@ module K8sIoApimachineryPkgRuntime { override string getFormat() { result = "protobuf" } } - private class RawExtensionMarshal extends Method, MarshalingFunction::Range { + private class RawExtensionMarshal extends MarshalingFunction::Range, Method { RawExtensionMarshal() { this.hasQualifiedName(packagePath(), "RawExtension", "Marshal") } override DataFlow::FunctionInput getAnInput() { result.isReceiver() } @@ -148,7 +148,7 @@ module K8sIoApimachineryPkgRuntime { override string getFormat() { result = "protobuf" } } - private class RawExtensionUnmarshal extends Method, UnmarshalingFunction::Range { + private class RawExtensionUnmarshal extends UnmarshalingFunction::Range, Method { RawExtensionUnmarshal() { this.hasQualifiedName(packagePath(), "RawExtension", "Unmarshal") } override DataFlow::FunctionInput getAnInput() { result.isReceiver() } @@ -158,7 +158,7 @@ module K8sIoApimachineryPkgRuntime { override string getFormat() { result = "protobuf" } } - private class UnknownMarshal extends Method, MarshalingFunction::Range { + private class UnknownMarshal extends MarshalingFunction::Range, Method { string methodName; UnknownMarshal() { @@ -177,7 +177,7 @@ module K8sIoApimachineryPkgRuntime { override string getFormat() { result = "protobuf" } } - private class UnknownUnmarshal extends Method, UnmarshalingFunction::Range { + private class UnknownUnmarshal extends UnmarshalingFunction::Range, Method { UnknownUnmarshal() { this.hasQualifiedName(packagePath(), "Unknown", "Unmarshal") } override DataFlow::FunctionInput getAnInput() { result.isReceiver() } diff --git a/go/ql/lib/semmle/go/frameworks/NoSQL.qll b/go/ql/lib/semmle/go/frameworks/NoSQL.qll index 5fa155395fc..2772182f4fc 100644 --- a/go/ql/lib/semmle/go/frameworks/NoSQL.qll +++ b/go/ql/lib/semmle/go/frameworks/NoSQL.qll @@ -24,8 +24,8 @@ module NoSql { */ abstract class Range extends DataFlow::Node { } - private class DefaultQueryString extends Range { - DefaultQueryString() { + private class ExternalQueryString extends Range { + ExternalQueryString() { exists(DataFlow::ArgumentNode arg | sinkNode(arg, "nosql-injection") | this = arg.getACorrespondingSyntacticArgument() ) diff --git a/go/ql/lib/semmle/go/frameworks/Revel.qll b/go/ql/lib/semmle/go/frameworks/Revel.qll index 547c7c6bdac..a1eff5e736e 100644 --- a/go/ql/lib/semmle/go/frameworks/Revel.qll +++ b/go/ql/lib/semmle/go/frameworks/Revel.qll @@ -140,7 +140,7 @@ module Revel { /** * A render of a template. */ - abstract class TemplateRender extends DataFlow::Node, TemplateInstantiation::Range { + abstract class TemplateRender extends TemplateInstantiation::Range { /** Gets the name of the file that is rendered. */ abstract File getRenderedFile(); diff --git a/go/ql/lib/semmle/go/frameworks/SQL.qll b/go/ql/lib/semmle/go/frameworks/SQL.qll index a0e80fde1c9..c5cf4989d1a 100644 --- a/go/ql/lib/semmle/go/frameworks/SQL.qll +++ b/go/ql/lib/semmle/go/frameworks/SQL.qll @@ -67,8 +67,8 @@ module SQL { */ abstract class Range extends DataFlow::Node { } - private class DefaultQueryString extends Range { - DefaultQueryString() { + private class ExternalQueryString extends Range { + ExternalQueryString() { exists(DataFlow::ArgumentNode arg | sinkNode(arg, "sql-injection") | not arg instanceof DataFlow::ImplicitVarargsSlice and this = arg diff --git a/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll b/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll index 1bd7054d5c3..8abf2bbd368 100644 --- a/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll +++ b/go/ql/lib/semmle/go/frameworks/SystemCommandExecutors.qll @@ -5,12 +5,12 @@ import go -private class DefaultSystemCommandExecution extends SystemCommandExecution::Range, +private class ExternalSystemCommandExecution extends SystemCommandExecution::Range, DataFlow::CallNode { DataFlow::ArgumentNode commandName; - DefaultSystemCommandExecution() { + ExternalSystemCommandExecution() { sinkNode(commandName, "command-injection") and this = commandName.getCall() } diff --git a/go/ql/lib/semmle/go/frameworks/XPath.qll b/go/ql/lib/semmle/go/frameworks/XPath.qll index 3123d129c09..0d8dc5d8176 100644 --- a/go/ql/lib/semmle/go/frameworks/XPath.qll +++ b/go/ql/lib/semmle/go/frameworks/XPath.qll @@ -25,10 +25,17 @@ module XPath { */ abstract class Range extends DataFlow::Node { } - private class DefaultXPathExpressionString extends Range { - DefaultXPathExpressionString() { sinkNode(this, "xpath-injection") } + private class ExternalXPathExpressionString extends Range { + ExternalXPathExpressionString() { sinkNode(this, "xpath-injection") } } } + + /** A sanitizer for XPath injection. */ + abstract class Sanitizer extends DataFlow::Node { } + + private class ExternalSanitizer extends Sanitizer { + ExternalSanitizer() { barrierNode(this, "xpath-injection") } + } } /** diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll b/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll index e798d116352..c6adc5c5740 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll @@ -46,7 +46,7 @@ module NetHttp { } } - private class MapWrite extends Http::HeaderWrite::Range, DataFlow::Node { + private class MapWrite extends Http::HeaderWrite::Range { DataFlow::Node index; DataFlow::Node rhs; diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/Regexp.qll b/go/ql/lib/semmle/go/frameworks/stdlib/Regexp.qll index 525eb73d5b9..17cc0249908 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/Regexp.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/Regexp.qll @@ -39,10 +39,10 @@ module Regexp { ) } - private class DefaultRegexpPattern extends RegexpPattern::Range, DataFlow::ArgumentNode { + private class ExternalRegexpPattern extends RegexpPattern::Range, DataFlow::ArgumentNode { int strArg; - DefaultRegexpPattern() { + ExternalRegexpPattern() { exists(string kind | regexSinkKindInfo(kind, strArg) and sinkNode(this, kind) @@ -61,12 +61,12 @@ module Regexp { } } - private class DefaultRegexpMatchFunction extends RegexpMatchFunction::Range, Function { + private class ExternalRegexpMatchFunction extends RegexpMatchFunction::Range { int patArg; int strArg; - DefaultRegexpMatchFunction() { - exists(DefaultRegexpPattern drp, string kind | + ExternalRegexpMatchFunction() { + exists(ExternalRegexpPattern drp, string kind | drp.getCall() = this.getACall() and sinkNode(drp, kind) | diff --git a/go/ql/lib/semmle/go/security/CleartextLoggingCustomizations.qll b/go/ql/lib/semmle/go/security/CleartextLoggingCustomizations.qll index 4abc9021268..05fb88977ac 100644 --- a/go/ql/lib/semmle/go/security/CleartextLoggingCustomizations.qll +++ b/go/ql/lib/semmle/go/security/CleartextLoggingCustomizations.qll @@ -120,7 +120,7 @@ module CleartextLogging { * * This is a source since `log.Print(obj)` will often show the fields of `obj`. */ - private class StructPasswordFieldSource extends DataFlow::Node, Source { + private class StructPasswordFieldSource extends Source { string name; StructPasswordFieldSource() { @@ -137,7 +137,7 @@ module CleartextLogging { } /** An access to a variable or property that might contain a password. */ - private class ReadPasswordSource extends DataFlow::Node, Source { + private class ReadPasswordSource extends Source { string name; ReadPasswordSource() { @@ -162,7 +162,7 @@ module CleartextLogging { } /** A call that might return a password. */ - private class CallPasswordSource extends DataFlow::CallNode, Source { + private class CallPasswordSource extends Source, DataFlow::CallNode { string name; CallPasswordSource() { diff --git a/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll b/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll index c2874d7cdac..bc42a5e59f0 100644 --- a/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll +++ b/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll @@ -47,6 +47,10 @@ module CommandInjection { override predicate doubleDashIsSanitizing() { exec.doubleDashIsSanitizing() } } + private class ExternalSanitizer extends Sanitizer { + ExternalSanitizer() { barrierNode(this, "command-injection") } + } + /** * A call to a regexp match function, considered as a barrier guard for command injection. */ diff --git a/go/ql/lib/semmle/go/security/HardcodedCredentials.qll b/go/ql/lib/semmle/go/security/HardcodedCredentials.qll index 877a2b4570e..1802d48cdd7 100644 --- a/go/ql/lib/semmle/go/security/HardcodedCredentials.qll +++ b/go/ql/lib/semmle/go/security/HardcodedCredentials.qll @@ -43,8 +43,15 @@ module HardcodedCredentials { } /** A use of a credential. */ - private class CredentialsSink extends Sink { - CredentialsSink() { exists(string s | s.matches("credentials-%") | sinkNode(this, s)) } + private class ExternalCredentialsSink extends Sink { + ExternalCredentialsSink() { exists(string s | s.matches("credentials-%") | sinkNode(this, s)) } + } + + /** A use of a credential. */ + private class ExternalCredentialsSanitizer extends Sanitizer { + ExternalCredentialsSanitizer() { + exists(string s | s.matches("credentials-%") | barrierNode(this, s)) + } } /** diff --git a/go/ql/lib/semmle/go/security/MissingJwtSignatureCheck.qll b/go/ql/lib/semmle/go/security/MissingJwtSignatureCheck.qll index 1f8185d4397..ae101fe8a83 100644 --- a/go/ql/lib/semmle/go/security/MissingJwtSignatureCheck.qll +++ b/go/ql/lib/semmle/go/security/MissingJwtSignatureCheck.qll @@ -20,6 +20,8 @@ module MissingJwtSignatureCheck { predicate isSink(DataFlow::Node sink) { sink instanceof Sink } + predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer } + predicate isAdditionalFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) { any(AdditionalFlowStep s).step(nodeFrom, nodeTo) } diff --git a/go/ql/lib/semmle/go/security/MissingJwtSignatureCheckCustomizations.qll b/go/ql/lib/semmle/go/security/MissingJwtSignatureCheckCustomizations.qll index e1b153da24a..24c3550450a 100644 --- a/go/ql/lib/semmle/go/security/MissingJwtSignatureCheckCustomizations.qll +++ b/go/ql/lib/semmle/go/security/MissingJwtSignatureCheckCustomizations.qll @@ -51,7 +51,11 @@ module MissingJwtSignatureCheck { private class DefaultSource extends Source instanceof ActiveThreatModelSource { } - private class DefaultSink extends Sink { - DefaultSink() { sinkNode(this, "jwt") } + private class ExternalSink extends Sink { + ExternalSink() { sinkNode(this, "jwt") } + } + + private class ExternalSanitizer extends Sanitizer { + ExternalSanitizer() { barrierNode(this, "jwt") } } } diff --git a/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll b/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll index 248276ba396..1b5e2d7eb00 100644 --- a/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll +++ b/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll @@ -61,7 +61,7 @@ module OpenUrlRedirect { /** * An HTTP redirect, considered as a sink for `Configuration`. */ - class RedirectSink extends Sink, DataFlow::Node { + class RedirectSink extends Sink { RedirectSink() { this = any(Http::Redirect redir).getUrl() } } @@ -69,12 +69,16 @@ module OpenUrlRedirect { * A definition of the HTTP "Location" header, considered as a sink for * `Configuration`. */ - class LocationHeaderSink extends Sink, DataFlow::Node { + class LocationHeaderSink extends Sink { LocationHeaderSink() { exists(Http::HeaderWrite hw | hw.getHeaderName() = "location" | this = hw.getValue()) } } + private class ExternalBarrier extends Barrier { + ExternalBarrier() { barrierNode(this, "url-redirection") } + } + /** * An assignment of a safe value to the field `Path`, considered as a barrier for sanitizing * untrusted URLs. @@ -95,20 +99,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 RedirectCheckBarrier, Barrier { } + class RedirectCheckBarrierGuardAsBarrierGuard extends Barrier instanceof RedirectCheckBarrier { } /** * 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 RegexpCheckBarrier, Barrier { } + class RegexpCheckAsBarrierGuard extends Barrier instanceof RegexpCheckBarrier { } /** * A check against a constant value or the `Hostname` function, * considered a barrier guard for url flow. */ - class UrlCheckAsBarrierGuard extends UrlCheckBarrier, Barrier { } + class UrlCheckAsBarrierGuard extends Barrier instanceof UrlCheckBarrier { } } /** A sink for an open redirect, considered as a sink for safe URL flow. */ diff --git a/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll b/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll index 82f9df4b506..83224cefc4c 100644 --- a/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll +++ b/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll @@ -44,10 +44,10 @@ module RequestForgery { */ private class ThreatModelFlowAsSource extends Source instanceof ActiveThreatModelSource { } - private class DefaultRequestForgerySink extends Sink { + private class ExternalRequestForgerySink extends Sink { string kind; - DefaultRequestForgerySink() { + ExternalRequestForgerySink() { exists(string modelKind | sinkNode(this, modelKind) | modelKind = "request-forgery" and kind = "URL" or @@ -94,18 +94,23 @@ module RequestForgery { HostnameSanitizer() { hostnameSanitizingPrefixEdge(this, _) } } + private class ExternalRequestForgerySanitizer extends Sanitizer { + ExternalRequestForgerySanitizer() { barrierNode(this, "request-forgery") } + } + /** * A call to a function called `isLocalUrl`, `isValidRedirect`, or similar, which is * considered a barrier guard. */ - class RedirectCheckBarrierGuardAsBarrierGuard extends RedirectCheckBarrier, Sanitizer { } + class RedirectCheckBarrierGuardAsBarrierGuard extends Sanitizer instanceof RedirectCheckBarrier { + } /** * 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 RegexpCheckBarrier, Sanitizer { } + class RegexpCheckAsBarrierGuard extends Sanitizer instanceof RegexpCheckBarrier { } /** * An equality check comparing a data-flow node against a constant string, considered as @@ -114,7 +119,7 @@ module RequestForgery { * Additionally, a check comparing `url.Hostname()` against a constant string is also * considered a barrier guard for `url`. */ - class UrlCheckAsBarrierGuard extends UrlCheckBarrier, Sanitizer { } + class UrlCheckAsBarrierGuard extends Sanitizer instanceof UrlCheckBarrier { } /** * A simple-typed node, considered a sanitizer for request forgery. diff --git a/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll b/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll index f26168ad1d7..5d813bcbdac 100644 --- a/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll +++ b/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll @@ -43,6 +43,10 @@ module SqlInjection { /** DEPRECATED: Use `SimpleTypeSanitizer` from semmle.go.security.Sanitizers instead. */ deprecated class NumericOrBooleanSanitizer = SimpleTypeSanitizer; + private class ExternalSanitizer extends Sanitizer { + ExternalSanitizer() { barrierNode(this, ["nosql-injection", "sql-injection"]) } + } + /** * A numeric- or boolean-typed node, considered a sanitizer for sql injection. */ diff --git a/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll b/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll index 747f2ab0d08..20341159c64 100644 --- a/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll +++ b/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll @@ -57,6 +57,10 @@ module TaintedPath { PathAsSink() { this = any(FileSystemAccess fsa).getAPathArgument() } } + private class ExternalSanitizer extends Sanitizer { + ExternalSanitizer() { barrierNode(this, "path-injection") } + } + /** * A numeric- or boolean-typed node, considered a sanitizer for path traversal. */ @@ -66,19 +70,6 @@ module TaintedPath { } } - /** - * A call to `filepath.Rel`, considered as a sanitizer for path traversal. - */ - class FilepathRelSanitizer extends Sanitizer { - FilepathRelSanitizer() { - exists(Function f, FunctionOutput outp | - f.hasQualifiedName("path/filepath", "Rel") and - outp.isResult(0) and - this = outp.getNode(f.getACall()) - ) - } - } - /** * A call to `filepath.Clean("/" + e)`, considered to sanitize `e` against path traversal. */ @@ -112,44 +103,6 @@ module TaintedPath { } } - /** - * A read from the field `Filename` of the type `mime/multipart.FileHeader`, - * considered as a sanitizer for path traversal. - * - * The only way to create a `mime/multipart.FileHeader` is to create a - * `mime/multipart.Form`, which creates the `Filename` field of each - * `mime/multipart.FileHeader` by calling `Part.FileName`, which calls - * `path/filepath.Base` on its return value. In general `path/filepath.Base` - * is not a sanitizer for path traversal, but in this specific case where the - * output is going to be used as a filename rather than a directory name, it - * is adequate. - */ - class MimeMultipartFileHeaderFilenameSanitizer extends Sanitizer { - MimeMultipartFileHeaderFilenameSanitizer() { - this.(DataFlow::FieldReadNode) - .getField() - .hasQualifiedName("mime/multipart", "FileHeader", "Filename") - } - } - - /** - * A call to `mime/multipart.Part.FileName`, considered as a sanitizer - * against path traversal. - * - * `Part.FileName` calls `path/filepath.Base` on its return value. In - * general `path/filepath.Base` is not a sanitizer for path traversal, but in - * this specific case where the output is going to be used as a filename - * rather than a directory name, it is adequate. - */ - class MimeMultipartPartFileNameSanitizer extends Sanitizer { - MimeMultipartPartFileNameSanitizer() { - this = - any(Method m | m.hasQualifiedName("mime/multipart", "Part", "FileName")) - .getACall() - .getResult() - } - } - /** * A check of the form `!strings.Contains(nd, "..")`, considered as a sanitizer guard for * path traversal. diff --git a/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll b/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll index 3fe37583331..1128cc85a00 100644 --- a/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll +++ b/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll @@ -126,7 +126,7 @@ module UnsafeUnzipSymlink { * An argument to a call to `os.Symlink` within a loop that extracts a zip or tar archive, * taken as a sink for unsafe unzipping of symlinks. */ - class OsSymlink extends DataFlow::Node, SymlinkSink { + class OsSymlink extends SymlinkSink { OsSymlink() { exists(DataFlow::CallNode n | n.asExpr() = getASymlinkCall() | this = n.getArgument([0, 1]) and @@ -139,7 +139,7 @@ module UnsafeUnzipSymlink { * An argument to `path/filepath.EvalSymlinks` or `os.Readlink`, taken as a sink for detecting target * paths that are likely safe to extract to. */ - class StdlibSymlinkResolvers extends DataFlow::Node, EvalSymlinksSink { + class StdlibSymlinkResolvers extends EvalSymlinksSink { StdlibSymlinkResolvers() { exists(DataFlow::CallNode n | n.getTarget().hasQualifiedName("path/filepath", "EvalSymlinks") diff --git a/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll b/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll index 472ed041ea1..baf4706e863 100644 --- a/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll +++ b/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll @@ -34,4 +34,7 @@ module XPathInjection { /** An XPath expression string, considered as a taint sink for XPath injection. */ class XPathExpressionStringAsSink extends Sink instanceof XPath::XPathExpressionString { } + + /** A sanitizer for XPath injection. */ + class XPathSanitizer extends Sanitizer instanceof XPath::Sanitizer { } } diff --git a/go/ql/lib/semmle/go/security/Xss.qll b/go/ql/lib/semmle/go/security/Xss.qll index f11dc12bf76..e6e207216ca 100644 --- a/go/ql/lib/semmle/go/security/Xss.qll +++ b/go/ql/lib/semmle/go/security/Xss.qll @@ -49,8 +49,8 @@ module SharedXss { override Locatable getAssociatedLoc() { result = this.getRead().getEnclosingTextNode() } } - private class DefaultSink extends Sink { - DefaultSink() { sinkNode(this, ["html-injection", "js-injection"]) } + private class ExternalSink extends Sink { + ExternalSink() { sinkNode(this, ["html-injection", "js-injection"]) } } /** @@ -88,6 +88,10 @@ module SharedXss { body.getAContentType().regexpMatch("(?i).*html.*") } + private class ExternalSanitizer extends Sanitizer { + ExternalSanitizer() { barrierNode(this, ["html-injection", "js-injection"]) } + } + /** * A JSON marshaler, acting to sanitize a possible XSS vulnerability because the * marshaled value is very unlikely to be returned as an HTML content-type. @@ -135,14 +139,14 @@ module SharedXss { * A `Template` from `html/template` will HTML-escape data automatically * and therefore acts as a sanitizer for XSS vulnerabilities. */ - class HtmlTemplateSanitizer extends Sanitizer, DataFlow::Node { + class HtmlTemplateSanitizer extends Sanitizer { HtmlTemplateSanitizer() { exists(Method m, DataFlow::CallNode call | m = call.getCall().getTarget() | m.hasQualifiedName("html/template", "Template", "ExecuteTemplate") and - call.getArgument(2) = this + this = call.getArgument(2) or m.hasQualifiedName("html/template", "Template", "Execute") and - call.getArgument(1) = this + this = call.getArgument(1) ) } } diff --git a/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll b/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll index 980c601582e..29b107c1c1b 100644 --- a/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll +++ b/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll @@ -30,7 +30,7 @@ module ZipSlip { /** * A tar file header, as a source for zip slip. */ - class TarHeaderSource extends Source, DataFlow::Node { + class TarHeaderSource extends Source { TarHeaderSource() { this = any(DataFlow::MethodCallNode mcn | diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 126e2b8583c..8a2f1355eec 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.5.4 + +No user-facing changes. + +## 1.5.3 + +No user-facing changes. + ## 1.5.2 No user-facing changes. diff --git a/go/ql/src/Security/CWE-209/StackTraceExposure.ql b/go/ql/src/Security/CWE-209/StackTraceExposure.ql index 408e12b3c15..45d58f442c3 100644 --- a/go/ql/src/Security/CWE-209/StackTraceExposure.ql +++ b/go/ql/src/Security/CWE-209/StackTraceExposure.ql @@ -53,7 +53,7 @@ module StackTraceExposureConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { sink instanceof Http::ResponseBody } predicate isBarrier(DataFlow::Node node) { - // Sanitise everything controlled by an is-debug-mode check. + // Sanitize everything controlled by an is-debug-mode check. // Imprecision: I don't try to guess which arm of a branch is intended // to mean debug mode, and which is production mode. exists(ControlFlow::ConditionGuardNode cgn | diff --git a/go/ql/src/Security/CWE-352/ConstantOauth2State.ql b/go/ql/src/Security/CWE-352/ConstantOauth2State.ql index edbb41782b8..cc2a2e69718 100644 --- a/go/ql/src/Security/CWE-352/ConstantOauth2State.ql +++ b/go/ql/src/Security/CWE-352/ConstantOauth2State.ql @@ -140,9 +140,7 @@ predicate privateUrlFlowsToAuthCodeUrlCall(DataFlow::CallNode call) { module FlowToPrintConfig implements DataFlow::ConfigSig { additional predicate isSinkCall(DataFlow::Node sink, DataFlow::CallNode call) { - exists(LoggerCall logCall | call = logCall | - sink = logCall.getAValueFormattedMessageComponent() - ) + sink = call.(LoggerCall).getAValueFormattedMessageComponent() } predicate isSource(DataFlow::Node source) { source = any(AuthCodeUrl m).getACall().getResult() } diff --git a/go/ql/src/change-notes/released/1.5.3.md b/go/ql/src/change-notes/released/1.5.3.md new file mode 100644 index 00000000000..2e9bcb5e663 --- /dev/null +++ b/go/ql/src/change-notes/released/1.5.3.md @@ -0,0 +1,3 @@ +## 1.5.3 + +No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.5.4.md b/go/ql/src/change-notes/released/1.5.4.md new file mode 100644 index 00000000000..5ff5ac8ebb7 --- /dev/null +++ b/go/ql/src/change-notes/released/1.5.4.md @@ -0,0 +1,3 @@ +## 1.5.4 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 7eb901bae56..c216828ee1c 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.5.2 +lastReleaseVersion: 1.5.4 diff --git a/go/ql/src/experimental/CWE-287/ImproperLdapAuthCustomizations.qll b/go/ql/src/experimental/CWE-287/ImproperLdapAuthCustomizations.qll index 0a2739eabc7..fceae1398d7 100644 --- a/go/ql/src/experimental/CWE-287/ImproperLdapAuthCustomizations.qll +++ b/go/ql/src/experimental/CWE-287/ImproperLdapAuthCustomizations.qll @@ -29,7 +29,7 @@ module ImproperLdapAuth { * * This is overapproximate: we do not attempt to reason about the correctness of the regexp. */ - class RegexpCheckAsBarrierGuard extends RegexpCheckBarrier, LdapSanitizer { } + class RegexpCheckAsBarrierGuard extends LdapSanitizer instanceof RegexpCheckBarrier { } /** * An empty string. diff --git a/go/ql/src/experimental/CWE-918/SSRF.qll b/go/ql/src/experimental/CWE-918/SSRF.qll index 998ce83ba74..436b657883e 100644 --- a/go/ql/src/experimental/CWE-918/SSRF.qll +++ b/go/ql/src/experimental/CWE-918/SSRF.qll @@ -113,7 +113,7 @@ module ServerSideRequestForgery { * * This is overapproximate: we do not attempt to reason about the correctness of the regexp. */ - class RegexpCheckAsBarrierGuard extends RegexpCheckBarrier, Sanitizer { } + class RegexpCheckAsBarrierGuard extends Sanitizer instanceof RegexpCheckBarrier { } private predicate equalityAsSanitizerGuard(DataFlow::Node g, Expr e, boolean outcome) { exists(DataFlow::Node url, DataFlow::EqualityTestNode eq | @@ -156,5 +156,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 Sanitizer, ValidatorVarCheckBarrier { } + class ValidatorAsSanitizer extends Sanitizer instanceof ValidatorVarCheckBarrier { } } diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index d0c0874c987..da64d00094f 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.5.3-dev +version: 1.5.5-dev groups: - go - queries diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.expected index 591d990be47..30a38580f78 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.expected @@ -1,3 +1,38 @@ +#select +| test.go:154:14:154:21 | password | test.go:153:17:153:24 | definition of password | test.go:154:14:154:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:155:17:155:24 | password | test.go:153:17:153:24 | definition of password | test.go:155:17:155:24 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:156:14:156:21 | password | test.go:153:17:153:24 | definition of password | test.go:156:14:156:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:157:18:157:25 | password | test.go:153:17:153:24 | definition of password | test.go:157:18:157:25 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:158:14:158:21 | password | test.go:153:17:153:24 | definition of password | test.go:158:14:158:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:159:13:159:20 | password | test.go:153:17:153:24 | definition of password | test.go:159:13:159:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:160:22:160:29 | password | test.go:153:17:153:24 | definition of password | test.go:160:22:160:29 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:161:15:161:22 | password | test.go:153:17:153:24 | definition of password | test.go:161:15:161:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:162:14:162:21 | password | test.go:153:17:153:24 | definition of password | test.go:162:14:162:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:163:13:163:20 | password | test.go:153:17:153:24 | definition of password | test.go:163:13:163:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:164:16:164:23 | password | test.go:153:17:153:24 | definition of password | test.go:164:16:164:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:165:13:165:20 | password | test.go:153:17:153:24 | definition of password | test.go:165:13:165:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:166:16:166:23 | password | test.go:153:17:153:24 | definition of password | test.go:166:16:166:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:167:13:167:20 | password | test.go:153:17:153:24 | definition of password | test.go:167:13:167:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:168:17:168:24 | password | test.go:153:17:153:24 | definition of password | test.go:168:17:168:24 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:169:13:169:20 | password | test.go:153:17:153:24 | definition of password | test.go:169:13:169:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:170:12:170:19 | password | test.go:153:17:153:24 | definition of password | test.go:170:12:170:19 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:171:21:171:28 | password | test.go:153:17:153:24 | definition of password | test.go:171:21:171:28 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:172:14:172:21 | password | test.go:153:17:153:24 | definition of password | test.go:172:14:172:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:173:13:173:20 | password | test.go:153:17:153:24 | definition of password | test.go:173:13:173:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:174:12:174:19 | password | test.go:153:17:153:24 | definition of password | test.go:174:12:174:19 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:175:15:175:22 | password | test.go:153:17:153:24 | definition of password | test.go:175:15:175:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:176:15:176:22 | password | test.go:153:17:153:24 | definition of password | test.go:176:15:176:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:177:18:177:25 | password | test.go:153:17:153:24 | definition of password | test.go:177:18:177:25 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:178:15:178:22 | password | test.go:153:17:153:24 | definition of password | test.go:178:15:178:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:179:19:179:26 | password | test.go:153:17:153:24 | definition of password | test.go:179:19:179:26 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:180:15:180:22 | password | test.go:153:17:153:24 | definition of password | test.go:180:15:180:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:181:14:181:21 | password | test.go:153:17:153:24 | definition of password | test.go:181:14:181:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:182:23:182:30 | password | test.go:153:17:153:24 | definition of password | test.go:182:23:182:30 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:183:16:183:23 | password | test.go:153:17:153:24 | definition of password | test.go:183:16:183:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:184:15:184:22 | password | test.go:153:17:153:24 | definition of password | test.go:184:15:184:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:185:14:185:21 | password | test.go:153:17:153:24 | definition of password | test.go:185:14:185:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:186:17:186:24 | password | test.go:153:17:153:24 | definition of password | test.go:186:17:186:24 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | +| test.go:187:16:187:23 | password | test.go:153:17:153:24 | definition of password | test.go:187:16:187:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | edges | test.go:153:17:153:24 | definition of password | test.go:154:14:154:21 | password | provenance | | | test.go:153:17:153:24 | definition of password | test.go:155:17:155:24 | password | provenance | | @@ -10,29 +45,52 @@ edges | test.go:153:17:153:24 | definition of password | test.go:162:14:162:21 | password | provenance | | | test.go:153:17:153:24 | definition of password | test.go:163:13:163:20 | password | provenance | | | test.go:153:17:153:24 | definition of password | test.go:164:16:164:23 | password | provenance | | -| test.go:153:17:153:24 | definition of password | test.go:165:13:165:20 | password | provenance | Sink:MaD:380 | -| test.go:153:17:153:24 | definition of password | test.go:166:16:166:23 | password | provenance | Sink:MaD:381 | -| test.go:153:17:153:24 | definition of password | test.go:167:13:167:20 | password | provenance | Sink:MaD:382 | -| test.go:153:17:153:24 | definition of password | test.go:168:17:168:24 | password | provenance | Sink:MaD:383 | -| test.go:153:17:153:24 | definition of password | test.go:169:13:169:20 | password | provenance | Sink:MaD:384 | -| test.go:153:17:153:24 | definition of password | test.go:170:12:170:19 | password | provenance | Sink:MaD:385 | -| test.go:153:17:153:24 | definition of password | test.go:171:21:171:28 | password | provenance | Sink:MaD:386 | -| test.go:153:17:153:24 | definition of password | test.go:172:14:172:21 | password | provenance | Sink:MaD:387 | -| test.go:153:17:153:24 | definition of password | test.go:173:13:173:20 | password | provenance | Sink:MaD:388 | -| test.go:153:17:153:24 | definition of password | test.go:174:12:174:19 | password | provenance | Sink:MaD:389 | -| test.go:153:17:153:24 | definition of password | test.go:175:15:175:22 | password | provenance | Sink:MaD:390 | -| test.go:153:17:153:24 | definition of password | test.go:176:15:176:22 | password | provenance | Sink:MaD:391 | -| test.go:153:17:153:24 | definition of password | test.go:177:18:177:25 | password | provenance | Sink:MaD:392 | -| test.go:153:17:153:24 | definition of password | test.go:178:15:178:22 | password | provenance | Sink:MaD:393 | -| test.go:153:17:153:24 | definition of password | test.go:179:19:179:26 | password | provenance | Sink:MaD:394 | -| test.go:153:17:153:24 | definition of password | test.go:180:15:180:22 | password | provenance | Sink:MaD:395 | -| test.go:153:17:153:24 | definition of password | test.go:181:14:181:21 | password | provenance | Sink:MaD:396 | -| test.go:153:17:153:24 | definition of password | test.go:182:23:182:30 | password | provenance | Sink:MaD:397 | -| test.go:153:17:153:24 | definition of password | test.go:183:16:183:23 | password | provenance | Sink:MaD:398 | -| test.go:153:17:153:24 | definition of password | test.go:184:15:184:22 | password | provenance | Sink:MaD:399 | -| test.go:153:17:153:24 | definition of password | test.go:185:14:185:21 | password | provenance | Sink:MaD:400 | -| test.go:153:17:153:24 | definition of password | test.go:186:17:186:24 | password | provenance | Sink:MaD:401 | +| test.go:153:17:153:24 | definition of password | test.go:165:13:165:20 | password | provenance | Sink:MaD:1 | +| test.go:153:17:153:24 | definition of password | test.go:166:16:166:23 | password | provenance | Sink:MaD:2 | +| test.go:153:17:153:24 | definition of password | test.go:167:13:167:20 | password | provenance | Sink:MaD:3 | +| test.go:153:17:153:24 | definition of password | test.go:168:17:168:24 | password | provenance | Sink:MaD:4 | +| test.go:153:17:153:24 | definition of password | test.go:169:13:169:20 | password | provenance | Sink:MaD:5 | +| test.go:153:17:153:24 | definition of password | test.go:170:12:170:19 | password | provenance | Sink:MaD:6 | +| test.go:153:17:153:24 | definition of password | test.go:171:21:171:28 | password | provenance | Sink:MaD:7 | +| test.go:153:17:153:24 | definition of password | test.go:172:14:172:21 | password | provenance | Sink:MaD:8 | +| test.go:153:17:153:24 | definition of password | test.go:173:13:173:20 | password | provenance | Sink:MaD:9 | +| test.go:153:17:153:24 | definition of password | test.go:174:12:174:19 | password | provenance | Sink:MaD:10 | +| test.go:153:17:153:24 | definition of password | test.go:175:15:175:22 | password | provenance | Sink:MaD:11 | +| test.go:153:17:153:24 | definition of password | test.go:176:15:176:22 | password | provenance | Sink:MaD:12 | +| test.go:153:17:153:24 | definition of password | test.go:177:18:177:25 | password | provenance | Sink:MaD:13 | +| test.go:153:17:153:24 | definition of password | test.go:178:15:178:22 | password | provenance | Sink:MaD:14 | +| test.go:153:17:153:24 | definition of password | test.go:179:19:179:26 | password | provenance | Sink:MaD:15 | +| test.go:153:17:153:24 | definition of password | test.go:180:15:180:22 | password | provenance | Sink:MaD:16 | +| test.go:153:17:153:24 | definition of password | test.go:181:14:181:21 | password | provenance | Sink:MaD:17 | +| test.go:153:17:153:24 | definition of password | test.go:182:23:182:30 | password | provenance | Sink:MaD:18 | +| test.go:153:17:153:24 | definition of password | test.go:183:16:183:23 | password | provenance | Sink:MaD:19 | +| test.go:153:17:153:24 | definition of password | test.go:184:15:184:22 | password | provenance | Sink:MaD:20 | +| test.go:153:17:153:24 | definition of password | test.go:185:14:185:21 | password | provenance | Sink:MaD:21 | +| test.go:153:17:153:24 | definition of password | test.go:186:17:186:24 | password | provenance | Sink:MaD:22 | | test.go:153:17:153:24 | definition of password | test.go:187:16:187:23 | password | provenance | | +models +| 1 | Sink: group:beego-logs; ; false; Alert; ; ; Argument[0..1]; log-injection; manual | +| 2 | Sink: group:beego-logs; ; false; Critical; ; ; Argument[0..1]; log-injection; manual | +| 3 | Sink: group:beego-logs; ; false; Debug; ; ; Argument[0..1]; log-injection; manual | +| 4 | Sink: group:beego-logs; ; false; Emergency; ; ; Argument[0..1]; log-injection; manual | +| 5 | Sink: group:beego-logs; ; false; Error; ; ; Argument[0..1]; log-injection; manual | +| 6 | Sink: group:beego-logs; ; false; Info; ; ; Argument[0..1]; log-injection; manual | +| 7 | Sink: group:beego-logs; ; false; Informational; ; ; Argument[0..1]; log-injection; manual | +| 8 | Sink: group:beego-logs; ; false; Notice; ; ; Argument[0..1]; log-injection; manual | +| 9 | Sink: group:beego-logs; ; false; Trace; ; ; Argument[0..1]; log-injection; manual | +| 10 | Sink: group:beego-logs; ; false; Warn; ; ; Argument[0..1]; log-injection; manual | +| 11 | Sink: group:beego-logs; ; false; Warning; ; ; Argument[0..1]; log-injection; manual | +| 12 | Sink: group:beego-logs; BeeLogger; true; Alert; ; ; Argument[0..1]; log-injection; manual | +| 13 | Sink: group:beego-logs; BeeLogger; true; Critical; ; ; Argument[0..1]; log-injection; manual | +| 14 | Sink: group:beego-logs; BeeLogger; true; Debug; ; ; Argument[0..1]; log-injection; manual | +| 15 | Sink: group:beego-logs; BeeLogger; true; Emergency; ; ; Argument[0..1]; log-injection; manual | +| 16 | Sink: group:beego-logs; BeeLogger; true; Error; ; ; Argument[0..1]; log-injection; manual | +| 17 | Sink: group:beego-logs; BeeLogger; true; Info; ; ; Argument[0..1]; log-injection; manual | +| 18 | Sink: group:beego-logs; BeeLogger; true; Informational; ; ; Argument[0..1]; log-injection; manual | +| 19 | Sink: group:beego-logs; BeeLogger; true; Notice; ; ; Argument[0..1]; log-injection; manual | +| 20 | Sink: group:beego-logs; BeeLogger; true; Trace; ; ; Argument[0..1]; log-injection; manual | +| 21 | Sink: group:beego-logs; BeeLogger; true; Warn; ; ; Argument[0..1]; log-injection; manual | +| 22 | Sink: group:beego-logs; BeeLogger; true; Warning; ; ; Argument[0..1]; log-injection; manual | nodes | test.go:153:17:153:24 | definition of password | semmle.label | definition of password | | test.go:154:14:154:21 | password | semmle.label | password | @@ -70,38 +128,3 @@ nodes | test.go:186:17:186:24 | password | semmle.label | password | | test.go:187:16:187:23 | password | semmle.label | password | subpaths -#select -| test.go:154:14:154:21 | password | test.go:153:17:153:24 | definition of password | test.go:154:14:154:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:155:17:155:24 | password | test.go:153:17:153:24 | definition of password | test.go:155:17:155:24 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:156:14:156:21 | password | test.go:153:17:153:24 | definition of password | test.go:156:14:156:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:157:18:157:25 | password | test.go:153:17:153:24 | definition of password | test.go:157:18:157:25 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:158:14:158:21 | password | test.go:153:17:153:24 | definition of password | test.go:158:14:158:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:159:13:159:20 | password | test.go:153:17:153:24 | definition of password | test.go:159:13:159:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:160:22:160:29 | password | test.go:153:17:153:24 | definition of password | test.go:160:22:160:29 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:161:15:161:22 | password | test.go:153:17:153:24 | definition of password | test.go:161:15:161:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:162:14:162:21 | password | test.go:153:17:153:24 | definition of password | test.go:162:14:162:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:163:13:163:20 | password | test.go:153:17:153:24 | definition of password | test.go:163:13:163:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:164:16:164:23 | password | test.go:153:17:153:24 | definition of password | test.go:164:16:164:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:165:13:165:20 | password | test.go:153:17:153:24 | definition of password | test.go:165:13:165:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:166:16:166:23 | password | test.go:153:17:153:24 | definition of password | test.go:166:16:166:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:167:13:167:20 | password | test.go:153:17:153:24 | definition of password | test.go:167:13:167:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:168:17:168:24 | password | test.go:153:17:153:24 | definition of password | test.go:168:17:168:24 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:169:13:169:20 | password | test.go:153:17:153:24 | definition of password | test.go:169:13:169:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:170:12:170:19 | password | test.go:153:17:153:24 | definition of password | test.go:170:12:170:19 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:171:21:171:28 | password | test.go:153:17:153:24 | definition of password | test.go:171:21:171:28 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:172:14:172:21 | password | test.go:153:17:153:24 | definition of password | test.go:172:14:172:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:173:13:173:20 | password | test.go:153:17:153:24 | definition of password | test.go:173:13:173:20 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:174:12:174:19 | password | test.go:153:17:153:24 | definition of password | test.go:174:12:174:19 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:175:15:175:22 | password | test.go:153:17:153:24 | definition of password | test.go:175:15:175:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:176:15:176:22 | password | test.go:153:17:153:24 | definition of password | test.go:176:15:176:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:177:18:177:25 | password | test.go:153:17:153:24 | definition of password | test.go:177:18:177:25 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:178:15:178:22 | password | test.go:153:17:153:24 | definition of password | test.go:178:15:178:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:179:19:179:26 | password | test.go:153:17:153:24 | definition of password | test.go:179:19:179:26 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:180:15:180:22 | password | test.go:153:17:153:24 | definition of password | test.go:180:15:180:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:181:14:181:21 | password | test.go:153:17:153:24 | definition of password | test.go:181:14:181:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:182:23:182:30 | password | test.go:153:17:153:24 | definition of password | test.go:182:23:182:30 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:183:16:183:23 | password | test.go:153:17:153:24 | definition of password | test.go:183:16:183:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:184:15:184:22 | password | test.go:153:17:153:24 | definition of password | test.go:184:15:184:22 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:185:14:185:21 | password | test.go:153:17:153:24 | definition of password | test.go:185:14:185:21 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:186:17:186:24 | password | test.go:153:17:153:24 | definition of password | test.go:186:17:186:24 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | -| test.go:187:16:187:23 | password | test.go:153:17:153:24 | definition of password | test.go:187:16:187:23 | password | $@ flows to a logging call. | test.go:153:17:153:24 | definition of password | Sensitive data returned by an access to password | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.qlref b/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.qlref index 21eebbd09be..693299c33a2 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.qlref +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/CleartextLogging.qlref @@ -1 +1,4 @@ -Security/CWE-312/CleartextLogging.ql +query: Security/CWE-312/CleartextLogging.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.expected b/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.expected index c624f05d450..4dca9d050d7 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.expected +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.expected @@ -1,3 +1,6 @@ +#select +| test.go:253:13:253:34 | call to GetString | test.go:253:13:253:34 | call to GetString | test.go:253:13:253:34 | call to GetString | This path to an untrusted URL redirection depends on a $@. | test.go:253:13:253:34 | call to GetString | user-provided value | +| test.go:254:20:254:41 | call to GetString | test.go:254:20:254:41 | call to GetString | test.go:254:20:254:41 | call to GetString | This path to an untrusted URL redirection depends on a $@. | test.go:254:20:254:41 | call to GetString | user-provided value | edges nodes | test.go:253:13:253:34 | call to GetString | semmle.label | call to GetString | @@ -5,6 +8,3 @@ nodes | test.go:317:13:317:27 | call to URI | semmle.label | call to URI | | test.go:318:20:318:34 | call to URL | semmle.label | call to URL | subpaths -#select -| test.go:253:13:253:34 | call to GetString | test.go:253:13:253:34 | call to GetString | test.go:253:13:253:34 | call to GetString | This path to an untrusted URL redirection depends on a $@. | test.go:253:13:253:34 | call to GetString | user-provided value | -| test.go:254:20:254:41 | call to GetString | test.go:254:20:254:41 | call to GetString | test.go:254:20:254:41 | call to GetString | This path to an untrusted URL redirection depends on a $@. | test.go:254:20:254:41 | call to GetString | user-provided value | diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.qlref b/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.qlref index 0f1a7477825..13add930f51 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.qlref +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/OpenRedirect.qlref @@ -1 +1,4 @@ -Security/CWE-601/OpenUrlRedirect.ql +query: Security/CWE-601/OpenUrlRedirect.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.qlref b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.qlref index 754513d72bb..e6b791f39fc 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.qlref +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/ReflectedXss.qlref @@ -1,2 +1,4 @@ query: Security/CWE-079/ReflectedXss.ql -postprocess: utils/test/PrettyPrintModels.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.qlref b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.qlref index 78ce25b1921..6eb2e94892f 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.qlref +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/TaintedPath.qlref @@ -1,2 +1,4 @@ query: Security/CWE-022/TaintedPath.ql -postprocess: utils/test/PrettyPrintModels.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Beego/test.go b/go/ql/test/library-tests/semmle/go/frameworks/Beego/test.go index d702f4a5445..38cb06691f8 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Beego/test.go +++ b/go/ql/test/library-tests/semmle/go/frameworks/Beego/test.go @@ -31,75 +31,75 @@ type bindMe struct { // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromBind(input *context.BeegoInput, sink http.ResponseWriter) { var bound bindMe - input.Bind(bound, "someKey") - sink.Write([]byte(bound.a[0])) - sink.Write([]byte(bound.b)) - sink.Write([]byte(bound.c.z)) + input.Bind(bound, "someKey") // $ Source[go/reflected-xss] + sink.Write([]byte(bound.a[0])) // $ Alert[go/reflected-xss] + sink.Write([]byte(bound.b)) // $ Alert[go/reflected-xss] + sink.Write([]byte(bound.c.z)) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromCookie(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Cookie("someKey"))) + sink.Write([]byte(input.Cookie("someKey"))) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromData(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Data()["someKey"].(string))) + sink.Write([]byte(input.Data()["someKey"].(string))) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromGetData(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.GetData("someKey").(string))) + sink.Write([]byte(input.GetData("someKey").(string))) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromHeader(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Header("someKey"))) + sink.Write([]byte(input.Header("someKey"))) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromParam(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Param("someKey"))) + sink.Write([]byte(input.Param("someKey"))) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromParams(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Params()["someKey"])) + sink.Write([]byte(input.Params()["someKey"])) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromQuery(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Query("someKey"))) + sink.Write([]byte(input.Query("someKey"))) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromRefer(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Refer())) + sink.Write([]byte(input.Refer())) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromReferer(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.Referer())) + sink.Write([]byte(input.Referer())) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromURI(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.URI())) + sink.Write([]byte(input.URI())) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromURL(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.URL())) + sink.Write([]byte(input.URL())) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data to an `http.ResponseWriter` func xssFromUserAgent(input *context.BeegoInput, sink http.ResponseWriter) { - sink.Write([]byte(input.UserAgent())) + sink.Write([]byte(input.UserAgent())) // $ Alert[go/reflected-xss] } // BAD: with no obvious ContentType call we assume this could be text/html. func echoToBodyNoContentType(input *context.BeegoInput, output *context.BeegoOutput) { - output.Body(input.Data()["someKey"].([]byte)) + output.Body(input.Data()["someKey"].([]byte)) // $ Alert[go/reflected-xss] } // OK: JSON can't (by itself) cause XSS @@ -111,7 +111,7 @@ func echoToBodyContentTypeJson(input *context.BeegoInput, output *context.BeegoO // BAD: echoing untrusted data with an HTML content type func echoToBodyContentTypeHtml(input *context.BeegoInput, output *context.BeegoOutput) { output.ContentType("text/html") - output.Body(input.Data()["someKey"].([]byte)) + output.Body(input.Data()["someKey"].([]byte)) // $ Alert[go/reflected-xss] } // OK: JSON can't (by itself) cause XSS @@ -123,7 +123,7 @@ func echoToBodyContentTypeJsonUsingHeader(input *context.BeegoInput, output *con // BAD: echoing untrusted data with an HTML content type func echoToBodyContentTypeHtmlUsingHeader(input *context.BeegoInput, output *context.BeegoOutput) { output.Header("content-type", "text/html") - output.Body(input.Data()["someKey"].([]byte)) + output.Body(input.Data()["someKey"].([]byte)) // $ Alert[go/reflected-xss] } // OK: JSON and other non-HTML formats can't (by themselves) cause XSS @@ -140,7 +140,7 @@ func echoToFixedContentTypeRoutines(input *context.BeegoInput, output *context.B func echoToBodyContentTypeHtmlUsingHandler() { beego.Post("", func(context *context.Context) { context.Output.Header("content-type", "text/html") - context.Output.Body(context.Input.Data()["someKey"].([]byte)) + context.Output.Body(context.Input.Data()["someKey"].([]byte)) // $ Alert[go/reflected-xss] }) } @@ -150,41 +150,41 @@ func echoToBodySanitized(input *context.BeegoInput, output *context.BeegoOutput) } // BAD: logging something named "password". -func loggerTest(password string, logger *logs.BeeLogger) { - beego.Alert(password) - beego.Critical(password) - beego.Debug(password) - beego.Emergency(password) - beego.Error(password) - beego.Info(password) - beego.Informational(password) - beego.Notice(password) - beego.Trace(password) - beego.Warn(password) - beego.Warning(password) - logs.Alert(password) - logs.Critical(password) - logs.Debug(password) - logs.Emergency(password) - logs.Error(password) - logs.Info(password) - logs.Informational(password) - logs.Notice(password) - logs.Trace(password) - logs.Warn(password) - logs.Warning(password) - logger.Alert(password) - logger.Critical(password) - logger.Debug(password) - logger.Emergency(password) - logger.Error(password) - logger.Info(password) - logger.Informational(password) - logger.Notice(password) - logger.Trace(password) - logger.Warn(password) - logger.Warning(password) - utils.Display(password) +func loggerTest(password string, logger *logs.BeeLogger) { // $ Source[go/clear-text-logging] + beego.Alert(password) // $ Alert[go/clear-text-logging] + beego.Critical(password) // $ Alert[go/clear-text-logging] + beego.Debug(password) // $ Alert[go/clear-text-logging] + beego.Emergency(password) // $ Alert[go/clear-text-logging] + beego.Error(password) // $ Alert[go/clear-text-logging] + beego.Info(password) // $ Alert[go/clear-text-logging] + beego.Informational(password) // $ Alert[go/clear-text-logging] + beego.Notice(password) // $ Alert[go/clear-text-logging] + beego.Trace(password) // $ Alert[go/clear-text-logging] + beego.Warn(password) // $ Alert[go/clear-text-logging] + beego.Warning(password) // $ Alert[go/clear-text-logging] + logs.Alert(password) // $ Alert[go/clear-text-logging] + logs.Critical(password) // $ Alert[go/clear-text-logging] + logs.Debug(password) // $ Alert[go/clear-text-logging] + logs.Emergency(password) // $ Alert[go/clear-text-logging] + logs.Error(password) // $ Alert[go/clear-text-logging] + logs.Info(password) // $ Alert[go/clear-text-logging] + logs.Informational(password) // $ Alert[go/clear-text-logging] + logs.Notice(password) // $ Alert[go/clear-text-logging] + logs.Trace(password) // $ Alert[go/clear-text-logging] + logs.Warn(password) // $ Alert[go/clear-text-logging] + logs.Warning(password) // $ Alert[go/clear-text-logging] + logger.Alert(password) // $ Alert[go/clear-text-logging] + logger.Critical(password) // $ Alert[go/clear-text-logging] + logger.Debug(password) // $ Alert[go/clear-text-logging] + logger.Emergency(password) // $ Alert[go/clear-text-logging] + logger.Error(password) // $ Alert[go/clear-text-logging] + logger.Info(password) // $ Alert[go/clear-text-logging] + logger.Informational(password) // $ Alert[go/clear-text-logging] + logger.Notice(password) // $ Alert[go/clear-text-logging] + logger.Trace(password) // $ Alert[go/clear-text-logging] + logger.Warn(password) // $ Alert[go/clear-text-logging] + logger.Warning(password) // $ Alert[go/clear-text-logging] + utils.Display(password) // $ Alert[go/clear-text-logging] } type myStruct struct { @@ -196,83 +196,83 @@ func sanitizersTest(ctx *context.Context) { input := ctx.Input output := ctx.Output - untrusted := input.Data()["someKey"] - output.Body([]byte(beego.HTML2str(untrusted.(string)))) - output.Body([]byte(beego.Htmlunquote(untrusted.(string)))) + untrusted := input.Data()["someKey"] // $ Source[go/reflected-xss] + output.Body([]byte(beego.HTML2str(untrusted.(string)))) // $ Alert[go/reflected-xss] + output.Body([]byte(beego.Htmlunquote(untrusted.(string)))) // $ Alert[go/reflected-xss] mapVal, _ := beego.MapGet(untrusted.(map[string][]byte), "somekey") - output.Body(mapVal.([]byte)) - output.Body([]byte(beego.Str2html(untrusted.(string)))) - output.Body([]byte(beego.Substr(untrusted.(string), 1, 2))) + output.Body(mapVal.([]byte)) // $ Alert[go/reflected-xss] + output.Body([]byte(beego.Str2html(untrusted.(string)))) // $ Alert[go/reflected-xss] + output.Body([]byte(beego.Substr(untrusted.(string), 1, 2))) // $ Alert[go/reflected-xss] var s myStruct - beego.ParseForm(ctx.Request.Form, s) - output.Body([]byte(s.field)) + beego.ParseForm(ctx.Request.Form, s) // $ Source[go/reflected-xss] + output.Body([]byte(s.field)) // $ Alert[go/reflected-xss] } // BAD: using user-provided data as paths in file-system operations func fsOpsTest(ctx *context.Context, c *beego.Controller, fs beego.FileSystem) { input := ctx.Input - untrusted := input.Data()["someKey"].(string) - beego.Walk(nil, untrusted, func(path string, info os.FileInfo, err error) error { return nil }) - fs.Open(untrusted) - c.SaveToFile("someReceviedFile", untrusted) + untrusted := input.Data()["someKey"].(string) // $ Source[go/path-injection] + beego.Walk(nil, untrusted, func(path string, info os.FileInfo, err error) error { return nil }) // $ Alert[go/path-injection] + fs.Open(untrusted) // $ Alert[go/path-injection] + c.SaveToFile("someReceviedFile", untrusted) // $ Alert[go/path-injection] } // BAD: echoing untrusted data, using various Controller sources func controllerSourceTest(c *beego.Controller, output *context.BeegoOutput) { - f, fh, _ := c.GetFile("somename") - output.Body([]byte(fh.Filename)) + f, fh, _ := c.GetFile("somename") // $ Source[go/reflected-xss] + output.Body([]byte(fh.Filename)) // $ Alert[go/reflected-xss] content, _ := ioutil.ReadAll(f) - output.Body(content) + output.Body(content) // $ Alert[go/reflected-xss] - files, _ := c.GetFiles("someothername") - output.Body([]byte(files[0].Filename)) + files, _ := c.GetFiles("someothername") // $ Source[go/reflected-xss] + output.Body([]byte(files[0].Filename)) // $ Alert[go/reflected-xss] - s := c.GetString("somekey") - output.Body([]byte(s)) + s := c.GetString("somekey") // $ Source[go/reflected-xss] + output.Body([]byte(s)) // $ Alert[go/reflected-xss] - ss := c.GetStrings("someotherkey") - output.Body([]byte(ss[0])) + ss := c.GetStrings("someotherkey") // $ Source[go/reflected-xss] + output.Body([]byte(ss[0])) // $ Alert[go/reflected-xss] - val := c.Input()["thirdkey"] - output.Body([]byte(val[0])) + val := c.Input()["thirdkey"] // $ Source[go/reflected-xss] + output.Body([]byte(val[0])) // $ Alert[go/reflected-xss] var str myStruct - c.ParseForm(str) - output.Body([]byte(str.field)) + c.ParseForm(str) // $ Source[go/reflected-xss] + output.Body([]byte(str.field)) // $ Alert[go/reflected-xss] } func controllerSinkTest(c *beego.Controller) { - untrusted := c.GetString("somekey") - c.SetData(untrusted) // GOOD: SetData always uses a non-html content-type, so no XSS risk + untrusted := c.GetString("somekey") // $ Source[go/reflected-xss] + c.SetData(untrusted) // GOOD: SetData always uses a non-html content-type, so no XSS risk - c.CustomAbort(500, untrusted) // BAD: CustomAbort doesn't set a content-type, so there is an XSS risk + c.CustomAbort(500, untrusted) // $ Alert[go/reflected-xss] // BAD: CustomAbort doesn't set a content-type, so there is an XSS risk } func redirectTest(c *beego.Controller, ctx *context.Context) { - c.Redirect(c.GetString("somekey"), 304) // BAD: User-controlled redirect - ctx.Redirect(304, c.GetString("somekey")) // BAD: User-controlled redirect + c.Redirect(c.GetString("somekey"), 304) // $ Alert[go/unvalidated-url-redirection] + ctx.Redirect(304, c.GetString("somekey")) // $ Alert[go/unvalidated-url-redirection] } // BAD: echoing untrusted data, using Context source func contextSourceTest(c *context.Context) { - c.Output.Body([]byte(c.GetCookie("somekey"))) + c.Output.Body([]byte(c.GetCookie("somekey"))) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data, using Context sinks func contextSinkTest(c *context.Context) { - c.WriteString(c.GetCookie("somekey")) - c.Abort(500, c.GetCookie("someOtherKey")) + c.WriteString(c.GetCookie("somekey")) // $ Alert[go/reflected-xss] + c.Abort(500, c.GetCookie("someOtherKey")) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data, using context.WriteBody as a propagator func contextWriteBodyTest(c *context.Context) { - context.WriteBody("some/encoding", c.ResponseWriter, []byte(c.GetCookie("someKey"))) + context.WriteBody("some/encoding", c.ResponseWriter, []byte(c.GetCookie("someKey"))) // $ Alert[go/reflected-xss] } // BAD unless otherwise noted: echoing untrusted data, using various utils methods as propagators func testUtilsPropagators(c *beego.Controller) { - files, _ := c.GetFiles("someothername") + files, _ := c.GetFiles("someothername") // $ Source[go/reflected-xss] genericFiles := make([]interface{}, len(files), len(files)) for i := range files { genericFiles[i] = files[i] @@ -280,36 +280,36 @@ func testUtilsPropagators(c *beego.Controller) { untainted := make([]interface{}, 1, 1) - c.CustomAbort(500, utils.GetDisplayString(files[0].Filename)) - c.CustomAbort(500, utils.SliceChunk(genericFiles, 1)[0][0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceDiff(genericFiles, untainted)[0].(*multipart.FileHeader).Filename) + c.CustomAbort(500, utils.GetDisplayString(files[0].Filename)) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceChunk(genericFiles, 1)[0][0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceDiff(genericFiles, untainted)[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] // GOOD: the tainted values are subtracted, so taint is not propagated c.CustomAbort(500, utils.SliceDiff(untainted, genericFiles)[0].(*multipart.FileHeader).Filename) c.CustomAbort( 500, utils.SliceFilter( genericFiles, - func([]interface{}) bool { return true })[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceIntersect(genericFiles, untainted)[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceIntersect(untainted, genericFiles)[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceMerge(genericFiles, untainted)[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceMerge(untainted, genericFiles)[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SlicePad(untainted, 10, genericFiles[0])[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SlicePad(genericFiles, 10, untainted[0])[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceRand(genericFiles).(*multipart.FileHeader).Filename) + func([]interface{}) bool { return true })[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceIntersect(genericFiles, untainted)[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceIntersect(untainted, genericFiles)[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceMerge(genericFiles, untainted)[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceMerge(untainted, genericFiles)[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SlicePad(untainted, 10, genericFiles[0])[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SlicePad(genericFiles, 10, untainted[0])[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceRand(genericFiles).(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] // Note this is misnamed -- it's a map operation, not a reduce - c.CustomAbort(500, utils.SliceReduce(genericFiles, func(x interface{}) interface{} { return x })[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceShuffle(genericFiles)[0].(*multipart.FileHeader).Filename) - c.CustomAbort(500, utils.SliceUnique(genericFiles)[0].(*multipart.FileHeader).Filename) + c.CustomAbort(500, utils.SliceReduce(genericFiles, func(x interface{}) interface{} { return x })[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceShuffle(genericFiles)[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] + c.CustomAbort(500, utils.SliceUnique(genericFiles)[0].(*multipart.FileHeader).Filename) // $ Alert[go/reflected-xss] } // BAD: echoing untrusted data, using BeeMap as an intermediary func testBeeMap(c *beego.Controller) { bMap := utils.NewBeeMap() - untrusted := c.GetString("someKey") + untrusted := c.GetString("someKey") // $ Source[go/reflected-xss] bMap.Set("someKey", untrusted) - c.CustomAbort(500, bMap.Get("someKey").(string)) - c.CustomAbort(500, bMap.Items()["someKey"].(string)) + c.CustomAbort(500, bMap.Get("someKey").(string)) // $ Alert[go/reflected-xss] + c.CustomAbort(500, bMap.Items()["someKey"].(string)) // $ Alert[go/reflected-xss] } // GOOD: using the input URL for a redirect operation @@ -321,25 +321,25 @@ func testSafeRedirects(c *beego.Controller, ctx *context.Context) { // BAD: using RequestBody data as path in a file-system operation func requestBodySourceTest(ctx *context.Context, c *beego.Controller) { var dat map[string]interface{} - json.Unmarshal(ctx.Input.RequestBody, &dat) + json.Unmarshal(ctx.Input.RequestBody, &dat) // $ Source[go/path-injection] untrusted := dat["filepath"].(string) - c.SaveToFile("someReceviedFile", untrusted) + c.SaveToFile("someReceviedFile", untrusted) // $ Alert[go/path-injection] } // BAD: using user-provided data as paths in file-system operations func fsOpsTest2(ctx *context.Context, c *beego.Controller, fs beego.FileSystem) { input := ctx.Input - untrusted := input.Data()["someKey"].(string) + untrusted := input.Data()["someKey"].(string) // $ Source[go/path-injection] beegoOutput := context.BeegoOutput{} - beegoOutput.Download(untrusted, "license.txt") + beegoOutput.Download(untrusted, "license.txt") // $ Alert[go/path-injection] } // BAD: using user-provided data as paths in file-system operations func fsOpsV2Test(ctx *Beegov2Context.Context, c *beegov2.Controller) { input := ctx.Input - untrusted := input.Data()["someKey"].(string) + untrusted := input.Data()["someKey"].(string) // $ Source[go/path-injection] buffer := make([]byte, 10) - _ = c.SaveToFileWithBuffer("filenameExistsInForm", untrusted, buffer) + _ = c.SaveToFileWithBuffer("filenameExistsInForm", untrusted, buffer) // $ Alert[go/path-injection] beegoOutput := Beegov2Context.BeegoOutput{} - beegoOutput.Download(untrusted, "license.txt") + beegoOutput.Download(untrusted, "license.txt") // $ Alert[go/path-injection] } diff --git a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.ql b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.ql index b0247c0e533..147f3bbb211 100644 --- a/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.ql +++ b/go/ql/test/library-tests/semmle/go/frameworks/Encoding/jsoniter.ql @@ -1,5 +1,4 @@ import go -import semmle.go.dataflow.ExternalFlow import ModelValidation import semmle.go.security.CommandInjection import codeql.dataflow.test.ProvenancePathGraph @@ -9,7 +8,7 @@ class UntrustedFunction extends Function { UntrustedFunction() { this.getName() = ["getUntrustedString", "getUntrustedBytes"] } } -class RemoteSource extends DataFlow::Node, RemoteFlowSource::Range { +class RemoteSource extends RemoteFlowSource::Range { RemoteSource() { this = any(UntrustedFunction f).getACall().getResult() } } diff --git a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected index 0e1265b5c1e..b95abaa47c5 100644 --- a/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected +++ b/go/ql/test/query-tests/Security/CWE-079/ReflectedXss.expected @@ -6,8 +6,8 @@ | contenttype.go:79:11:79:14 | data | contenttype.go:73:10:73:28 | call to FormValue | contenttype.go:79:11:79:14 | data | Cross-site scripting vulnerability due to $@. | contenttype.go:73:10:73:28 | call to FormValue | user-provided value | contenttype.go:0:0:0:0 | contenttype.go | | | contenttype.go:91:4:91:7 | data | contenttype.go:88:10:88:28 | call to FormValue | contenttype.go:91:4:91:7 | data | Cross-site scripting vulnerability due to $@. | contenttype.go:88:10:88:28 | call to FormValue | user-provided value | contenttype.go:0:0:0:0 | contenttype.go | | | contenttype.go:114:50:114:53 | data | contenttype.go:113:10:113:28 | call to FormValue | contenttype.go:114:50:114:53 | data | Cross-site scripting vulnerability due to $@. | contenttype.go:113:10:113:28 | call to FormValue | user-provided value | contenttype.go:0:0:0:0 | contenttype.go | | -| reflectedxsstest.go:33:10:33:57 | type conversion | reflectedxsstest.go:31:2:31:44 | ... := ...[0] | reflectedxsstest.go:33:10:33:57 | type conversion | Cross-site scripting vulnerability due to $@. | reflectedxsstest.go:31:2:31:44 | ... := ...[0] | user-provided value | reflectedxsstest.go:0:0:0:0 | reflectedxsstest.go | | -| reflectedxsstest.go:34:10:34:62 | type conversion | reflectedxsstest.go:31:2:31:44 | ... := ...[1] | reflectedxsstest.go:34:10:34:62 | type conversion | Cross-site scripting vulnerability due to $@. | reflectedxsstest.go:31:2:31:44 | ... := ...[1] | user-provided value | reflectedxsstest.go:0:0:0:0 | reflectedxsstest.go | | +| reflectedxsstest.go:33:10:33:57 | type conversion | reflectedxsstest.go:30:2:30:44 | ... := ...[0] | reflectedxsstest.go:33:10:33:57 | type conversion | Cross-site scripting vulnerability due to $@. | reflectedxsstest.go:30:2:30:44 | ... := ...[0] | user-provided value | reflectedxsstest.go:0:0:0:0 | reflectedxsstest.go | | +| reflectedxsstest.go:34:10:34:62 | type conversion | reflectedxsstest.go:30:2:30:44 | ... := ...[1] | reflectedxsstest.go:34:10:34:62 | type conversion | Cross-site scripting vulnerability due to $@. | reflectedxsstest.go:30:2:30:44 | ... := ...[1] | user-provided value | reflectedxsstest.go:0:0:0:0 | reflectedxsstest.go | | | reflectedxsstest.go:44:10:44:55 | type conversion | reflectedxsstest.go:38:2:38:35 | ... := ...[0] | reflectedxsstest.go:44:10:44:55 | type conversion | Cross-site scripting vulnerability due to $@. | reflectedxsstest.go:38:2:38:35 | ... := ...[0] | user-provided value | reflectedxsstest.go:0:0:0:0 | reflectedxsstest.go | | | reflectedxsstest.go:45:10:45:18 | byteSlice | reflectedxsstest.go:38:2:38:35 | ... := ...[0] | reflectedxsstest.go:45:10:45:18 | byteSlice | Cross-site scripting vulnerability due to $@. | reflectedxsstest.go:38:2:38:35 | ... := ...[0] | user-provided value | reflectedxsstest.go:0:0:0:0 | reflectedxsstest.go | | | reflectedxsstest.go:54:11:54:21 | type conversion | reflectedxsstest.go:51:14:51:18 | selection of URL | reflectedxsstest.go:54:11:54:21 | type conversion | Cross-site scripting vulnerability due to $@. | reflectedxsstest.go:51:14:51:18 | selection of URL | user-provided value | reflectedxsstest.go:0:0:0:0 | reflectedxsstest.go | | @@ -30,10 +30,11 @@ edges | contenttype.go:73:10:73:28 | call to FormValue | contenttype.go:79:11:79:14 | data | provenance | Src:MaD:8 | | contenttype.go:88:10:88:28 | call to FormValue | contenttype.go:91:4:91:7 | data | provenance | Src:MaD:8 | | contenttype.go:113:10:113:28 | call to FormValue | contenttype.go:114:50:114:53 | data | provenance | Src:MaD:8 | -| reflectedxsstest.go:31:2:31:44 | ... := ...[0] | reflectedxsstest.go:32:30:32:33 | file | provenance | Src:MaD:7 | -| reflectedxsstest.go:31:2:31:44 | ... := ...[1] | reflectedxsstest.go:34:46:34:60 | selection of Filename | provenance | Src:MaD:7 | -| reflectedxsstest.go:32:2:32:34 | ... := ...[0] | reflectedxsstest.go:33:49:33:55 | content | provenance | | -| reflectedxsstest.go:32:30:32:33 | file | reflectedxsstest.go:32:2:32:34 | ... := ...[0] | provenance | MaD:13 | +| reflectedxsstest.go:30:2:30:44 | ... := ...[0] | reflectedxsstest.go:31:30:31:33 | file | provenance | Src:MaD:7 | +| reflectedxsstest.go:30:2:30:44 | ... := ...[1] | reflectedxsstest.go:34:46:34:60 | selection of Filename | provenance | Src:MaD:7 | +| reflectedxsstest.go:31:2:31:34 | ... := ...[0] | reflectedxsstest.go:32:48:32:54 | content | provenance | | +| reflectedxsstest.go:31:30:31:33 | file | reflectedxsstest.go:31:2:31:34 | ... := ...[0] | provenance | MaD:13 | +| reflectedxsstest.go:32:48:32:54 | content | reflectedxsstest.go:33:49:33:55 | content | provenance | | | reflectedxsstest.go:33:17:33:56 | []type{args} [array] | reflectedxsstest.go:33:17:33:56 | call to Sprintf | provenance | MaD:12 | | reflectedxsstest.go:33:17:33:56 | call to Sprintf | reflectedxsstest.go:33:10:33:57 | type conversion | provenance | | | reflectedxsstest.go:33:49:33:55 | content | reflectedxsstest.go:33:17:33:56 | []type{args} [array] | provenance | | @@ -106,10 +107,11 @@ nodes | contenttype.go:91:4:91:7 | data | semmle.label | data | | contenttype.go:113:10:113:28 | call to FormValue | semmle.label | call to FormValue | | contenttype.go:114:50:114:53 | data | semmle.label | data | -| reflectedxsstest.go:31:2:31:44 | ... := ...[0] | semmle.label | ... := ...[0] | -| reflectedxsstest.go:31:2:31:44 | ... := ...[1] | semmle.label | ... := ...[1] | -| reflectedxsstest.go:32:2:32:34 | ... := ...[0] | semmle.label | ... := ...[0] | -| reflectedxsstest.go:32:30:32:33 | file | semmle.label | file | +| reflectedxsstest.go:30:2:30:44 | ... := ...[0] | semmle.label | ... := ...[0] | +| reflectedxsstest.go:30:2:30:44 | ... := ...[1] | semmle.label | ... := ...[1] | +| reflectedxsstest.go:31:2:31:34 | ... := ...[0] | semmle.label | ... := ...[0] | +| reflectedxsstest.go:31:30:31:33 | file | semmle.label | file | +| reflectedxsstest.go:32:48:32:54 | content | semmle.label | content | | reflectedxsstest.go:33:10:33:57 | type conversion | semmle.label | type conversion | | reflectedxsstest.go:33:17:33:56 | []type{args} [array] | semmle.label | []type{args} [array] | | reflectedxsstest.go:33:17:33:56 | call to Sprintf | semmle.label | call to Sprintf | diff --git a/go/ql/test/query-tests/Security/CWE-079/reflectedxsstest.go b/go/ql/test/query-tests/Security/CWE-079/reflectedxsstest.go index b3ddc79535b..ce708a2c7d7 100644 --- a/go/ql/test/query-tests/Security/CWE-079/reflectedxsstest.go +++ b/go/ql/test/query-tests/Security/CWE-079/reflectedxsstest.go @@ -25,11 +25,11 @@ func ServeJsonDirect(w http.ResponseWriter, r http.Request) { func ErrTest(w http.ResponseWriter, r http.Request) { cookie, err := r.Cookie("somecookie") - w.Write([]byte(fmt.Sprintf("Cookie result: %v", cookie))) // GOOD: Cookie's value is not user-controlled in reflected xss. - w.Write([]byte(fmt.Sprintf("Cookie check error: %v", err))) // GOOD: Cookie's err return is harmless - http.Error(w, fmt.Sprintf("Cookie result: %v", cookie), 500) // Good: only plain text is written. - file, header, err := r.FormFile("someFile") // $ Source[go/reflected-xss] + w.Write([]byte(fmt.Sprintf("Cookie result: %v", cookie))) // GOOD: Cookie's value is not user-controlled in reflected xss. + w.Write([]byte(fmt.Sprintf("Cookie check error: %v", err))) // GOOD: Cookie's err return is harmless + file, header, err := r.FormFile("someFile") // $ Source[go/reflected-xss] content, err2 := io.ReadAll(file) + http.Error(w, fmt.Sprintf("File content: %v", content), 500) // Good: only plain text is written. w.Write([]byte(fmt.Sprintf("File content: %v", content))) // $ Alert[go/reflected-xss] // BAD: file content is user-controlled w.Write([]byte(fmt.Sprintf("File name: %v", header.Filename))) // $ Alert[go/reflected-xss] // BAD: file header is user-controlled w.Write([]byte(fmt.Sprintf("FormFile error: %v", err))) // GOOD: FormFile's err return is harmless diff --git a/java/documentation/library-coverage/coverage.csv b/java/documentation/library-coverage/coverage.csv index 2da774f260f..c0cac724f93 100644 --- a/java/documentation/library-coverage/coverage.csv +++ b/java/documentation/library-coverage/coverage.csv @@ -24,6 +24,8 @@ com.azure.identity,3,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, com.caucho.burlap.io,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,, com.caucho.hessian.io,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,, com.cedarsoftware.util.io,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,, +com.couchbase.client.core.env,15,,1,,,,9,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.couchbase.client.java,10,,,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,, com.esotericsoftware.kryo.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, com.esotericsoftware.kryo5.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, com.esotericsoftware.yamlbeans,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,, diff --git a/java/documentation/library-coverage/coverage.rst b/java/documentation/library-coverage/coverage.rst index 93a10c9d294..fc3b041d08e 100644 --- a/java/documentation/library-coverage/coverage.rst +++ b/java/documentation/library-coverage/coverage.rst @@ -15,13 +15,31 @@ Java framework & library support `Apache Commons Text `_,``org.apache.commons.text``,,272,,,,,,, `Apache HttpComponents `_,"``org.apache.hc.core5.*``, ``org.apache.http``",5,183,122,,3,,,,119 `Apache Log4j 2 `_,``org.apache.logging.log4j``,,8,359,,,,,, + `Apache Struts `_,"``org.apache.struts2``, ``org.apache.struts.beanvalidation.validation.interceptor``",,3877,14,,,,,, + `Apache Velocity `_,"``org.apache.velocity.app``, ``org.apache.velocity.runtime``",,,8,,,,,, + `Couchbase `_,``com.couchbase.client.*``,,1,25,,,6,,, + `FreeMarker `_,"``freemarker.cache``, ``freemarker.template``",,,8,,,,,, + `Google Gson `_,``com.google.gson``,,52,,,,,,, `Google Guava `_,``com.google.common.*``,,730,43,9,,,,, - JBoss Logging,``org.jboss.logging``,,,324,,,,,, + `Groovy `_,"``groovy.lang``, ``groovy.text``, ``groovy.util``, ``org.codehaus.groovy.control``",,,33,,,,,, + `Hibernate `_,``org.hibernate``,,,7,,,7,,, + `JBoss Logging `_,``org.jboss.logging``,,,324,,,,,, `JSON-java `_,``org.json``,,236,,,,,,, + `Jackson `_,``com.fasterxml.jackson.*``,,9,2,2,,,,, Java Standard Library,``java.*``,10,4628,260,99,,9,,,26 Java extensions,"``javax.*``, ``jakarta.*``",101,4185,90,10,4,2,1,1,4 + `Jetty `_,``org.eclipse.jetty.client``,,,2,,,,,,2 Kotlin Standard Library,``kotlin*``,,1849,16,14,,,,,2 + `MongoDB `_,``com.mongodb``,,,10,,,,,, + `Netty `_,``io.netty.*``,15,490,23,7,,,,,16 + `OkHttp `_,``okhttp3``,,50,4,,,,,,4 + `RabbitMQ `_,``com.rabbitmq.client``,21,7,,,,,,, + `Retrofit `_,``retrofit2``,,1,1,,,,,,1 + `SLF4J `_,``org.slf4j``,,6,55,,,,,, + `SnakeYAML `_,``org.yaml.snakeyaml``,,1,,,,,,, `Spring `_,``org.springframework.*``,46,492,143,26,,28,14,,35 - Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.google.gson``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.mongodb``, ``com.opensymphony.xwork2``, ``com.rabbitmq.client``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.text``, ``groovy.util``, ``hudson``, ``io.jsonwebtoken``, ``io.netty.bootstrap``, ``io.netty.buffer``, ``io.netty.channel``, ``io.netty.handler.codec``, ``io.netty.handler.ssl``, ``io.netty.handler.stream``, ``io.netty.resolver``, ``io.netty.util``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.fileupload``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.struts.beanvalidation.validation.interceptor``, ``org.apache.struts2``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.eclipse.jetty.client``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``org.yaml.snakeyaml``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",144,10529,927,140,6,22,18,,208 - Totals,,363,26371,2656,404,16,128,33,1,409 + `Thymeleaf `_,``org.thymeleaf``,,2,2,,,,,, + `jOOQ `_,``org.jooq``,,,1,,,1,,, + Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.opensymphony.xwork2``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``hudson``, ``io.jsonwebtoken``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.fileupload``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.codehaus.cargo.container.installer``, ``org.dom4j``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",108,6034,757,131,6,14,18,,185 + Totals,,363,26372,2681,404,16,134,33,1,409 diff --git a/java/documentation/library-coverage/frameworks.csv b/java/documentation/library-coverage/frameworks.csv index 61ba9db6195..c2862f93b28 100644 --- a/java/documentation/library-coverage/frameworks.csv +++ b/java/documentation/library-coverage/frameworks.csv @@ -10,7 +10,25 @@ Apache Commons Lang,https://commons.apache.org/proper/commons-lang/,org.apache.c Apache Commons Text,https://commons.apache.org/proper/commons-text/,org.apache.commons.text Apache HttpComponents,https://hc.apache.org/,org.apache.hc.core5.* org.apache.http Apache Log4j 2,https://logging.apache.org/log4j/2.0/,org.apache.logging.log4j +Apache Struts,https://struts.apache.org/,org.apache.struts2 org.apache.struts.beanvalidation.validation.interceptor +Apache Velocity,https://velocity.apache.org/,org.apache.velocity.app org.apache.velocity.runtime +Couchbase,https://couchbase.com/,com.couchbase.client.* +FreeMarker,https://freemarker.apache.org/,freemarker.cache freemarker.template +Google Gson,https://github.com/google/gson,com.google.gson Google Guava,https://guava.dev/,com.google.common.* -JBoss Logging,,org.jboss.logging +Groovy,https://groovy-lang.org/,groovy.lang groovy.text groovy.util org.codehaus.groovy.control +Hibernate,https://hibernate.org/,org.hibernate +Jackson,https://github.com/FasterXML/jackson,com.fasterxml.jackson.* +JBoss Logging,https://github.com/jboss-logging/jboss-logging,org.jboss.logging +Jetty,https://eclipse.dev/jetty/,org.eclipse.jetty.client +jOOQ,https://www.jooq.org/,org.jooq JSON-java,https://github.com/stleary/JSON-java,org.json +MongoDB,https://www.mongodb.com/,com.mongodb +Netty,https://netty.io/,io.netty.* +OkHttp,https://square.github.io/okhttp/,okhttp3 +RabbitMQ,https://www.rabbitmq.com/,com.rabbitmq.client +Retrofit,https://square.github.io/retrofit/,retrofit2 +SLF4J,https://www.slf4j.org/,org.slf4j +SnakeYAML,https://github.com/snakeyaml/snakeyaml,org.yaml.snakeyaml Spring,https://spring.io/,org.springframework.* +Thymeleaf,https://www.thymeleaf.org/,org.thymeleaf diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index ee076ba77a7..cd0db2ab96f 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,17 @@ +## 7.8.4 + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Java extractor's search for XML and properties files. +* Additional remote flow sources from the `org.springframework.web.socket` package have been modeled. +* A sanitizer has been added to `java/ssrf` to remove alerts when a regular expression check is used to verify that the value is safe. +* URI template variables of all Spring `RestTemplate` methods are now considered as request forgery sinks. Previously only the `getForObject` method was considered. This may lead to more alerts for the query `java/ssrf`. +* Added more dataflow models of `org.apache.commons.fileupload.FileItem`, `javax/jakarta.servlet.http.Part` and `org.apache.commons.fileupload.util.Streams`. + +## 7.8.3 + +No user-facing changes. + ## 7.8.2 No user-facing changes. diff --git a/java/ql/lib/change-notes/2024-09-24-multipart.md b/java/ql/lib/change-notes/2024-09-24-multipart.md deleted file mode 100644 index e1102698065..00000000000 --- a/java/ql/lib/change-notes/2024-09-24-multipart.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added more dataflow models of `org.apache.commons.fileupload.FileItem`, `javax/jakarta.servlet.http.Part` and `org.apache.commons.fileupload.util.Streams`. \ No newline at end of file diff --git a/java/ql/lib/change-notes/2025-12-02-improve-regex-sanitizer.md b/java/ql/lib/change-notes/2025-12-02-improve-regex-sanitizer.md deleted file mode 100644 index 77ce0dc583c..00000000000 --- a/java/ql/lib/change-notes/2025-12-02-improve-regex-sanitizer.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* A sanitizer has been added to `java/ssrf` to remove alerts when a regular expression check is used to verify that the value is safe. diff --git a/java/ql/lib/change-notes/2025-12-08-spring-websocket-handler.md b/java/ql/lib/change-notes/2025-12-08-spring-websocket-handler.md deleted file mode 100644 index d3ca7f07025..00000000000 --- a/java/ql/lib/change-notes/2025-12-08-spring-websocket-handler.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Additional remote flow sources from the `org.springframework.web.socket` package have been modeled. \ No newline at end of file diff --git a/java/ql/lib/change-notes/2025-12-16-java-xml-paths.md b/java/ql/lib/change-notes/2025-12-16-java-xml-paths.md deleted file mode 100644 index 877d0e7e2ed..00000000000 --- a/java/ql/lib/change-notes/2025-12-16-java-xml-paths.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Java extractor's search for XML and properties files. diff --git a/java/ql/lib/change-notes/released/7.8.3.md b/java/ql/lib/change-notes/released/7.8.3.md new file mode 100644 index 00000000000..1e36fb05f08 --- /dev/null +++ b/java/ql/lib/change-notes/released/7.8.3.md @@ -0,0 +1,3 @@ +## 7.8.3 + +No user-facing changes. diff --git a/java/ql/lib/change-notes/released/7.8.4.md b/java/ql/lib/change-notes/released/7.8.4.md new file mode 100644 index 00000000000..cfeb5048cff --- /dev/null +++ b/java/ql/lib/change-notes/released/7.8.4.md @@ -0,0 +1,9 @@ +## 7.8.4 + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Java extractor's search for XML and properties files. +* Additional remote flow sources from the `org.springframework.web.socket` package have been modeled. +* A sanitizer has been added to `java/ssrf` to remove alerts when a regular expression check is used to verify that the value is safe. +* URI template variables of all Spring `RestTemplate` methods are now considered as request forgery sinks. Previously only the `getForObject` method was considered. This may lead to more alerts for the query `java/ssrf`. +* Added more dataflow models of `org.apache.commons.fileupload.FileItem`, `javax/jakarta.servlet.http.Part` and `org.apache.commons.fileupload.util.Streams`. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 40a3d24f296..c8145c25bf6 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 7.8.2 +lastReleaseVersion: 7.8.4 diff --git a/java/ql/lib/experimental/quantum/JCA.qll b/java/ql/lib/experimental/quantum/JCA.qll index c0ddd1ae7fa..b1b536a3ccb 100644 --- a/java/ql/lib/experimental/quantum/JCA.qll +++ b/java/ql/lib/experimental/quantum/JCA.qll @@ -613,40 +613,32 @@ module JCAModel { module GetInstanceToInitToUseFlow = DataFlow::GlobalWithState; - GetInstance getInstantiationFromUse( - Use use, GetInstanceToInitToUseFlow::PathNode src, GetInstanceToInitToUseFlow::PathNode sink - ) { - src.getNode().asExpr() = result and - sink.getNode().asExpr() = use.(MethodCall).getQualifier() and - GetInstanceToInitToUseFlow::flowPath(src, sink) + GetInstance getInstantiationFromUse(Use use, DataFlow::Node src, DataFlow::Node sink) { + src.asExpr() = result and + sink.asExpr() = use.(MethodCall).getQualifier() and + GetInstanceToInitToUseFlow::flow(src, sink) } - GetInstance getInstantiationFromInit( - Init init, GetInstanceToInitToUseFlow::PathNode src, GetInstanceToInitToUseFlow::PathNode sink - ) { - src.getNode().asExpr() = result and - sink.getNode().asExpr() = init.(MethodCall).getQualifier() and - GetInstanceToInitToUseFlow::flowPath(src, sink) + GetInstance getInstantiationFromInit(Init init, DataFlow::Node src, DataFlow::Node sink) { + src.asExpr() = result and + sink.asExpr() = init.(MethodCall).getQualifier() and + GetInstanceToInitToUseFlow::flow(src, sink) } - Init getInitFromUse( - Use use, GetInstanceToInitToUseFlow::PathNode src, GetInstanceToInitToUseFlow::PathNode sink - ) { - src.getNode().asExpr() = result.(MethodCall).getQualifier() and - sink.getNode().asExpr() = use.(MethodCall).getQualifier() and - GetInstanceToInitToUseFlow::flowPath(src, sink) + Init getInitFromUse(Use use, DataFlow::Node src, DataFlow::Node sink) { + src.asExpr() = result.(MethodCall).getQualifier() and + sink.asExpr() = use.(MethodCall).getQualifier() and + GetInstanceToInitToUseFlow::flow(src, sink) } predicate hasInit(Use use) { exists(getInitFromUse(use, _, _)) } - Use getAnIntermediateUseFromFinalUse( - Use final, GetInstanceToInitToUseFlow::PathNode src, GetInstanceToInitToUseFlow::PathNode sink - ) { + Use getAnIntermediateUseFromFinalUse(Use final, DataFlow::Node src, DataFlow::Node sink) { not final.isIntermediate() and result.isIntermediate() and - src.getNode().asExpr() = result.(MethodCall).getQualifier() and - sink.getNode().asExpr() = final.(MethodCall).getQualifier() and - GetInstanceToInitToUseFlow::flowPath(src, sink) + src.asExpr() = result.(MethodCall).getQualifier() and + sink.asExpr() = final.(MethodCall).getQualifier() and + GetInstanceToInitToUseFlow::flow(src, sink) } } diff --git a/java/ql/lib/ext/com.couchbase.client.core.env.model.yml b/java/ql/lib/ext/com.couchbase.client.core.env.model.yml new file mode 100644 index 00000000000..2182626653d --- /dev/null +++ b/java/ql/lib/ext/com.couchbase.client.core.env.model.yml @@ -0,0 +1,28 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + # 'credentials-password' sinks + - ["com.couchbase.client.core.env", "CertificateAuthenticator", true, "fromKey", "(PrivateKey,String,List)", "", "Argument[1]", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "CertificateAuthenticator", true, "fromKeyStore", "(Path,String,Optional)", "", "Argument[1]", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "CertificateAuthenticator", true, "fromKeyStore", "(KeyStore,String)", "", "Argument[1]", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "create", "(String,String)", "", "Argument[1]", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "ldapCompatible", "(String,String)", "", "Argument[1]", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "builder", "(String,String)", "", "Argument[1]", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "builder", "(Supplier)", "", "Argument[0].ReturnValue", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator$Builder", true, "password", "(String)", "", "Argument[0]", "credentials-password", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator$Builder", true, "password", "(Supplier)", "", "Argument[0].ReturnValue", "credentials-password", "manual"] + # 'credentials-username' sinks + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "create", "(String,String)", "", "Argument[0]", "credentials-username", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "ldapCompatible", "(String,String)", "", "Argument[0]", "credentials-username", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "builder", "(String,String)", "", "Argument[0]", "credentials-username", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator", true, "builder", "(Supplier)", "", "Argument[0].ReturnValue", "credentials-username", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator$Builder", true, "username", "(String)", "", "Argument[0]", "credentials-username", "manual"] + - ["com.couchbase.client.core.env", "PasswordAuthenticator$Builder", true, "username", "(Supplier)", "", "Argument[0].ReturnValue", "credentials-username", "manual"] + + - addsTo: + pack: codeql/java-all + extensible: summaryModel + data: + - ["com.couchbase.client.core.env", "UsernameAndPassword", true, "UsernameAndPassword", "(String,String)", "", "Argument[0..1]", "Argument[this]", "taint", "manual"] diff --git a/java/ql/lib/ext/com.couchbase.client.java.model.yml b/java/ql/lib/ext/com.couchbase.client.java.model.yml new file mode 100644 index 00000000000..c954e92f665 --- /dev/null +++ b/java/ql/lib/ext/com.couchbase.client.java.model.yml @@ -0,0 +1,18 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + # 'credentials-username' sinks + - ["com.couchbase.client.java", "Cluster", true, "connect", "(String,String,String)", "", "Argument[1]", "credentials-username", "manual"] + - ["com.couchbase.client.java", "ClusterOptions", true, "clusterOptions", "(String,String)", "", "Argument[0]", "credentials-username", "manual"] + # 'credentials-password' sinks + - ["com.couchbase.client.java", "Cluster", true, "connect", "(String,String,String)", "", "Argument[2]", "credentials-password", "manual"] + - ["com.couchbase.client.java", "ClusterOptions", true, "clusterOptions", "(String,String)", "", "Argument[1]", "credentials-password", "manual"] + # 'sql-injection' sinks + - ["com.couchbase.client.java", "Cluster", true, "analyticsQuery", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["com.couchbase.client.java", "Cluster", true, "analyticsQuery", "(String,AnalyticsOptions)", "", "Argument[0]", "sql-injection", "manual"] + - ["com.couchbase.client.java", "Cluster", true, "query", "(String)", "", "Argument[0]", "sql-injection", "manual"] + - ["com.couchbase.client.java", "Cluster", true, "query", "(String,QueryOptions)", "", "Argument[0]", "sql-injection", "manual"] + - ["com.couchbase.client.java", "Cluster", true, "queryStreaming", "(String,Consumer)", "", "Argument[0]", "sql-injection", "manual"] + - ["com.couchbase.client.java", "Cluster", true, "queryStreaming", "(String,QueryOptions,Consumer)", "", "Argument[0]", "sql-injection", "manual"] diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index f0f57e7150d..37de3eb6f72 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 7.8.3-dev +version: 7.8.5-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll b/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll index 21cfc54fdf8..361b4feb54a 100644 --- a/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll @@ -202,6 +202,13 @@ private module Input implements TypeFlowInput { t1e = t2e and unbound(t2) and not unbound(t1) + or + t1e = t2e and + exists(int pos | + partiallyUnbound(t2, pos) and + not partiallyUnbound(t1, pos) and + not unbound(t1) + ) ) } @@ -370,6 +377,11 @@ private module Input implements TypeFlowInput { ) } + /** Holds if `t` is a parameterised type with unrestricted type argument at position `pos`. */ + private predicate partiallyUnbound(ParameterizedType t, int pos) { + unconstrained(t.getTypeArgument(pos)) + } + Type getErasure(Type t) { result = t.getErasure() } Type getAnAncestor(Type sub) { result = sub.getAnAncestor() } 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 0580415a344..64c00f830ed 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebClient.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebClient.qll @@ -31,50 +31,55 @@ class SpringWebClient extends Interface { } } -/** The method `getForObject` on `org.springframework.web.reactive.function.client.RestTemplate`. */ -class SpringRestTemplateGetForObjectMethod extends Method { - SpringRestTemplateGetForObjectMethod() { +/** + * A method on `org.springframework.web.client.RestTemplate` + * which has a parameter `uriVariables` (which can have type `Object...` or + * `Map`) which contains variables to be expanded into the URL + * template in parameter 0. + */ +private class SpringRestTemplateMethodWithUriVariablesParameter extends Method { + int pos; + + SpringRestTemplateMethodWithUriVariablesParameter() { this.getDeclaringType() instanceof SpringRestTemplate and - this.hasName("getForObject") + this.getParameter(pos).getName() = "uriVariables" } + + int getUriVariablesPosition() { result = pos } } -/** A call to the method `getForObject` on `org.springframework.web.reactive.function.client.RestTemplate`. */ -class SpringRestTemplateGetForObjectMethodCall extends MethodCall { - SpringRestTemplateGetForObjectMethodCall() { - this.getMethod() instanceof SpringRestTemplateGetForObjectMethod - } +/** Gets the first argument of `mc`, if it is a compile-time constant. */ +pragma[inline] +private CompileTimeConstantExpr getConstantUrl(MethodCall mc) { result = mc.getArgument(0) } - /** Gets the first argument, if it is a compile time constant. */ - CompileTimeConstantExpr getConstantUrl() { result = this.getArgument(0) } - - /** - * Holds if the first argument is a compile time constant and it has a - * placeholder at offset `offset`, and there are `idx` placeholders that - * appear before it. - */ - predicate urlHasPlaceholderAtOffset(int idx, int offset) { - exists( - this.getConstantUrl() - .getStringValue() - .replaceAll("\\{", " ") - .replaceAll("\\}", " ") - .regexpFind("\\{[^}]*\\}", idx, offset) - ) - } +/** + * Holds if the first argument of `mc` is a compile-time constant URL template + * which has its `idx`-th placeholder at the offset `offset`. + */ +pragma[inline] +private predicate urlHasPlaceholderAtOffset(MethodCall mc, int idx, int offset) { + exists( + getConstantUrl(mc) + .getStringValue() + .replaceAll("\\{", " ") + .replaceAll("\\}", " ") + .regexpFind("\\{[^}]*\\}", idx, offset) + ) } -private class SpringWebClientRestTemplateGetForObject extends RequestForgerySink { - SpringWebClientRestTemplateGetForObject() { - exists(SpringRestTemplateGetForObjectMethodCall mc, int i | - // Note that the first argument is modeled as a request forgery sink - // separately. This model is for arguments beyond the first two. There - // are two relevant overloads, one with third parameter type `Object...` - // and one with third parameter type `Map`. For the latter we - // cannot deal with MapValue content easily but there is a default - // implicit taint read at sinks that will catch it. +private class SpringWebClientRestTemplateUriVariable extends RequestForgerySink { + SpringWebClientRestTemplateUriVariable() { + exists(SpringRestTemplateMethodWithUriVariablesParameter m, MethodCall mc, int i | + // Note that the first argument of `m` is modeled as a request forgery + // sink separately. This model is for arguments corresponding to the + // `uriVariables` parameter. There are always two relevant overloads, one + // with parameter type `Object...` and one with parameter type + // `Map`. For the latter we cannot deal with MapValue content + // easily but there is a default implicit taint read at sinks that will + // catch it. + mc.getMethod() = m and i >= 0 and - this.asExpr() = mc.getArgument(i + 2) + this.asExpr() = mc.getArgument(m.getUriVariablesPosition() + i) | // If we can determine that part of mc.getArgument(0) is a hostname // sanitizing prefix, then we count how many placeholders occur before it @@ -83,8 +88,8 @@ private class SpringWebClientRestTemplateGetForObject extends RequestForgerySink // considering the map values as sinks if there is at least one // placeholder in the URL before the hostname sanitizing prefix. exists(int offset | - mc.urlHasPlaceholderAtOffset(i, offset) and - offset < mc.getConstantUrl().(HostnameSanitizingPrefix).getOffset() + urlHasPlaceholderAtOffset(mc, i, offset) and + offset < getConstantUrl(mc).(HostnameSanitizingPrefix).getOffset() ) or // If we cannot determine that part of mc.getArgument(0) is a hostname @@ -94,12 +99,12 @@ private class SpringWebClientRestTemplateGetForObject extends RequestForgerySink // For the `Map` overload this has the effect of only // considering the map values as sinks if there is at least one // placeholder in the URL. - not mc.getConstantUrl() instanceof HostnameSanitizingPrefix and - mc.urlHasPlaceholderAtOffset(i, _) + not getConstantUrl(mc) instanceof HostnameSanitizingPrefix and + urlHasPlaceholderAtOffset(mc, i, _) or // If we cannot determine the string value of mc.getArgument(0), then we // conservatively consider all arguments as sinks. - not exists(mc.getConstantUrl().getStringValue()) + not exists(getConstantUrl(mc).getStringValue()) ) } } diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index a30e72bfaef..113c024d14a 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,14 @@ +## 1.10.5 + +### Minor Analysis Improvements + +* Added sink models for `com.couchbase` supporting SQL Injection and Hardcoded Credentials queries. +* Java thread safety analysis now understands initialization to thread safe classes inside constructors. + +## 1.10.4 + +No user-facing changes. + ## 1.10.3 ### Minor Analysis Improvements diff --git a/java/ql/src/change-notes/2025-11-25-thread-safe-initializers.md b/java/ql/src/change-notes/2025-11-25-thread-safe-initializers.md deleted file mode 100644 index f373dae839d..00000000000 --- a/java/ql/src/change-notes/2025-11-25-thread-safe-initializers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Java thread safety analysis now understands initialization to thread safe classes inside constructors. \ No newline at end of file diff --git a/java/ql/src/change-notes/released/1.10.4.md b/java/ql/src/change-notes/released/1.10.4.md new file mode 100644 index 00000000000..b7255ea60f7 --- /dev/null +++ b/java/ql/src/change-notes/released/1.10.4.md @@ -0,0 +1,3 @@ +## 1.10.4 + +No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.10.5.md b/java/ql/src/change-notes/released/1.10.5.md new file mode 100644 index 00000000000..03136b7afe2 --- /dev/null +++ b/java/ql/src/change-notes/released/1.10.5.md @@ -0,0 +1,6 @@ +## 1.10.5 + +### Minor Analysis Improvements + +* Added sink models for `com.couchbase` supporting SQL Injection and Hardcoded Credentials queries. +* Java thread safety analysis now understands initialization to thread safe classes inside constructors. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index d3e15295550..2b3096747d5 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.10.3 +lastReleaseVersion: 1.10.5 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index d5ab0a6cc4a..54fa90952dd 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.10.4-dev +version: 1.10.6-dev groups: - java - queries diff --git a/java/ql/test/library-tests/typeflow/A.java b/java/ql/test/library-tests/typeflow/A.java index ad19901f151..751ad525d15 100644 --- a/java/ql/test/library-tests/typeflow/A.java +++ b/java/ql/test/library-tests/typeflow/A.java @@ -118,4 +118,12 @@ public class A extends ArrayList { default -> { } } } + + private static T lookupFoo(Map m) { + return m.get("foo"); + } + + public void m11(Map m) { + lookupFoo(m); + } } diff --git a/java/ql/test/library-tests/typeflow/typeflow.expected b/java/ql/test/library-tests/typeflow/typeflow.expected index f0cb2356cb8..03dcb0e0766 100644 --- a/java/ql/test/library-tests/typeflow/typeflow.expected +++ b/java/ql/test/library-tests/typeflow/typeflow.expected @@ -18,5 +18,6 @@ | A.java:112:23:112:24 | cs | String | false | | A.java:116:13:116:14 | o2 | String | false | | A.java:117:49:117:50 | cs | String | false | +| A.java:123:12:123:12 | m | Map | false | | UnionTypes.java:45:7:45:7 | x | Inter | false | | UnionTypes.java:48:23:48:23 | x | Inter | false | diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/CouchBase.java b/java/ql/test/query-tests/security/CWE-089/semmle/examples/CouchBase.java new file mode 100644 index 00000000000..ee6c81cdc81 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/CouchBase.java @@ -0,0 +1,17 @@ +package com.example; + +import com.couchbase.client.java.Bucket; +import com.couchbase.client.java.Cluster; + +public class CouchBase { + public static void main(String[] args) { + Cluster cluster = Cluster.connect("192.168.0.158", "Administrator", "Administrator"); + Bucket bucket = cluster.bucket("travel-sample"); + cluster.analyticsQuery(args[1]); + cluster.analyticsQuery(args[1], null); + cluster.query(args[1]); + cluster.query(args[1], null); + cluster.queryStreaming(args[1], null); + cluster.queryStreaming(args[1], null, null); + } +} diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SqlTainted.expected b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SqlTainted.expected index a45f58bd54d..67f1e26697a 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/SqlTainted.expected +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/SqlTainted.expected @@ -29,6 +29,12 @@ | AllowListSanitizerWithJavaUtilSet.java:268:67:268:71 | query | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:268:67:268:71 | query | This query depends on a $@. | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args | user-provided value | | AllowListSanitizerWithJavaUtilSet.java:277:67:277:71 | query | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:277:67:277:71 | query | This query depends on a $@. | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args | user-provided value | | AllowListSanitizerWithJavaUtilSet.java:292:67:292:71 | query | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:292:67:292:71 | query | This query depends on a $@. | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args | user-provided value | +| CouchBase.java:10:28:10:34 | ...[...] | CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:10:28:10:34 | ...[...] | This query depends on a $@. | CouchBase.java:7:27:7:39 | args | user-provided value | +| CouchBase.java:11:28:11:34 | ...[...] | CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:11:28:11:34 | ...[...] | This query depends on a $@. | CouchBase.java:7:27:7:39 | args | user-provided value | +| CouchBase.java:12:19:12:25 | ...[...] | CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:12:19:12:25 | ...[...] | This query depends on a $@. | CouchBase.java:7:27:7:39 | args | user-provided value | +| CouchBase.java:13:19:13:25 | ...[...] | CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:13:19:13:25 | ...[...] | This query depends on a $@. | CouchBase.java:7:27:7:39 | args | user-provided value | +| CouchBase.java:14:28:14:34 | ...[...] | CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:14:28:14:34 | ...[...] | This query depends on a $@. | CouchBase.java:7:27:7:39 | args | user-provided value | +| CouchBase.java:15:28:15:34 | ...[...] | CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:15:28:15:34 | ...[...] | This query depends on a $@. | CouchBase.java:7:27:7:39 | args | user-provided value | | Mongo.java:17:45:17:67 | parse(...) | Mongo.java:10:29:10:41 | args : String[] | Mongo.java:17:45:17:67 | parse(...) | This query depends on a $@. | Mongo.java:10:29:10:41 | args | user-provided value | | Mongo.java:21:49:21:52 | json | Mongo.java:10:29:10:41 | args : String[] | Mongo.java:21:49:21:52 | json | This query depends on a $@. | Mongo.java:10:29:10:41 | args | user-provided value | | Test.java:36:47:36:52 | query1 | Test.java:227:26:227:38 | args : String[] | Test.java:36:47:36:52 | query1 | This query depends on a $@. | Test.java:227:26:227:38 | args | user-provided value | @@ -48,21 +54,21 @@ edges | AllowListSanitizerWithJavaUtilList.java:51:13:51:16 | args : String[] | AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | provenance | | | AllowListSanitizerWithJavaUtilList.java:54:23:54:26 | args : String[] | AllowListSanitizerWithJavaUtilList.java:247:42:247:54 | args : String[] | provenance | | | AllowListSanitizerWithJavaUtilList.java:55:14:55:17 | args : String[] | AllowListSanitizerWithJavaUtilList.java:283:33:283:45 | args : String[] | provenance | | -| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:88:66:88:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:94:66:94:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:100:66:100:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:106:66:106:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:118:66:118:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:149:67:149:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:169:67:169:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:187:67:187:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:207:67:207:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:231:67:231:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:242:67:242:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:247:42:247:54 | args : String[] | AllowListSanitizerWithJavaUtilList.java:260:67:260:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:247:42:247:54 | args : String[] | AllowListSanitizerWithJavaUtilList.java:269:67:269:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:247:42:247:54 | args : String[] | AllowListSanitizerWithJavaUtilList.java:278:67:278:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilList.java:283:33:283:45 | args : String[] | AllowListSanitizerWithJavaUtilList.java:293:67:293:71 | query | provenance | Sink:MaD:4 | +| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:88:66:88:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:94:66:94:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:100:66:100:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:106:66:106:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:58:39:58:51 | args : String[] | AllowListSanitizerWithJavaUtilList.java:118:66:118:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:149:67:149:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:169:67:169:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:187:67:187:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:207:67:207:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:231:67:231:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:132:32:132:44 | args : String[] | AllowListSanitizerWithJavaUtilList.java:242:67:242:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:247:42:247:54 | args : String[] | AllowListSanitizerWithJavaUtilList.java:260:67:260:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:247:42:247:54 | args : String[] | AllowListSanitizerWithJavaUtilList.java:269:67:269:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:247:42:247:54 | args : String[] | AllowListSanitizerWithJavaUtilList.java:278:67:278:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilList.java:283:33:283:45 | args : String[] | AllowListSanitizerWithJavaUtilList.java:293:67:293:71 | query | provenance | Sink:MaD:10 | | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:49:20:49:23 | args : String[] | provenance | | | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:50:13:50:16 | args : String[] | provenance | | | AllowListSanitizerWithJavaUtilSet.java:47:26:47:38 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:53:23:53:26 | args : String[] | provenance | | @@ -71,36 +77,42 @@ edges | AllowListSanitizerWithJavaUtilSet.java:50:13:50:16 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | provenance | | | AllowListSanitizerWithJavaUtilSet.java:53:23:53:26 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:246:42:246:54 | args : String[] | provenance | | | AllowListSanitizerWithJavaUtilSet.java:54:14:54:17 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:282:33:282:45 | args : String[] | provenance | | -| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:87:66:87:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:93:66:93:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:99:66:99:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:105:66:105:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:117:66:117:70 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:148:67:148:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:168:67:168:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:186:67:186:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:206:67:206:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:230:67:230:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:241:67:241:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:246:42:246:54 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:259:67:259:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:246:42:246:54 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:268:67:268:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:246:42:246:54 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:277:67:277:71 | query | provenance | Sink:MaD:4 | -| AllowListSanitizerWithJavaUtilSet.java:282:33:282:45 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:292:67:292:71 | query | provenance | Sink:MaD:4 | +| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:87:66:87:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:93:66:93:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:99:66:99:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:105:66:105:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:57:39:57:51 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:117:66:117:70 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:148:67:148:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:168:67:168:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:186:67:186:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:206:67:206:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:230:67:230:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:131:32:131:44 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:241:67:241:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:246:42:246:54 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:259:67:259:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:246:42:246:54 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:268:67:268:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:246:42:246:54 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:277:67:277:71 | query | provenance | Sink:MaD:10 | +| AllowListSanitizerWithJavaUtilSet.java:282:33:282:45 | args : String[] | AllowListSanitizerWithJavaUtilSet.java:292:67:292:71 | query | provenance | Sink:MaD:10 | +| CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:10:28:10:34 | ...[...] | provenance | Sink:MaD:1 | +| CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:11:28:11:34 | ...[...] | provenance | Sink:MaD:2 | +| CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:12:19:12:25 | ...[...] | provenance | Sink:MaD:3 | +| CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:13:19:13:25 | ...[...] | provenance | Sink:MaD:4 | +| CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:14:28:14:34 | ...[...] | provenance | Sink:MaD:5 | +| CouchBase.java:7:27:7:39 | args : String[] | CouchBase.java:15:28:15:34 | ...[...] | provenance | Sink:MaD:6 | | Mongo.java:10:29:10:41 | args : String[] | Mongo.java:17:56:17:66 | stringQuery : String | provenance | | | Mongo.java:10:29:10:41 | args : String[] | Mongo.java:21:49:21:52 | json | provenance | | | Mongo.java:17:56:17:66 | stringQuery : String | Mongo.java:17:45:17:67 | parse(...) | provenance | Config | -| Test.java:29:30:29:42 | args : String[] | Test.java:36:47:36:52 | query1 | provenance | Sink:MaD:4 | -| Test.java:29:30:29:42 | args : String[] | Test.java:42:57:42:62 | query2 | provenance | Sink:MaD:1 | -| Test.java:29:30:29:42 | args : String[] | Test.java:50:62:50:67 | query3 | provenance | Sink:MaD:2 | +| Test.java:29:30:29:42 | args : String[] | Test.java:36:47:36:52 | query1 | provenance | Sink:MaD:10 | +| Test.java:29:30:29:42 | args : String[] | Test.java:42:57:42:62 | query2 | provenance | Sink:MaD:7 | +| Test.java:29:30:29:42 | args : String[] | Test.java:50:62:50:67 | query3 | provenance | Sink:MaD:8 | | Test.java:29:30:29:42 | args : String[] | Test.java:58:19:58:26 | category : String | provenance | | -| Test.java:29:30:29:42 | args : String[] | Test.java:70:40:70:44 | query | provenance | Sink:MaD:5 | -| Test.java:29:30:29:42 | args : String[] | Test.java:78:46:78:50 | query | provenance | Sink:MaD:3 | +| Test.java:29:30:29:42 | args : String[] | Test.java:70:40:70:44 | query | provenance | Sink:MaD:11 | +| Test.java:29:30:29:42 | args : String[] | Test.java:78:46:78:50 | query | provenance | Sink:MaD:9 | | Test.java:58:4:58:10 | querySb [post update] : StringBuilder | Test.java:60:29:60:35 | querySb : StringBuilder | provenance | | -| Test.java:58:19:58:26 | category : String | Test.java:58:4:58:10 | querySb [post update] : StringBuilder | provenance | MaD:6 | -| Test.java:60:29:60:35 | querySb : StringBuilder | Test.java:60:29:60:46 | toString(...) : String | provenance | MaD:7 | -| Test.java:60:29:60:46 | toString(...) : String | Test.java:62:47:62:61 | querySbToString | provenance | Sink:MaD:4 | -| Test.java:183:33:183:45 | args : String[] | Test.java:209:47:209:68 | queryWithUserTableName | provenance | Sink:MaD:4 | -| Test.java:213:34:213:46 | args : String[] | Test.java:221:81:221:111 | ... + ... | provenance | Sink:MaD:4 | +| Test.java:58:19:58:26 | category : String | Test.java:58:4:58:10 | querySb [post update] : StringBuilder | provenance | MaD:12 | +| Test.java:60:29:60:35 | querySb : StringBuilder | Test.java:60:29:60:46 | toString(...) : String | provenance | MaD:13 | +| Test.java:60:29:60:46 | toString(...) : String | Test.java:62:47:62:61 | querySbToString | provenance | Sink:MaD:10 | +| Test.java:183:33:183:45 | args : String[] | Test.java:209:47:209:68 | queryWithUserTableName | provenance | Sink:MaD:10 | +| Test.java:213:34:213:46 | args : String[] | Test.java:221:81:221:111 | ... + ... | provenance | Sink:MaD:10 | | Test.java:227:26:227:38 | args : String[] | Test.java:228:11:228:14 | args : String[] | provenance | | | Test.java:227:26:227:38 | args : String[] | Test.java:232:14:232:17 | args : String[] | provenance | | | Test.java:227:26:227:38 | args : String[] | Test.java:233:15:233:18 | args : String[] | provenance | | @@ -108,13 +120,19 @@ edges | Test.java:232:14:232:17 | args : String[] | Test.java:183:33:183:45 | args : String[] | provenance | | | Test.java:233:15:233:18 | args : String[] | Test.java:213:34:213:46 | args : String[] | provenance | | models -| 1 | Sink: java.sql; Connection; true; prepareCall; ; ; Argument[0]; sql-injection; manual | -| 2 | Sink: java.sql; Connection; true; prepareStatement; ; ; Argument[0]; sql-injection; manual | -| 3 | Sink: java.sql; Statement; true; executeLargeUpdate; ; ; Argument[0]; sql-injection; manual | -| 4 | Sink: java.sql; Statement; true; executeQuery; ; ; Argument[0]; sql-injection; manual | -| 5 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual | -| 6 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual | -| 7 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | +| 1 | Sink: com.couchbase.client.java; Cluster; true; analyticsQuery; (String); ; Argument[0]; sql-injection; manual | +| 2 | Sink: com.couchbase.client.java; Cluster; true; analyticsQuery; (String,AnalyticsOptions); ; Argument[0]; sql-injection; manual | +| 3 | Sink: com.couchbase.client.java; Cluster; true; query; (String); ; Argument[0]; sql-injection; manual | +| 4 | Sink: com.couchbase.client.java; Cluster; true; query; (String,QueryOptions); ; Argument[0]; sql-injection; manual | +| 5 | Sink: com.couchbase.client.java; Cluster; true; queryStreaming; (String,Consumer); ; Argument[0]; sql-injection; manual | +| 6 | Sink: com.couchbase.client.java; Cluster; true; queryStreaming; (String,QueryOptions,Consumer); ; Argument[0]; sql-injection; manual | +| 7 | Sink: java.sql; Connection; true; prepareCall; ; ; Argument[0]; sql-injection; manual | +| 8 | Sink: java.sql; Connection; true; prepareStatement; ; ; Argument[0]; sql-injection; manual | +| 9 | Sink: java.sql; Statement; true; executeLargeUpdate; ; ; Argument[0]; sql-injection; manual | +| 10 | Sink: java.sql; Statement; true; executeQuery; ; ; Argument[0]; sql-injection; manual | +| 11 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual | +| 12 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual | +| 13 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual | nodes | AllowListSanitizerWithJavaUtilList.java:48:26:48:38 | args : String[] | semmle.label | args : String[] | | AllowListSanitizerWithJavaUtilList.java:50:20:50:23 | args : String[] | semmle.label | args : String[] | @@ -164,6 +182,13 @@ nodes | AllowListSanitizerWithJavaUtilSet.java:277:67:277:71 | query | semmle.label | query | | AllowListSanitizerWithJavaUtilSet.java:282:33:282:45 | args : String[] | semmle.label | args : String[] | | AllowListSanitizerWithJavaUtilSet.java:292:67:292:71 | query | semmle.label | query | +| CouchBase.java:7:27:7:39 | args : String[] | semmle.label | args : String[] | +| CouchBase.java:10:28:10:34 | ...[...] | semmle.label | ...[...] | +| CouchBase.java:11:28:11:34 | ...[...] | semmle.label | ...[...] | +| CouchBase.java:12:19:12:25 | ...[...] | semmle.label | ...[...] | +| CouchBase.java:13:19:13:25 | ...[...] | semmle.label | ...[...] | +| CouchBase.java:14:28:14:34 | ...[...] | semmle.label | ...[...] | +| CouchBase.java:15:28:15:34 | ...[...] | semmle.label | ...[...] | | Mongo.java:10:29:10:41 | args : String[] | semmle.label | args : String[] | | Mongo.java:17:45:17:67 | parse(...) | semmle.label | parse(...) | | Mongo.java:17:56:17:66 | stringQuery : String | semmle.label | stringQuery : String | diff --git a/java/ql/test/query-tests/security/CWE-089/semmle/examples/options b/java/ql/test/query-tests/security/CWE-089/semmle/examples/options index 0252ff61ad3..8f5ee4913cc 100644 --- a/java/ql/test/query-tests/security/CWE-089/semmle/examples/options +++ b/java/ql/test/query-tests/security/CWE-089/semmle/examples/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/springframework-5.8.x:${testdir}/../../../../../stubs/apache-hive:${testdir}/../../../../../stubs/jakarta-persistence-api-3.2.0 --release 21 +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/couchbaseClient:${testdir}/../../../../../stubs/springframework-5.8.x:${testdir}/../../../../../stubs/apache-hive:${testdir}/../../../../../stubs/jakarta-persistence-api-3.2.0 --release 21 diff --git a/java/ql/test/query-tests/security/CWE-798/semmle/tests/HardcodedCouchBaseCredentials.java b/java/ql/test/query-tests/security/CWE-798/semmle/tests/HardcodedCouchBaseCredentials.java new file mode 100644 index 00000000000..bad0d6de35b --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-798/semmle/tests/HardcodedCouchBaseCredentials.java @@ -0,0 +1,63 @@ +import static com.couchbase.client.java.ClusterOptions.clusterOptions; + +import com.couchbase.client.core.env.CertificateAuthenticator; +import com.couchbase.client.core.env.PasswordAuthenticator; +import com.couchbase.client.core.env.UsernameAndPassword; +import com.couchbase.client.java.Cluster; +import java.util.function.Supplier; + +public class HardcodedCouchBaseCredentials { + public static void test() { + // com.couchbase.client.core.env.CertificateAuthenticator sinks + CertificateAuthenticator.fromKey(null, "keyPassword", null); // $ HardcodedCredentialsApiCall + CertificateAuthenticator.fromKeyStore( + null, "keyStorePassword", null); // $ HardcodedCredentialsApiCall + CertificateAuthenticator.fromKeyStore( + null, "keyStorePassword"); // $ HardcodedCredentialsApiCall + + // com.couchbase.client.core.env.PasswordAuthenticator sinks + PasswordAuthenticator.create( + "Administrator", // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + "password"); // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + PasswordAuthenticator.ldapCompatible( + "Administrator", // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + "password"); // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + + // com.couchbase.client.core.env.PasswordAuthenticator$Builder sinks + PasswordAuthenticator.builder( + "Administrator", // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + "password"); // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + PasswordAuthenticator.builder() + .username("Administrator") // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + .password("password"); // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + PasswordAuthenticator.builder( + (Supplier) + () -> new UsernameAndPassword( + "Administrator", // $ HardcodedCredentialsSourceCall $ MISSING: HardcodedCredentialsApiCall + "password")); // $ HardcodedCredentialsSourceCall $ MISSING: HardcodedCredentialsApiCall + PasswordAuthenticator.builder() + .username( + (Supplier) + () -> { + return "Administrator"; // $ MISSING: HardcodedCredentialsApiCall + }) + .password( + (Supplier) + () -> { + return "password"; // $ MISSING: HardcodedCredentialsApiCall + }); + + // com.couchbase.client.java.Cluster sinks + Cluster.connect( + "127.0.0.1", + "Administrator", // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + "password"); // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + + // com.couchbase.client.java.ClusterOptions sinks + Cluster.connect( + "127.0.0.1", + clusterOptions( + "Administrator", // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + "password")); // $ HardcodedCredentialsSourceCall $ HardcodedCredentialsApiCall + } +} diff --git a/java/ql/test/query-tests/security/CWE-798/semmle/tests/options b/java/ql/test/query-tests/security/CWE-798/semmle/tests/options index 18ff7ebd8a9..209b6ec6a32 100644 --- a/java/ql/test/query-tests/security/CWE-798/semmle/tests/options +++ b/java/ql/test/query-tests/security/CWE-798/semmle/tests/options @@ -1 +1 @@ -// semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/amazon-aws-sdk-1.11.700:${testdir}/../../../../../stubs/azure-sdk-for-java:${testdir}/../../../../../stubs/shiro-core-1.4.0:${testdir}/../../../../../stubs/jsch-0.1.55:${testdir}/../../../../../stubs/ganymed-ssh-2-260:${testdir}/../../../../../stubs/apache-mina-sshd-2.8.0:${testdir}/../../../../../stubs/sshj-0.33.0:${testdir}/../../../../../stubs/j2ssh-1.5.5:${testdir}/../../../../../stubs/trilead-ssh2-212:${testdir}/../../../../../stubs/apache-commons-net-3.8.0:${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/mssql-jdbc-12.2.0:${testdir}/../../../../../stubs/auth0-jwt-2.3 +// semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/amazon-aws-sdk-1.11.700:${testdir}/../../../../../stubs/azure-sdk-for-java:${testdir}/../../../../../stubs/shiro-core-1.4.0:${testdir}/../../../../../stubs/jsch-0.1.55:${testdir}/../../../../../stubs/ganymed-ssh-2-260:${testdir}/../../../../../stubs/apache-mina-sshd-2.8.0:${testdir}/../../../../../stubs/sshj-0.33.0:${testdir}/../../../../../stubs/j2ssh-1.5.5:${testdir}/../../../../../stubs/trilead-ssh2-212:${testdir}/../../../../../stubs/apache-commons-net-3.8.0:${testdir}/../../../../../stubs/mongodbClient:${testdir}/../../../../../stubs/couchbaseClient:${testdir}/../../../../../stubs/mssql-jdbc-12.2.0:${testdir}/../../../../../stubs/auth0-jwt-2.3 diff --git a/java/ql/test/query-tests/security/CWE-918/RequestForgery.expected b/java/ql/test/query-tests/security/CWE-918/RequestForgery.expected index 66dc968cb23..3fdd2395fcb 100644 --- a/java/ql/test/query-tests/security/CWE-918/RequestForgery.expected +++ b/java/ql/test/query-tests/security/CWE-918/RequestForgery.expected @@ -253,35 +253,91 @@ | SanitizationTests.java:122:60:122:79 | new URI(...) | SanitizationTests.java:121:94:121:125 | getParameter(...) : String | SanitizationTests.java:122:60:122:79 | new URI(...) | Potential server-side request forgery due to a $@. | SanitizationTests.java:121:94:121:125 | getParameter(...) | user-provided value | | SanitizationTests.java:123:25:123:33 | unsafer10 | SanitizationTests.java:121:94:121:125 | getParameter(...) : String | SanitizationTests.java:123:25:123:33 | unsafer10 | Potential server-side request forgery due to a $@. | SanitizationTests.java:121:94:121:125 | getParameter(...) | user-provided value | | SpringSSRF.java:32:39:32:59 | ... + ... | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:32:39:32:59 | ... + ... | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:33:35:33:48 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:33:35:33:48 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:34:34:34:47 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:34:34:34:47 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:35:39:35:52 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:35:39:35:52 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:36:69:36:82 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:36:69:36:82 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:37:73:37:86 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:37:73:37:86 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:40:69:40:97 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:40:69:40:97 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:42:69:42:119 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:42:69:42:119 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:44:41:44:54 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:44:41:44:54 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:45:40:45:62 | new URI(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:45:40:45:62 | new URI(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:46:42:46:55 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:46:42:46:55 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:47:40:47:53 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:47:40:47:53 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:48:30:48:43 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:48:30:48:43 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:49:33:49:46 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:49:33:49:46 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:50:41:50:54 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:50:41:50:54 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:51:42:51:55 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:51:42:51:55 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:56:44:56:46 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:56:44:56:46 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:58:35:58:37 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:58:35:58:37 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:59:35:59:37 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:59:35:59:37 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:60:38:60:40 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:60:38:60:40 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:61:39:61:41 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:61:39:61:41 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:62:37:62:39 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:62:37:62:39 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:63:36:63:38 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:63:36:63:38 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:64:44:64:46 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:64:44:64:46 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:70:49:70:51 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:70:49:70:51 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:71:58:71:60 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:71:58:71:60 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:72:57:72:59 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:72:57:72:59 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:73:66:73:68 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:73:66:73:68 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:74:57:74:59 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:74:57:74:59 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | -| SpringSSRF.java:75:66:75:68 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:75:66:75:68 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:33:69:33:82 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:33:69:33:82 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:34:73:34:86 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:34:73:34:86 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:35:87:35:100 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:35:87:35:100 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:38:69:38:97 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:38:69:38:97 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:40:69:40:119 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:40:69:40:119 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:43:35:43:48 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:43:35:43:48 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:44:91:44:104 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:44:91:44:104 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:45:95:45:108 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:45:95:45:108 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:46:109:46:122 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:46:109:46:122 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:49:91:49:119 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:49:91:49:119 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:51:91:51:141 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:51:91:51:141 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:54:34:54:47 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:54:34:54:47 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:55:79:55:92 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:55:79:55:92 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:56:83:56:96 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:56:83:56:96 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:57:97:57:110 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:57:97:57:110 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:60:79:60:107 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:60:79:60:107 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:62:79:62:129 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:62:79:62:129 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:65:39:65:52 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:65:39:65:52 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:66:69:66:82 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:66:69:66:82 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:67:73:67:86 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:67:73:67:86 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:68:87:68:100 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:68:87:68:100 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:71:69:71:97 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:71:69:71:97 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:73:69:73:119 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:73:69:73:119 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:76:41:76:54 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:76:41:76:54 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:77:93:77:106 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:77:93:77:106 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:78:97:78:110 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:78:97:78:110 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:79:111:79:124 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:79:111:79:124 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:82:93:82:121 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:82:93:82:121 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:84:93:84:143 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:84:93:84:143 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:87:40:87:62 | new URI(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:87:40:87:62 | new URI(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:88:92:88:105 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:88:92:88:105 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:89:96:89:109 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:89:96:89:109 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:90:110:90:123 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:90:110:90:123 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:93:92:93:120 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:93:92:93:120 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:95:92:95:142 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:95:92:95:142 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:98:42:98:55 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:98:42:98:55 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:99:80:99:93 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:99:80:99:93 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:100:84:100:97 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:100:84:100:97 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:101:98:101:111 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:101:98:101:111 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:104:80:104:108 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:104:80:104:108 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:106:80:106:130 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:106:80:106:130 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:109:40:109:53 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:109:40:109:53 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:110:92:110:105 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:110:92:110:105 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:111:96:111:109 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:111:96:111:109 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:112:110:112:123 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:112:110:112:123 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:115:92:115:120 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:115:92:115:120 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:117:92:117:142 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:117:92:117:142 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:120:30:120:43 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:120:30:120:43 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:121:68:121:81 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:121:68:121:81 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:122:72:122:85 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:122:72:122:85 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:123:86:123:99 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:123:86:123:99 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:126:68:126:96 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:126:68:126:96 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:128:68:128:118 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:128:68:128:118 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:131:33:131:46 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:131:33:131:46 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:132:49:132:62 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:132:49:132:62 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:133:53:133:66 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:133:53:133:66 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:134:67:134:80 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:134:67:134:80 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:137:49:137:77 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:137:49:137:77 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:139:49:139:99 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:139:49:139:99 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:142:41:142:54 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:142:41:142:54 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:143:57:143:70 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:143:57:143:70 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:144:61:144:74 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:144:61:144:74 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:145:75:145:88 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:145:75:145:88 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:148:57:148:85 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:148:57:148:85 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:150:57:150:107 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:150:57:150:107 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:153:42:153:55 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:153:42:153:55 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:154:58:154:71 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:154:58:154:71 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:155:62:155:75 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:155:62:155:75 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:156:76:156:89 | fooResourceUrl | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:156:76:156:89 | fooResourceUrl | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:159:58:159:86 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:159:58:159:86 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:161:58:161:108 | of(...) | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:161:58:161:108 | of(...) | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:168:44:168:46 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:168:44:168:46 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:170:35:170:37 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:170:35:170:37 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:171:35:171:37 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:171:35:171:37 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:172:38:172:40 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:172:38:172:40 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:173:39:173:41 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:173:39:173:41 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:174:37:174:39 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:174:37:174:39 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:175:36:175:38 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:175:36:175:38 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:176:44:176:46 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:176:44:176:46 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:182:49:182:51 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:182:49:182:51 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:183:58:183:60 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:183:58:183:60 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:184:57:184:59 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:184:57:184:59 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:185:66:185:68 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:185:66:185:68 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:186:57:186:59 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:186:57:186:59 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | +| SpringSSRF.java:187:66:187:68 | uri | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:187:66:187:68 | uri | Potential server-side request forgery due to a $@. | SpringSSRF.java:28:33:28:60 | getParameter(...) | user-provided value | | URLClassLoaderSSRF.java:18:64:18:85 | new URL[] | URLClassLoaderSSRF.java:16:26:16:52 | getParameter(...) : String | URLClassLoaderSSRF.java:18:64:18:85 | new URL[] | Potential server-side request forgery due to a $@. | URLClassLoaderSSRF.java:16:26:16:52 | getParameter(...) | user-provided value | | URLClassLoaderSSRF.java:30:64:30:85 | new URL[] | URLClassLoaderSSRF.java:28:26:28:52 | getParameter(...) : String | URLClassLoaderSSRF.java:30:64:30:85 | new URL[] | Potential server-side request forgery due to a $@. | URLClassLoaderSSRF.java:28:26:28:52 | getParameter(...) | user-provided value | | URLClassLoaderSSRF.java:44:64:44:85 | new URL[] | URLClassLoaderSSRF.java:40:26:40:52 | getParameter(...) : String | URLClassLoaderSSRF.java:44:64:44:85 | new URL[] | Potential server-side request forgery due to a $@. | URLClassLoaderSSRF.java:40:26:40:52 | getParameter(...) | user-provided value | @@ -778,45 +834,123 @@ edges | SanitizationTests.java:122:68:122:78 | unsafeUri10 : String | SanitizationTests.java:122:60:122:79 | new URI(...) : URI | provenance | Config | | SanitizationTests.java:122:68:122:78 | unsafeUri10 : String | SanitizationTests.java:122:60:122:79 | new URI(...) : URI | provenance | MaD:285 | | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:32:39:32:59 | ... + ... | provenance | Src:MaD:277 Sink:MaD:264 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:33:35:33:48 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:262 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:34:34:34:47 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:263 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:35:39:35:52 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:265 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:36:69:36:82 | fooResourceUrl | provenance | Src:MaD:277 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:37:73:37:86 | fooResourceUrl | provenance | Src:MaD:277 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:40:83:40:96 | fooResourceUrl : String | provenance | Src:MaD:277 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:42:105:42:118 | fooResourceUrl : String | provenance | Src:MaD:277 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:44:41:44:54 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:268 | -| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | provenance | Src:MaD:277 | -| SpringSSRF.java:40:83:40:96 | fooResourceUrl : String | SpringSSRF.java:40:69:40:97 | of(...) | provenance | MaD:289 | -| SpringSSRF.java:42:105:42:118 | fooResourceUrl : String | SpringSSRF.java:42:69:42:119 | of(...) | provenance | MaD:290 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:45:40:45:62 | new URI(...) | provenance | Config Sink:MaD:269 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:45:40:45:62 | new URI(...) | provenance | MaD:285 Sink:MaD:269 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:46:42:46:55 | fooResourceUrl | provenance | Sink:MaD:270 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:47:40:47:53 | fooResourceUrl | provenance | Sink:MaD:271 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:48:30:48:43 | fooResourceUrl | provenance | Sink:MaD:272 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:49:33:49:46 | fooResourceUrl | provenance | Sink:MaD:261 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:50:41:50:54 | fooResourceUrl | provenance | Sink:MaD:266 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:51:42:51:55 | fooResourceUrl | provenance | Sink:MaD:267 | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | SpringSSRF.java:54:35:54:48 | fooResourceUrl : String | provenance | | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:56:44:56:46 | uri | provenance | Sink:MaD:255 | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:58:35:58:37 | uri | provenance | Sink:MaD:250 | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:59:35:59:37 | uri | provenance | Sink:MaD:256 | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:60:38:60:40 | uri | provenance | Sink:MaD:249 | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:61:39:61:41 | uri | provenance | Sink:MaD:253 | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:62:37:62:39 | uri | provenance | Sink:MaD:254 | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:63:36:63:38 | uri | provenance | Sink:MaD:251 | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | SpringSSRF.java:64:44:64:46 | uri | provenance | Sink:MaD:252 | -| SpringSSRF.java:54:35:54:48 | fooResourceUrl : String | SpringSSRF.java:54:27:54:49 | new URI(...) : URI | provenance | Config | -| SpringSSRF.java:54:35:54:48 | fooResourceUrl : String | SpringSSRF.java:54:27:54:49 | new URI(...) : URI | provenance | MaD:285 | -| SpringSSRF.java:54:35:54:48 | fooResourceUrl : String | SpringSSRF.java:67:35:67:48 | fooResourceUrl : String | provenance | | -| SpringSSRF.java:67:27:67:49 | new URI(...) : URI | SpringSSRF.java:70:49:70:51 | uri | provenance | Sink:MaD:243 | -| SpringSSRF.java:67:27:67:49 | new URI(...) : URI | SpringSSRF.java:71:58:71:60 | uri | provenance | Sink:MaD:244 | -| SpringSSRF.java:67:27:67:49 | new URI(...) : URI | SpringSSRF.java:72:57:72:59 | uri | provenance | Sink:MaD:245 | -| SpringSSRF.java:67:27:67:49 | new URI(...) : URI | SpringSSRF.java:73:66:73:68 | uri | provenance | Sink:MaD:247 | -| SpringSSRF.java:67:27:67:49 | new URI(...) : URI | SpringSSRF.java:74:57:74:59 | uri | provenance | Sink:MaD:246 | -| SpringSSRF.java:67:27:67:49 | new URI(...) : URI | SpringSSRF.java:75:66:75:68 | uri | provenance | Sink:MaD:248 | -| SpringSSRF.java:67:35:67:48 | fooResourceUrl : String | SpringSSRF.java:67:27:67:49 | new URI(...) : URI | provenance | Config | -| SpringSSRF.java:67:35:67:48 | fooResourceUrl : String | SpringSSRF.java:67:27:67:49 | new URI(...) : URI | provenance | MaD:285 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:33:69:33:82 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:34:73:34:86 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:35:87:35:100 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:38:83:38:96 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:40:105:40:118 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:43:35:43:48 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:262 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:44:91:44:104 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:45:95:45:108 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:46:109:46:122 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:49:105:49:118 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:51:127:51:140 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:54:34:54:47 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:263 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:55:79:55:92 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:56:83:56:96 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:57:97:57:110 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:60:93:60:106 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:62:115:62:128 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:65:39:65:52 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:265 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:66:69:66:82 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:67:73:67:86 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:68:87:68:100 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:71:83:71:96 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:73:105:73:118 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:76:41:76:54 | fooResourceUrl | provenance | Src:MaD:277 Sink:MaD:268 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:77:93:77:106 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:78:97:78:110 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:79:111:79:124 | fooResourceUrl | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:82:107:82:120 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:84:129:84:142 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:28:33:28:60 | getParameter(...) : String | SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | provenance | Src:MaD:277 | +| SpringSSRF.java:38:83:38:96 | fooResourceUrl : String | SpringSSRF.java:38:69:38:97 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:40:105:40:118 | fooResourceUrl : String | SpringSSRF.java:40:69:40:119 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:49:105:49:118 | fooResourceUrl : String | SpringSSRF.java:49:91:49:119 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:51:127:51:140 | fooResourceUrl : String | SpringSSRF.java:51:91:51:141 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:60:93:60:106 | fooResourceUrl : String | SpringSSRF.java:60:79:60:107 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:62:115:62:128 | fooResourceUrl : String | SpringSSRF.java:62:79:62:129 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:71:83:71:96 | fooResourceUrl : String | SpringSSRF.java:71:69:71:97 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:73:105:73:118 | fooResourceUrl : String | SpringSSRF.java:73:69:73:119 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:82:107:82:120 | fooResourceUrl : String | SpringSSRF.java:82:93:82:121 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:84:129:84:142 | fooResourceUrl : String | SpringSSRF.java:84:93:84:143 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:87:40:87:62 | new URI(...) | provenance | Config Sink:MaD:269 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:87:40:87:62 | new URI(...) | provenance | MaD:285 Sink:MaD:269 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:88:92:88:105 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:89:96:89:109 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:90:110:90:123 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:93:106:93:119 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:95:128:95:141 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:98:42:98:55 | fooResourceUrl | provenance | Sink:MaD:270 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:99:80:99:93 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:100:84:100:97 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:101:98:101:111 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:104:94:104:107 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:106:116:106:129 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:109:40:109:53 | fooResourceUrl | provenance | Sink:MaD:271 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:110:92:110:105 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:111:96:111:109 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:112:110:112:123 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:115:106:115:119 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:117:128:117:141 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:120:30:120:43 | fooResourceUrl | provenance | Sink:MaD:272 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:121:68:121:81 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:122:72:122:85 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:123:86:123:99 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:126:82:126:95 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:128:104:128:117 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:131:33:131:46 | fooResourceUrl | provenance | Sink:MaD:261 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:132:49:132:62 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:133:53:133:66 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:134:67:134:80 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:137:63:137:76 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:139:85:139:98 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:142:41:142:54 | fooResourceUrl | provenance | Sink:MaD:266 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:143:57:143:70 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:144:61:144:74 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:145:75:145:88 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:148:71:148:84 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:150:93:150:106 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:153:42:153:55 | fooResourceUrl | provenance | Sink:MaD:267 | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:154:58:154:71 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:155:62:155:75 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:156:76:156:89 | fooResourceUrl | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:159:72:159:85 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:161:94:161:107 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | SpringSSRF.java:166:35:166:48 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:93:106:93:119 | fooResourceUrl : String | SpringSSRF.java:93:92:93:120 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:95:128:95:141 | fooResourceUrl : String | SpringSSRF.java:95:92:95:142 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:104:94:104:107 | fooResourceUrl : String | SpringSSRF.java:104:80:104:108 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:106:116:106:129 | fooResourceUrl : String | SpringSSRF.java:106:80:106:130 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:115:106:115:119 | fooResourceUrl : String | SpringSSRF.java:115:92:115:120 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:117:128:117:141 | fooResourceUrl : String | SpringSSRF.java:117:92:117:142 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:126:82:126:95 | fooResourceUrl : String | SpringSSRF.java:126:68:126:96 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:128:104:128:117 | fooResourceUrl : String | SpringSSRF.java:128:68:128:118 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:137:63:137:76 | fooResourceUrl : String | SpringSSRF.java:137:49:137:77 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:139:85:139:98 | fooResourceUrl : String | SpringSSRF.java:139:49:139:99 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:148:71:148:84 | fooResourceUrl : String | SpringSSRF.java:148:57:148:85 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:150:93:150:106 | fooResourceUrl : String | SpringSSRF.java:150:57:150:107 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:159:72:159:85 | fooResourceUrl : String | SpringSSRF.java:159:58:159:86 | of(...) | provenance | MaD:289 | +| SpringSSRF.java:161:94:161:107 | fooResourceUrl : String | SpringSSRF.java:161:58:161:108 | of(...) | provenance | MaD:290 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:168:44:168:46 | uri | provenance | Sink:MaD:255 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:170:35:170:37 | uri | provenance | Sink:MaD:250 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:171:35:171:37 | uri | provenance | Sink:MaD:256 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:172:38:172:40 | uri | provenance | Sink:MaD:249 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:173:39:173:41 | uri | provenance | Sink:MaD:253 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:174:37:174:39 | uri | provenance | Sink:MaD:254 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:175:36:175:38 | uri | provenance | Sink:MaD:251 | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | SpringSSRF.java:176:44:176:46 | uri | provenance | Sink:MaD:252 | +| SpringSSRF.java:166:35:166:48 | fooResourceUrl : String | SpringSSRF.java:166:27:166:49 | new URI(...) : URI | provenance | Config | +| SpringSSRF.java:166:35:166:48 | fooResourceUrl : String | SpringSSRF.java:166:27:166:49 | new URI(...) : URI | provenance | MaD:285 | +| SpringSSRF.java:166:35:166:48 | fooResourceUrl : String | SpringSSRF.java:179:35:179:48 | fooResourceUrl : String | provenance | | +| SpringSSRF.java:179:27:179:49 | new URI(...) : URI | SpringSSRF.java:182:49:182:51 | uri | provenance | Sink:MaD:243 | +| SpringSSRF.java:179:27:179:49 | new URI(...) : URI | SpringSSRF.java:183:58:183:60 | uri | provenance | Sink:MaD:244 | +| SpringSSRF.java:179:27:179:49 | new URI(...) : URI | SpringSSRF.java:184:57:184:59 | uri | provenance | Sink:MaD:245 | +| SpringSSRF.java:179:27:179:49 | new URI(...) : URI | SpringSSRF.java:185:66:185:68 | uri | provenance | Sink:MaD:247 | +| SpringSSRF.java:179:27:179:49 | new URI(...) : URI | SpringSSRF.java:186:57:186:59 | uri | provenance | Sink:MaD:246 | +| SpringSSRF.java:179:27:179:49 | new URI(...) : URI | SpringSSRF.java:187:66:187:68 | uri | provenance | Sink:MaD:248 | +| SpringSSRF.java:179:35:179:48 | fooResourceUrl : String | SpringSSRF.java:179:27:179:49 | new URI(...) : URI | provenance | Config | +| SpringSSRF.java:179:35:179:48 | fooResourceUrl : String | SpringSSRF.java:179:27:179:49 | new URI(...) : URI | provenance | MaD:285 | | URLClassLoaderSSRF.java:16:26:16:52 | getParameter(...) : String | URLClassLoaderSSRF.java:17:31:17:33 | url : String | provenance | Src:MaD:277 | | URLClassLoaderSSRF.java:17:23:17:34 | new URI(...) : URI | URLClassLoaderSSRF.java:18:74:18:76 | uri : URI | provenance | | | URLClassLoaderSSRF.java:17:31:17:33 | url : String | URLClassLoaderSSRF.java:17:23:17:34 | new URI(...) : URI | provenance | Config | @@ -1683,42 +1817,120 @@ nodes | SanitizationTests.java:123:25:123:33 | unsafer10 | semmle.label | unsafer10 | | SpringSSRF.java:28:33:28:60 | getParameter(...) : String | semmle.label | getParameter(...) : String | | SpringSSRF.java:32:39:32:59 | ... + ... | semmle.label | ... + ... | -| SpringSSRF.java:33:35:33:48 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:34:34:34:47 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:35:39:35:52 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:36:69:36:82 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:37:73:37:86 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:40:69:40:97 | of(...) | semmle.label | of(...) | -| SpringSSRF.java:40:83:40:96 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | -| SpringSSRF.java:42:69:42:119 | of(...) | semmle.label | of(...) | -| SpringSSRF.java:42:105:42:118 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | -| SpringSSRF.java:44:41:44:54 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:45:40:45:62 | new URI(...) | semmle.label | new URI(...) | -| SpringSSRF.java:45:48:45:61 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | -| SpringSSRF.java:46:42:46:55 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:47:40:47:53 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:48:30:48:43 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:49:33:49:46 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:50:41:50:54 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:51:42:51:55 | fooResourceUrl | semmle.label | fooResourceUrl | -| SpringSSRF.java:54:27:54:49 | new URI(...) : URI | semmle.label | new URI(...) : URI | -| SpringSSRF.java:54:35:54:48 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | -| SpringSSRF.java:56:44:56:46 | uri | semmle.label | uri | -| SpringSSRF.java:58:35:58:37 | uri | semmle.label | uri | -| SpringSSRF.java:59:35:59:37 | uri | semmle.label | uri | -| SpringSSRF.java:60:38:60:40 | uri | semmle.label | uri | -| SpringSSRF.java:61:39:61:41 | uri | semmle.label | uri | -| SpringSSRF.java:62:37:62:39 | uri | semmle.label | uri | -| SpringSSRF.java:63:36:63:38 | uri | semmle.label | uri | -| SpringSSRF.java:64:44:64:46 | uri | semmle.label | uri | -| SpringSSRF.java:67:27:67:49 | new URI(...) : URI | semmle.label | new URI(...) : URI | -| SpringSSRF.java:67:35:67:48 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | -| SpringSSRF.java:70:49:70:51 | uri | semmle.label | uri | -| SpringSSRF.java:71:58:71:60 | uri | semmle.label | uri | -| SpringSSRF.java:72:57:72:59 | uri | semmle.label | uri | -| SpringSSRF.java:73:66:73:68 | uri | semmle.label | uri | -| SpringSSRF.java:74:57:74:59 | uri | semmle.label | uri | -| SpringSSRF.java:75:66:75:68 | uri | semmle.label | uri | +| SpringSSRF.java:33:69:33:82 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:34:73:34:86 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:35:87:35:100 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:38:69:38:97 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:38:83:38:96 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:40:69:40:119 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:40:105:40:118 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:43:35:43:48 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:44:91:44:104 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:45:95:45:108 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:46:109:46:122 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:49:91:49:119 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:49:105:49:118 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:51:91:51:141 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:51:127:51:140 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:54:34:54:47 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:55:79:55:92 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:56:83:56:96 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:57:97:57:110 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:60:79:60:107 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:60:93:60:106 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:62:79:62:129 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:62:115:62:128 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:65:39:65:52 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:66:69:66:82 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:67:73:67:86 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:68:87:68:100 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:71:69:71:97 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:71:83:71:96 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:73:69:73:119 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:73:105:73:118 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:76:41:76:54 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:77:93:77:106 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:78:97:78:110 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:79:111:79:124 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:82:93:82:121 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:82:107:82:120 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:84:93:84:143 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:84:129:84:142 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:87:40:87:62 | new URI(...) | semmle.label | new URI(...) | +| SpringSSRF.java:87:48:87:61 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:88:92:88:105 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:89:96:89:109 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:90:110:90:123 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:93:92:93:120 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:93:106:93:119 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:95:92:95:142 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:95:128:95:141 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:98:42:98:55 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:99:80:99:93 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:100:84:100:97 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:101:98:101:111 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:104:80:104:108 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:104:94:104:107 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:106:80:106:130 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:106:116:106:129 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:109:40:109:53 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:110:92:110:105 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:111:96:111:109 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:112:110:112:123 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:115:92:115:120 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:115:106:115:119 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:117:92:117:142 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:117:128:117:141 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:120:30:120:43 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:121:68:121:81 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:122:72:122:85 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:123:86:123:99 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:126:68:126:96 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:126:82:126:95 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:128:68:128:118 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:128:104:128:117 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:131:33:131:46 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:132:49:132:62 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:133:53:133:66 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:134:67:134:80 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:137:49:137:77 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:137:63:137:76 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:139:49:139:99 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:139:85:139:98 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:142:41:142:54 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:143:57:143:70 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:144:61:144:74 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:145:75:145:88 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:148:57:148:85 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:148:71:148:84 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:150:57:150:107 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:150:93:150:106 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:153:42:153:55 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:154:58:154:71 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:155:62:155:75 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:156:76:156:89 | fooResourceUrl | semmle.label | fooResourceUrl | +| SpringSSRF.java:159:58:159:86 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:159:72:159:85 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:161:58:161:108 | of(...) | semmle.label | of(...) | +| SpringSSRF.java:161:94:161:107 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:166:27:166:49 | new URI(...) : URI | semmle.label | new URI(...) : URI | +| SpringSSRF.java:166:35:166:48 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:168:44:168:46 | uri | semmle.label | uri | +| SpringSSRF.java:170:35:170:37 | uri | semmle.label | uri | +| SpringSSRF.java:171:35:171:37 | uri | semmle.label | uri | +| SpringSSRF.java:172:38:172:40 | uri | semmle.label | uri | +| SpringSSRF.java:173:39:173:41 | uri | semmle.label | uri | +| SpringSSRF.java:174:37:174:39 | uri | semmle.label | uri | +| SpringSSRF.java:175:36:175:38 | uri | semmle.label | uri | +| SpringSSRF.java:176:44:176:46 | uri | semmle.label | uri | +| SpringSSRF.java:179:27:179:49 | new URI(...) : URI | semmle.label | new URI(...) : URI | +| SpringSSRF.java:179:35:179:48 | fooResourceUrl : String | semmle.label | fooResourceUrl : String | +| SpringSSRF.java:182:49:182:51 | uri | semmle.label | uri | +| SpringSSRF.java:183:58:183:60 | uri | semmle.label | uri | +| SpringSSRF.java:184:57:184:59 | uri | semmle.label | uri | +| SpringSSRF.java:185:66:185:68 | uri | semmle.label | uri | +| SpringSSRF.java:186:57:186:59 | uri | semmle.label | uri | +| SpringSSRF.java:187:66:187:68 | uri | semmle.label | uri | | URLClassLoaderSSRF.java:16:26:16:52 | getParameter(...) : String | semmle.label | getParameter(...) : String | | URLClassLoaderSSRF.java:17:23:17:34 | new URI(...) : URI | semmle.label | new URI(...) : URI | | URLClassLoaderSSRF.java:17:31:17:33 | url : String | semmle.label | url : String | diff --git a/java/ql/test/query-tests/security/CWE-918/SpringSSRF.java b/java/ql/test/query-tests/security/CWE-918/SpringSSRF.java index 446e774214d..dd1ffd60367 100644 --- a/java/ql/test/query-tests/security/CWE-918/SpringSSRF.java +++ b/java/ql/test/query-tests/security/CWE-918/SpringSSRF.java @@ -30,25 +30,137 @@ public class SpringSSRF extends HttpServlet { HttpEntity request = new HttpEntity<>(new String("bar")); try { restTemplate.getForEntity(fooResourceUrl + "/1", String.class); // $ Alert + restTemplate.getForEntity("http://{foo}", String.class, fooResourceUrl); // $ Alert + restTemplate.getForEntity("http://{foo}/a/b", String.class, fooResourceUrl); // $ Alert + restTemplate.getForEntity("{protocol}://{foo}/a/b", String.class, "http", fooResourceUrl); // $ Alert + restTemplate.getForEntity("http://safe.com/{foo}", String.class, fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.getForEntity("http://{foo}", String.class, "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.getForEntity("http://{foo}", String.class, Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.getForEntity("http://safe.com/{foo}", String.class, Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.getForEntity("http://{foo}", String.class, Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.getForEntity("http://{foo}", String.class, Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.exchange(fooResourceUrl, HttpMethod.POST, request, String.class); // $ Alert + restTemplate.exchange("http://{foo}", HttpMethod.POST, request, String.class, fooResourceUrl); // $ Alert + restTemplate.exchange("http://{foo}/a/b", HttpMethod.POST, request, String.class, fooResourceUrl); // $ Alert + restTemplate.exchange("{protocol}://{foo}/a/b", HttpMethod.POST, request, String.class, "http", fooResourceUrl); // $ Alert + restTemplate.exchange("http://safe.com/{foo}", HttpMethod.POST, request, String.class, fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.exchange("http://{foo}", HttpMethod.POST, request, String.class, "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.exchange("http://{foo}", HttpMethod.POST, request, String.class, Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.exchange("http://safe.com/{foo}", HttpMethod.POST, request, String.class, Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.exchange("http://{foo}", HttpMethod.POST, request, String.class, Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.exchange("http://{foo}", HttpMethod.POST, request, String.class, Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.execute(fooResourceUrl, HttpMethod.POST, null, null, "test"); // $ Alert + restTemplate.execute("http://{foo}", HttpMethod.POST, null, null, fooResourceUrl); // $ Alert + restTemplate.execute("http://{foo}/a/b", HttpMethod.POST, null, null, fooResourceUrl); // $ Alert + restTemplate.execute("{protocol}://{foo}/a/b", HttpMethod.POST, null, null, "http", fooResourceUrl); // $ Alert + restTemplate.execute("http://safe.com/{foo}", HttpMethod.POST, null, null, fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.execute("http://{foo}", HttpMethod.POST, null, null, "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.execute("http://{foo}", HttpMethod.POST, null, null, Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.execute("http://safe.com/{foo}", HttpMethod.POST, null, null, Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.execute("http://{foo}", HttpMethod.POST, null, null, Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.execute("http://{foo}", HttpMethod.POST, null, null, Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.getForObject(fooResourceUrl, String.class, "test"); // $ Alert restTemplate.getForObject("http://{foo}", String.class, fooResourceUrl); // $ Alert restTemplate.getForObject("http://{foo}/a/b", String.class, fooResourceUrl); // $ Alert + restTemplate.getForObject("{protocol}://{foo}/a/b", String.class, "http", fooResourceUrl); // $ Alert restTemplate.getForObject("http://safe.com/{foo}", String.class, fooResourceUrl); // not bad - the tainted value does not affect the host restTemplate.getForObject("http://{foo}", String.class, "safe.com", fooResourceUrl); // not bad - the tainted value is unused restTemplate.getForObject("http://{foo}", String.class, Map.of("foo", fooResourceUrl)); // $ Alert restTemplate.getForObject("http://safe.com/{foo}", String.class, Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host restTemplate.getForObject("http://{foo}", String.class, Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused restTemplate.getForObject("http://{foo}", String.class, Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.patchForObject(fooResourceUrl, new String("object"), String.class, "hi"); // $ Alert + restTemplate.patchForObject("http://{foo}", new String("object"), String.class, fooResourceUrl); // $ Alert + restTemplate.patchForObject("http://{foo}/a/b", new String("object"), String.class, fooResourceUrl); // $ Alert + restTemplate.patchForObject("{protocol}://{foo}/a/b", new String("object"), String.class, "http", fooResourceUrl); // $ Alert + restTemplate.patchForObject("http://safe.com/{foo}", new String("object"), String.class, fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.patchForObject("http://{foo}", new String("object"), String.class, "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.patchForObject("http://{foo}", new String("object"), String.class, Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.patchForObject("http://safe.com/{foo}", new String("object"), String.class, Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.patchForObject("http://{foo}", new String("object"), String.class, Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.patchForObject("http://{foo}", new String("object"), String.class, Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.postForEntity(new URI(fooResourceUrl), new String("object"), String.class); // $ Alert + restTemplate.postForEntity("http://{foo}", new String("object"), String.class, fooResourceUrl); // $ Alert + restTemplate.postForEntity("http://{foo}/a/b", new String("object"), String.class, fooResourceUrl); // $ Alert + restTemplate.postForEntity("{protocol}://{foo}/a/b", new String("object"), String.class, "http", fooResourceUrl); // $ Alert + restTemplate.postForEntity("http://safe.com/{foo}", new String("object"), String.class, fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.postForEntity("http://{foo}", new String("object"), String.class, "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.postForEntity("http://{foo}", new String("object"), String.class, Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.postForEntity("http://safe.com/{foo}", new String("object"), String.class, Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.postForEntity("http://{foo}", new String("object"), String.class, Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.postForEntity("http://{foo}", new String("object"), String.class, Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.postForLocation(fooResourceUrl, new String("object")); // $ Alert + restTemplate.postForLocation("http://{foo}", new String("object"), fooResourceUrl); // $ Alert + restTemplate.postForLocation("http://{foo}/a/b", new String("object"), fooResourceUrl); // $ Alert + restTemplate.postForLocation("{protocol}://{foo}/a/b", new String("object"), "http", fooResourceUrl); // $ Alert + restTemplate.postForLocation("http://safe.com/{foo}", new String("object"), fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.postForLocation("http://{foo}", new String("object"), "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.postForLocation("http://{foo}", new String("object"), Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.postForLocation("http://safe.com/{foo}", new String("object"), Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.postForLocation("http://{foo}", new String("object"), Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.postForLocation("http://{foo}", new String("object"), Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.postForObject(fooResourceUrl, new String("object"), String.class); // $ Alert + restTemplate.postForObject("http://{foo}", new String("object"), String.class, fooResourceUrl); // $ Alert + restTemplate.postForObject("http://{foo}/a/b", new String("object"), String.class, fooResourceUrl); // $ Alert + restTemplate.postForObject("{protocol}://{foo}/a/b", new String("object"), String.class, "http", fooResourceUrl); // $ Alert + restTemplate.postForObject("http://safe.com/{foo}", new String("object"), String.class, fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.postForObject("http://{foo}", new String("object"), String.class, "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.postForObject("http://{foo}", new String("object"), String.class, Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.postForObject("http://safe.com/{foo}", new String("object"), String.class, Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.postForObject("http://{foo}", new String("object"), String.class, Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.postForObject("http://{foo}", new String("object"), String.class, Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.put(fooResourceUrl, new String("object")); // $ Alert + restTemplate.put("http://{foo}", new String("object"), fooResourceUrl); // $ Alert + restTemplate.put("http://{foo}/a/b", new String("object"), fooResourceUrl); // $ Alert + restTemplate.put("{protocol}://{foo}/a/b", new String("object"), "http", fooResourceUrl); // $ Alert + restTemplate.put("http://safe.com/{foo}", new String("object"), fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.put("http://{foo}", new String("object"), "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.put("http://{foo}", new String("object"), Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.put("http://safe.com/{foo}", new String("object"), Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.put("http://{foo}", new String("object"), Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.put("http://{foo}", new String("object"), Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.delete(fooResourceUrl); // $ Alert + restTemplate.delete("http://{foo}", fooResourceUrl); // $ Alert + restTemplate.delete("http://{foo}/a/b", fooResourceUrl); // $ Alert + restTemplate.delete("{protocol}://{foo}/a/b", "http", fooResourceUrl); // $ Alert + restTemplate.delete("http://safe.com/{foo}", fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.delete("http://{foo}", "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.delete("http://{foo}", Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.delete("http://safe.com/{foo}", Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.delete("http://{foo}", Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.delete("http://{foo}", Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.headForHeaders(fooResourceUrl); // $ Alert + restTemplate.headForHeaders("http://{foo}", fooResourceUrl); // $ Alert + restTemplate.headForHeaders("http://{foo}/a/b", fooResourceUrl); // $ Alert + restTemplate.headForHeaders("{protocol}://{foo}/a/b", "http", fooResourceUrl); // $ Alert + restTemplate.headForHeaders("http://safe.com/{foo}", fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.headForHeaders("http://{foo}", "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.headForHeaders("http://{foo}", Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.headForHeaders("http://safe.com/{foo}", Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.headForHeaders("http://{foo}", Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.headForHeaders("http://{foo}", Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + restTemplate.optionsForAllow(fooResourceUrl); // $ Alert + restTemplate.optionsForAllow("http://{foo}", fooResourceUrl); // $ Alert + restTemplate.optionsForAllow("http://{foo}/a/b", fooResourceUrl); // $ Alert + restTemplate.optionsForAllow("{protocol}://{foo}/a/b", "http", fooResourceUrl); // $ Alert + restTemplate.optionsForAllow("http://safe.com/{foo}", fooResourceUrl); // not bad - the tainted value does not affect the host + restTemplate.optionsForAllow("http://{foo}", "safe.com", fooResourceUrl); // not bad - the tainted value is unused + restTemplate.optionsForAllow("http://{foo}", Map.of("foo", fooResourceUrl)); // $ Alert + restTemplate.optionsForAllow("http://safe.com/{foo}", Map.of("foo", fooResourceUrl)); // not bad - the tainted value does not affect the host + restTemplate.optionsForAllow("http://{foo}", Map.of("foo", "safe.com", "unused", fooResourceUrl)); // $ SPURIOUS: Alert // not bad - the key for the tainted value is unused + restTemplate.optionsForAllow("http://{foo}", Map.of("foo", "safe.com", fooResourceUrl, "unused")); // not bad - the tainted value is in a map key + { String body = new String("body"); URI uri = new URI(fooResourceUrl); diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/Authenticator.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/Authenticator.java new file mode 100644 index 00000000000..2868d486698 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/Authenticator.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.core.env; + + +public interface Authenticator {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/CertificateAuthenticator.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/CertificateAuthenticator.java new file mode 100644 index 00000000000..eb837ab18fe --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/CertificateAuthenticator.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2019 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.core.env; + +import java.nio.file.Path; +import java.security.KeyStore; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; +import java.util.List; +import java.util.Optional; + +public class CertificateAuthenticator implements Authenticator { + + public static CertificateAuthenticator fromKeyStore( + final Path keyStorePath, final String keyStorePassword, final Optional keyStoreType) { + return null; + } + + public static CertificateAuthenticator fromKeyStore( + final KeyStore keyStore, final String keyStorePassword) { + return null; + } + + public static CertificateAuthenticator fromKey( + final PrivateKey key, final String keyPassword, final List keyCertChain) { + return null; + } +} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/PasswordAuthenticator.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/PasswordAuthenticator.java new file mode 100644 index 00000000000..f5faca54ad3 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/PasswordAuthenticator.java @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2019 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.couchbase.client.core.env; + +import java.util.function.Supplier; + +public class PasswordAuthenticator implements Authenticator { + + public static PasswordAuthenticator.Builder builder() { + return null; + } + + public static PasswordAuthenticator.Builder builder(String username, String password) { + return null; + } + + public static PasswordAuthenticator.Builder builder(Supplier supplier) { + return null; + } + + public static PasswordAuthenticator create(final String username, final String password) { + return null; + } + + public static PasswordAuthenticator ldapCompatible(final String username, final String password) { + return null; + } + + private static String encodeAuthHttpHeader(UsernameAndPassword credentials) { + return null; + } + + public static class Builder { + + public Builder username(final String username) { + return null; + } + + public Builder username(final Supplier username) { + return null; + } + + public Builder password(final String password) { + return null; + } + + public Builder password(final Supplier password) { + return null; + } + + public static PasswordAuthenticator builder(String username, String password) { + return null; + } + + public static PasswordAuthenticator builder(Supplier supplier) { + return null; + } + } +} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/SeedNode.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/SeedNode.java new file mode 100644 index 00000000000..fa8fcb4b6d2 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/SeedNode.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2019 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.core.env; + +public class SeedNode {} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/UsernameAndPassword.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/UsernameAndPassword.java new file mode 100644 index 00000000000..5853a667331 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/core/env/UsernameAndPassword.java @@ -0,0 +1,21 @@ +/* + * Copyright 2024 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.core.env; + +public class UsernameAndPassword { + public UsernameAndPassword(String username, String password) {} +} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/AsyncCluster.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/AsyncCluster.java new file mode 100644 index 00000000000..2dd340befec --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/AsyncCluster.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.java; + + +public class AsyncCluster { + + public static AsyncCluster connect( + final String connectionString, final String username, final String password) { + return null; + } + + public static AsyncCluster connect(final String connectionString, final ClusterOptions options) { + return null; + } +} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/Bucket.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/Bucket.java new file mode 100644 index 00000000000..e7342dc21ec --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/Bucket.java @@ -0,0 +1,3 @@ +package com.couchbase.client.java; + +public class Bucket {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/Cluster.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/Cluster.java new file mode 100644 index 00000000000..8f8cf3d0bec --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/Cluster.java @@ -0,0 +1,62 @@ +package com.couchbase.client.java; + +import com.couchbase.client.core.env.SeedNode; +import com.couchbase.client.java.analytics.AnalyticsOptions; +import com.couchbase.client.java.analytics.AnalyticsResult; +import com.couchbase.client.java.query.QueryMetaData; +import com.couchbase.client.java.query.QueryOptions; +import com.couchbase.client.java.query.QueryResult; +import com.couchbase.client.java.query.QueryRow; +import java.io.Closeable; +import java.util.Set; +import java.util.function.Consumer; + +public class Cluster implements Closeable { + + public Bucket bucket(String bucketName) { + return null; + } + + public static Cluster connect( + final String connectionString, final String username, final String password) { + return null; + } + + public static Cluster connect(final String connectionString, final ClusterOptions options) { + return null; + } + + public static Cluster connect(final Set seedNodes, final ClusterOptions options) { + return null; + } + + public AnalyticsResult analyticsQuery(final String statement) { + return null; + } + + public AnalyticsResult analyticsQuery(final String statement, final AnalyticsOptions options) { + return null; + } + + public QueryResult query(final String statement) { + return null; + } + + public QueryResult query(final String statement, final QueryOptions options) { + return null; + } + + public QueryMetaData queryStreaming(String statement, Consumer rowAction) { + + return null; + } + + public QueryMetaData queryStreaming( + String statement, QueryOptions options, Consumer rowAction) { + + return null; + } + + @Override + public void close() {} +} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/ClusterOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/ClusterOptions.java new file mode 100644 index 00000000000..7c506393ee3 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/ClusterOptions.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2019 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.couchbase.client.java; + +import com.couchbase.client.core.env.Authenticator; + +public class ClusterOptions { + public static ClusterOptions clusterOptions(final Authenticator authenticator) { + return null; + } + + public static ClusterOptions clusterOptions(final String username, final String password) { + return null; + } +} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/CommonOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/CommonOptions.java new file mode 100644 index 00000000000..fbef5a508e3 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/CommonOptions.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.java; + +public abstract class CommonOptions> {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/analytics/AnalyticsOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/analytics/AnalyticsOptions.java new file mode 100644 index 00000000000..dc4ed56f54d --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/analytics/AnalyticsOptions.java @@ -0,0 +1,3 @@ +package com.couchbase.client.java.analytics; + +public class AnalyticsOptions {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/analytics/AnalyticsResult.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/analytics/AnalyticsResult.java new file mode 100644 index 00000000000..6299d6ba8c2 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/analytics/AnalyticsResult.java @@ -0,0 +1,3 @@ +package com.couchbase.client.java.analytics; + +public class AnalyticsResult {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/CommonDurabilityOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/CommonDurabilityOptions.java new file mode 100644 index 00000000000..77d2272adf7 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/CommonDurabilityOptions.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.java.kv; + +import com.couchbase.client.java.CommonOptions; + +public abstract class CommonDurabilityOptions> + extends CommonOptions {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/InsertOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/InsertOptions.java new file mode 100644 index 00000000000..b5742246822 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/InsertOptions.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.java.kv; + +public class InsertOptions extends CommonDurabilityOptions {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/MutationResult.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/MutationResult.java new file mode 100644 index 00000000000..ada739a2c4e --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/MutationResult.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.java.kv; + +/** + * Result returned from all kinds of Key-Value mutation operations. + * + * @since 3.0.0 + */ +public class MutationResult {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/ReplaceOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/ReplaceOptions.java new file mode 100644 index 00000000000..db2cfae69a8 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/ReplaceOptions.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.java.kv; + +public class ReplaceOptions extends CommonDurabilityOptions {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/UpsertOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/UpsertOptions.java new file mode 100644 index 00000000000..de82b64290d --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/kv/UpsertOptions.java @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2018 Couchbase, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.couchbase.client.java.kv; + +public class UpsertOptions extends CommonDurabilityOptions { + + private UpsertOptions() {} + + public static UpsertOptions upsertOptions() { + return null; + } +} \ No newline at end of file diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryMetaData.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryMetaData.java new file mode 100644 index 00000000000..a8f33cb0008 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryMetaData.java @@ -0,0 +1,3 @@ +package com.couchbase.client.java.query; + +public class QueryMetaData {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryOptions.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryOptions.java new file mode 100644 index 00000000000..9b4390f1f1e --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryOptions.java @@ -0,0 +1,3 @@ +package com.couchbase.client.java.query; + +public class QueryOptions {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryResult.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryResult.java new file mode 100644 index 00000000000..e86e0198d4d --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryResult.java @@ -0,0 +1,3 @@ +package com.couchbase.client.java.query; + +public class QueryResult {} diff --git a/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryRow.java b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryRow.java new file mode 100644 index 00000000000..2e30725bc41 --- /dev/null +++ b/java/ql/test/stubs/couchbaseClient/com/couchbase/client/java/query/QueryRow.java @@ -0,0 +1,3 @@ +package com.couchbase.client.java.query; + +public class QueryRow {} diff --git a/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/old.dbscheme b/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/old.dbscheme new file mode 100644 index 00000000000..578367e82a2 --- /dev/null +++ b/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/old.dbscheme @@ -0,0 +1,1217 @@ +/*** Standard fragments ***/ + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- JavaScript-specific part -*/ + +@location = @location_default + +@sourceline = @locatable; + +filetype( + int file: @file ref, + string filetype: string ref +) + +// top-level code fragments +toplevels (unique int id: @toplevel, + int kind: int ref); + +is_externs (int toplevel: @toplevel ref); + +case @toplevel.kind of + 0 = @script +| 1 = @inline_script +| 2 = @event_handler +| 3 = @javascript_url +| 4 = @template_toplevel; + +is_module (int tl: @toplevel ref); +is_nodejs (int tl: @toplevel ref); +is_es2015_module (int tl: @toplevel ref); +is_closure_module (int tl: @toplevel ref); + +@xml_node_with_code = @xmlelement | @xmlattribute | @template_placeholder_tag; +toplevel_parent_xml_node( + unique int toplevel: @toplevel ref, + int xmlnode: @xml_node_with_code ref); + +xml_element_parent_expression( + unique int xmlnode: @xmlelement ref, + int expression: @expr ref, + int index: int ref); + +// statements +#keyset[parent, idx] +stmts (unique int id: @stmt, + int kind: int ref, + int parent: @stmt_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +stmt_containers (unique int stmt: @stmt ref, + int container: @stmt_container ref); + +jump_targets (unique int jump: @stmt ref, + int target: @stmt ref); + +@stmt_parent = @stmt | @toplevel | @function_expr | @arrow_function_expr | @static_initializer; +@stmt_container = @toplevel | @function | @namespace_declaration | @external_module_declaration | @global_augmentation_declaration; + +case @stmt.kind of + 0 = @empty_stmt +| 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @labeled_stmt +| 5 = @break_stmt +| 6 = @continue_stmt +| 7 = @with_stmt +| 8 = @switch_stmt +| 9 = @return_stmt +| 10 = @throw_stmt +| 11 = @try_stmt +| 12 = @while_stmt +| 13 = @do_while_stmt +| 14 = @for_stmt +| 15 = @for_in_stmt +| 16 = @debugger_stmt +| 17 = @function_decl_stmt +| 18 = @var_decl_stmt +| 19 = @case +| 20 = @catch_clause +| 21 = @for_of_stmt +| 22 = @const_decl_stmt +| 23 = @let_stmt +| 24 = @legacy_let_stmt +| 25 = @for_each_stmt +| 26 = @class_decl_stmt +| 27 = @import_declaration +| 28 = @export_all_declaration +| 29 = @export_default_declaration +| 30 = @export_named_declaration +| 31 = @namespace_declaration +| 32 = @import_equals_declaration +| 33 = @export_assign_declaration +| 34 = @interface_declaration +| 35 = @type_alias_declaration +| 36 = @enum_declaration +| 37 = @external_module_declaration +| 38 = @export_as_namespace_declaration +| 39 = @global_augmentation_declaration +| 40 = @using_decl_stmt +; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @let_stmt | @legacy_let_stmt | @using_decl_stmt; + +@export_declaration = @export_all_declaration | @export_default_declaration | @export_named_declaration; + +@namespace_definition = @namespace_declaration | @enum_declaration; +@type_definition = @class_definition | @interface_declaration | @enum_declaration | @type_alias_declaration | @enum_member; + +is_instantiated(unique int decl: @namespace_declaration ref); + +@declarable_node = @decl_stmt | @namespace_declaration | @class_decl_stmt | @function_decl_stmt | @enum_declaration | @external_module_declaration | @global_augmentation_declaration | @field; +has_declare_keyword(unique int stmt: @declarable_node ref); + +is_for_await_of(unique int forof: @for_of_stmt ref); + +// expressions +#keyset[parent, idx] +exprs (unique int id: @expr, + int kind: int ref, + int parent: @expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @expr_or_type ref); + +enclosing_stmt (unique int expr: @expr_or_type ref, + int stmt: @stmt ref); + +expr_containers (unique int expr: @expr_or_type ref, + int container: @stmt_container ref); + +array_size (unique int ae: @arraylike ref, + int sz: int ref); + +is_delegating (int yield: @yield_expr ref); + +@expr_or_stmt = @expr | @stmt; +@expr_or_type = @expr | @typeexpr; +@expr_parent = @expr_or_stmt | @property | @function_typeexpr; +@arraylike = @array_expr | @array_pattern; +@type_annotation = @typeexpr | @jsdoc_type_expr; +@node_in_stmt_container = @cfg_node | @type_annotation | @toplevel; + +case @expr.kind of + 0 = @label +| 1 = @null_literal +| 2 = @boolean_literal +| 3 = @number_literal +| 4 = @string_literal +| 5 = @regexp_literal +| 6 = @this_expr +| 7 = @array_expr +| 8 = @obj_expr +| 9 = @function_expr +| 10 = @seq_expr +| 11 = @conditional_expr +| 12 = @new_expr +| 13 = @call_expr +| 14 = @dot_expr +| 15 = @index_expr +| 16 = @neg_expr +| 17 = @plus_expr +| 18 = @log_not_expr +| 19 = @bit_not_expr +| 20 = @typeof_expr +| 21 = @void_expr +| 22 = @delete_expr +| 23 = @eq_expr +| 24 = @neq_expr +| 25 = @eqq_expr +| 26 = @neqq_expr +| 27 = @lt_expr +| 28 = @le_expr +| 29 = @gt_expr +| 30 = @ge_expr +| 31 = @lshift_expr +| 32 = @rshift_expr +| 33 = @urshift_expr +| 34 = @add_expr +| 35 = @sub_expr +| 36 = @mul_expr +| 37 = @div_expr +| 38 = @mod_expr +| 39 = @bitor_expr +| 40 = @xor_expr +| 41 = @bitand_expr +| 42 = @in_expr +| 43 = @instanceof_expr +| 44 = @logand_expr +| 45 = @logor_expr +| 47 = @assign_expr +| 48 = @assign_add_expr +| 49 = @assign_sub_expr +| 50 = @assign_mul_expr +| 51 = @assign_div_expr +| 52 = @assign_mod_expr +| 53 = @assign_lshift_expr +| 54 = @assign_rshift_expr +| 55 = @assign_urshift_expr +| 56 = @assign_or_expr +| 57 = @assign_xor_expr +| 58 = @assign_and_expr +| 59 = @preinc_expr +| 60 = @postinc_expr +| 61 = @predec_expr +| 62 = @postdec_expr +| 63 = @par_expr +| 64 = @var_declarator +| 65 = @arrow_function_expr +| 66 = @spread_element +| 67 = @array_pattern +| 68 = @object_pattern +| 69 = @yield_expr +| 70 = @tagged_template_expr +| 71 = @template_literal +| 72 = @template_element +| 73 = @array_comprehension_expr +| 74 = @generator_expr +| 75 = @for_in_comprehension_block +| 76 = @for_of_comprehension_block +| 77 = @legacy_letexpr +| 78 = @var_decl +| 79 = @proper_varaccess +| 80 = @class_expr +| 81 = @super_expr +| 82 = @newtarget_expr +| 83 = @named_import_specifier +| 84 = @import_default_specifier +| 85 = @import_namespace_specifier +| 86 = @named_export_specifier +| 87 = @exp_expr +| 88 = @assign_exp_expr +| 89 = @jsx_element +| 90 = @jsx_qualified_name +| 91 = @jsx_empty_expr +| 92 = @await_expr +| 93 = @function_sent_expr +| 94 = @decorator +| 95 = @export_default_specifier +| 96 = @export_namespace_specifier +| 97 = @bind_expr +| 98 = @external_module_reference +| 99 = @dynamic_import +| 100 = @expression_with_type_arguments +| 101 = @prefix_type_assertion +| 102 = @as_type_assertion +| 103 = @export_varaccess +| 104 = @decorator_list +| 105 = @non_null_assertion +| 106 = @bigint_literal +| 107 = @nullishcoalescing_expr +| 108 = @e4x_xml_anyname +| 109 = @e4x_xml_static_attribute_selector +| 110 = @e4x_xml_dynamic_attribute_selector +| 111 = @e4x_xml_filter_expression +| 112 = @e4x_xml_static_qualident +| 113 = @e4x_xml_dynamic_qualident +| 114 = @e4x_xml_dotdotexpr +| 115 = @import_meta_expr +| 116 = @assignlogandexpr +| 117 = @assignlogorexpr +| 118 = @assignnullishcoalescingexpr +| 119 = @template_pipe_ref +| 120 = @generated_code_expr +| 121 = @satisfies_expr +; + +@varaccess = @proper_varaccess | @export_varaccess; +@varref = @var_decl | @varaccess; + +@identifier = @label | @varref | @type_identifier; + +@literal = @null_literal | @boolean_literal | @number_literal | @string_literal | @regexp_literal | @bigint_literal; + +@propaccess = @dot_expr | @index_expr; + +@invokeexpr = @new_expr | @call_expr; + +@unaryexpr = @neg_expr | @plus_expr | @log_not_expr | @bit_not_expr | @typeof_expr | @void_expr | @delete_expr | @spread_element; + +@equality_test = @eq_expr | @neq_expr | @eqq_expr | @neqq_expr; + +@comparison = @equality_test | @lt_expr | @le_expr | @gt_expr | @ge_expr; + +@binaryexpr = @comparison | @lshift_expr | @rshift_expr | @urshift_expr | @add_expr | @sub_expr | @mul_expr | @div_expr | @mod_expr | @exp_expr | @bitor_expr | @xor_expr | @bitand_expr | @in_expr | @instanceof_expr | @logand_expr | @logor_expr | @nullishcoalescing_expr; + +@assignment = @assign_expr | @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr | @assign_mod_expr | @assign_exp_expr | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr | @assign_or_expr | @assign_xor_expr | @assign_and_expr | @assignlogandexpr | @assignlogorexpr | @assignnullishcoalescingexpr; + +@updateexpr = @preinc_expr | @postinc_expr | @predec_expr | @postdec_expr; + +@pattern = @varref | @array_pattern | @object_pattern; + +@comprehension_expr = @array_comprehension_expr | @generator_expr; + +@comprehension_block = @for_in_comprehension_block | @for_of_comprehension_block; + +@import_specifier = @named_import_specifier | @import_default_specifier | @import_namespace_specifier; + +@exportspecifier = @named_export_specifier | @export_default_specifier | @export_namespace_specifier; + +@type_keyword_operand = @import_declaration | @export_declaration | @import_specifier; + +@type_assertion = @as_type_assertion | @prefix_type_assertion; + +@class_definition = @class_decl_stmt | @class_expr; +@interface_definition = @interface_declaration | @interface_typeexpr; +@class_or_interface = @class_definition | @interface_definition; + +@lexical_decl = @var_decl | @type_decl; +@lexical_access = @varaccess | @local_type_access | @local_var_type_access | @local_namespace_access; +@lexical_ref = @lexical_decl | @lexical_access; + +@e4x_xml_attribute_selector = @e4x_xml_static_attribute_selector | @e4x_xml_dynamic_attribute_selector; +@e4x_xml_qualident = @e4x_xml_static_qualident | @e4x_xml_dynamic_qualident; + +expr_contains_template_tag_location( + int expr: @expr ref, + int location: @location ref +); + +@template_placeholder_tag_parent = @xmlelement | @xmlattribute | @file; + +template_placeholder_tag_info( + unique int node: @template_placeholder_tag, + int parentNode: @template_placeholder_tag_parent ref, + varchar(900) raw: string ref +); + +// scopes +scopes (unique int id: @scope, + int kind: int ref); + +case @scope.kind of + 0 = @global_scope +| 1 = @function_scope +| 2 = @catch_scope +| 3 = @module_scope +| 4 = @block_scope +| 5 = @for_scope +| 6 = @for_in_scope // for-of scopes work the same as for-in scopes +| 7 = @comprehension_block_scope +| 8 = @class_expr_scope +| 9 = @namespace_scope +| 10 = @class_decl_scope +| 11 = @interface_scope +| 12 = @type_alias_scope +| 13 = @mapped_type_scope +| 14 = @enum_scope +| 15 = @external_module_scope +| 16 = @conditional_type_scope; + +scopenodes (unique int node: @ast_node ref, + int scope: @scope ref); + +scopenesting (unique int inner: @scope ref, + int outer: @scope ref); + +// functions +@function = @function_decl_stmt | @function_expr | @arrow_function_expr; + +@parameterized = @function | @catch_clause; +@type_parameterized = @function | @class_or_interface | @type_alias_declaration | @mapped_typeexpr | @infer_typeexpr; + +is_generator (int fun: @function ref); +has_rest_parameter (int fun: @function ref); +is_async (int fun: @function ref); + +// variables and lexically scoped type names +#keyset[scope, name] +variables (unique int id: @variable, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_type_names (unique int id: @local_type_name, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_namespace_names (unique int id: @local_namespace_name, + varchar(900) name: string ref, + int scope: @scope ref); + +is_arguments_object (int id: @variable ref); + +@lexical_name = @variable | @local_type_name | @local_namespace_name; + +@bind_id = @varaccess | @local_var_type_access; +bind (unique int id: @bind_id ref, + int decl: @variable ref); + +decl (unique int id: @var_decl ref, + int decl: @variable ref); + +@typebind_id = @local_type_access | @export_varaccess; +typebind (unique int id: @typebind_id ref, + int decl: @local_type_name ref); + +@typedecl_id = @type_decl | @var_decl; +typedecl (unique int id: @typedecl_id ref, + int decl: @local_type_name ref); + +namespacedecl (unique int id: @var_decl ref, + int decl: @local_namespace_name ref); + +@namespacebind_id = @local_namespace_access | @export_varaccess; +namespacebind (unique int id: @namespacebind_id ref, + int decl: @local_namespace_name ref); + + +// properties in object literals, property patterns in object patterns, and method declarations in classes +#keyset[parent, index] +properties (unique int id: @property, + int parent: @property_parent ref, + int index: int ref, + int kind: int ref, + varchar(900) tostring: string ref); + +case @property.kind of + 0 = @value_property +| 1 = @property_getter +| 2 = @property_setter +| 3 = @jsx_attribute +| 4 = @function_call_signature +| 5 = @constructor_call_signature +| 6 = @index_signature +| 7 = @enum_member +| 8 = @proper_field +| 9 = @parameter_field +| 10 = @static_initializer +; + +@property_parent = @obj_expr | @object_pattern | @class_definition | @jsx_element | @interface_definition | @enum_declaration; +@property_accessor = @property_getter | @property_setter; +@call_signature = @function_call_signature | @constructor_call_signature; +@field = @proper_field | @parameter_field; +@field_or_vardeclarator = @field | @var_declarator; + +is_computed (int id: @property ref); +is_method (int id: @property ref); +is_static (int id: @property ref); +is_abstract_member (int id: @property ref); +is_const_enum (int id: @enum_declaration ref); +is_abstract_class (int id: @class_decl_stmt ref); + +has_public_keyword (int id: @property ref); +has_private_keyword (int id: @property ref); +has_protected_keyword (int id: @property ref); +has_readonly_keyword (int id: @property ref); +has_type_keyword (int id: @type_keyword_operand ref); +has_defer_keyword (int id: @import_declaration ref); +is_optional_member (int id: @property ref); +has_definite_assignment_assertion (int id: @field_or_vardeclarator ref); +is_optional_parameter_declaration (unique int parameter: @pattern ref); + +#keyset[constructor, param_index] +parameter_fields( + unique int field: @parameter_field ref, + int constructor: @function_expr ref, + int param_index: int ref +); + +// types +#keyset[parent, idx] +typeexprs ( + unique int id: @typeexpr, + int kind: int ref, + int parent: @typeexpr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref +); + +case @typeexpr.kind of + 0 = @local_type_access +| 1 = @type_decl +| 2 = @keyword_typeexpr +| 3 = @string_literal_typeexpr +| 4 = @number_literal_typeexpr +| 5 = @boolean_literal_typeexpr +| 6 = @array_typeexpr +| 7 = @union_typeexpr +| 8 = @indexed_access_typeexpr +| 9 = @intersection_typeexpr +| 10 = @parenthesized_typeexpr +| 11 = @tuple_typeexpr +| 12 = @keyof_typeexpr +| 13 = @qualified_type_access +| 14 = @generic_typeexpr +| 15 = @type_label +| 16 = @typeof_typeexpr +| 17 = @local_var_type_access +| 18 = @qualified_var_type_access +| 19 = @this_var_type_access +| 20 = @predicate_typeexpr +| 21 = @interface_typeexpr +| 22 = @type_parameter +| 23 = @plain_function_typeexpr +| 24 = @constructor_typeexpr +| 25 = @local_namespace_access +| 26 = @qualified_namespace_access +| 27 = @mapped_typeexpr +| 28 = @conditional_typeexpr +| 29 = @infer_typeexpr +| 30 = @import_type_access +| 31 = @import_namespace_access +| 32 = @import_var_type_access +| 33 = @optional_typeexpr +| 34 = @rest_typeexpr +| 35 = @bigint_literal_typeexpr +| 36 = @readonly_typeexpr +| 37 = @template_literal_typeexpr +; + +@typeref = @typeaccess | @type_decl; +@type_identifier = @type_decl | @local_type_access | @type_label | @local_var_type_access | @local_namespace_access; +@typeexpr_parent = @expr | @stmt | @property | @typeexpr; +@literal_typeexpr = @string_literal_typeexpr | @number_literal_typeexpr | @boolean_literal_typeexpr | @bigint_literal_typeexpr; +@typeaccess = @local_type_access | @qualified_type_access | @import_type_access; +@vartypeaccess = @local_var_type_access | @qualified_var_type_access | @this_var_type_access | @import_var_type_access; +@namespace_access = @local_namespace_access | @qualified_namespace_access | @import_namespace_access; +@import_typeexpr = @import_type_access | @import_namespace_access | @import_var_type_access; + +@function_typeexpr = @plain_function_typeexpr | @constructor_typeexpr; + +// types +types ( + unique int id: @type, + int kind: int ref, + varchar(900) tostring: string ref +); + +#keyset[parent, idx] +type_child ( + int child: @type ref, + int parent: @type ref, + int idx: int ref +); + +case @type.kind of + 0 = @any_type +| 1 = @string_type +| 2 = @number_type +| 3 = @union_type +| 4 = @true_type +| 5 = @false_type +| 6 = @type_reference +| 7 = @object_type +| 8 = @canonical_type_variable_type +| 9 = @typeof_type +| 10 = @void_type +| 11 = @undefined_type +| 12 = @null_type +| 13 = @never_type +| 14 = @plain_symbol_type +| 15 = @unique_symbol_type +| 16 = @objectkeyword_type +| 17 = @intersection_type +| 18 = @tuple_type +| 19 = @lexical_type_variable_type +| 20 = @this_type +| 21 = @number_literal_type +| 22 = @string_literal_type +| 23 = @unknown_type +| 24 = @bigint_type +| 25 = @bigint_literal_type +; + +@boolean_literal_type = @true_type | @false_type; +@symbol_type = @plain_symbol_type | @unique_symbol_type; +@union_or_intersection_type = @union_type | @intersection_type; +@typevariable_type = @canonical_type_variable_type | @lexical_type_variable_type; + +has_asserts_keyword(int node: @predicate_typeexpr ref); + +@typed_ast_node = @expr | @typeexpr | @function; +ast_node_type( + unique int node: @typed_ast_node ref, + int typ: @type ref); + +declared_function_signature( + unique int node: @function ref, + int sig: @signature_type ref +); + +invoke_expr_signature( + unique int node: @invokeexpr ref, + int sig: @signature_type ref +); + +invoke_expr_overload_index( + unique int node: @invokeexpr ref, + int index: int ref +); + +symbols ( + unique int id: @symbol, + int kind: int ref, + varchar(900) name: string ref +); + +symbol_parent ( + unique int symbol: @symbol ref, + int parent: @symbol ref +); + +symbol_module ( + int symbol: @symbol ref, + varchar(900) moduleName: string ref +); + +symbol_global ( + int symbol: @symbol ref, + varchar(900) globalName: string ref +); + +case @symbol.kind of + 0 = @root_symbol +| 1 = @member_symbol +| 2 = @other_symbol +; + +@type_with_symbol = @type_reference | @typevariable_type | @typeof_type | @unique_symbol_type; +@ast_node_with_symbol = @type_definition | @namespace_definition | @toplevel | @typeaccess | @namespace_access | @var_decl | @function | @invokeexpr | @import_declaration | @external_module_reference | @external_module_declaration; + +ast_node_symbol( + unique int node: @ast_node_with_symbol ref, + int symbol: @symbol ref); + +type_symbol( + unique int typ: @type_with_symbol ref, + int symbol: @symbol ref); + +#keyset[typ, name] +type_property( + int typ: @type ref, + varchar(900) name: string ref, + int propertyType: @type ref); + +type_alias( + unique int aliasType: @type ref, + int underlyingType: @type ref); + +@literal_type = @string_literal_type | @number_literal_type | @boolean_literal_type | @bigint_literal_type; +@type_with_literal_value = @string_literal_type | @number_literal_type | @bigint_literal_type; +type_literal_value( + unique int typ: @type_with_literal_value ref, + varchar(900) value: string ref); + +signature_types ( + unique int id: @signature_type, + int kind: int ref, + varchar(900) tostring: string ref, + int type_parameters: int ref, + int required_params: int ref +); + +is_abstract_signature( + unique int sig: @signature_type ref +); + +signature_rest_parameter( + unique int sig: @signature_type ref, + int rest_param_arra_type: @type ref +); + +case @signature_type.kind of + 0 = @function_signature_type +| 1 = @constructor_signature_type +; + +#keyset[typ, kind, index] +type_contains_signature ( + int typ: @type ref, + int kind: int ref, // constructor/call/index + int index: int ref, // ordering of overloaded signatures + int sig: @signature_type ref +); + +#keyset[parent, index] +signature_contains_type ( + int child: @type ref, + int parent: @signature_type ref, + int index: int ref +); + +#keyset[sig, index] +signature_parameter_name ( + int sig: @signature_type ref, + int index: int ref, + varchar(900) name: string ref +); + +number_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +string_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +base_type_names( + int typeName: @symbol ref, + int baseTypeName: @symbol ref +); + +self_types( + int typeName: @symbol ref, + int selfType: @type_reference ref +); + +tuple_type_min_length( + unique int typ: @type ref, + int minLength: int ref +); + +tuple_type_rest_index( + unique int typ: @type ref, + int index: int ref +); + +// comments +comments (unique int id: @comment, + int kind: int ref, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(900) tostring: string ref); + +case @comment.kind of + 0 = @slashslash_comment +| 1 = @slashstar_comment +| 2 = @doc_comment +| 3 = @html_comment_start +| 4 = @htmlcommentend; + +@html_comment = @html_comment_start | @htmlcommentend; +@line_comment = @slashslash_comment | @html_comment; +@block_comment = @slashstar_comment | @doc_comment; + +// source lines +lines (unique int id: @line, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(2) terminator: string ref); +indentation (int file: @file ref, + int lineno: int ref, + varchar(1) indentChar: string ref, + int indentDepth: int ref); + +// JavaScript parse errors +js_parse_errors (unique int id: @js_parse_error, + int toplevel: @toplevel ref, + varchar(900) message: string ref, + varchar(900) line: string ref); + +// regular expressions +#keyset[parent, idx] +regexpterm (unique int id: @regexpterm, + int kind: int ref, + int parent: @regexpparent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +@regexpparent = @regexpterm | @regexp_literal | @string_literal | @add_expr; + +case @regexpterm.kind of + 0 = @regexp_alt +| 1 = @regexp_seq +| 2 = @regexp_caret +| 3 = @regexp_dollar +| 4 = @regexp_wordboundary +| 5 = @regexp_nonwordboundary +| 6 = @regexp_positive_lookahead +| 7 = @regexp_negative_lookahead +| 8 = @regexp_star +| 9 = @regexp_plus +| 10 = @regexp_opt +| 11 = @regexp_range +| 12 = @regexp_dot +| 13 = @regexp_group +| 14 = @regexp_normal_constant +| 15 = @regexp_hex_escape +| 16 = @regexp_unicode_escape +| 17 = @regexp_dec_escape +| 18 = @regexp_oct_escape +| 19 = @regexp_ctrl_escape +| 20 = @regexp_char_class_escape +| 21 = @regexp_id_escape +| 22 = @regexp_backref +| 23 = @regexp_char_class +| 24 = @regexp_char_range +| 25 = @regexp_positive_lookbehind +| 26 = @regexp_negative_lookbehind +| 27 = @regexp_unicode_property_escape +| 28 = @regexp_quoted_string +| 29 = @regexp_intersection +| 30 = @regexp_subtraction; + +regexp_parse_errors (unique int id: @regexp_parse_error, + int regexp: @regexpterm ref, + varchar(900) message: string ref); + +@regexp_quantifier = @regexp_star | @regexp_plus | @regexp_opt | @regexp_range; +@regexp_escape = @regexp_char_escape | @regexp_char_class_escape | @regexp_unicode_property_escape; +@regexp_char_escape = @regexp_hex_escape | @regexp_unicode_escape | @regexp_dec_escape | @regexp_oct_escape | @regexp_ctrl_escape | @regexp_id_escape; +@regexp_constant = @regexp_normal_constant | @regexp_char_escape; +@regexp_lookahead = @regexp_positive_lookahead | @regexp_negative_lookahead; +@regexp_lookbehind = @regexp_positive_lookbehind | @regexp_negative_lookbehind; +@regexp_subpattern = @regexp_lookahead | @regexp_lookbehind; +@regexp_anchor = @regexp_dollar | @regexp_caret; + +is_greedy (int id: @regexp_quantifier ref); +range_quantifier_lower_bound (unique int id: @regexp_range ref, int lo: int ref); +range_quantifier_upper_bound (unique int id: @regexp_range ref, int hi: int ref); +is_capture (unique int id: @regexp_group ref, int number: int ref); +is_named_capture (unique int id: @regexp_group ref, string name: string ref); +is_inverted (int id: @regexp_char_class ref); +regexp_const_value (unique int id: @regexp_constant ref, varchar(1) value: string ref); +char_class_escape (unique int id: @regexp_char_class_escape ref, varchar(1) value: string ref); +backref (unique int id: @regexp_backref ref, int value: int ref); +named_backref (unique int id: @regexp_backref ref, string name: string ref); +unicode_property_escapename (unique int id: @regexp_unicode_property_escape ref, string name: string ref); +unicode_property_escapevalue (unique int id: @regexp_unicode_property_escape ref, string value: string ref); + +// tokens +#keyset[toplevel, idx] +tokeninfo (unique int id: @token, + int kind: int ref, + int toplevel: @toplevel ref, + int idx: int ref, + varchar(900) value: string ref); + +case @token.kind of + 0 = @token_eof +| 1 = @token_null_literal +| 2 = @token_boolean_literal +| 3 = @token_numeric_literal +| 4 = @token_string_literal +| 5 = @token_regular_expression +| 6 = @token_identifier +| 7 = @token_keyword +| 8 = @token_punctuator; + +// associate comments with the token immediately following them (which may be EOF) +next_token (int comment: @comment ref, int token: @token ref); + +// JSON +#keyset[parent, idx] +json (unique int id: @json_value, + int kind: int ref, + int parent: @json_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +json_literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @json_value ref); + +json_properties (int obj: @json_object ref, + varchar(900) property: string ref, + int value: @json_value ref); + +json_errors (unique int id: @json_parse_error, + varchar(900) message: string ref); + +json_locations(unique int locatable: @json_locatable ref, + int location: @location_default ref); + +case @json_value.kind of + 0 = @json_null +| 1 = @json_boolean +| 2 = @json_number +| 3 = @json_string +| 4 = @json_array +| 5 = @json_object; + +@json_parent = @json_object | @json_array | @file; + +@json_locatable = @json_value | @json_parse_error; + +// locations +@ast_node = @toplevel | @stmt | @expr | @property | @typeexpr; + +@locatable = @file + | @ast_node + | @comment + | @line + | @js_parse_error | @regexp_parse_error + | @regexpterm + | @json_locatable + | @token + | @cfg_node + | @jsdoc | @jsdoc_type_expr | @jsdoc_tag + | @yaml_locatable + | @xmllocatable + | @configLocatable + | @template_placeholder_tag; + +hasLocation (unique int locatable: @locatable ref, + int location: @location ref); + +// CFG +entry_cfg_node (unique int id: @entry_node, int container: @stmt_container ref); +exit_cfg_node (unique int id: @exit_node, int container: @stmt_container ref); +guard_node (unique int id: @guard_node, int kind: int ref, int test: @expr ref); +case @guard_node.kind of + 0 = @falsy_guard +| 1 = @truthy_guard; +@condition_guard = @falsy_guard | @truthy_guard; + +@synthetic_cfg_node = @entry_node | @exit_node | @guard_node; +@cfg_node = @synthetic_cfg_node | @expr_parent; + +successor (int pred: @cfg_node ref, int succ: @cfg_node ref); + +// JSDoc comments +jsdoc (unique int id: @jsdoc, varchar(900) description: string ref, int comment: @comment ref); +#keyset[parent, idx] +jsdoc_tags (unique int id: @jsdoc_tag, varchar(900) title: string ref, + int parent: @jsdoc ref, int idx: int ref, varchar(900) tostring: string ref); +jsdoc_tag_descriptions (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); +jsdoc_tag_names (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); + +#keyset[parent, idx] +jsdoc_type_exprs (unique int id: @jsdoc_type_expr, + int kind: int ref, + int parent: @jsdoc_type_expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); +case @jsdoc_type_expr.kind of + 0 = @jsdoc_any_type_expr +| 1 = @jsdoc_null_type_expr +| 2 = @jsdoc_undefined_type_expr +| 3 = @jsdoc_unknown_type_expr +| 4 = @jsdoc_void_type_expr +| 5 = @jsdoc_identifier_type_expr +| 6 = @jsdoc_applied_type_expr +| 7 = @jsdoc_nullable_type_expr +| 8 = @jsdoc_non_nullable_type_expr +| 9 = @jsdoc_record_type_expr +| 10 = @jsdoc_array_type_expr +| 11 = @jsdoc_union_type_expr +| 12 = @jsdoc_function_type_expr +| 13 = @jsdoc_optional_type_expr +| 14 = @jsdoc_rest_type_expr +| 15 = @jsdoc_qualified_type_expr +; + +#keyset[id, idx] +jsdoc_record_field_name (int id: @jsdoc_record_type_expr ref, int idx: int ref, varchar(900) name: string ref); +jsdoc_prefix_qualifier (int id: @jsdoc_type_expr ref); +jsdoc_has_new_parameter (int fn: @jsdoc_function_type_expr ref); + +@jsdoc_type_expr_parent = @jsdoc_type_expr | @jsdoc_tag; + +jsdoc_errors (unique int id: @jsdoc_error, int tag: @jsdoc_tag ref, varchar(900) message: string ref, varchar(900) tostring: string ref); + +@dataflownode = @expr | @function_decl_stmt | @class_decl_stmt | @namespace_declaration | @enum_declaration | @property; + +@optionalchainable = @call_expr | @propaccess; + +isOptionalChaining(int id: @optionalchainable ref); + +/** + * The time taken for the extraction of a file. + * This table contains non-deterministic content. + * + * The sum of the `time` column for each (`file`, `timerKind`) pair + * is the total time taken for extraction of `file`. The `extractionPhase` + * column provides a granular view of the extraction time of the file. + */ +extraction_time( + int file : @file ref, + // see `com.semmle.js.extractor.ExtractionMetrics.ExtractionPhase`. + int extractionPhase: int ref, + // 0 for the elapsed CPU time in nanoseconds, 1 for the elapsed wallclock time in nanoseconds + int timerKind: int ref, + float time: float ref +) + +/** +* Non-timing related data for the extraction of a single file. +* This table contains non-deterministic content. +*/ +extraction_data( + int file : @file ref, + // the absolute path to the cache file + varchar(900) cacheFile: string ref, + boolean fromCache: boolean ref, + int length: int ref +) + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- 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; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); diff --git a/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/semmlecode.dbscheme b/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/semmlecode.dbscheme new file mode 100644 index 00000000000..80b2bc24189 --- /dev/null +++ b/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/semmlecode.dbscheme @@ -0,0 +1,1205 @@ +/*** Standard fragments ***/ + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- JavaScript-specific part -*/ + +@location = @location_default + +@sourceline = @locatable; + +filetype( + int file: @file ref, + string filetype: string ref +) + +// top-level code fragments +toplevels (unique int id: @toplevel, + int kind: int ref); + +is_externs (int toplevel: @toplevel ref); + +case @toplevel.kind of + 0 = @script +| 1 = @inline_script +| 2 = @event_handler +| 3 = @javascript_url +| 4 = @template_toplevel; + +is_module (int tl: @toplevel ref); +is_nodejs (int tl: @toplevel ref); +is_es2015_module (int tl: @toplevel ref); +is_closure_module (int tl: @toplevel ref); + +@xml_node_with_code = @xmlelement | @xmlattribute | @template_placeholder_tag; +toplevel_parent_xml_node( + unique int toplevel: @toplevel ref, + int xmlnode: @xml_node_with_code ref); + +xml_element_parent_expression( + unique int xmlnode: @xmlelement ref, + int expression: @expr ref, + int index: int ref); + +// statements +#keyset[parent, idx] +stmts (unique int id: @stmt, + int kind: int ref, + int parent: @stmt_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +stmt_containers (unique int stmt: @stmt ref, + int container: @stmt_container ref); + +jump_targets (unique int jump: @stmt ref, + int target: @stmt ref); + +@stmt_parent = @stmt | @toplevel | @function_expr | @arrow_function_expr | @static_initializer; +@stmt_container = @toplevel | @function | @namespace_declaration | @external_module_declaration | @global_augmentation_declaration; + +case @stmt.kind of + 0 = @empty_stmt +| 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @labeled_stmt +| 5 = @break_stmt +| 6 = @continue_stmt +| 7 = @with_stmt +| 8 = @switch_stmt +| 9 = @return_stmt +| 10 = @throw_stmt +| 11 = @try_stmt +| 12 = @while_stmt +| 13 = @do_while_stmt +| 14 = @for_stmt +| 15 = @for_in_stmt +| 16 = @debugger_stmt +| 17 = @function_decl_stmt +| 18 = @var_decl_stmt +| 19 = @case +| 20 = @catch_clause +| 21 = @for_of_stmt +| 22 = @const_decl_stmt +| 23 = @let_stmt +| 24 = @legacy_let_stmt +| 25 = @for_each_stmt +| 26 = @class_decl_stmt +| 27 = @import_declaration +| 28 = @export_all_declaration +| 29 = @export_default_declaration +| 30 = @export_named_declaration +| 31 = @namespace_declaration +| 32 = @import_equals_declaration +| 33 = @export_assign_declaration +| 34 = @interface_declaration +| 35 = @type_alias_declaration +| 36 = @enum_declaration +| 37 = @external_module_declaration +| 38 = @export_as_namespace_declaration +| 39 = @global_augmentation_declaration +| 40 = @using_decl_stmt +; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @let_stmt | @legacy_let_stmt | @using_decl_stmt; + +@export_declaration = @export_all_declaration | @export_default_declaration | @export_named_declaration; + +@namespace_definition = @namespace_declaration | @enum_declaration; +@type_definition = @class_definition | @interface_declaration | @enum_declaration | @type_alias_declaration | @enum_member; + +is_instantiated(unique int decl: @namespace_declaration ref); + +@declarable_node = @decl_stmt | @namespace_declaration | @class_decl_stmt | @function_decl_stmt | @enum_declaration | @external_module_declaration | @global_augmentation_declaration | @field; +has_declare_keyword(unique int stmt: @declarable_node ref); + +is_for_await_of(unique int forof: @for_of_stmt ref); + +// expressions +#keyset[parent, idx] +exprs (unique int id: @expr, + int kind: int ref, + int parent: @expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @expr_or_type ref); + +enclosing_stmt (unique int expr: @expr_or_type ref, + int stmt: @stmt ref); + +expr_containers (unique int expr: @expr_or_type ref, + int container: @stmt_container ref); + +array_size (unique int ae: @arraylike ref, + int sz: int ref); + +is_delegating (int yield: @yield_expr ref); + +@expr_or_stmt = @expr | @stmt; +@expr_or_type = @expr | @typeexpr; +@expr_parent = @expr_or_stmt | @property | @function_typeexpr; +@arraylike = @array_expr | @array_pattern; +@type_annotation = @typeexpr | @jsdoc_type_expr; +@node_in_stmt_container = @cfg_node | @type_annotation | @toplevel; + +case @expr.kind of + 0 = @label +| 1 = @null_literal +| 2 = @boolean_literal +| 3 = @number_literal +| 4 = @string_literal +| 5 = @regexp_literal +| 6 = @this_expr +| 7 = @array_expr +| 8 = @obj_expr +| 9 = @function_expr +| 10 = @seq_expr +| 11 = @conditional_expr +| 12 = @new_expr +| 13 = @call_expr +| 14 = @dot_expr +| 15 = @index_expr +| 16 = @neg_expr +| 17 = @plus_expr +| 18 = @log_not_expr +| 19 = @bit_not_expr +| 20 = @typeof_expr +| 21 = @void_expr +| 22 = @delete_expr +| 23 = @eq_expr +| 24 = @neq_expr +| 25 = @eqq_expr +| 26 = @neqq_expr +| 27 = @lt_expr +| 28 = @le_expr +| 29 = @gt_expr +| 30 = @ge_expr +| 31 = @lshift_expr +| 32 = @rshift_expr +| 33 = @urshift_expr +| 34 = @add_expr +| 35 = @sub_expr +| 36 = @mul_expr +| 37 = @div_expr +| 38 = @mod_expr +| 39 = @bitor_expr +| 40 = @xor_expr +| 41 = @bitand_expr +| 42 = @in_expr +| 43 = @instanceof_expr +| 44 = @logand_expr +| 45 = @logor_expr +| 47 = @assign_expr +| 48 = @assign_add_expr +| 49 = @assign_sub_expr +| 50 = @assign_mul_expr +| 51 = @assign_div_expr +| 52 = @assign_mod_expr +| 53 = @assign_lshift_expr +| 54 = @assign_rshift_expr +| 55 = @assign_urshift_expr +| 56 = @assign_or_expr +| 57 = @assign_xor_expr +| 58 = @assign_and_expr +| 59 = @preinc_expr +| 60 = @postinc_expr +| 61 = @predec_expr +| 62 = @postdec_expr +| 63 = @par_expr +| 64 = @var_declarator +| 65 = @arrow_function_expr +| 66 = @spread_element +| 67 = @array_pattern +| 68 = @object_pattern +| 69 = @yield_expr +| 70 = @tagged_template_expr +| 71 = @template_literal +| 72 = @template_element +| 73 = @array_comprehension_expr +| 74 = @generator_expr +| 75 = @for_in_comprehension_block +| 76 = @for_of_comprehension_block +| 77 = @legacy_letexpr +| 78 = @var_decl +| 79 = @proper_varaccess +| 80 = @class_expr +| 81 = @super_expr +| 82 = @newtarget_expr +| 83 = @named_import_specifier +| 84 = @import_default_specifier +| 85 = @import_namespace_specifier +| 86 = @named_export_specifier +| 87 = @exp_expr +| 88 = @assign_exp_expr +| 89 = @jsx_element +| 90 = @jsx_qualified_name +| 91 = @jsx_empty_expr +| 92 = @await_expr +| 93 = @function_sent_expr +| 94 = @decorator +| 95 = @export_default_specifier +| 96 = @export_namespace_specifier +| 97 = @bind_expr +| 98 = @external_module_reference +| 99 = @dynamic_import +| 100 = @expression_with_type_arguments +| 101 = @prefix_type_assertion +| 102 = @as_type_assertion +| 103 = @export_varaccess +| 104 = @decorator_list +| 105 = @non_null_assertion +| 106 = @bigint_literal +| 107 = @nullishcoalescing_expr +| 108 = @e4x_xml_anyname +| 109 = @e4x_xml_static_attribute_selector +| 110 = @e4x_xml_dynamic_attribute_selector +| 111 = @e4x_xml_filter_expression +| 112 = @e4x_xml_static_qualident +| 113 = @e4x_xml_dynamic_qualident +| 114 = @e4x_xml_dotdotexpr +| 115 = @import_meta_expr +| 116 = @assignlogandexpr +| 117 = @assignlogorexpr +| 118 = @assignnullishcoalescingexpr +| 119 = @template_pipe_ref +| 120 = @generated_code_expr +| 121 = @satisfies_expr +; + +@varaccess = @proper_varaccess | @export_varaccess; +@varref = @var_decl | @varaccess; + +@identifier = @label | @varref | @type_identifier; + +@literal = @null_literal | @boolean_literal | @number_literal | @string_literal | @regexp_literal | @bigint_literal; + +@propaccess = @dot_expr | @index_expr; + +@invokeexpr = @new_expr | @call_expr; + +@unaryexpr = @neg_expr | @plus_expr | @log_not_expr | @bit_not_expr | @typeof_expr | @void_expr | @delete_expr | @spread_element; + +@equality_test = @eq_expr | @neq_expr | @eqq_expr | @neqq_expr; + +@comparison = @equality_test | @lt_expr | @le_expr | @gt_expr | @ge_expr; + +@binaryexpr = @comparison | @lshift_expr | @rshift_expr | @urshift_expr | @add_expr | @sub_expr | @mul_expr | @div_expr | @mod_expr | @exp_expr | @bitor_expr | @xor_expr | @bitand_expr | @in_expr | @instanceof_expr | @logand_expr | @logor_expr | @nullishcoalescing_expr; + +@assignment = @assign_expr | @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr | @assign_mod_expr | @assign_exp_expr | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr | @assign_or_expr | @assign_xor_expr | @assign_and_expr | @assignlogandexpr | @assignlogorexpr | @assignnullishcoalescingexpr; + +@updateexpr = @preinc_expr | @postinc_expr | @predec_expr | @postdec_expr; + +@pattern = @varref | @array_pattern | @object_pattern; + +@comprehension_expr = @array_comprehension_expr | @generator_expr; + +@comprehension_block = @for_in_comprehension_block | @for_of_comprehension_block; + +@import_specifier = @named_import_specifier | @import_default_specifier | @import_namespace_specifier; + +@exportspecifier = @named_export_specifier | @export_default_specifier | @export_namespace_specifier; + +@type_keyword_operand = @import_declaration | @export_declaration | @import_specifier; + +@type_assertion = @as_type_assertion | @prefix_type_assertion; + +@class_definition = @class_decl_stmt | @class_expr; +@interface_definition = @interface_declaration | @interface_typeexpr; +@class_or_interface = @class_definition | @interface_definition; + +@lexical_decl = @var_decl | @type_decl; +@lexical_access = @varaccess | @local_type_access | @local_var_type_access | @local_namespace_access; +@lexical_ref = @lexical_decl | @lexical_access; + +@e4x_xml_attribute_selector = @e4x_xml_static_attribute_selector | @e4x_xml_dynamic_attribute_selector; +@e4x_xml_qualident = @e4x_xml_static_qualident | @e4x_xml_dynamic_qualident; + +expr_contains_template_tag_location( + int expr: @expr ref, + int location: @location ref +); + +@template_placeholder_tag_parent = @xmlelement | @xmlattribute | @file; + +template_placeholder_tag_info( + unique int node: @template_placeholder_tag, + int parentNode: @template_placeholder_tag_parent ref, + varchar(900) raw: string ref +); + +// scopes +scopes (unique int id: @scope, + int kind: int ref); + +case @scope.kind of + 0 = @global_scope +| 1 = @function_scope +| 2 = @catch_scope +| 3 = @module_scope +| 4 = @block_scope +| 5 = @for_scope +| 6 = @for_in_scope // for-of scopes work the same as for-in scopes +| 7 = @comprehension_block_scope +| 8 = @class_expr_scope +| 9 = @namespace_scope +| 10 = @class_decl_scope +| 11 = @interface_scope +| 12 = @type_alias_scope +| 13 = @mapped_type_scope +| 14 = @enum_scope +| 15 = @external_module_scope +| 16 = @conditional_type_scope; + +scopenodes (unique int node: @ast_node ref, + int scope: @scope ref); + +scopenesting (unique int inner: @scope ref, + int outer: @scope ref); + +// functions +@function = @function_decl_stmt | @function_expr | @arrow_function_expr; + +@parameterized = @function | @catch_clause; +@type_parameterized = @function | @class_or_interface | @type_alias_declaration | @mapped_typeexpr | @infer_typeexpr; + +is_generator (int fun: @function ref); +has_rest_parameter (int fun: @function ref); +is_async (int fun: @function ref); + +// variables and lexically scoped type names +#keyset[scope, name] +variables (unique int id: @variable, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_type_names (unique int id: @local_type_name, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_namespace_names (unique int id: @local_namespace_name, + varchar(900) name: string ref, + int scope: @scope ref); + +is_arguments_object (int id: @variable ref); + +@lexical_name = @variable | @local_type_name | @local_namespace_name; + +@bind_id = @varaccess | @local_var_type_access; +bind (unique int id: @bind_id ref, + int decl: @variable ref); + +decl (unique int id: @var_decl ref, + int decl: @variable ref); + +@typebind_id = @local_type_access | @export_varaccess; +typebind (unique int id: @typebind_id ref, + int decl: @local_type_name ref); + +@typedecl_id = @type_decl | @var_decl; +typedecl (unique int id: @typedecl_id ref, + int decl: @local_type_name ref); + +namespacedecl (unique int id: @var_decl ref, + int decl: @local_namespace_name ref); + +@namespacebind_id = @local_namespace_access | @export_varaccess; +namespacebind (unique int id: @namespacebind_id ref, + int decl: @local_namespace_name ref); + + +// properties in object literals, property patterns in object patterns, and method declarations in classes +#keyset[parent, index] +properties (unique int id: @property, + int parent: @property_parent ref, + int index: int ref, + int kind: int ref, + varchar(900) tostring: string ref); + +case @property.kind of + 0 = @value_property +| 1 = @property_getter +| 2 = @property_setter +| 3 = @jsx_attribute +| 4 = @function_call_signature +| 5 = @constructor_call_signature +| 6 = @index_signature +| 7 = @enum_member +| 8 = @proper_field +| 9 = @parameter_field +| 10 = @static_initializer +; + +@property_parent = @obj_expr | @object_pattern | @class_definition | @jsx_element | @interface_definition | @enum_declaration; +@property_accessor = @property_getter | @property_setter; +@call_signature = @function_call_signature | @constructor_call_signature; +@field = @proper_field | @parameter_field; +@field_or_vardeclarator = @field | @var_declarator; + +is_computed (int id: @property ref); +is_method (int id: @property ref); +is_static (int id: @property ref); +is_abstract_member (int id: @property ref); +is_const_enum (int id: @enum_declaration ref); +is_abstract_class (int id: @class_decl_stmt ref); + +has_public_keyword (int id: @property ref); +has_private_keyword (int id: @property ref); +has_protected_keyword (int id: @property ref); +has_readonly_keyword (int id: @property ref); +has_type_keyword (int id: @type_keyword_operand ref); +has_defer_keyword (int id: @import_declaration ref); +is_optional_member (int id: @property ref); +has_definite_assignment_assertion (int id: @field_or_vardeclarator ref); +is_optional_parameter_declaration (unique int parameter: @pattern ref); + +#keyset[constructor, param_index] +parameter_fields( + unique int field: @parameter_field ref, + int constructor: @function_expr ref, + int param_index: int ref +); + +// types +#keyset[parent, idx] +typeexprs ( + unique int id: @typeexpr, + int kind: int ref, + int parent: @typeexpr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref +); + +case @typeexpr.kind of + 0 = @local_type_access +| 1 = @type_decl +| 2 = @keyword_typeexpr +| 3 = @string_literal_typeexpr +| 4 = @number_literal_typeexpr +| 5 = @boolean_literal_typeexpr +| 6 = @array_typeexpr +| 7 = @union_typeexpr +| 8 = @indexed_access_typeexpr +| 9 = @intersection_typeexpr +| 10 = @parenthesized_typeexpr +| 11 = @tuple_typeexpr +| 12 = @keyof_typeexpr +| 13 = @qualified_type_access +| 14 = @generic_typeexpr +| 15 = @type_label +| 16 = @typeof_typeexpr +| 17 = @local_var_type_access +| 18 = @qualified_var_type_access +| 19 = @this_var_type_access +| 20 = @predicate_typeexpr +| 21 = @interface_typeexpr +| 22 = @type_parameter +| 23 = @plain_function_typeexpr +| 24 = @constructor_typeexpr +| 25 = @local_namespace_access +| 26 = @qualified_namespace_access +| 27 = @mapped_typeexpr +| 28 = @conditional_typeexpr +| 29 = @infer_typeexpr +| 30 = @import_type_access +| 31 = @import_namespace_access +| 32 = @import_var_type_access +| 33 = @optional_typeexpr +| 34 = @rest_typeexpr +| 35 = @bigint_literal_typeexpr +| 36 = @readonly_typeexpr +| 37 = @template_literal_typeexpr +; + +@typeref = @typeaccess | @type_decl; +@type_identifier = @type_decl | @local_type_access | @type_label | @local_var_type_access | @local_namespace_access; +@typeexpr_parent = @expr | @stmt | @property | @typeexpr; +@literal_typeexpr = @string_literal_typeexpr | @number_literal_typeexpr | @boolean_literal_typeexpr | @bigint_literal_typeexpr; +@typeaccess = @local_type_access | @qualified_type_access | @import_type_access; +@vartypeaccess = @local_var_type_access | @qualified_var_type_access | @this_var_type_access | @import_var_type_access; +@namespace_access = @local_namespace_access | @qualified_namespace_access | @import_namespace_access; +@import_typeexpr = @import_type_access | @import_namespace_access | @import_var_type_access; + +@function_typeexpr = @plain_function_typeexpr | @constructor_typeexpr; + +// types +types ( + unique int id: @type, + int kind: int ref, + varchar(900) tostring: string ref +); + +#keyset[parent, idx] +type_child ( + int child: @type ref, + int parent: @type ref, + int idx: int ref +); + +case @type.kind of + 0 = @any_type +| 1 = @string_type +| 2 = @number_type +| 3 = @union_type +| 4 = @true_type +| 5 = @false_type +| 6 = @type_reference +| 7 = @object_type +| 8 = @canonical_type_variable_type +| 9 = @typeof_type +| 10 = @void_type +| 11 = @undefined_type +| 12 = @null_type +| 13 = @never_type +| 14 = @plain_symbol_type +| 15 = @unique_symbol_type +| 16 = @objectkeyword_type +| 17 = @intersection_type +| 18 = @tuple_type +| 19 = @lexical_type_variable_type +| 20 = @this_type +| 21 = @number_literal_type +| 22 = @string_literal_type +| 23 = @unknown_type +| 24 = @bigint_type +| 25 = @bigint_literal_type +; + +@boolean_literal_type = @true_type | @false_type; +@symbol_type = @plain_symbol_type | @unique_symbol_type; +@union_or_intersection_type = @union_type | @intersection_type; +@typevariable_type = @canonical_type_variable_type | @lexical_type_variable_type; + +has_asserts_keyword(int node: @predicate_typeexpr ref); + +@typed_ast_node = @expr | @typeexpr | @function; +ast_node_type( + unique int node: @typed_ast_node ref, + int typ: @type ref); + +declared_function_signature( + unique int node: @function ref, + int sig: @signature_type ref +); + +invoke_expr_signature( + unique int node: @invokeexpr ref, + int sig: @signature_type ref +); + +invoke_expr_overload_index( + unique int node: @invokeexpr ref, + int index: int ref +); + +symbols ( + unique int id: @symbol, + int kind: int ref, + varchar(900) name: string ref +); + +symbol_parent ( + unique int symbol: @symbol ref, + int parent: @symbol ref +); + +symbol_module ( + int symbol: @symbol ref, + varchar(900) moduleName: string ref +); + +symbol_global ( + int symbol: @symbol ref, + varchar(900) globalName: string ref +); + +case @symbol.kind of + 0 = @root_symbol +| 1 = @member_symbol +| 2 = @other_symbol +; + +@type_with_symbol = @type_reference | @typevariable_type | @typeof_type | @unique_symbol_type; +@ast_node_with_symbol = @type_definition | @namespace_definition | @toplevel | @typeaccess | @namespace_access | @var_decl | @function | @invokeexpr | @import_declaration | @external_module_reference | @external_module_declaration; + +ast_node_symbol( + unique int node: @ast_node_with_symbol ref, + int symbol: @symbol ref); + +type_symbol( + unique int typ: @type_with_symbol ref, + int symbol: @symbol ref); + +#keyset[typ, name] +type_property( + int typ: @type ref, + varchar(900) name: string ref, + int propertyType: @type ref); + +type_alias( + unique int aliasType: @type ref, + int underlyingType: @type ref); + +@literal_type = @string_literal_type | @number_literal_type | @boolean_literal_type | @bigint_literal_type; +@type_with_literal_value = @string_literal_type | @number_literal_type | @bigint_literal_type; +type_literal_value( + unique int typ: @type_with_literal_value ref, + varchar(900) value: string ref); + +signature_types ( + unique int id: @signature_type, + int kind: int ref, + varchar(900) tostring: string ref, + int type_parameters: int ref, + int required_params: int ref +); + +is_abstract_signature( + unique int sig: @signature_type ref +); + +signature_rest_parameter( + unique int sig: @signature_type ref, + int rest_param_arra_type: @type ref +); + +case @signature_type.kind of + 0 = @function_signature_type +| 1 = @constructor_signature_type +; + +#keyset[typ, kind, index] +type_contains_signature ( + int typ: @type ref, + int kind: int ref, // constructor/call/index + int index: int ref, // ordering of overloaded signatures + int sig: @signature_type ref +); + +#keyset[parent, index] +signature_contains_type ( + int child: @type ref, + int parent: @signature_type ref, + int index: int ref +); + +#keyset[sig, index] +signature_parameter_name ( + int sig: @signature_type ref, + int index: int ref, + varchar(900) name: string ref +); + +number_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +string_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +base_type_names( + int typeName: @symbol ref, + int baseTypeName: @symbol ref +); + +self_types( + int typeName: @symbol ref, + int selfType: @type_reference ref +); + +tuple_type_min_length( + unique int typ: @type ref, + int minLength: int ref +); + +tuple_type_rest_index( + unique int typ: @type ref, + int index: int ref +); + +// comments +comments (unique int id: @comment, + int kind: int ref, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(900) tostring: string ref); + +case @comment.kind of + 0 = @slashslash_comment +| 1 = @slashstar_comment +| 2 = @doc_comment +| 3 = @html_comment_start +| 4 = @htmlcommentend; + +@html_comment = @html_comment_start | @htmlcommentend; +@line_comment = @slashslash_comment | @html_comment; +@block_comment = @slashstar_comment | @doc_comment; + +// source lines +lines (unique int id: @line, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(2) terminator: string ref); +indentation (int file: @file ref, + int lineno: int ref, + varchar(1) indentChar: string ref, + int indentDepth: int ref); + +// JavaScript parse errors +js_parse_errors (unique int id: @js_parse_error, + int toplevel: @toplevel ref, + varchar(900) message: string ref, + varchar(900) line: string ref); + +// regular expressions +#keyset[parent, idx] +regexpterm (unique int id: @regexpterm, + int kind: int ref, + int parent: @regexpparent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +@regexpparent = @regexpterm | @regexp_literal | @string_literal | @add_expr; + +case @regexpterm.kind of + 0 = @regexp_alt +| 1 = @regexp_seq +| 2 = @regexp_caret +| 3 = @regexp_dollar +| 4 = @regexp_wordboundary +| 5 = @regexp_nonwordboundary +| 6 = @regexp_positive_lookahead +| 7 = @regexp_negative_lookahead +| 8 = @regexp_star +| 9 = @regexp_plus +| 10 = @regexp_opt +| 11 = @regexp_range +| 12 = @regexp_dot +| 13 = @regexp_group +| 14 = @regexp_normal_constant +| 15 = @regexp_hex_escape +| 16 = @regexp_unicode_escape +| 17 = @regexp_dec_escape +| 18 = @regexp_oct_escape +| 19 = @regexp_ctrl_escape +| 20 = @regexp_char_class_escape +| 21 = @regexp_id_escape +| 22 = @regexp_backref +| 23 = @regexp_char_class +| 24 = @regexp_char_range +| 25 = @regexp_positive_lookbehind +| 26 = @regexp_negative_lookbehind +| 27 = @regexp_unicode_property_escape +| 28 = @regexp_quoted_string +| 29 = @regexp_intersection +| 30 = @regexp_subtraction; + +regexp_parse_errors (unique int id: @regexp_parse_error, + int regexp: @regexpterm ref, + varchar(900) message: string ref); + +@regexp_quantifier = @regexp_star | @regexp_plus | @regexp_opt | @regexp_range; +@regexp_escape = @regexp_char_escape | @regexp_char_class_escape | @regexp_unicode_property_escape; +@regexp_char_escape = @regexp_hex_escape | @regexp_unicode_escape | @regexp_dec_escape | @regexp_oct_escape | @regexp_ctrl_escape | @regexp_id_escape; +@regexp_constant = @regexp_normal_constant | @regexp_char_escape; +@regexp_lookahead = @regexp_positive_lookahead | @regexp_negative_lookahead; +@regexp_lookbehind = @regexp_positive_lookbehind | @regexp_negative_lookbehind; +@regexp_subpattern = @regexp_lookahead | @regexp_lookbehind; +@regexp_anchor = @regexp_dollar | @regexp_caret; + +is_greedy (int id: @regexp_quantifier ref); +range_quantifier_lower_bound (unique int id: @regexp_range ref, int lo: int ref); +range_quantifier_upper_bound (unique int id: @regexp_range ref, int hi: int ref); +is_capture (unique int id: @regexp_group ref, int number: int ref); +is_named_capture (unique int id: @regexp_group ref, string name: string ref); +is_inverted (int id: @regexp_char_class ref); +regexp_const_value (unique int id: @regexp_constant ref, varchar(1) value: string ref); +char_class_escape (unique int id: @regexp_char_class_escape ref, varchar(1) value: string ref); +backref (unique int id: @regexp_backref ref, int value: int ref); +named_backref (unique int id: @regexp_backref ref, string name: string ref); +unicode_property_escapename (unique int id: @regexp_unicode_property_escape ref, string name: string ref); +unicode_property_escapevalue (unique int id: @regexp_unicode_property_escape ref, string value: string ref); + +// tokens +#keyset[toplevel, idx] +tokeninfo (unique int id: @token, + int kind: int ref, + int toplevel: @toplevel ref, + int idx: int ref, + varchar(900) value: string ref); + +case @token.kind of + 0 = @token_eof +| 1 = @token_null_literal +| 2 = @token_boolean_literal +| 3 = @token_numeric_literal +| 4 = @token_string_literal +| 5 = @token_regular_expression +| 6 = @token_identifier +| 7 = @token_keyword +| 8 = @token_punctuator; + +// associate comments with the token immediately following them (which may be EOF) +next_token (int comment: @comment ref, int token: @token ref); + +// JSON +#keyset[parent, idx] +json (unique int id: @json_value, + int kind: int ref, + int parent: @json_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +json_literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @json_value ref); + +json_properties (int obj: @json_object ref, + varchar(900) property: string ref, + int value: @json_value ref); + +json_errors (unique int id: @json_parse_error, + varchar(900) message: string ref); + +json_locations(unique int locatable: @json_locatable ref, + int location: @location_default ref); + +case @json_value.kind of + 0 = @json_null +| 1 = @json_boolean +| 2 = @json_number +| 3 = @json_string +| 4 = @json_array +| 5 = @json_object; + +@json_parent = @json_object | @json_array | @file; + +@json_locatable = @json_value | @json_parse_error; + +// locations +@ast_node = @toplevel | @stmt | @expr | @property | @typeexpr; + +@locatable = @file + | @ast_node + | @comment + | @line + | @js_parse_error | @regexp_parse_error + | @regexpterm + | @json_locatable + | @token + | @cfg_node + | @jsdoc | @jsdoc_type_expr | @jsdoc_tag + | @yaml_locatable + | @xmllocatable + | @configLocatable + | @template_placeholder_tag; + +hasLocation (unique int locatable: @locatable ref, + int location: @location ref); + +// CFG +entry_cfg_node (unique int id: @entry_node, int container: @stmt_container ref); +exit_cfg_node (unique int id: @exit_node, int container: @stmt_container ref); +guard_node (unique int id: @guard_node, int kind: int ref, int test: @expr ref); +case @guard_node.kind of + 0 = @falsy_guard +| 1 = @truthy_guard; +@condition_guard = @falsy_guard | @truthy_guard; + +@synthetic_cfg_node = @entry_node | @exit_node | @guard_node; +@cfg_node = @synthetic_cfg_node | @expr_parent; + +successor (int pred: @cfg_node ref, int succ: @cfg_node ref); + +// JSDoc comments +jsdoc (unique int id: @jsdoc, varchar(900) description: string ref, int comment: @comment ref); +#keyset[parent, idx] +jsdoc_tags (unique int id: @jsdoc_tag, varchar(900) title: string ref, + int parent: @jsdoc ref, int idx: int ref, varchar(900) tostring: string ref); +jsdoc_tag_descriptions (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); +jsdoc_tag_names (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); + +#keyset[parent, idx] +jsdoc_type_exprs (unique int id: @jsdoc_type_expr, + int kind: int ref, + int parent: @jsdoc_type_expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); +case @jsdoc_type_expr.kind of + 0 = @jsdoc_any_type_expr +| 1 = @jsdoc_null_type_expr +| 2 = @jsdoc_undefined_type_expr +| 3 = @jsdoc_unknown_type_expr +| 4 = @jsdoc_void_type_expr +| 5 = @jsdoc_identifier_type_expr +| 6 = @jsdoc_applied_type_expr +| 7 = @jsdoc_nullable_type_expr +| 8 = @jsdoc_non_nullable_type_expr +| 9 = @jsdoc_record_type_expr +| 10 = @jsdoc_array_type_expr +| 11 = @jsdoc_union_type_expr +| 12 = @jsdoc_function_type_expr +| 13 = @jsdoc_optional_type_expr +| 14 = @jsdoc_rest_type_expr +| 15 = @jsdoc_qualified_type_expr +; + +#keyset[id, idx] +jsdoc_record_field_name (int id: @jsdoc_record_type_expr ref, int idx: int ref, varchar(900) name: string ref); +jsdoc_prefix_qualifier (int id: @jsdoc_type_expr ref); +jsdoc_has_new_parameter (int fn: @jsdoc_function_type_expr ref); + +@jsdoc_type_expr_parent = @jsdoc_type_expr | @jsdoc_tag; + +jsdoc_errors (unique int id: @jsdoc_error, int tag: @jsdoc_tag ref, varchar(900) message: string ref, varchar(900) tostring: string ref); + +@dataflownode = @expr | @function_decl_stmt | @class_decl_stmt | @namespace_declaration | @enum_declaration | @property; + +@optionalchainable = @call_expr | @propaccess; + +isOptionalChaining(int id: @optionalchainable ref); + +/** + * The time taken for the extraction of a file. + * This table contains non-deterministic content. + * + * The sum of the `time` column for each (`file`, `timerKind`) pair + * is the total time taken for extraction of `file`. The `extractionPhase` + * column provides a granular view of the extraction time of the file. + */ +extraction_time( + int file : @file ref, + // see `com.semmle.js.extractor.ExtractionMetrics.ExtractionPhase`. + int extractionPhase: int ref, + // 0 for the elapsed CPU time in nanoseconds, 1 for the elapsed wallclock time in nanoseconds + int timerKind: int ref, + float time: float ref +) + +/** +* Non-timing related data for the extraction of a single file. +* This table contains non-deterministic content. +*/ +extraction_data( + int file : @file ref, + // the absolute path to the cache file + varchar(900) cacheFile: string ref, + boolean fromCache: boolean ref, + int length: int ref +) + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- 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; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); diff --git a/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/upgrade.properties b/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/javascript/downgrades/578367e82a25a3e286aaf1238613db3717b67476/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java b/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java index 416fa237e97..d8889781921 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java +++ b/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java @@ -408,8 +408,10 @@ public class AutoBuild { for (String extension : fileTypes.keySet()) patterns.add("**/*" + extension); // exclude files whose name strongly suggests they are minified - patterns.add("-**/*.min.js"); - patterns.add("-**/*-min.js"); + if (!EnvironmentVariables.allowMinifiedFiles()) { + patterns.add("-**/*.min.js"); + patterns.add("-**/*-min.js"); + } // exclude `node_modules` and `bower_components` patterns.add("-**/node_modules"); @@ -1074,6 +1076,7 @@ protected DependencyInstallationResult preparePackagesAndDependencies(Set config = config.withSourceType(getSourceType()); config = config.withVirtualSourceRoot(virtualSourceRoot); if (defaultEncoding != null) config = config.withDefaultEncoding(defaultEncoding); + config = config.withAllowMinified(EnvironmentVariables.allowMinifiedFiles()); return config; } diff --git a/javascript/extractor/src/com/semmle/js/extractor/EnvironmentVariables.java b/javascript/extractor/src/com/semmle/js/extractor/EnvironmentVariables.java index f2ac4227589..9d883960256 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/EnvironmentVariables.java +++ b/javascript/extractor/src/com/semmle/js/extractor/EnvironmentVariables.java @@ -101,4 +101,12 @@ public class EnvironmentVariables { public static boolean isActionsExtractor() { return Env.systemEnv().getNonEmpty(CODEQL_EXTRACTOR_ACTIONS_WIP_DATABASE_ENV_VAR) != null; } + + public static boolean allowMinifiedFiles() { + String env = Env.systemEnv().getNonEmpty("CODEQL_EXTRACTOR_JAVASCRIPT_ALLOW_MINIFIED_FILES"); + if (env == null) { + return false; // default is to not allow minified files + } + return Boolean.parseBoolean(env); + } } diff --git a/javascript/extractor/src/com/semmle/js/extractor/ExtractorConfig.java b/javascript/extractor/src/com/semmle/js/extractor/ExtractorConfig.java index 884d0744694..538ac1a4367 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/ExtractorConfig.java +++ b/javascript/extractor/src/com/semmle/js/extractor/ExtractorConfig.java @@ -205,6 +205,9 @@ public class ExtractorConfig { /** Should parse errors be reported as violations instead of aborting extraction? */ private boolean tolerateParseErrors; + /** Should minified files be allowed? */ + private boolean allowMinified; + /** How should HTML files be extracted? */ private HtmlPopulator.Config htmlHandling; @@ -236,6 +239,7 @@ public class ExtractorConfig { this.sourceType = SourceType.AUTO; this.htmlHandling = HtmlPopulator.Config.ELEMENTS; this.tolerateParseErrors = true; + this.allowMinified = false; if (experimental) { this.mozExtensions = true; this.jscript = true; @@ -258,6 +262,7 @@ public class ExtractorConfig { this.v8Extensions = that.v8Extensions; this.e4x = that.e4x; this.tolerateParseErrors = that.tolerateParseErrors; + this.allowMinified = that.allowMinified; this.fileType = that.fileType; this.sourceType = that.sourceType; this.htmlHandling = that.htmlHandling; @@ -357,6 +362,16 @@ public class ExtractorConfig { return res; } + public boolean isAllowMinified() { + return allowMinified; + } + + public ExtractorConfig withAllowMinified(boolean allowMinified) { + ExtractorConfig res = new ExtractorConfig(this); + res.allowMinified = allowMinified; + return res; + } + public boolean hasFileType() { return fileType != null; } @@ -467,6 +482,8 @@ public class ExtractorConfig { + e4x + ", tolerateParseErrors=" + tolerateParseErrors + + ", allowMinified=" + + allowMinified + ", htmlHandling=" + htmlHandling + ", fileType=" diff --git a/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java b/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java index 5ebd7374a77..9cf5c3b295c 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java +++ b/javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java @@ -549,10 +549,15 @@ public class FileExtractor { new TextualExtractor( trapwriter, locationManager, source, config.getExtractLines(), metrics, extractedFile); ParseResultInfo loc = extractor.extract(textualExtractor); - int numLines = textualExtractor.isSnippet() ? 0 : textualExtractor.getNumLines(); - int linesOfCode = loc.getLinesOfCode(), linesOfComments = loc.getLinesOfComments(); - trapwriter.addTuple("numlines", fileLabel, numLines, linesOfCode, linesOfComments); - trapwriter.addTuple("filetype", fileLabel, fileType.toString()); + if (loc.getSkipReason() != null) { + System.err.println("Skipping file " + extractedFile + ": " + loc.getSkipReason()); + System.err.flush(); + } else { + int numLines = textualExtractor.isSnippet() ? 0 : textualExtractor.getNumLines(); + int linesOfCode = loc.getLinesOfCode(), linesOfComments = loc.getLinesOfComments(); + trapwriter.addTuple("numlines", fileLabel, numLines, linesOfCode, linesOfComments); + trapwriter.addTuple("filetype", fileLabel, fileType.toString()); + } metrics.stopPhase(ExtractionPhase.FileExtractor_extractContents); metrics.writeTimingsToTrap(trapwriter); successful = true; diff --git a/javascript/extractor/src/com/semmle/js/extractor/ParseResultInfo.java b/javascript/extractor/src/com/semmle/js/extractor/ParseResultInfo.java index 6a1b14447ce..28b412207d4 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/ParseResultInfo.java +++ b/javascript/extractor/src/com/semmle/js/extractor/ParseResultInfo.java @@ -10,6 +10,7 @@ import java.util.List; public class ParseResultInfo { private int linesOfCode, linesOfComments; private List parseErrors; + private String skipReason; public ParseResultInfo(int linesOfCode, int linesOfComments, List parseErrors) { this.linesOfCode = linesOfCode; @@ -17,6 +18,19 @@ public class ParseResultInfo { this.parseErrors = new ArrayList<>(parseErrors); } + private ParseResultInfo() { + this.linesOfCode = 0; + this.linesOfComments = 0; + this.parseErrors = new ArrayList<>(); + this.skipReason = null; + } + + public static final ParseResultInfo skipped(String reason) { + ParseResultInfo info = new ParseResultInfo(); + info.skipReason = reason; + return info; + } + public void add(ParseResultInfo that) { this.linesOfCode += that.linesOfCode; this.linesOfComments += that.linesOfComments; @@ -41,4 +55,11 @@ public class ParseResultInfo { public List getParseErrors() { return parseErrors; } + + /** + * If extraction of this file was skipped, gets the reason for skipping it. + */ + public String getSkipReason() { + return skipReason; + } } diff --git a/javascript/extractor/src/com/semmle/js/extractor/ScriptExtractor.java b/javascript/extractor/src/com/semmle/js/extractor/ScriptExtractor.java index 7c539d70e63..bff9ccddad6 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/ScriptExtractor.java +++ b/javascript/extractor/src/com/semmle/js/extractor/ScriptExtractor.java @@ -38,10 +38,34 @@ public class ScriptExtractor implements IExtractor { return extension.equals(".cjs") || (extension.equals(".js") && "commonjs".equals(packageType)); } + private boolean isMinified(String source) { + // If the average line length is over 200 characters, consider the file minified. + int numberOfLineBreaks = 0; + for (int i = 0; i < source.length(); i++) { + char c = source.charAt(i); + if (c == '\n') { + numberOfLineBreaks++; + } else if (c == '\r') { + numberOfLineBreaks++; + if (i + 1 < source.length() && source.charAt(i + 1) == '\n') { + i++; // skip the next \n in case of \r\n + } + } + } + int averageLineLength = + numberOfLineBreaks == 0 ? source.length() : source.length() / numberOfLineBreaks; + return averageLineLength > 200; + } + @Override public ParseResultInfo extract(TextualExtractor textualExtractor) { LocationManager locationManager = textualExtractor.getLocationManager(); String source = textualExtractor.getSource(); + + if (!config.isAllowMinified() && isMinified(source)) { + return ParseResultInfo.skipped("File appears to be minified."); + } + String shebangLine = null, shebangLineTerm = null; if (source.startsWith("#!")) { diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index b36b8f521a0..08f8bb5fbb2 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,15 @@ +## 2.6.20 + +### Minor Analysis Improvements + +* Support `use cache` directives for Next.js 16. +* Added `PreCallGraphStep` flow model for React's `useRef` hook. +* Added a `DomValueSource` that uses the `current` property off the object returned by React's `useRef` hook. + +## 2.6.19 + +No user-facing changes. + ## 2.6.18 No user-facing changes. diff --git a/javascript/ql/lib/change-notes/2025-10-21-react-precallgraph-step.md b/javascript/ql/lib/change-notes/2025-10-21-react-precallgraph-step.md deleted file mode 100644 index e28a900e8d9..00000000000 --- a/javascript/ql/lib/change-notes/2025-10-21-react-precallgraph-step.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added `PreCallGraphStep` flow model for React's `useRef` hook. -* Added a `DomValueSource` that uses the `current` property off the object returned by React's `useRef` hook. \ No newline at end of file diff --git a/javascript/ql/lib/change-notes/2025-11-30-use-cache-directives.md b/javascript/ql/lib/change-notes/2025-11-30-use-cache-directives.md deleted file mode 100644 index 6a8edce26d1..00000000000 --- a/javascript/ql/lib/change-notes/2025-11-30-use-cache-directives.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- - -- Support `use cache` directives for Next.js 16. diff --git a/javascript/ql/lib/change-notes/released/2.6.19.md b/javascript/ql/lib/change-notes/released/2.6.19.md new file mode 100644 index 00000000000..f4f993bfa15 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/2.6.19.md @@ -0,0 +1,3 @@ +## 2.6.19 + +No user-facing changes. diff --git a/javascript/ql/lib/change-notes/released/2.6.20.md b/javascript/ql/lib/change-notes/released/2.6.20.md new file mode 100644 index 00000000000..d5c89a62f51 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/2.6.20.md @@ -0,0 +1,7 @@ +## 2.6.20 + +### Minor Analysis Improvements + +* Support `use cache` directives for Next.js 16. +* Added `PreCallGraphStep` flow model for React's `useRef` hook. +* Added a `DomValueSource` that uses the `current` property off the object returned by React's `useRef` hook. diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index ce85aee60d1..3c7db9023cc 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.6.18 +lastReleaseVersion: 2.6.20 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index 88072819279..b9abf987afb 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.6.19-dev +version: 2.6.21-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/lib/semmle/javascript/ApiGraphs.qll b/javascript/ql/lib/semmle/javascript/ApiGraphs.qll index 1a96e25b3b9..c891804eaa7 100644 --- a/javascript/ql/lib/semmle/javascript/ApiGraphs.qll +++ b/javascript/ql/lib/semmle/javascript/ApiGraphs.qll @@ -122,6 +122,7 @@ module API { * Although one may think of API graphs as a tool to find certain program elements in the codebase, * it can lead to some situations where intuition does not match what works best in practice. */ + overlay[local?] class Node extends Impl::TApiNode { /** * Get a data-flow node where this value may flow after entering the current codebase. @@ -131,7 +132,7 @@ module API { */ pragma[inline] DataFlow::Node getAValueReachableFromSource() { - Impl::trackUseNode(this.asSource()).flowsTo(result) + Impl::trackUseNode(this.asSource(), result.getALocalSource()) } /** @@ -170,7 +171,7 @@ module API { CallNode getMaybePromisifiedCall() { result = this.getACall() or - result = Impl::getAPromisifiedInvocation(this, _, _) + Impl::getAPromisifiedInvocation(this, _, _, result) } /** @@ -209,7 +210,7 @@ module API { * This is similar to `asSink()` but additionally includes nodes that transitively reach a sink by data flow. * See `asSink()` for examples. */ - DataFlow::Node getAValueReachingSink() { result = Impl::trackDefNode(this.asSink()) } + DataFlow::Node getAValueReachingSink() { Impl::trackDefNode(this.asSink(), result) } /** * Gets a node representing member `m` of this API component. @@ -545,7 +546,7 @@ module API { this = Impl::MkClassInstance(result) or this = Impl::MkUse(result) or this = Impl::MkDef(result) or - this = Impl::MkSyntheticCallbackArg(_, _, result) + this = Impl::MkSyntheticCallbackArg(result) } /** @@ -579,7 +580,31 @@ module API { * Gets a textual representation of this node. */ string toString() { - none() // defined in subclasses + this = Impl::MkRoot() and result = "root" + or + exists(string m | this = Impl::MkModuleDef(m) | result = "module def " + m) + or + exists(string m | this = Impl::MkModuleUse(m) | result = "module use " + m) + or + exists(string m | this = Impl::MkModuleExport(m) | result = "module export " + m) + or + exists(string m | this = Impl::MkModuleImport(m) | result = "module import " + m) + or + exists(string m, string e | this = Impl::MkTypeUse(m, e) | + result = "type use " + m + "::" + e + ) + or + exists(DataFlow::SourceNode cls | this = Impl::MkClassInstance(cls) | + result = "instance of " + cls.toString() + ) + or + exists(DataFlow::Node nd | this = Impl::MkDef(nd) | result = "def " + nd.toString()) + or + exists(DataFlow::Node nd | this = Impl::MkUse(nd) | result = "use " + nd.toString()) + or + exists(DataFlow::InvokeNode nd | this = Impl::MkSyntheticCallbackArg(nd) | + result = "callback arg " + nd.toString() + ) } /** @@ -607,19 +632,13 @@ module API { } /** The root node of an API graph. */ - class Root extends Node, Impl::MkRoot { - override string toString() { result = "root" } - } + class Root extends Node, Impl::MkRoot { } /** A node corresponding to a definition of an API component. */ - class Definition extends Node, Impl::TDef { - override string toString() { result = "def " + this.getPath() } - } + class Definition extends Node, Impl::TDef { } /** A node corresponding to the use of an API component. */ - class Use extends Node, Impl::TUse { - override string toString() { result = "use " + this.getPath() } - } + class Use extends Node, Impl::TUse { } /** Gets the root node. */ Root root() { any() } @@ -676,17 +695,21 @@ module API { * Imports and exports are considered entry points by default, but additional entry points may * be added by extending this class. Typical examples include global variables. */ + overlay[local] abstract class EntryPoint extends string { bindingset[this] EntryPoint() { any() } /** Gets a data-flow node where a value enters the current codebase through this entry-point. */ + overlay[global] DataFlow::SourceNode getASource() { none() } /** Gets a data-flow node where a value leaves the current codebase through this entry-point. */ + overlay[global] DataFlow::Node getASink() { none() } /** Gets an API-node for this entry point. */ + overlay[global] API::Node getANode() { result = root().getASuccessor(Label::entryPoint(this)) } } @@ -731,49 +754,54 @@ module API { */ cached private module Impl { + private predicate hasTypeUse(string moduleName, string exportName) { + any(TypeAnnotation n).hasUnderlyingType(moduleName, exportName) + } + + overlay[local] + private predicate hasTypeUseLocal(string moduleName, string exportName) = + forceLocal(hasTypeUse/2)(moduleName, exportName) + + overlay[local] cached newtype TApiNode = MkRoot() or MkModuleDef(string m) { exists(MkModuleExport(m)) } or MkModuleUse(string m) { exists(MkModuleImport(m)) } or - MkModuleExport(string m) { - exists(Module mod | mod = importableModule(m) | - // exclude modules that don't actually export anything - exports(m, _) - or - exports(m, _, _) - or - exists(NodeModule nm | nm = mod | - exists(Ssa::implicitInit([nm.getModuleVariable(), nm.getExportsVariable()])) - ) - ) - } or - MkModuleImport(string m) { - imports(_, m) + MkModuleExport(string m) { isDeclaredPackageName(m) } or + MkModuleImport(string m) { isImportedPackageName(m) } or + MkClassInstance(DataFlow::SourceNode cls) { + cls = any(Function f).flow() or - any(TypeAnnotation n).hasUnderlyingType(m, _) + cls = any(ClassDefinition c).flow() } or - MkClassInstance(DataFlow::ClassNode cls) { needsDefNode(cls) } or - MkDef(DataFlow::Node nd) { rhs(_, _, nd) } or - MkUse(DataFlow::Node nd) { use(_, _, nd) } or + MkDef(DataFlow::Node nd) { + nd = any(DataFlow::PropWrite w).getRhs() + or + nd = any(DataFlow::FunctionNode fn).getReturnNode() + or + nd = any(DataFlow::FunctionNode fn).getAReturn() + or + nd = any(DataFlow::FunctionNode fn).getExceptionalReturn() + or + nd = any(DataFlow::CallNode c).getReceiver() + or + nd = any(DataFlow::InvokeNode i).getAnArgument() + or + nd = any(DataFlow::InvokeNode i).getASpreadArgument() + or + nd = any(ThrowStmt stmt).getExpr().flow() + or + nd = any(ExportDeclaration decl).getDirectSourceNode(_) + or + nd = any(MemberDeclaration m).getInit().flow() + or + nd = any(ClassDefinition cls | exists(cls.getADecorator())).flow() + } or + MkUse(DataFlow::Node nd) { nd instanceof DataFlow::SourceNode } or /** A use of a TypeScript type. */ - MkTypeUse(string moduleName, string exportName) { - any(TypeAnnotation n).hasUnderlyingType(moduleName, exportName) - } or - MkSyntheticCallbackArg(DataFlow::Node src, int bound, DataFlow::InvokeNode nd) { - trackUseNode(src, true, bound, "").flowsTo(nd.getCalleeNode()) - } - - private predicate needsDefNode(DataFlow::ClassNode cls) { - hasSemantics(cls) and - ( - cls = trackDefNode(_) - or - cls.getAnInstanceReference() = trackDefNode(_) - or - needsDefNode(cls.getADirectSubClass()) - ) - } + MkTypeUse(string moduleName, string exportName) { hasTypeUseLocal(moduleName, exportName) } or + MkSyntheticCallbackArg(DataFlow::InvokeNode nd) class TDef = MkModuleDef or TNonModuleDef; @@ -783,698 +811,998 @@ module API { private predicate hasSemantics(DataFlow::Node nd) { not nd.getTopLevel().isExterns() } - /** Holds if `imp` is an import of module `m`. */ - private predicate imports(DataFlow::Node imp, string m) { - imp = DataFlow::moduleImport(m) and - // path must not start with a dot or a slash - m.regexpMatch("[^./].*") and - hasSemantics(imp) + bindingset[nd] + pragma[inline_late] + private predicate hasSemanticsLate(DataFlow::Node nd) { hasSemantics(nd) } + + private signature module StageInputSig { + /** Holds if `node` should be seen as a use-node root, in addition to module imports (which are the usual roots). */ + predicate isAdditionalUseRoot(Node node); + + /** Holds if `node` should be seen as a def-node root, in addition to module exports (which are the usual roots). */ + predicate isAdditionalDefRoot(Node node); + + /** + * Holds if `node` is in a file that is considered "active" in this stage, meaning that we allow outgoing labelled edges + * to be materialised from here, and continue API graph construction from the successors' edges. + * + * Note that the "additional roots" contributed by the stage inputs may be in an inactive file but can be tracked to a node in an + * active file. + * This predicate should thus not be used to block the tracking of use/def nodes, but only block the creation of new labelled edges. + */ + bindingset[node] + predicate inActiveFile(DataFlow::Node node); } - /** - * Holds if `rhs` is the right-hand side of a definition of a node that should have an - * incoming edge from `base` labeled `lbl` in the API graph. - */ - cached - predicate rhs(TApiNode base, Label::ApiLabel lbl, DataFlow::Node rhs) { - hasSemantics(rhs) and - ( - base = MkRoot() and - exists(EntryPoint e | - lbl = Label::entryPoint(e) and - rhs = e.getASink() - ) - or - exists(string m, string prop | - base = MkModuleExport(m) and - lbl = Label::member(prop) and - exports(m, prop, rhs) - ) - or - exists(DataFlow::Node def, DataFlow::SourceNode pred | - rhs(base, def) and pred = trackDefNode(def) - | - // from `x` to a definition of `x.prop` - exists(DataFlow::PropWrite pw | pw = pred.getAPropertyWrite() | - lbl = Label::memberFromRef(pw) and - rhs = pw.getRhs() + private module Stage { + /** + * Holds if `rhs` is the right-hand side of a definition of a node that should have an + * incoming edge from `base` labeled `lbl` in the API graph. + */ + predicate rhs(TApiNode base, Label::ApiLabel lbl, DataFlow::Node rhs) { + hasSemantics(rhs) and + ( + base = MkRoot() and + exists(EntryPoint e | + lbl = Label::entryPoint(e) and + rhs = e.getASink() ) or - // special case: from `require('m')` to an export of `prop` in `m` - exists(Import imp, Module m, string prop | - pred = imp.getImportedModuleNodeStrict() and - m = imp.getImportedModule() and + exists(string m, string prop | + base = MkModuleExport(m) and lbl = Label::member(prop) and - rhs = m.getAnExportedValue(prop) + exports(m, prop, rhs) ) or - // In general, turn store steps into member steps for def-nodes - exists(string prop | - PreCallGraphStep::storeStep(rhs, pred, prop) and - lbl = Label::member(prop) and - not DataFlow::PseudoProperties::isPseudoProperty(prop) - ) - or - exists(DataFlow::ContentSet contents | - SummaryTypeTracker::basicStoreStep(rhs, pred.getALocalUse(), contents) and - lbl = Label::content(contents.getAStoreContent()) - ) - or - exists(DataFlow::FunctionNode fn | - fn = pred and - lbl = Label::return() + exists(DataFlow::Node def, DataFlow::SourceNode pred | + rhs(base, def) and trackDefNode(def, pred) | - if fn.getFunction().isAsync() then rhs = fn.getReturnNode() else rhs = fn.getAReturn() - ) - or - lbl = Label::promised() and - SharedTypeTrackingStep::storeStep(rhs, pred, Promises::valueProp()) - or - lbl = Label::promisedError() and - SharedTypeTrackingStep::storeStep(rhs, pred, Promises::errorProp()) - or - // The return-value of a getter G counts as a definition of property G - // (Ordinary methods and properties are handled as PropWrite nodes) - exists(string name | lbl = Label::member(name) | - rhs = pred.(DataFlow::ObjectLiteralNode).getPropertyGetter(name).getAReturn() + // from `x` to a definition of `x.prop` + exists(DataFlow::PropWrite pw | pw = pred.getAPropertyWrite() | + lbl = Label::memberFromRef(pw) and + rhs = pw.getRhs() + ) or - rhs = - pred.(DataFlow::ClassNode) - .getStaticMember(name, DataFlow::MemberKind::getter()) - .getAReturn() + // special case: from `require('m')` to an export of `prop` in `m` + exists(Import imp, Module m, string prop | + pred = imp.getImportedModuleNodeStrict() and + m = imp.getImportedModule() and + lbl = Label::member(prop) and + rhs = m.getAnExportedValue(prop) + ) + or + // In general, turn store steps into member steps for def-nodes + exists(string prop | + PreCallGraphStep::storeStep(rhs, pred, prop) and + lbl = Label::member(prop) and + not DataFlow::PseudoProperties::isPseudoProperty(prop) + ) + or + exists(DataFlow::ContentSet contents | + SummaryTypeTracker::basicStoreStep(rhs, pred.getALocalUse(), contents) and + lbl = Label::content(contents.getAStoreContent()) + ) + or + exists(DataFlow::FunctionNode fn | + fn = pred and + lbl = Label::return() + | + if fn.getFunction().isAsync() then rhs = fn.getReturnNode() else rhs = fn.getAReturn() + ) + or + lbl = Label::promised() and + SharedTypeTrackingStep::storeStep(rhs, pred, Promises::valueProp()) + or + lbl = Label::promisedError() and + SharedTypeTrackingStep::storeStep(rhs, pred, Promises::errorProp()) + or + // The return-value of a getter G counts as a definition of property G + // (Ordinary methods and properties are handled as PropWrite nodes) + exists(string name | lbl = Label::member(name) | + rhs = pred.(DataFlow::ObjectLiteralNode).getPropertyGetter(name).getAReturn() + or + rhs = + pred.(DataFlow::ClassNode) + .getStaticMember(name, DataFlow::MemberKind::getter()) + .getAReturn() + ) + or + // Handle rest parameters escaping into external code. For example: + // + // function foo(...rest) { + // externalFunc(rest); + // } + // + // Here, 'rest' reaches a def-node at the call to externalFunc, so we need to ensure + // the arguments passed to 'foo' are stored in the 'rest' array. + exists(Function fun, DataFlow::InvokeNode invoke, int argIndex, Parameter rest | + fun.getRestParameter() = rest and + rest.flow() = pred and + invoke.getACallee() = fun and + invoke.getArgument(argIndex) = rhs and + argIndex >= rest.getIndex() and + lbl = Label::member((argIndex - rest.getIndex()).toString()) + ) ) or - // Handle rest parameters escaping into external code. For example: - // - // function foo(...rest) { - // externalFunc(rest); - // } - // - // Here, 'rest' reaches a def-node at the call to externalFunc, so we need to ensure - // the arguments passed to 'foo' are stored in the 'rest' array. - exists(Function fun, DataFlow::InvokeNode invoke, int argIndex, Parameter rest | - fun.getRestParameter() = rest and - rest.flow() = pred and - invoke.getACallee() = fun and - invoke.getArgument(argIndex) = rhs and - argIndex >= rest.getIndex() and - lbl = Label::member((argIndex - rest.getIndex()).toString()) + exists(DataFlow::ClassNode cls, string name | + base = MkClassInstance(cls) and + lbl = Label::member(name) + | + rhs = cls.getInstanceMethod(name) + or + rhs = cls.getInstanceMember(name, DataFlow::MemberKind::getter()).getAReturn() + ) + or + exists(DataFlow::FunctionNode f | + f.getFunction().isAsync() and + base = MkDef(f.getReturnNode()) + | + lbl = Label::promised() and + rhs = f.getAReturn() + or + lbl = Label::promisedError() and + rhs = f.getExceptionalReturn() + ) + or + exists(int i | argumentPassing(base, i, rhs) | + lbl = Label::parameter(i) + or + i = -1 and lbl = Label::receiver() + ) + or + exists(int i | + spreadArgumentPassing(base, i, rhs) and + lbl = Label::spreadArgument(i) + ) + or + exists(DataFlow::SourceNode src, DataFlow::SourceNode mid, DataFlow::PropWrite pw | + use(base, src) and + trackUseNode(src, mid) and + pw = mid.getAPropertyWrite() and + rhs = pw.getRhs() + | + lbl = Label::memberFromRef(pw) ) ) or - exists(DataFlow::ClassNode cls, string name | - base = MkClassInstance(cls) and - lbl = Label::member(name) - | - rhs = cls.getInstanceMethod(name) - or - rhs = cls.getInstanceMember(name, DataFlow::MemberKind::getter()).getAReturn() - ) + decoratorDualEdge(base, lbl, rhs) or - exists(DataFlow::FunctionNode f | - f.getFunction().isAsync() and - base = MkDef(f.getReturnNode()) - | - lbl = Label::promised() and - rhs = f.getAReturn() - or - lbl = Label::promisedError() and - rhs = f.getExceptionalReturn() - ) + decoratorRhsEdge(base, lbl, rhs) or - exists(int i | argumentPassing(base, i, rhs) | - lbl = Label::parameter(i) - or - i = -1 and lbl = Label::receiver() + exists(DataFlow::PropWrite write | + decoratorPropEdge(base, lbl, write) and + rhs = write.getRhs() ) - or - exists(int i | - spreadArgumentPassing(base, i, rhs) and - lbl = Label::spreadArgument(i) - ) - or - exists(DataFlow::SourceNode src, DataFlow::PropWrite pw | - use(base, src) and pw = trackUseNode(src).getAPropertyWrite() and rhs = pw.getRhs() - | - lbl = Label::memberFromRef(pw) - ) - ) - or - decoratorDualEdge(base, lbl, rhs) - or - decoratorRhsEdge(base, lbl, rhs) - or - exists(DataFlow::PropWrite write | - decoratorPropEdge(base, lbl, write) and - rhs = write.getRhs() - ) - } + } - /** - * Holds if `arg` is passed as the `i`th argument to a use of `base`, either by means of a - * full invocation, or in a partial function application. - * - * The receiver is considered to be argument -1. - */ - private predicate argumentPassing(TApiNode base, int i, DataFlow::Node arg) { - exists(DataFlow::Node use, DataFlow::SourceNode pred, int bound | - use(base, use) and pred = trackUseNode(use, _, bound, "") - | - arg = pred.getAnInvocation().getArgument(i - bound) - or - arg = pred.getACall().getReceiver() and - bound = 0 and - i = -1 - or - exists(DataFlow::PartialInvokeNode pin, DataFlow::Node callback | pred.flowsTo(callback) | - pin.isPartialArgument(callback, arg, i - bound) + /** + * Holds if `arg` is passed as the `i`th argument to a use of `base`, either by means of a + * full invocation, or in a partial function application. + * + * The receiver is considered to be argument -1. + */ + private predicate argumentPassing(TApiNode base, int i, DataFlow::Node arg) { + exists(DataFlow::Node use, DataFlow::SourceNode pred, int bound | + use(base, use) and pred = trackUseNode(use, _, bound, "") + | + arg = pred.getAnInvocation().getArgument(i - bound) or - arg = pin.getBoundReceiver(callback) and + arg = pred.getACall().getReceiver() and bound = 0 and i = -1 + or + exists(DataFlow::PartialInvokeNode pin, DataFlow::Node callback | pred.flowsTo(callback) | + pin.isPartialArgument(callback, arg, i - bound) + or + arg = pin.getBoundReceiver(callback) and + bound = 0 and + i = -1 + ) ) - ) - } + } - pragma[nomagic] - private int firstSpreadIndex(InvokeExpr expr) { - result = min(int i | expr.getArgument(i) instanceof SpreadElement) - } + pragma[nomagic] + private int firstSpreadIndex(InvokeExpr expr) { + result = min(int i | expr.getArgument(i) instanceof SpreadElement) + } - pragma[nomagic] - private InvokeExpr getAnInvocationWithSpread(DataFlow::SourceNode node, int i) { - result = node.getAnInvocation().asExpr() and - i = firstSpreadIndex(result) - } + pragma[nomagic] + private InvokeExpr getAnInvocationWithSpread(DataFlow::SourceNode node, int i) { + result = node.getAnInvocation().asExpr() and + i = firstSpreadIndex(result) + } - private predicate spreadArgumentPassing(TApiNode base, int i, DataFlow::Node spreadArray) { - exists( - DataFlow::Node use, DataFlow::SourceNode pred, int bound, InvokeExpr invoke, int spreadPos - | - use(base, use) and - pred = trackUseNode(use, _, bound, "") and - invoke = getAnInvocationWithSpread(pred, spreadPos) and - spreadArray = invoke.getArgument(spreadPos).(SpreadElement).getOperand().flow() and - i = bound + spreadPos - ) - } - - /** - * Holds if `rhs` is the right-hand side of a definition of node `nd`. - */ - cached - predicate rhs(TApiNode nd, DataFlow::Node rhs) { - exists(string m | nd = MkModuleExport(m) | exports(m, rhs)) - or - nd = MkDef(rhs) - } - - /** - * Holds if `ref` is a read of a property described by `lbl` on `pred`, and - * `propDesc` is compatible with that property, meaning it is either the - * name of the property itself or the empty string. - */ - pragma[noinline] - private predicate propertyRead( - DataFlow::SourceNode pred, string propDesc, Label::ApiLabel lbl, DataFlow::Node ref - ) { - ref = pred.getAPropertyRead() and - lbl = Label::memberFromRef(ref) and - ( - lbl = Label::member(propDesc) - or - propDesc = "" - ) - or - SharedTypeTrackingStep::loadStep(pred.getALocalUse(), ref, Promises::valueProp()) and - lbl = Label::promised() and - (propDesc = Promises::valueProp() or propDesc = "") - or - SharedTypeTrackingStep::loadStep(pred.getALocalUse(), ref, Promises::errorProp()) and - lbl = Label::promisedError() and - (propDesc = Promises::errorProp() or propDesc = "") - } - - pragma[nomagic] - private DataFlow::ClassNode getALocalSubclass(DataFlow::SourceNode node) { - result.getASuperClassNode().getALocalSource() = node - } - - bindingset[node] - pragma[inline_late] - private DataFlow::ClassNode getALocalSubclassFwd(DataFlow::SourceNode node) { - result = getALocalSubclass(node) - } - - /** - * Holds if `ref` is a use of a node that should have an incoming edge from `base` labeled - * `lbl` in the API graph. - */ - cached - predicate use(TApiNode base, Label::ApiLabel lbl, DataFlow::Node ref) { - hasSemantics(ref) and - ( - base = MkRoot() and - exists(EntryPoint e | - lbl = Label::entryPoint(e) and - ref = e.getASource() - ) - or - // property reads - exists(DataFlow::SourceNode src, DataFlow::SourceNode pred, string propDesc | - use(base, src) and - pred = trackUseNode(src, false, 0, propDesc) and - propertyRead(pred, propDesc, lbl, ref) and - // `module.exports` is special: it is a use of a def-node, not a use-node, - // so we want to exclude it here - (base instanceof TNonModuleDef or base instanceof TUse) - ) - or - exists(DataFlow::SourceNode src, DataFlow::SourceNode pred | - use(base, src) and pred = trackUseNode(src) + private predicate spreadArgumentPassing(TApiNode base, int i, DataFlow::Node spreadArray) { + exists( + DataFlow::Node use, DataFlow::SourceNode pred, int bound, InvokeExpr invoke, int spreadPos | - lbl = Label::instance() and - ref = pred.getAnInstantiation() + use(base, use) and + pred = trackUseNode(use, _, bound, "") and + invoke = getAnInvocationWithSpread(pred, spreadPos) and + spreadArray = invoke.getArgument(spreadPos).(SpreadElement).getOperand().flow() and + i = bound + spreadPos + ) + } + + /** + * Holds if `rhs` is the right-hand side of a definition of node `nd`. + */ + predicate rhs(TApiNode nd, DataFlow::Node rhs) { + (S::inActiveFile(rhs) or S::isAdditionalDefRoot(nd)) and + exists(string m | nd = MkModuleExport(m) | exports(m, rhs)) + or + rhs(_, _, rhs) and + S::inActiveFile(rhs) and + nd = MkDef(rhs) + or + S::isAdditionalDefRoot(nd) and + nd = mkDefLate(rhs) + } + + /** + * Holds if `ref` is a read of a property described by `lbl` on `pred`, and + * `propDesc` is compatible with that property, meaning it is either the + * name of the property itself or the empty string. + */ + pragma[noinline] + private predicate propertyRead( + DataFlow::SourceNode pred, string propDesc, Label::ApiLabel lbl, DataFlow::Node ref + ) { + ref = pred.getAPropertyRead() and + lbl = Label::memberFromRef(ref) and + ( + lbl = Label::member(propDesc) or - lbl = Label::return() and - ref = pred.getAnInvocation() + propDesc = "" + ) + or + SharedTypeTrackingStep::loadStep(pred.getALocalUse(), ref, Promises::valueProp()) and + lbl = Label::promised() and + (propDesc = Promises::valueProp() or propDesc = "") + or + SharedTypeTrackingStep::loadStep(pred.getALocalUse(), ref, Promises::errorProp()) and + lbl = Label::promisedError() and + (propDesc = Promises::errorProp() or propDesc = "") + } + + pragma[nomagic] + private DataFlow::ClassNode getALocalSubclass(DataFlow::SourceNode node) { + result.getASuperClassNode().getALocalSource() = node + } + + bindingset[node] + pragma[inline_late] + private DataFlow::ClassNode getALocalSubclassFwd(DataFlow::SourceNode node) { + result = getALocalSubclass(node) + } + + /** + * Holds if `ref` is a use of a node that should have an incoming edge from `base` labeled + * `lbl` in the API graph. + */ + predicate use(TApiNode base, Label::ApiLabel lbl, DataFlow::Node ref) { + hasSemantics(ref) and + ( + base = MkRoot() and + exists(EntryPoint e | + lbl = Label::entryPoint(e) and + ref = e.getASource() and + S::inActiveFile(ref) + ) or - lbl = Label::forwardingFunction() and - DataFlow::functionForwardingStep(pred.getALocalUse(), ref) + // property reads + exists(DataFlow::SourceNode src, DataFlow::SourceNode pred, string propDesc | + use(base, src) and + pred = trackUseNode(src, false, 0, propDesc) and + propertyRead(pred, propDesc, lbl, ref) and + // `module.exports` is special: it is a use of a def-node, not a use-node, + // so we want to exclude it here + (base instanceof TNonModuleDef or base instanceof TUse) + ) + or + exists(DataFlow::SourceNode src, DataFlow::SourceNode pred | + use(base, src) and trackUseNode(src, pred) + | + lbl = Label::instance() and + ref = pred.getAnInstantiation() + or + lbl = Label::return() and + ref = pred.getAnInvocation() + or + lbl = Label::forwardingFunction() and + DataFlow::functionForwardingStep(pred.getALocalUse(), ref) + or + exists(DataFlow::ClassNode cls | + lbl = Label::instance() and + cls = getALocalSubclassFwd(pred).getADirectSubClass*() + | + ref = cls.getAReceiverNode() + or + ref = cls.getAClassReference().getAnInstantiation() + ) + or + exists(string prop | + PreCallGraphStep::loadStep(pred.getALocalUse(), ref, prop) and + lbl = Label::member(prop) and + // avoid generating member edges like "$arrayElement$" + not DataFlow::PseudoProperties::isPseudoProperty(prop) + ) + or + exists(DataFlow::ContentSet contents | + SummaryTypeTracker::basicLoadStep(pred.getALocalUse(), ref, contents) and + lbl = Label::content(contents.getAStoreContent()) + ) + ) + or + exists(DataFlow::Node def, DataFlow::FunctionNode fn | + rhs(base, def) and trackDefNode(def, fn) + | + exists(int i | + lbl = Label::parameter(i) and + ref = fn.getParameter(i) + ) + or + lbl = Label::receiver() and + ref = fn.getReceiver() + ) + or + exists(DataFlow::Node def, DataFlow::ClassNode cls, int i | + rhs(base, def) and trackDefNode(def, cls) + | + lbl = Label::parameter(i) and + ref = cls.getConstructor().getParameter(i) + ) + or + exists(string moduleName, string exportName | + base = MkTypeUse(moduleName, exportName) and + lbl = Label::instance() and + ref.(DataFlow::SourceNode).hasUnderlyingType(moduleName, exportName) + ) + or + exists(DataFlow::InvokeNode call | + base = MkSyntheticCallbackArg(call) and + lbl = Label::parameter(1) and + ref = awaited(call) + ) + or + // Handle promisified object member access: promisify(obj).member should be treated as obj.member (promisified) + exists( + Promisify::PromisifyAllCall promisifiedObj, DataFlow::SourceNode originalObj, + string member + | + originalObj.flowsTo(promisifiedObj.getArgument(0)) and + use(base, originalObj) and + lbl = Label::member(member) and + ref = promisifiedObj.getAPropertyRead(member) + ) + or + decoratorDualEdge(base, lbl, ref) + or + decoratorUseEdge(base, lbl, ref) + or + // for fields and accessors, mark the reads as use-nodes + decoratorPropEdge(base, lbl, ref.(DataFlow::PropRead)) + ) + } + + /** Holds if `base` is a use-node that flows to the decorator expression of the given decorator. */ + pragma[nomagic] + private predicate useNodeFlowsToDecorator(TApiNode base, Decorator decorator) { + exists(DataFlow::SourceNode decoratorSrc | + use(base, decoratorSrc) and + trackUseNode(decoratorSrc, decorator.getExpression().flow().getALocalSource()) + ) + } + + /** + * Holds if `ref` corresponds to both a use and def-node that should have an incoming edge from `base` labelled `lbl`. + * + * This happens because the decorated value escapes into the decorator function, and is then replaced + * by the function's return value. In the JS analysis we generally assume decorators return their input, + * but library models may want to find the return value. + */ + private predicate decoratorDualEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::Node ref) { + exists(ClassDefinition cls | + useNodeFlowsToDecorator(base, cls.getADecorator()) and + lbl = Label::decoratedClass() and + ref = DataFlow::valueNode(cls) + ) + or + exists(MethodDefinition method | + useNodeFlowsToDecorator(base, method.getADecorator()) and + not method instanceof AccessorMethodDefinition and + lbl = Label::decoratedMember() and + ref = DataFlow::valueNode(method.getBody()) + ) + } + + /** Holds if `ref` is a use that should have an incoming edge from `base` labelled `lbl`, induced by a decorator. */ + private predicate decoratorUseEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::Node ref) { + exists(SetterMethodDefinition accessor | + useNodeFlowsToDecorator(base, + [accessor.getADecorator(), accessor.getCorrespondingGetter().getADecorator()]) and + lbl = Label::decoratedMember() and + ref = DataFlow::parameterNode(accessor.getBody().getParameter(0)) + ) + or + exists(Parameter param | + useNodeFlowsToDecorator(base, param.getADecorator()) and + lbl = Label::decoratedParameter() and + ref = DataFlow::parameterNode(param) + ) + } + + /** Holds if `rhs` is a def node that should have an incoming edge from `base` labelled `lbl`, induced by a decorator. */ + private predicate decoratorRhsEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::Node rhs) { + exists(GetterMethodDefinition accessor | + useNodeFlowsToDecorator(base, + [accessor.getADecorator(), accessor.getCorrespondingSetter().getADecorator()]) and + lbl = Label::decoratedMember() and + rhs = DataFlow::valueNode(accessor.getBody().getAReturnedExpr()) + ) + } + + /** + * Holds if `ref` is a reference to a field/accessor that should have an incoming edge from base labelled `lbl`. + * + * Since fields do not have their own data-flow nodes, we generate a node for each read or write. + * For property writes, the right-hand side becomes a def-node and property reads become use-nodes. + * + * For accessors this predicate computes each use of the accessor. + * The return value inside the accessor is computed by the `decoratorRhsEdge` predicate. + */ + private predicate decoratorPropEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::PropRef ref) { + exists(MemberDefinition fieldLike, DataFlow::ClassNode cls | + fieldLike instanceof FieldDefinition + or + fieldLike instanceof AccessorMethodDefinition + | + useNodeFlowsToDecorator(base, fieldLike.getADecorator()) and + lbl = Label::decoratedMember() and + cls = fieldLike.getDeclaringClass().flow() and + ( + fieldLike.isStatic() and + ref = cls.getAClassReference().getAPropertyReference(fieldLike.getName()) + or + not fieldLike.isStatic() and + ref = cls.getAnInstanceReference().getAPropertyReference(fieldLike.getName()) + ) + ) + } + + private predicate needsDefNode(DataFlow::ClassNode cls) { + hasSemantics(cls) and + ( + trackDefNode(_, cls) + or + trackDefNode(_, cls.getAnInstanceReference()) + or + needsDefNode(cls.getADirectSubClass()) + or + S::isAdditionalDefRoot(MkClassInstance(cls)) + or + S::isAdditionalUseRoot(MkClassInstance(cls)) // These are also tracked as use-nodes + ) + } + + /** + * Holds if `ref` is a use of node `nd`. + */ + predicate use(TApiNode nd, DataFlow::Node ref) { + (S::inActiveFile(ref) or S::isAdditionalUseRoot(nd)) and + ( + exists(string m, Module mod | nd = MkModuleDef(m) and mod = importableModule(m) | + ref = DataFlow::moduleVarNode(mod) + ) + or + exists(string m, Module mod | nd = MkModuleExport(m) and mod = importableModule(m) | + ref = DataFlow::exportsVarNode(mod) + or + exists(DataFlow::Node base, DataFlow::SourceNode mid | use(MkModuleDef(m), base) | + trackUseNode(base, mid) and ref = mid.getAPropertyRead("exports") + ) + ) + or + exists(string m | + nd = MkModuleImport(m) and + ref = DataFlow::moduleImport(m) + ) + ) + or + exists(DataFlow::ClassNode cls | nd = MkClassInstance(cls) and needsDefNode(cls) | + ref = cls.getAReceiverNode() + or + ref = cls.(DataFlow::ClassNode).getAPrototypeReference() + ) + or + use(_, _, ref) and + S::inActiveFile(ref) and + nd = MkUse(ref) + or + S::isAdditionalUseRoot(nd) and + nd = mkUseLate(ref) + } + + bindingset[node] + pragma[inline_late] + private TApiNode mkUseLate(DataFlow::Node node) { result = MkUse(node) } + + bindingset[node] + pragma[inline_late] + private TApiNode mkDefLate(DataFlow::Node node) { result = MkDef(node) } + + private import semmle.javascript.dataflow.TypeTracking + + /** + * Gets a data-flow node to which `nd`, which is a use of an API-graph node, flows. + * + * The flow from `nd` to that node may be inter-procedural, and is further described by three + * flags: + * + * - `promisified`: if `true`, the flow goes through a promisification; + * - `boundArgs`: for function values, tracks how many arguments have been bound throughout + * the flow. To ensure termination, we somewhat arbitrarily constrain the number of bound + * arguments to be at most ten. + * - `prop`: if non-empty, the flow is only guaranteed to preserve the value of this property, + * and not necessarily the entire object. + */ + private DataFlow::SourceNode trackUseNode( + DataFlow::SourceNode nd, boolean promisified, int boundArgs, string prop, + DataFlow::TypeTracker t + ) { + t.start() and + use(_, nd) and + result = nd and + promisified = false and + boundArgs = 0 and + prop = "" + or + exists(Promisify::PromisifyCall promisify | + trackUseNode(nd, false, boundArgs, prop, t.continue()).flowsTo(promisify.getArgument(0)) and + promisified = true and + prop = "" and + result = promisify + ) + or + exists(DataFlow::PartialInvokeNode pin, DataFlow::Node pred, int predBoundArgs | + trackUseNode(nd, promisified, predBoundArgs, prop, t.continue()).flowsTo(pred) and + prop = "" and + result = pin.getBoundFunction(pred, boundArgs - predBoundArgs) and + boundArgs in [0 .. 10] + ) + or + exists(DataFlow::SourceNode mid | + mid = trackUseNode(nd, promisified, boundArgs, prop, t) and + AdditionalUseStep::step(pragma[only_bind_out](mid), result) + ) + or + exists(DataFlow::Node pred, string preprop | + trackUseNode(nd, promisified, boundArgs, preprop, t.continue()).flowsTo(pred) and + promisified = false and + boundArgs = 0 and + SharedTypeTrackingStep::loadStoreStep(pred, result, prop) + | + prop = preprop + or + preprop = "" + ) + or + t = useStep(nd, promisified, boundArgs, prop, result) + } + + /** + * Holds if `nd`, which is a use of an API-graph node, flows in zero or more potentially + * inter-procedural steps to some intermediate node, and then from that intermediate node to + * `res` in one step. The entire flow is described by the resulting `TypeTracker`. + * + * This predicate exists solely to enforce a better join order in `trackUseNode` above. + */ + pragma[noopt] + private DataFlow::TypeTracker useStep( + DataFlow::Node nd, boolean promisified, int boundArgs, string prop, DataFlow::Node res + ) { + exists(DataFlow::TypeTracker t, StepSummary summary, DataFlow::SourceNode prev | + prev = trackUseNode(nd, promisified, boundArgs, prop, t) and + StepSummary::step(prev, res, summary) and + result = t.append(summary) and + // Block argument-passing into 'this' when it determines the call target + not summary = CallReceiverStep() + ) + } + + private DataFlow::SourceNode trackUseNode( + DataFlow::SourceNode nd, boolean promisified, int boundArgs, string prop + ) { + result = trackUseNode(nd, promisified, boundArgs, prop, DataFlow::TypeTracker::end()) + } + + /** + * Holds if `target` is inter-procedurally reachable from `nd`, which is a use of some node. + */ + predicate trackUseNode(DataFlow::SourceNode nd, DataFlow::SourceNode target) { + target = trackUseNode(nd, false, 0, "") + } + + /** + * Gets a node whose forward tracking reaches `nd` in some state (e.g. possibly inside a content at this point). + */ + predicate trackUseNodeAnyState(DataFlow::SourceNode nd, DataFlow::SourceNode target) { + target = trackUseNode(nd, _, _, _, _) + } + + private predicate trackDefNode( + DataFlow::Node nd, DataFlow::TypeBackTracker t, DataFlow::SourceNode target + ) { + t.start() and + rhs(_, nd) and + target = nd.getALocalSource() + or + // additional backwards step from `require('m')` to `exports` or `module.exports` in m + exists(Import imp | trackDefNode(nd, t.continue(), imp.getImportedModuleNodeStrict()) | + target = DataFlow::exportsVarNode(imp.getImportedModule()) + or + target = DataFlow::moduleVarNode(imp.getImportedModule()).getAPropertyRead("exports") + ) + or + exists(ObjectExpr obj | + trackDefNode(nd, t.continue(), obj.flow()) and + target = + obj.getAProperty() + .(SpreadProperty) + .getInit() + .(SpreadElement) + .getOperand() + .flow() + .getALocalSource() + ) + or + t = defStep(nd, target) + } + + /** + * Holds if `nd`, which is a def of an API-graph node, can be reached in zero or more potentially + * inter-procedural steps from some intermediate node, and `prev` flows into that intermediate node + * in one step. The entire flow is described by the resulting `TypeTracker`. + * + * This predicate exists solely to enforce a better join order in `trackDefNode` above. + */ + pragma[noopt] + private DataFlow::TypeBackTracker defStep(DataFlow::Node nd, DataFlow::SourceNode prev) { + exists(DataFlow::TypeBackTracker t, StepSummary summary, DataFlow::Node next | + trackDefNode(nd, t, next) and + StepSummary::step(prev, next, summary) and + result = t.prepend(summary) and + // Block argument-passing into 'this' when it determines the call target + not summary = CallReceiverStep() + ) + } + + /** + * Holds if `target` inter-procedurally flows into `nd`, which is a definition of some node. + */ + predicate trackDefNode(DataFlow::Node nd, DataFlow::SourceNode target) { + trackDefNode(nd, DataFlow::TypeBackTracker::end(), target) + } + + /** + * Gets a node reached by the backwards tracking of `nd` in some state (e.g. possibly inside a content at this point). + */ + predicate trackDefNodeAnyState(DataFlow::Node nd, DataFlow::SourceNode target) { + trackDefNode(nd, _, target) + } + + private DataFlow::SourceNode awaited(DataFlow::InvokeNode call, DataFlow::TypeTracker t) { + t.startInPromise() and + trackUseNode(_, true, _, "").flowsTo(call.getCalleeNode()) and + result = call + or + exists(DataFlow::TypeTracker t2 | result = awaited(call, t2).track(t2, t)) + } + + /** + * Gets a node holding the resolved value of promise `call`. + */ + private DataFlow::Node awaited(DataFlow::InvokeNode call) { + result = awaited(call, DataFlow::TypeTracker::end()) + } + + /** + * Holds if there is an edge from `pred` to `succ` in the API graph that is labeled with `lbl`. + */ + predicate edge(TApiNode pred, Label::ApiLabel lbl, TApiNode succ) { + Stages::ApiStage::ref() and + exists(string m | + pred = MkRoot() and + lbl = Label::moduleLabel(m) + | + succ = MkModuleDef(m) + or + succ = MkModuleUse(m) + ) + or + exists(string m | + pred = MkModuleDef(m) and + lbl = Label::member("exports") and + succ = MkModuleExport(m) + or + pred = MkModuleUse(m) and + lbl = Label::member("exports") and + succ = MkModuleImport(m) + ) + or + exists(DataFlow::SourceNode ref | + use(pred, lbl, ref) and + succ = MkUse(ref) + ) + or + exists(DataFlow::Node rhs | rhs(pred, lbl, rhs) | + succ = MkDef(rhs) or exists(DataFlow::ClassNode cls | - lbl = Label::instance() and - cls = getALocalSubclassFwd(pred).getADirectSubClass*() - | - ref = cls.getAReceiverNode() - or - ref = cls.getAClassReference().getAnInstantiation() - ) - or - exists(string prop | - PreCallGraphStep::loadStep(pred.getALocalUse(), ref, prop) and - lbl = Label::member(prop) and - // avoid generating member edges like "$arrayElement$" - not DataFlow::PseudoProperties::isPseudoProperty(prop) - ) - or - exists(DataFlow::ContentSet contents | - SummaryTypeTracker::basicLoadStep(pred.getALocalUse(), ref, contents) and - lbl = Label::content(contents.getAStoreContent()) + needsDefNode(cls) and + cls.getAnInstanceReference().flowsTo(rhs) and + succ = MkClassInstance(cls) ) ) or - exists(DataFlow::Node def, DataFlow::FunctionNode fn | - rhs(base, def) and fn = trackDefNode(def) - | - exists(int i | - lbl = Label::parameter(i) and - ref = fn.getParameter(i) - ) - or - lbl = Label::receiver() and - ref = fn.getReceiver() - ) - or - exists(DataFlow::Node def, DataFlow::ClassNode cls, int i | - rhs(base, def) and cls = trackDefNode(def) - | - lbl = Label::parameter(i) and - ref = cls.getConstructor().getParameter(i) + exists(DataFlow::Node def, DataFlow::Node mid | + rhs(pred, def) and + lbl = Label::instance() and + trackDefNode(def, mid) and + succ = MkClassInstance(mid) ) or exists(string moduleName, string exportName | - base = MkTypeUse(moduleName, exportName) and - lbl = Label::instance() and - ref.(DataFlow::SourceNode).hasUnderlyingType(moduleName, exportName) + pred = MkModuleImport(moduleName) and + lbl = Label::member(exportName) and + succ = MkTypeUse(moduleName, exportName) ) or - exists(DataFlow::InvokeNode call | - base = MkSyntheticCallbackArg(_, _, call) and - lbl = Label::parameter(1) and - ref = awaited(call) + exists(DataFlow::Node nd, DataFlow::FunctionNode f | + f.getFunction().isAsync() and + pred = MkDef(nd) and + trackDefNode(nd, f) and + lbl = Label::return() and + succ = MkDef(f.getReturnNode()) ) or - // Handle promisified object member access: promisify(obj).member should be treated as obj.member (promisified) - exists( - Promisify::PromisifyAllCall promisifiedObj, DataFlow::SourceNode originalObj, - string member - | - originalObj.flowsTo(promisifiedObj.getArgument(0)) and - use(base, originalObj) and - lbl = Label::member(member) and - ref = promisifiedObj.getAPropertyRead(member) + exists(int bound, DataFlow::InvokeNode call | + lbl = Label::parameter(bound + call.getNumArgument()) and + getAPromisifiedInvocation(pred, bound, succ, call) ) - or - decoratorDualEdge(base, lbl, ref) - or - decoratorUseEdge(base, lbl, ref) - or - // for fields and accessors, mark the reads as use-nodes - decoratorPropEdge(base, lbl, ref.(DataFlow::PropRead)) - ) - } + } - /** Holds if `base` is a use-node that flows to the decorator expression of the given decorator. */ - pragma[nomagic] - private predicate useNodeFlowsToDecorator(TApiNode base, Decorator decorator) { - exists(DataFlow::SourceNode decoratorSrc | - use(base, decoratorSrc) and - trackUseNode(decoratorSrc).flowsToExpr(decorator.getExpression()) - ) - } - - /** - * Holds if `ref` corresponds to both a use and def-node that should have an incoming edge from `base` labelled `lbl`. - * - * This happens because the decorated value escapes into the decorator function, and is then replaced - * by the function's return value. In the JS analysis we generally assume decorators return their input, - * but library models may want to find the return value. - */ - private predicate decoratorDualEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::Node ref) { - exists(ClassDefinition cls | - useNodeFlowsToDecorator(base, cls.getADecorator()) and - lbl = Label::decoratedClass() and - ref = DataFlow::valueNode(cls) - ) - or - exists(MethodDefinition method | - useNodeFlowsToDecorator(base, method.getADecorator()) and - not method instanceof AccessorMethodDefinition and - lbl = Label::decoratedMember() and - ref = DataFlow::valueNode(method.getBody()) - ) - } - - /** Holds if `ref` is a use that should have an incoming edge from `base` labelled `lbl`, induced by a decorator. */ - private predicate decoratorUseEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::Node ref) { - exists(SetterMethodDefinition accessor | - useNodeFlowsToDecorator(base, - [accessor.getADecorator(), accessor.getCorrespondingGetter().getADecorator()]) and - lbl = Label::decoratedMember() and - ref = DataFlow::parameterNode(accessor.getBody().getParameter(0)) - ) - or - exists(Parameter param | - useNodeFlowsToDecorator(base, param.getADecorator()) and - lbl = Label::decoratedParameter() and - ref = DataFlow::parameterNode(param) - ) - } - - /** Holds if `rhs` is a def node that should have an incoming edge from `base` labelled `lbl`, induced by a decorator. */ - private predicate decoratorRhsEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::Node rhs) { - exists(GetterMethodDefinition accessor | - useNodeFlowsToDecorator(base, - [accessor.getADecorator(), accessor.getCorrespondingSetter().getADecorator()]) and - lbl = Label::decoratedMember() and - rhs = DataFlow::valueNode(accessor.getBody().getAReturnedExpr()) - ) - } - - /** - * Holds if `ref` is a reference to a field/accessor that should have en incoming edge from base labelled `lbl`. - * - * Since fields do not have their own data-flow nodes, we generate a node for each read or write. - * For property writes, the right-hand side becomes a def-node and property reads become use-nodes. - * - * For accessors this predicate computes each use of the accessor. - * The return value inside the accessor is computed by the `decoratorRhsEdge` predicate. - */ - private predicate decoratorPropEdge(TApiNode base, Label::ApiLabel lbl, DataFlow::PropRef ref) { - exists(MemberDefinition fieldLike, DataFlow::ClassNode cls | - fieldLike instanceof FieldDefinition - or - fieldLike instanceof AccessorMethodDefinition - | - useNodeFlowsToDecorator(base, fieldLike.getADecorator()) and - lbl = Label::decoratedMember() and - cls = fieldLike.getDeclaringClass().flow() and - ( - fieldLike.isStatic() and - ref = cls.getAClassReference().getAPropertyReference(fieldLike.getName()) - or - not fieldLike.isStatic() and - ref = cls.getAnInstanceReference().getAPropertyReference(fieldLike.getName()) + /** + * Gets a call to a promisified function represented by `callee` where + * `bound` arguments have been bound. + */ + predicate getAPromisifiedInvocation( + TApiNode callee, int bound, TApiNode succ, DataFlow::InvokeNode invoke + ) { + exists(DataFlow::SourceNode src | + use(callee, src) and + trackUseNode(src, true, bound, "").flowsTo(invoke.getCalleeNode()) and + succ = Impl::MkSyntheticCallbackArg(invoke) ) - ) + } } - /** - * Holds if `ref` is a use of node `nd`. - */ + private module Stage1Input implements StageInputSig { + overlay[caller] + pragma[inline] + predicate isAdditionalUseRoot(Node node) { none() } + + overlay[caller] + pragma[inline] + predicate isAdditionalDefRoot(Node node) { none() } + + overlay[local] + private predicate isOverlay() { databaseMetadata("isOverlay", "true") } + + bindingset[node] + predicate inActiveFile(DataFlow::Node node) { + // In the base database, compute everything in stage 1. + // In an overlay database, do nothing in stage 1. + not isOverlay() and exists(node) + } + } + + private module Stage1 = Stage; + + overlay[local] + private module Stage1Local { + predicate use(TApiNode node, DataFlow::Node ref) = forceLocal(Stage1::use/2)(node, ref) + + predicate rhs(TApiNode node, DataFlow::Node def) = forceLocal(Stage1::rhs/2)(node, def) + + predicate trackUseNode(DataFlow::SourceNode nd, DataFlow::SourceNode target) = + forceLocal(Stage1::trackUseNode/2)(nd, target) + + predicate trackUseNodeAnyState(DataFlow::SourceNode nd, DataFlow::SourceNode target) = + forceLocal(Stage1::trackUseNodeAnyState/2)(nd, target) + + predicate trackDefNode(DataFlow::Node nd, DataFlow::SourceNode target) = + forceLocal(Stage1::trackDefNode/2)(nd, target) + + predicate trackDefNodeAnyState(DataFlow::Node nd, DataFlow::SourceNode target) = + forceLocal(Stage1::trackDefNodeAnyState/2)(nd, target) + + predicate edge(TApiNode pred, Label::ApiLabel lbl, TApiNode succ) = + forceLocal(Stage1::edge/3)(pred, lbl, succ) + + predicate getAPromisifiedInvocation( + TApiNode callee, int bound, TApiNode succ, DataFlow::InvokeNode invoke + ) = forceLocal(Stage1::getAPromisifiedInvocation/4)(callee, bound, succ, invoke) + } + + private module Stage2Input implements StageInputSig { + overlay[global] + pragma[nomagic] + private predicate isInOverlayChangedFile(DataFlow::Node node) { + overlayChangedFiles(node.getFile().getAbsolutePath()) + } + + bindingset[node] + overlay[global] + pragma[inline_late] + private predicate isInOverlayChangedFileLate(DataFlow::Node node) { + isInOverlayChangedFile(node) + } + + pragma[nomagic] + private predicate step(DataFlow::SourceNode node1, DataFlow::SourceNode node2) { + StepSummary::step(node1, node2, _) + or + AdditionalUseStep::step(node1, node2) + } + + /** Holds if there is a step `node1 -> node2` from an unchanged file into a changed file. */ + pragma[nomagic] + private predicate stepIntoOverlay(DataFlow::Node node1, DataFlow::Node node2) { + step(node1, node2) and + isInOverlayChangedFile(node2) and + not isInOverlayChangedFileLate(node1) and + hasSemanticsLate(node1) + } + + /** Holds if use-node tracking starting at `nd` can reach a node in the overlay. */ + pragma[nomagic] + private predicate shouldTrackIntoOverlay(DataFlow::SourceNode nd) { + exists(DataFlow::Node mid | + Stage1Local::trackUseNodeAnyState(nd, mid) and + stepIntoOverlay(mid, _) + ) + } + + /** Holds if `node` should be tracked as a use-node in stage 2. */ + pragma[nomagic] + predicate isAdditionalUseRoot(Node node) { + exists(DataFlow::Node ref | + shouldTrackIntoOverlay(ref) and + Stage1Local::use(node, ref) + ) + } + + /** Holds if there is a step `node1 -> node2` from a changed file into an unchanged file. */ + pragma[nomagic] + private predicate stepOutOfOverlay(DataFlow::Node node1, DataFlow::Node node2) { + step(node1, node2) and + isInOverlayChangedFile(node1) and + not isInOverlayChangedFileLate(node2) and + hasSemanticsLate(node2) + } + + /** Holds if def-node tracking starting at `nd` can reach a node in the overlay. */ + pragma[nomagic] + private predicate shouldBacktrackIntoOverlay(DataFlow::Node nd) { + exists(DataFlow::Node mid | + Stage1Local::trackDefNodeAnyState(nd, mid) and + stepOutOfOverlay(_, mid) + ) + } + + /** Holds if `node` should be tracked as a def-node in stage 2. */ + pragma[nomagic] + predicate isAdditionalDefRoot(Node node) { + exists(DataFlow::Node def | + shouldBacktrackIntoOverlay(def) and + Stage1Local::rhs(node, def) + ) + } + + bindingset[node] + predicate inActiveFile(DataFlow::Node node) { isInOverlayChangedFile(node) } + } + + private module Stage2 = Stage; + cached - predicate use(TApiNode nd, DataFlow::Node ref) { - exists(string m, Module mod | nd = MkModuleDef(m) and mod = importableModule(m) | - ref = DataFlow::moduleVarNode(mod) - ) - or - exists(string m, Module mod | nd = MkModuleExport(m) and mod = importableModule(m) | - ref = DataFlow::exportsVarNode(mod) + private module Cached { + cached + predicate rhs(TApiNode nd, DataFlow::Node rhs) { + Stage1Local::rhs(nd, rhs) or - exists(DataFlow::Node base | use(MkModuleDef(m), base) | - ref = trackUseNode(base).getAPropertyRead("exports") - ) - ) - or - exists(string m | - nd = MkModuleImport(m) and - ref = DataFlow::moduleImport(m) - ) - or - exists(DataFlow::ClassNode cls | nd = MkClassInstance(cls) | - ref = cls.getAReceiverNode() + Stage2::rhs(nd, rhs) + } + + cached + predicate use(TApiNode nd, DataFlow::Node ref) { + Stage1Local::use(nd, ref) or - ref = cls.(DataFlow::ClassNode).getAPrototypeReference() - ) - or - nd = MkUse(ref) - } + Stage2::use(nd, ref) + } - private import semmle.javascript.dataflow.TypeTracking - - /** - * Gets a data-flow node to which `nd`, which is a use of an API-graph node, flows. - * - * The flow from `nd` to that node may be inter-procedural, and is further described by three - * flags: - * - * - `promisified`: if true `true`, the flow goes through a promisification; - * - `boundArgs`: for function values, tracks how many arguments have been bound throughout - * the flow. To ensure termination, we somewhat arbitrarily constrain the number of bound - * arguments to be at most ten. - * - `prop`: if non-empty, the flow is only guaranteed to preserve the value of this property, - * and not necessarily the entire object. - */ - private DataFlow::SourceNode trackUseNode( - DataFlow::SourceNode nd, boolean promisified, int boundArgs, string prop, - DataFlow::TypeTracker t - ) { - t.start() and - use(_, nd) and - result = nd and - promisified = false and - boundArgs = 0 and - prop = "" - or - exists(Promisify::PromisifyCall promisify | - trackUseNode(nd, false, boundArgs, prop, t.continue()).flowsTo(promisify.getArgument(0)) and - promisified = true and - prop = "" and - result = promisify - ) - or - exists(DataFlow::PartialInvokeNode pin, DataFlow::Node pred, int predBoundArgs | - trackUseNode(nd, promisified, predBoundArgs, prop, t.continue()).flowsTo(pred) and - prop = "" and - result = pin.getBoundFunction(pred, boundArgs - predBoundArgs) and - boundArgs in [0 .. 10] - ) - or - exists(DataFlow::SourceNode mid | - mid = trackUseNode(nd, promisified, boundArgs, prop, t) and - AdditionalUseStep::step(pragma[only_bind_out](mid), result) - ) - or - exists(DataFlow::Node pred, string preprop | - trackUseNode(nd, promisified, boundArgs, preprop, t.continue()).flowsTo(pred) and - promisified = false and - boundArgs = 0 and - SharedTypeTrackingStep::loadStoreStep(pred, result, prop) - | - prop = preprop + cached + predicate trackUseNode(DataFlow::SourceNode nd, DataFlow::SourceNode target) { + Stage1Local::trackUseNode(nd, target) or - preprop = "" - ) - or - t = useStep(nd, promisified, boundArgs, prop, result) - } + Stage2::trackUseNode(nd, target) + } - /** - * Holds if `nd`, which is a use of an API-graph node, flows in zero or more potentially - * inter-procedural steps to some intermediate node, and then from that intermediate node to - * `res` in one step. The entire flow is described by the resulting `TypeTracker`. - * - * This predicate exists solely to enforce a better join order in `trackUseNode` above. - */ - pragma[noopt] - private DataFlow::TypeTracker useStep( - DataFlow::Node nd, boolean promisified, int boundArgs, string prop, DataFlow::Node res - ) { - exists(DataFlow::TypeTracker t, StepSummary summary, DataFlow::SourceNode prev | - prev = trackUseNode(nd, promisified, boundArgs, prop, t) and - StepSummary::step(prev, res, summary) and - result = t.append(summary) and - // Block argument-passing into 'this' when it determines the call target - not summary = CallReceiverStep() - ) - } - - private DataFlow::SourceNode trackUseNode( - DataFlow::SourceNode nd, boolean promisified, int boundArgs, string prop - ) { - result = trackUseNode(nd, promisified, boundArgs, prop, DataFlow::TypeTracker::end()) - } - - /** - * Gets a node that is inter-procedurally reachable from `nd`, which is a use of some node. - */ - cached - DataFlow::SourceNode trackUseNode(DataFlow::SourceNode nd) { - result = trackUseNode(nd, false, 0, "") - } - - private DataFlow::SourceNode trackDefNode(DataFlow::Node nd, DataFlow::TypeBackTracker t) { - t.start() and - rhs(_, nd) and - result = nd.getALocalSource() - or - // additional backwards step from `require('m')` to `exports` or `module.exports` in m - exists(Import imp | imp.getImportedModuleNodeStrict() = trackDefNode(nd, t.continue()) | - result = DataFlow::exportsVarNode(imp.getImportedModule()) + cached + predicate trackDefNode(DataFlow::Node nd, DataFlow::SourceNode target) { + Stage1Local::trackDefNode(nd, target) or - result = DataFlow::moduleVarNode(imp.getImportedModule()).getAPropertyRead("exports") - ) - or - exists(ObjectExpr obj | - obj = trackDefNode(nd, t.continue()).asExpr() and - result = - obj.getAProperty() - .(SpreadProperty) - .getInit() - .(SpreadElement) - .getOperand() - .flow() - .getALocalSource() - ) - or - t = defStep(nd, result) - } + Stage2::trackDefNode(nd, target) + } - /** - * Holds if `nd`, which is a def of an API-graph node, can be reached in zero or more potentially - * inter-procedural steps from some intermediate node, and `prev` flows into that intermediate node - * in one step. The entire flow is described by the resulting `TypeTracker`. - * - * This predicate exists solely to enforce a better join order in `trackDefNode` above. - */ - pragma[noopt] - private DataFlow::TypeBackTracker defStep(DataFlow::Node nd, DataFlow::SourceNode prev) { - exists(DataFlow::TypeBackTracker t, StepSummary summary, DataFlow::Node next | - next = trackDefNode(nd, t) and - StepSummary::step(prev, next, summary) and - result = t.prepend(summary) and - // Block argument-passing steps from 'this' back to a receiver when it determines the call target - not summary = CallReceiverStep() - ) - } - - /** - * Gets a node that inter-procedurally flows into `nd`, which is a definition of some node. - */ - cached - DataFlow::SourceNode trackDefNode(DataFlow::Node nd) { - result = trackDefNode(nd, DataFlow::TypeBackTracker::end()) - } - - private DataFlow::SourceNode awaited(DataFlow::InvokeNode call, DataFlow::TypeTracker t) { - t.startInPromise() and - exists(MkSyntheticCallbackArg(_, _, call)) and - result = call - or - exists(DataFlow::TypeTracker t2 | result = awaited(call, t2).track(t2, t)) - } - - /** - * Gets a node holding the resolved value of promise `call`. - */ - private DataFlow::Node awaited(DataFlow::InvokeNode call) { - result = awaited(call, DataFlow::TypeTracker::end()) - } - - /** - * Holds if there is an edge from `pred` to `succ` in the API graph that is labeled with `lbl`. - */ - cached - predicate edge(TApiNode pred, Label::ApiLabel lbl, TApiNode succ) { - Stages::ApiStage::ref() and - exists(string m | - pred = MkRoot() and - lbl = Label::moduleLabel(m) - | - succ = MkModuleDef(m) + cached + predicate edge(Node pred, Label::ApiLabel lbl, Node succ) { + Stage1Local::edge(pred, lbl, succ) or - succ = MkModuleUse(m) - ) - or - exists(string m | - pred = MkModuleDef(m) and - lbl = Label::member("exports") and - succ = MkModuleExport(m) + Stage2::edge(pred, lbl, succ) + } + + cached + predicate getAPromisifiedInvocation( + TApiNode callee, int bound, TApiNode succ, DataFlow::InvokeNode invoke + ) { + Stage1Local::getAPromisifiedInvocation(callee, bound, succ, invoke) or - pred = MkModuleUse(m) and - lbl = Label::member("exports") and - succ = MkModuleImport(m) - ) - or - exists(DataFlow::SourceNode ref | - use(pred, lbl, ref) and - succ = MkUse(ref) - ) - or - exists(DataFlow::Node rhs | rhs(pred, lbl, rhs) | - succ = MkDef(rhs) - or - exists(DataFlow::ClassNode cls | - cls.getAnInstanceReference().flowsTo(rhs) and - succ = MkClassInstance(cls) - ) - ) - or - exists(DataFlow::Node def | - rhs(pred, def) and - lbl = Label::instance() and - succ = MkClassInstance(trackDefNode(def)) - ) - or - exists(string moduleName, string exportName | - pred = MkModuleImport(moduleName) and - lbl = Label::member(exportName) and - succ = MkTypeUse(moduleName, exportName) - ) - or - exists(DataFlow::Node nd, DataFlow::FunctionNode f | - f.getFunction().isAsync() and - pred = MkDef(nd) and - f = trackDefNode(nd) and - lbl = Label::return() and - succ = MkDef(f.getReturnNode()) - ) - or - exists(int bound, DataFlow::InvokeNode call | - lbl = Label::parameter(bound + call.getNumArgument()) and - call = getAPromisifiedInvocation(pred, bound, succ) - ) + Stage2::getAPromisifiedInvocation(callee, bound, succ, invoke) + } + } + + import Cached + + private module Debug { + private module FullInput implements StageInputSig { + overlay[caller] + pragma[inline] + predicate isAdditionalUseRoot(Node node) { none() } + + overlay[caller] + pragma[inline] + predicate isAdditionalDefRoot(Node node) { none() } + + bindingset[node] + predicate inActiveFile(DataFlow::Node node) { any() } + } + + private module Full = Stage; + + query predicate missingDefNode(DataFlow::Node node) { + Full::rhs(_, _, node) and + not exists(MkDef(node)) + } + + query predicate missingUseNode(DataFlow::Node node) { + Full::use(_, _, node) and + not exists(MkUse(node)) + } + + query predicate lostEdge(Node pred, Label::ApiLabel lbl, Node succ) { + Full::edge(pred, lbl, succ) and + not Cached::edge(pred, lbl, succ) + } + + query predicate counts(int numEdges, int numOverlayEdges, float ratio) { + numEdges = count(Node pred, Label::ApiLabel lbl, Node succ | Full::edge(pred, lbl, succ)) and + numOverlayEdges = + count(Node pred, Label::ApiLabel lbl, Node succ | Stage2::edge(pred, lbl, succ)) and + ratio = numOverlayEdges / numEdges.(float) + } } /** @@ -1485,18 +1813,6 @@ module API { /** Gets the shortest distance from the root to `nd` in the API graph. */ cached int distanceFromRoot(TApiNode nd) = shortestDistances(MkRoot/0, edge/2)(_, nd, result) - - /** - * Gets a call to a promisified function represented by `callee` where - * `bound` arguments have been bound. - */ - cached - DataFlow::InvokeNode getAPromisifiedInvocation(TApiNode callee, int bound, TApiNode succ) { - exists(DataFlow::SourceNode src | - Impl::use(callee, src) and - succ = Impl::MkSyntheticCallbackArg(src, bound, result) - ) - } } /** @@ -1514,7 +1830,7 @@ module API { InvokeNode() { this = callee.getReturn().asSource() or this = callee.getInstance().asSource() or - this = Impl::getAPromisifiedInvocation(callee, _, _) + Impl::getAPromisifiedInvocation(callee, _, _, this) } /** Gets the API node for the `i`th parameter of this invocation. */ @@ -1556,6 +1872,7 @@ module API { class NewNode extends InvokeNode, DataFlow::NewNode { } /** Provides classes modeling the various edges (labels) in the API graph. */ + overlay[local] module Label { /** A label in the API-graph */ class ApiLabel extends TLabel { @@ -1594,6 +1911,7 @@ module API { * This is to support code patterns where the property name is actually constant, * but the property name has been factored into a library. */ + overlay[global] private string getAnIndirectPropName(DataFlow::PropRef ref) { exists(DataFlow::Node pred | FlowSteps::propertyFlowStep(pred, ref.getPropertyNameExpr().flow()) and @@ -1604,16 +1922,19 @@ module API { /** * Gets unique result of `getAnIndirectPropName` if there is one. */ + overlay[global] private string getIndirectPropName(DataFlow::PropRef ref) { result = unique(string s | s = getAnIndirectPropName(ref)) } + overlay[global] pragma[nomagic] private predicate isEnumeratedPropName(DataFlow::Node node) { node.getAPredecessor*() instanceof EnumeratedPropName } /** Gets the `member` edge label for the given property reference. */ + overlay[global] ApiLabel memberFromRef(DataFlow::PropRef pr) { exists(string pn | pn = pr.getPropertyName() or pn = getIndirectPropName(pr) | result = member(pn) and @@ -1680,9 +2001,17 @@ module API { MkLabelInstance() or MkLabelContent(DataFlow::Content content) or MkLabelMember(string name) { - name instanceof PropertyName + name instanceof ContentPrivate::PropertyName or - exists(Impl::MkTypeUse(_, name)) + name = any(DataFlow::PropRef pr).getPropertyName() + or + exists(AccessPath::getAnAssignmentTo(_, name)) + or + name = DataFlow::PseudoProperties::arrayLikeElement() + or + name = any(TypeAccess t).getIdentifier().getName() + or + name = any(Expr s).getStringValue() } or MkLabelParameter(int i) { i = @@ -1885,3 +2214,18 @@ private Module importableModule(string m) { m = pkg.getPackageName() ) } + +overlay[local] +private predicate isDeclaredPackageName(string m) { + m = any(PackageJson pkg).getDeclaredPackageName() +} + +overlay[local] +private predicate isImportedPackageName(string m) { + ( + m = any(Import imprt).getImportedPathString() + or + m = any(DataFlow::ModuleImportNode im).getPath() + ) and + m.regexpMatch("[^./].*") +} diff --git a/javascript/ql/lib/semmle/javascript/DOM.qll b/javascript/ql/lib/semmle/javascript/DOM.qll index 21854c1a9d0..97f6bc43546 100644 --- a/javascript/ql/lib/semmle/javascript/DOM.qll +++ b/javascript/ql/lib/semmle/javascript/DOM.qll @@ -192,6 +192,7 @@ module DOM { * A data flow node or other program element that may refer to * a DOM element. */ + overlay[global] abstract class Element extends Locatable { ElementDefinition defn; diff --git a/javascript/ql/lib/semmle/javascript/ES2015Modules.qll b/javascript/ql/lib/semmle/javascript/ES2015Modules.qll index 3710942e9e4..d55f9843e1b 100644 --- a/javascript/ql/lib/semmle/javascript/ES2015Modules.qll +++ b/javascript/ql/lib/semmle/javascript/ES2015Modules.qll @@ -29,6 +29,7 @@ class ES2015Module extends Module { override string getName() { result = this.getFile().getStem() } /** Gets an export declaration in this module. */ + pragma[nomagic] ExportDeclaration getAnExport() { result.getTopLevel() = this } overlay[global] @@ -38,6 +39,7 @@ class ES2015Module extends Module { /** Holds if this module exports variable `v` under the name `name`. */ overlay[global] + pragma[nomagic] predicate exportsAs(LexicalName v, string name) { this.getAnExport().exportsAs(v, name) } override predicate isStrict() { @@ -345,6 +347,7 @@ abstract class ExportDeclaration extends Stmt, @export_declaration { /** Holds if this export declaration exports variable `v` under the name `name`. */ overlay[global] + pragma[nomagic] final predicate exportsAs(LexicalName v, string name) { this.exportsDirectlyAs(v, name) or @@ -821,18 +824,31 @@ class SelectiveReExportDeclaration extends ReExportDeclaration, ExportNamedDecla result = ExportNamedDeclaration.super.getImportedPath() } + overlay[global] + pragma[nomagic] + private predicate reExportsFrom(ES2015Module mod, string originalName, string reExportedName) { + exists(ExportSpecifier spec | + spec = this.getASpecifier() and + reExportedName = spec.getExportedName() and + originalName = spec.getLocalName() and + mod = this.getReExportedES2015Module() + ) + } + overlay[global] override predicate reExportsAs(LexicalName v, string name) { - exists(ExportSpecifier spec | spec = this.getASpecifier() and name = spec.getExportedName() | - this.getReExportedES2015Module().exportsAs(v, spec.getLocalName()) + exists(ES2015Module mod, string originalName | + this.reExportsFrom(mod, originalName, name) and + mod.exportsAs(v, originalName) ) and not (this.isTypeOnly() and v instanceof Variable) } overlay[global] override DataFlow::Node getReExportedSourceNode(string name) { - exists(ExportSpecifier spec | spec = this.getASpecifier() and name = spec.getExportedName() | - result = this.getReExportedES2015Module().getAnExport().getSourceNode(spec.getLocalName()) + exists(ES2015Module mod, string originalName | + this.reExportsFrom(mod, originalName, name) and + result = mod.getAnExport().getSourceNode(originalName) ) } } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/ClientRequests.qll b/javascript/ql/lib/semmle/javascript/frameworks/ClientRequests.qll index 22db9f24b99..9da93400ef9 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/ClientRequests.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/ClientRequests.qll @@ -198,6 +198,7 @@ module ClientRequest { private string urlPropertyName() { result = "url" or result = "uri" } /** An API entry-point for the global variable `axios`. */ + overlay[local?] private class AxiosGlobalEntryPoint extends API::EntryPoint { AxiosGlobalEntryPoint() { this = "axiosGlobal" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/D3.qll b/javascript/ql/lib/semmle/javascript/frameworks/D3.qll index cc7c07c80c1..138e3b05d57 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/D3.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/D3.qll @@ -6,6 +6,7 @@ private import semmle.javascript.security.dataflow.DomBasedXssCustomizations /** Provides classes and predicates modeling aspects of the `d3` library. */ module D3 { /** The global variable `d3` as an entry point for API graphs. */ + overlay[local?] private class D3GlobalEntry extends API::EntryPoint { D3GlobalEntry() { this = "D3GlobalEntry" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Electron.qll b/javascript/ql/lib/semmle/javascript/frameworks/Electron.qll index 796770b96ee..2d21baac1f9 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Electron.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Electron.qll @@ -41,6 +41,7 @@ module Electron { BrowserView() { this = DataFlow::moduleMember("electron", "BrowserView").getAnInstantiation() } } + overlay[local?] private class ElectronEntryPoint extends API::EntryPoint { ElectronEntryPoint() { this = "Electron.Browser" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/EventEmitter.qll b/javascript/ql/lib/semmle/javascript/frameworks/EventEmitter.qll index f466d96dd9d..67a5a99fdc1 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/EventEmitter.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/EventEmitter.qll @@ -94,6 +94,7 @@ module EventRegistration { /** * A registration of an event handler on an EventEmitter. */ + overlay[global] abstract class Range extends DataFlow::Node { EventEmitter::Range emitter; @@ -148,6 +149,7 @@ module EventDispatch { /** * A dispatch of an event on an EventEmitter. */ + overlay[global] abstract class Range extends DataFlow::Node { EventEmitter::Range emitter; diff --git a/javascript/ql/lib/semmle/javascript/frameworks/History.qll b/javascript/ql/lib/semmle/javascript/frameworks/History.qll index 37c0057f6c1..224eb2b4b59 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/History.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/History.qll @@ -5,6 +5,7 @@ import javascript /** Provides classes modeling the [`history`](https://npmjs.org/package/history) library. */ module History { /** The global variable `HistoryLibrary` as an entry point for API graphs. */ + overlay[local?] private class HistoryGlobalEntry extends API::EntryPoint { HistoryGlobalEntry() { this = "HistoryLibrary" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Immutable.qll b/javascript/ql/lib/semmle/javascript/frameworks/Immutable.qll index 1adaed5b439..9a94fc26341 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Immutable.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Immutable.qll @@ -13,6 +13,7 @@ private module Immutable { /** * An API entrypoint for the global `Immutable` variable. */ + overlay[local?] private class ImmutableGlobalEntry extends API::EntryPoint { ImmutableGlobalEntry() { this = "ImmutableGlobalEntry" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Logging.qll b/javascript/ql/lib/semmle/javascript/frameworks/Logging.qll index aa0151595df..e297dbd7afd 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Logging.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Logging.qll @@ -32,6 +32,7 @@ private module Console { /** * An API entrypoint for the global `console` variable. */ + overlay[local?] private class ConsoleGlobalEntry extends API::EntryPoint { ConsoleGlobalEntry() { this = "ConsoleGlobalEntry" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Nest.qll b/javascript/ql/lib/semmle/javascript/frameworks/Nest.qll index d7474aae8ca..4c32f70b981 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Nest.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Nest.qll @@ -140,6 +140,7 @@ module NestJS { } /** API node entry point for custom implementations of `ValidationPipe` (a common pattern). */ + overlay[local?] private class ValidationNodeEntry extends API::EntryPoint { ValidationNodeEntry() { this = "ValidationNodeEntry" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Next.qll b/javascript/ql/lib/semmle/javascript/frameworks/Next.qll index a65fcdce44d..254675b9e9e 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Next.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Next.qll @@ -13,18 +13,9 @@ module NextJS { */ PackageJson getANextPackage() { result.getDependencies().getADependency("next", _) } - bindingset[base, name] - pragma[inline_late] - private Folder getOptionalFolder(Folder base, string name) { - result = base.getFolder(name) - or - not exists(base.getFolder(name)) and - result = base - } - private Folder packageRoot() { result = getANextPackage().getFile().getParentContainer() } - private Folder srcRoot() { result = getOptionalFolder(packageRoot(), "src") } + private Folder srcRoot() { result = [packageRoot(), packageRoot().getFolder("src")] } private Folder appRoot() { result = srcRoot().getFolder("app") } @@ -32,20 +23,30 @@ module NextJS { private Folder apiRoot() { result = [pagesRoot(), appRoot()].getFolder("api") } + private Folder appFolder() { + result = appRoot() + or + result = appFolder().getAFolder() + } + + private Folder pagesFolder() { + result = pagesRoot() + or + result = pagesFolder().getAFolder() + } + /** * Gets a "pages" folder in a `Next.js` application. * JavaScript files inside these folders are mapped to routes. */ - Folder getAPagesFolder() { - result = pagesRoot() - or - result = getAPagesFolder().getAFolder() - } + deprecated predicate getAPagesFolder = pagesFolder/0; /** - * Gets a module corrosponding to a `Next.js` page. + * Gets a module corresponding to a `Next.js` page. */ - Module getAPagesModule() { result.getFile().getParentContainer() = getAPagesFolder() } + Module getAPagesModule() { + result.getFile() = [pagesFolder().getAFile(), appFolder().getJavaScriptFile("page")] + } /** * Gets a module inside a "pages" folder where `fallback` from `getStaticPaths` is not set to false. @@ -300,11 +301,17 @@ module NextJS { class NextAppRouteHandler extends DataFlow::FunctionNode, Http::Servers::StandardRouteHandler { NextAppRouteHandler() { exists(Module mod | - mod.getFile().getParentContainer() = apiFolder() or - mod.getFile().getStem() = "middleware" + ( + mod.getFile().getParentContainer() = apiFolder() + or + mod.getFile().getStem() = "middleware" + or + mod.getFile().getStem() = "route" and mod.getFile().getParentContainer() = appFolder() + ) | this = - mod.getAnExportedValue([any(Http::RequestMethodName m), "middleware"]).getAFunctionValue() + mod.getAnExportedValue([any(Http::RequestMethodName m), "middleware", "proxy"]) + .getAFunctionValue() ) } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/NodeJSLib.qll b/javascript/ql/lib/semmle/javascript/frameworks/NodeJSLib.qll index b6506ddd648..10801d96654 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/NodeJSLib.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/NodeJSLib.qll @@ -260,6 +260,7 @@ module NodeJSLib { DataFlow::Node getRouteHandlerNode() { result = handler } } + overlay[global] abstract private class HeaderDefinition extends Http::Servers::StandardHeaderDefinition { ResponseNode r; diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Redux.qll b/javascript/ql/lib/semmle/javascript/frameworks/Redux.qll index 78931da585a..3aaf07f637d 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Redux.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Redux.qll @@ -1099,6 +1099,7 @@ module Redux { * Used to catch cases where the `connect` function was not recognized by API graphs (usually because of it being * wrapped in another function, which API graphs won't look through). */ + overlay[local?] private class HeuristicConnectEntryPoint extends API::EntryPoint { HeuristicConnectEntryPoint() { this = "react-redux-connect" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/SQL.qll b/javascript/ql/lib/semmle/javascript/frameworks/SQL.qll index 9d106251a21..bcc89813220 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/SQL.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/SQL.qll @@ -16,6 +16,7 @@ module SQL { * An dataflow node that sanitizes a string to make it safe to embed into * a SQL command. */ + overlay[global] abstract class SqlSanitizer extends DataFlow::Node { DataFlow::Node input; DataFlow::Node output; diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll b/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll index d63bafe7b6f..5794beafd25 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Templating.qll @@ -33,7 +33,7 @@ module Templating { */ bindingset[prefix] string getDelimiterMatchingRegexpWithPrefix(string prefix) { - result = "(?s)" + prefix + "(" + concat("\\Q" + getADelimiter() + "\\E", "|") + ").*" + result = "(?s)" + prefix + "(" + strictconcat("\\Q" + getADelimiter() + "\\E", "|") + ").*" } /** A placeholder tag for a templating engine. */ @@ -703,7 +703,7 @@ module Templating { * * These API nodes are used in the `getTemplateInput` predicate. */ - overlay[global] + overlay[local?] private class IncludeFunctionAsEntryPoint extends API::EntryPoint { IncludeFunctionAsEntryPoint() { this = "IncludeFunctionAsEntryPoint" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/TrustedTypes.qll b/javascript/ql/lib/semmle/javascript/frameworks/TrustedTypes.qll index ca9de4e481f..8d32c976c57 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/TrustedTypes.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/TrustedTypes.qll @@ -11,6 +11,7 @@ private import semmle.javascript.security.dataflow.CodeInjectionCustomizations * Module for working with uses of the [Trusted Types API](https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API). */ module TrustedTypes { + overlay[local?] private class TrustedTypesEntry extends API::EntryPoint { TrustedTypesEntry() { this = "TrustedTypesEntry" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Vue.qll b/javascript/ql/lib/semmle/javascript/frameworks/Vue.qll index f571648294c..59490a2d5c6 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Vue.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Vue.qll @@ -7,6 +7,7 @@ import semmle.javascript.ViewComponentInput module Vue { /** The global variable `Vue`, as an API graph entry point. */ + overlay[local?] private class GlobalVueEntryPoint extends API::EntryPoint { GlobalVueEntryPoint() { this = "VueEntryPoint" } @@ -18,6 +19,7 @@ module Vue { * * This `EntryPoint` is used by `SingleFileComponent::getOwnOptions()`. */ + overlay[local?] private class VueExportEntryPoint extends API::EntryPoint { VueExportEntryPoint() { this = "VueExportEntryPoint" } @@ -437,6 +439,7 @@ module Vue { * * This entry point is used in `SingleFileComponent::getComponentRef()`. */ + overlay[local?] private class VueFileImportEntryPoint extends API::EntryPoint { VueFileImportEntryPoint() { this = "VueFileImportEntryPoint" } @@ -664,6 +667,10 @@ module Vue { or result = routeConfig().getMember("beforeEnter").getParameter([0, 1]).asSource() or + result = routeConfig().getMember("props").getParameter(0).asSource() + or + result = routeConfig().getMember("props").getAMember().getParameter(0).asSource() + or exists(Component c | result = c.getABoundFunction().getAFunctionValue().getReceiver().getAPropertyRead("$route") or diff --git a/javascript/ql/lib/semmle/javascript/frameworks/WebResponse.qll b/javascript/ql/lib/semmle/javascript/frameworks/WebResponse.qll index dfdee73c9d9..3a35044110a 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/WebResponse.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/WebResponse.qll @@ -5,6 +5,7 @@ private import javascript /** Treats `Response` as an entry point for API graphs. */ +overlay[local?] private class ResponseEntryPoint extends API::EntryPoint { ResponseEntryPoint() { this = "global.Response" } @@ -12,6 +13,7 @@ private class ResponseEntryPoint extends API::EntryPoint { } /** Treats `Headers` as an entry point for API graphs. */ +overlay[local?] private class HeadersEntryPoint extends API::EntryPoint { HeadersEntryPoint() { this = "global.Headers" } @@ -45,6 +47,10 @@ private class ResponseArgumentHeaders extends Http::HeaderDefinition { ResponseArgumentHeaders() { headerNode = response.getParameter(1).getMember("headers") and this = headerNode.asSink() + or + not exists(response.getParameter(1).getMember("headers")) and + headerNode = API::root() and // just bind 'headerNode' to something + this = response } ResponseCall getResponse() { result = response } @@ -80,9 +86,14 @@ private class ResponseArgumentHeaders extends Http::HeaderDefinition { override predicate defines(string headerName, string headerValue) { this.getHeaderNode(headerName).getAValueReachingSink().getStringValue() = headerValue + or + // If no 'content-type' header is defined, a default one is sent in the HTTP response. + not exists(this.getHeaderNode("content-type")) and + headerName = "content-type" and + headerValue = "text/plain;charset=utf-8" } - override string getAHeaderName() { exists(this.getHeaderNode(result)) } + override string getAHeaderName() { exists(this.getHeaderNode(result)) or result = "content-type" } override Http::RouteHandler getRouteHandler() { none() } } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/WebSocket.qll b/javascript/ql/lib/semmle/javascript/frameworks/WebSocket.qll index f71b1cf9e0d..2ec1b784f19 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/WebSocket.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/WebSocket.qll @@ -48,6 +48,7 @@ private predicate areLibrariesCompatible( } /** Treats `WebSocket` as an entry point for API graphs. */ +overlay[local?] private class WebSocketEntryPoint extends API::EntryPoint { WebSocketEntryPoint() { this = "global.WebSocket" } @@ -55,6 +56,7 @@ private class WebSocketEntryPoint extends API::EntryPoint { } /** Treats `SockJS` as an entry point for API graphs. */ +overlay[local?] private class SockJSEntryPoint extends API::EntryPoint { SockJSEntryPoint() { this = "global.SockJS" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/Webix.qll b/javascript/ql/lib/semmle/javascript/frameworks/Webix.qll index effd49c632b..3ce4e78ba3a 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/Webix.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/Webix.qll @@ -9,6 +9,7 @@ private import javascript */ module Webix { /** The global variable `webix` as an entry point for API graphs. */ + overlay[local?] private class WebixGlobalEntry extends API::EntryPoint { WebixGlobalEntry() { this = "WebixGlobalEntry" } diff --git a/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModels.qll b/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModels.qll index 80ec45a3cf1..68f2210bff2 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModels.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModels.qll @@ -492,6 +492,7 @@ private predicate invocationMatchesCallSiteFilter( Specific::invocationMatchesExtraCallSiteFilter(invoke, token) } +overlay[local?] private class TypeModelUseEntry extends API::EntryPoint { private string type; @@ -505,6 +506,7 @@ private class TypeModelUseEntry extends API::EntryPoint { API::Node getNodeForType(string type_) { type = type_ and result = this.getANode() } } +overlay[local?] private class TypeModelDefEntry extends API::EntryPoint { private string type; diff --git a/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModelsSpecific.qll b/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModelsSpecific.qll index 3fb76f76f70..00929f19d27 100644 --- a/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModelsSpecific.qll +++ b/javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModelsSpecific.qll @@ -93,6 +93,7 @@ private predicate parseRelevantTypeString(string rawType, string package, string } /** Holds if `global` is a global variable referenced via a the `global` package in a CSV row. */ +overlay[local] private predicate isRelevantGlobal(string global) { exists(AccessPath path, AccessPathToken token | isRelevantFullPath("global", path) and @@ -103,6 +104,7 @@ private predicate isRelevantGlobal(string global) { } /** An API graph entry point for global variables mentioned in a model. */ +overlay[local?] private class GlobalApiEntryPoint extends API::EntryPoint { string global; diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll index 58600c579a8..9f4975e605a 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/RemoteFlowSources.qll @@ -114,6 +114,7 @@ class ClientSideRemoteFlowKind extends string { * `name` and `address` of global variable `user` should be considered as remote flow sources with * source type "user input". */ +overlay[local?] private class RemoteFlowSourceAccessPath extends JsonString { string sourceType; @@ -167,6 +168,7 @@ private class RemoteFlowSourceAccessPath extends JsonString { * The global variable referenced by a `RemoteFlowSourceAccessPath`, declared as an API * entry point. */ +overlay[local?] private class ExternalRemoteFlowSourceSpecEntryPoint extends API::EntryPoint { string name; diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/SecondOrderCommandInjectionCustomizations.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/SecondOrderCommandInjectionCustomizations.qll index 416ad56bef1..afac6f91d07 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/SecondOrderCommandInjectionCustomizations.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/SecondOrderCommandInjectionCustomizations.qll @@ -129,6 +129,7 @@ module SecondOrderCommandInjection { /** * A sink that invokes a command described by the `VulnerableCommand` class. */ + overlay[global] abstract class VulnerableCommandSink extends Sink { VulnerableCommand cmd; diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll index f863b86a3b5..a09edf432f6 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll @@ -194,6 +194,7 @@ module TaintedPath { * There are currently four flow labels, representing the different combinations of * normalization and absoluteness. */ + overlay[global] abstract class PosixPath extends DataFlow::FlowLabel { Normalization normalization; Relativeness relativeness; diff --git a/javascript/ql/lib/semmle/javascript/security/dataflow/UnsafeHtmlConstructionCustomizations.qll b/javascript/ql/lib/semmle/javascript/security/dataflow/UnsafeHtmlConstructionCustomizations.qll index 06bad34b80c..ab22c794fa5 100644 --- a/javascript/ql/lib/semmle/javascript/security/dataflow/UnsafeHtmlConstructionCustomizations.qll +++ b/javascript/ql/lib/semmle/javascript/security/dataflow/UnsafeHtmlConstructionCustomizations.qll @@ -101,6 +101,7 @@ module UnsafeHtmlConstruction { * A sink for `js/html-constructed-from-input` that constructs some HTML where * that HTML is later used in `xssSink`. */ + overlay[global] abstract class XssSink extends Sink { DomBasedXss::Sink xssSink; diff --git a/javascript/ql/lib/semmlecode.javascript.dbscheme b/javascript/ql/lib/semmlecode.javascript.dbscheme index 80b2bc24189..578367e82a2 100644 --- a/javascript/ql/lib/semmlecode.javascript.dbscheme +++ b/javascript/ql/lib/semmlecode.javascript.dbscheme @@ -1195,11 +1195,23 @@ configLocations( @configLocatable = @config | @configName | @configValue; /*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ databaseMetadata( string metadataKey: string ref, string value: string ref ); +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ overlayChangedFiles( string path: string ref ); diff --git a/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/old.dbscheme b/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/old.dbscheme new file mode 100644 index 00000000000..80b2bc24189 --- /dev/null +++ b/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/old.dbscheme @@ -0,0 +1,1205 @@ +/*** Standard fragments ***/ + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- JavaScript-specific part -*/ + +@location = @location_default + +@sourceline = @locatable; + +filetype( + int file: @file ref, + string filetype: string ref +) + +// top-level code fragments +toplevels (unique int id: @toplevel, + int kind: int ref); + +is_externs (int toplevel: @toplevel ref); + +case @toplevel.kind of + 0 = @script +| 1 = @inline_script +| 2 = @event_handler +| 3 = @javascript_url +| 4 = @template_toplevel; + +is_module (int tl: @toplevel ref); +is_nodejs (int tl: @toplevel ref); +is_es2015_module (int tl: @toplevel ref); +is_closure_module (int tl: @toplevel ref); + +@xml_node_with_code = @xmlelement | @xmlattribute | @template_placeholder_tag; +toplevel_parent_xml_node( + unique int toplevel: @toplevel ref, + int xmlnode: @xml_node_with_code ref); + +xml_element_parent_expression( + unique int xmlnode: @xmlelement ref, + int expression: @expr ref, + int index: int ref); + +// statements +#keyset[parent, idx] +stmts (unique int id: @stmt, + int kind: int ref, + int parent: @stmt_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +stmt_containers (unique int stmt: @stmt ref, + int container: @stmt_container ref); + +jump_targets (unique int jump: @stmt ref, + int target: @stmt ref); + +@stmt_parent = @stmt | @toplevel | @function_expr | @arrow_function_expr | @static_initializer; +@stmt_container = @toplevel | @function | @namespace_declaration | @external_module_declaration | @global_augmentation_declaration; + +case @stmt.kind of + 0 = @empty_stmt +| 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @labeled_stmt +| 5 = @break_stmt +| 6 = @continue_stmt +| 7 = @with_stmt +| 8 = @switch_stmt +| 9 = @return_stmt +| 10 = @throw_stmt +| 11 = @try_stmt +| 12 = @while_stmt +| 13 = @do_while_stmt +| 14 = @for_stmt +| 15 = @for_in_stmt +| 16 = @debugger_stmt +| 17 = @function_decl_stmt +| 18 = @var_decl_stmt +| 19 = @case +| 20 = @catch_clause +| 21 = @for_of_stmt +| 22 = @const_decl_stmt +| 23 = @let_stmt +| 24 = @legacy_let_stmt +| 25 = @for_each_stmt +| 26 = @class_decl_stmt +| 27 = @import_declaration +| 28 = @export_all_declaration +| 29 = @export_default_declaration +| 30 = @export_named_declaration +| 31 = @namespace_declaration +| 32 = @import_equals_declaration +| 33 = @export_assign_declaration +| 34 = @interface_declaration +| 35 = @type_alias_declaration +| 36 = @enum_declaration +| 37 = @external_module_declaration +| 38 = @export_as_namespace_declaration +| 39 = @global_augmentation_declaration +| 40 = @using_decl_stmt +; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @let_stmt | @legacy_let_stmt | @using_decl_stmt; + +@export_declaration = @export_all_declaration | @export_default_declaration | @export_named_declaration; + +@namespace_definition = @namespace_declaration | @enum_declaration; +@type_definition = @class_definition | @interface_declaration | @enum_declaration | @type_alias_declaration | @enum_member; + +is_instantiated(unique int decl: @namespace_declaration ref); + +@declarable_node = @decl_stmt | @namespace_declaration | @class_decl_stmt | @function_decl_stmt | @enum_declaration | @external_module_declaration | @global_augmentation_declaration | @field; +has_declare_keyword(unique int stmt: @declarable_node ref); + +is_for_await_of(unique int forof: @for_of_stmt ref); + +// expressions +#keyset[parent, idx] +exprs (unique int id: @expr, + int kind: int ref, + int parent: @expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @expr_or_type ref); + +enclosing_stmt (unique int expr: @expr_or_type ref, + int stmt: @stmt ref); + +expr_containers (unique int expr: @expr_or_type ref, + int container: @stmt_container ref); + +array_size (unique int ae: @arraylike ref, + int sz: int ref); + +is_delegating (int yield: @yield_expr ref); + +@expr_or_stmt = @expr | @stmt; +@expr_or_type = @expr | @typeexpr; +@expr_parent = @expr_or_stmt | @property | @function_typeexpr; +@arraylike = @array_expr | @array_pattern; +@type_annotation = @typeexpr | @jsdoc_type_expr; +@node_in_stmt_container = @cfg_node | @type_annotation | @toplevel; + +case @expr.kind of + 0 = @label +| 1 = @null_literal +| 2 = @boolean_literal +| 3 = @number_literal +| 4 = @string_literal +| 5 = @regexp_literal +| 6 = @this_expr +| 7 = @array_expr +| 8 = @obj_expr +| 9 = @function_expr +| 10 = @seq_expr +| 11 = @conditional_expr +| 12 = @new_expr +| 13 = @call_expr +| 14 = @dot_expr +| 15 = @index_expr +| 16 = @neg_expr +| 17 = @plus_expr +| 18 = @log_not_expr +| 19 = @bit_not_expr +| 20 = @typeof_expr +| 21 = @void_expr +| 22 = @delete_expr +| 23 = @eq_expr +| 24 = @neq_expr +| 25 = @eqq_expr +| 26 = @neqq_expr +| 27 = @lt_expr +| 28 = @le_expr +| 29 = @gt_expr +| 30 = @ge_expr +| 31 = @lshift_expr +| 32 = @rshift_expr +| 33 = @urshift_expr +| 34 = @add_expr +| 35 = @sub_expr +| 36 = @mul_expr +| 37 = @div_expr +| 38 = @mod_expr +| 39 = @bitor_expr +| 40 = @xor_expr +| 41 = @bitand_expr +| 42 = @in_expr +| 43 = @instanceof_expr +| 44 = @logand_expr +| 45 = @logor_expr +| 47 = @assign_expr +| 48 = @assign_add_expr +| 49 = @assign_sub_expr +| 50 = @assign_mul_expr +| 51 = @assign_div_expr +| 52 = @assign_mod_expr +| 53 = @assign_lshift_expr +| 54 = @assign_rshift_expr +| 55 = @assign_urshift_expr +| 56 = @assign_or_expr +| 57 = @assign_xor_expr +| 58 = @assign_and_expr +| 59 = @preinc_expr +| 60 = @postinc_expr +| 61 = @predec_expr +| 62 = @postdec_expr +| 63 = @par_expr +| 64 = @var_declarator +| 65 = @arrow_function_expr +| 66 = @spread_element +| 67 = @array_pattern +| 68 = @object_pattern +| 69 = @yield_expr +| 70 = @tagged_template_expr +| 71 = @template_literal +| 72 = @template_element +| 73 = @array_comprehension_expr +| 74 = @generator_expr +| 75 = @for_in_comprehension_block +| 76 = @for_of_comprehension_block +| 77 = @legacy_letexpr +| 78 = @var_decl +| 79 = @proper_varaccess +| 80 = @class_expr +| 81 = @super_expr +| 82 = @newtarget_expr +| 83 = @named_import_specifier +| 84 = @import_default_specifier +| 85 = @import_namespace_specifier +| 86 = @named_export_specifier +| 87 = @exp_expr +| 88 = @assign_exp_expr +| 89 = @jsx_element +| 90 = @jsx_qualified_name +| 91 = @jsx_empty_expr +| 92 = @await_expr +| 93 = @function_sent_expr +| 94 = @decorator +| 95 = @export_default_specifier +| 96 = @export_namespace_specifier +| 97 = @bind_expr +| 98 = @external_module_reference +| 99 = @dynamic_import +| 100 = @expression_with_type_arguments +| 101 = @prefix_type_assertion +| 102 = @as_type_assertion +| 103 = @export_varaccess +| 104 = @decorator_list +| 105 = @non_null_assertion +| 106 = @bigint_literal +| 107 = @nullishcoalescing_expr +| 108 = @e4x_xml_anyname +| 109 = @e4x_xml_static_attribute_selector +| 110 = @e4x_xml_dynamic_attribute_selector +| 111 = @e4x_xml_filter_expression +| 112 = @e4x_xml_static_qualident +| 113 = @e4x_xml_dynamic_qualident +| 114 = @e4x_xml_dotdotexpr +| 115 = @import_meta_expr +| 116 = @assignlogandexpr +| 117 = @assignlogorexpr +| 118 = @assignnullishcoalescingexpr +| 119 = @template_pipe_ref +| 120 = @generated_code_expr +| 121 = @satisfies_expr +; + +@varaccess = @proper_varaccess | @export_varaccess; +@varref = @var_decl | @varaccess; + +@identifier = @label | @varref | @type_identifier; + +@literal = @null_literal | @boolean_literal | @number_literal | @string_literal | @regexp_literal | @bigint_literal; + +@propaccess = @dot_expr | @index_expr; + +@invokeexpr = @new_expr | @call_expr; + +@unaryexpr = @neg_expr | @plus_expr | @log_not_expr | @bit_not_expr | @typeof_expr | @void_expr | @delete_expr | @spread_element; + +@equality_test = @eq_expr | @neq_expr | @eqq_expr | @neqq_expr; + +@comparison = @equality_test | @lt_expr | @le_expr | @gt_expr | @ge_expr; + +@binaryexpr = @comparison | @lshift_expr | @rshift_expr | @urshift_expr | @add_expr | @sub_expr | @mul_expr | @div_expr | @mod_expr | @exp_expr | @bitor_expr | @xor_expr | @bitand_expr | @in_expr | @instanceof_expr | @logand_expr | @logor_expr | @nullishcoalescing_expr; + +@assignment = @assign_expr | @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr | @assign_mod_expr | @assign_exp_expr | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr | @assign_or_expr | @assign_xor_expr | @assign_and_expr | @assignlogandexpr | @assignlogorexpr | @assignnullishcoalescingexpr; + +@updateexpr = @preinc_expr | @postinc_expr | @predec_expr | @postdec_expr; + +@pattern = @varref | @array_pattern | @object_pattern; + +@comprehension_expr = @array_comprehension_expr | @generator_expr; + +@comprehension_block = @for_in_comprehension_block | @for_of_comprehension_block; + +@import_specifier = @named_import_specifier | @import_default_specifier | @import_namespace_specifier; + +@exportspecifier = @named_export_specifier | @export_default_specifier | @export_namespace_specifier; + +@type_keyword_operand = @import_declaration | @export_declaration | @import_specifier; + +@type_assertion = @as_type_assertion | @prefix_type_assertion; + +@class_definition = @class_decl_stmt | @class_expr; +@interface_definition = @interface_declaration | @interface_typeexpr; +@class_or_interface = @class_definition | @interface_definition; + +@lexical_decl = @var_decl | @type_decl; +@lexical_access = @varaccess | @local_type_access | @local_var_type_access | @local_namespace_access; +@lexical_ref = @lexical_decl | @lexical_access; + +@e4x_xml_attribute_selector = @e4x_xml_static_attribute_selector | @e4x_xml_dynamic_attribute_selector; +@e4x_xml_qualident = @e4x_xml_static_qualident | @e4x_xml_dynamic_qualident; + +expr_contains_template_tag_location( + int expr: @expr ref, + int location: @location ref +); + +@template_placeholder_tag_parent = @xmlelement | @xmlattribute | @file; + +template_placeholder_tag_info( + unique int node: @template_placeholder_tag, + int parentNode: @template_placeholder_tag_parent ref, + varchar(900) raw: string ref +); + +// scopes +scopes (unique int id: @scope, + int kind: int ref); + +case @scope.kind of + 0 = @global_scope +| 1 = @function_scope +| 2 = @catch_scope +| 3 = @module_scope +| 4 = @block_scope +| 5 = @for_scope +| 6 = @for_in_scope // for-of scopes work the same as for-in scopes +| 7 = @comprehension_block_scope +| 8 = @class_expr_scope +| 9 = @namespace_scope +| 10 = @class_decl_scope +| 11 = @interface_scope +| 12 = @type_alias_scope +| 13 = @mapped_type_scope +| 14 = @enum_scope +| 15 = @external_module_scope +| 16 = @conditional_type_scope; + +scopenodes (unique int node: @ast_node ref, + int scope: @scope ref); + +scopenesting (unique int inner: @scope ref, + int outer: @scope ref); + +// functions +@function = @function_decl_stmt | @function_expr | @arrow_function_expr; + +@parameterized = @function | @catch_clause; +@type_parameterized = @function | @class_or_interface | @type_alias_declaration | @mapped_typeexpr | @infer_typeexpr; + +is_generator (int fun: @function ref); +has_rest_parameter (int fun: @function ref); +is_async (int fun: @function ref); + +// variables and lexically scoped type names +#keyset[scope, name] +variables (unique int id: @variable, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_type_names (unique int id: @local_type_name, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_namespace_names (unique int id: @local_namespace_name, + varchar(900) name: string ref, + int scope: @scope ref); + +is_arguments_object (int id: @variable ref); + +@lexical_name = @variable | @local_type_name | @local_namespace_name; + +@bind_id = @varaccess | @local_var_type_access; +bind (unique int id: @bind_id ref, + int decl: @variable ref); + +decl (unique int id: @var_decl ref, + int decl: @variable ref); + +@typebind_id = @local_type_access | @export_varaccess; +typebind (unique int id: @typebind_id ref, + int decl: @local_type_name ref); + +@typedecl_id = @type_decl | @var_decl; +typedecl (unique int id: @typedecl_id ref, + int decl: @local_type_name ref); + +namespacedecl (unique int id: @var_decl ref, + int decl: @local_namespace_name ref); + +@namespacebind_id = @local_namespace_access | @export_varaccess; +namespacebind (unique int id: @namespacebind_id ref, + int decl: @local_namespace_name ref); + + +// properties in object literals, property patterns in object patterns, and method declarations in classes +#keyset[parent, index] +properties (unique int id: @property, + int parent: @property_parent ref, + int index: int ref, + int kind: int ref, + varchar(900) tostring: string ref); + +case @property.kind of + 0 = @value_property +| 1 = @property_getter +| 2 = @property_setter +| 3 = @jsx_attribute +| 4 = @function_call_signature +| 5 = @constructor_call_signature +| 6 = @index_signature +| 7 = @enum_member +| 8 = @proper_field +| 9 = @parameter_field +| 10 = @static_initializer +; + +@property_parent = @obj_expr | @object_pattern | @class_definition | @jsx_element | @interface_definition | @enum_declaration; +@property_accessor = @property_getter | @property_setter; +@call_signature = @function_call_signature | @constructor_call_signature; +@field = @proper_field | @parameter_field; +@field_or_vardeclarator = @field | @var_declarator; + +is_computed (int id: @property ref); +is_method (int id: @property ref); +is_static (int id: @property ref); +is_abstract_member (int id: @property ref); +is_const_enum (int id: @enum_declaration ref); +is_abstract_class (int id: @class_decl_stmt ref); + +has_public_keyword (int id: @property ref); +has_private_keyword (int id: @property ref); +has_protected_keyword (int id: @property ref); +has_readonly_keyword (int id: @property ref); +has_type_keyword (int id: @type_keyword_operand ref); +has_defer_keyword (int id: @import_declaration ref); +is_optional_member (int id: @property ref); +has_definite_assignment_assertion (int id: @field_or_vardeclarator ref); +is_optional_parameter_declaration (unique int parameter: @pattern ref); + +#keyset[constructor, param_index] +parameter_fields( + unique int field: @parameter_field ref, + int constructor: @function_expr ref, + int param_index: int ref +); + +// types +#keyset[parent, idx] +typeexprs ( + unique int id: @typeexpr, + int kind: int ref, + int parent: @typeexpr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref +); + +case @typeexpr.kind of + 0 = @local_type_access +| 1 = @type_decl +| 2 = @keyword_typeexpr +| 3 = @string_literal_typeexpr +| 4 = @number_literal_typeexpr +| 5 = @boolean_literal_typeexpr +| 6 = @array_typeexpr +| 7 = @union_typeexpr +| 8 = @indexed_access_typeexpr +| 9 = @intersection_typeexpr +| 10 = @parenthesized_typeexpr +| 11 = @tuple_typeexpr +| 12 = @keyof_typeexpr +| 13 = @qualified_type_access +| 14 = @generic_typeexpr +| 15 = @type_label +| 16 = @typeof_typeexpr +| 17 = @local_var_type_access +| 18 = @qualified_var_type_access +| 19 = @this_var_type_access +| 20 = @predicate_typeexpr +| 21 = @interface_typeexpr +| 22 = @type_parameter +| 23 = @plain_function_typeexpr +| 24 = @constructor_typeexpr +| 25 = @local_namespace_access +| 26 = @qualified_namespace_access +| 27 = @mapped_typeexpr +| 28 = @conditional_typeexpr +| 29 = @infer_typeexpr +| 30 = @import_type_access +| 31 = @import_namespace_access +| 32 = @import_var_type_access +| 33 = @optional_typeexpr +| 34 = @rest_typeexpr +| 35 = @bigint_literal_typeexpr +| 36 = @readonly_typeexpr +| 37 = @template_literal_typeexpr +; + +@typeref = @typeaccess | @type_decl; +@type_identifier = @type_decl | @local_type_access | @type_label | @local_var_type_access | @local_namespace_access; +@typeexpr_parent = @expr | @stmt | @property | @typeexpr; +@literal_typeexpr = @string_literal_typeexpr | @number_literal_typeexpr | @boolean_literal_typeexpr | @bigint_literal_typeexpr; +@typeaccess = @local_type_access | @qualified_type_access | @import_type_access; +@vartypeaccess = @local_var_type_access | @qualified_var_type_access | @this_var_type_access | @import_var_type_access; +@namespace_access = @local_namespace_access | @qualified_namespace_access | @import_namespace_access; +@import_typeexpr = @import_type_access | @import_namespace_access | @import_var_type_access; + +@function_typeexpr = @plain_function_typeexpr | @constructor_typeexpr; + +// types +types ( + unique int id: @type, + int kind: int ref, + varchar(900) tostring: string ref +); + +#keyset[parent, idx] +type_child ( + int child: @type ref, + int parent: @type ref, + int idx: int ref +); + +case @type.kind of + 0 = @any_type +| 1 = @string_type +| 2 = @number_type +| 3 = @union_type +| 4 = @true_type +| 5 = @false_type +| 6 = @type_reference +| 7 = @object_type +| 8 = @canonical_type_variable_type +| 9 = @typeof_type +| 10 = @void_type +| 11 = @undefined_type +| 12 = @null_type +| 13 = @never_type +| 14 = @plain_symbol_type +| 15 = @unique_symbol_type +| 16 = @objectkeyword_type +| 17 = @intersection_type +| 18 = @tuple_type +| 19 = @lexical_type_variable_type +| 20 = @this_type +| 21 = @number_literal_type +| 22 = @string_literal_type +| 23 = @unknown_type +| 24 = @bigint_type +| 25 = @bigint_literal_type +; + +@boolean_literal_type = @true_type | @false_type; +@symbol_type = @plain_symbol_type | @unique_symbol_type; +@union_or_intersection_type = @union_type | @intersection_type; +@typevariable_type = @canonical_type_variable_type | @lexical_type_variable_type; + +has_asserts_keyword(int node: @predicate_typeexpr ref); + +@typed_ast_node = @expr | @typeexpr | @function; +ast_node_type( + unique int node: @typed_ast_node ref, + int typ: @type ref); + +declared_function_signature( + unique int node: @function ref, + int sig: @signature_type ref +); + +invoke_expr_signature( + unique int node: @invokeexpr ref, + int sig: @signature_type ref +); + +invoke_expr_overload_index( + unique int node: @invokeexpr ref, + int index: int ref +); + +symbols ( + unique int id: @symbol, + int kind: int ref, + varchar(900) name: string ref +); + +symbol_parent ( + unique int symbol: @symbol ref, + int parent: @symbol ref +); + +symbol_module ( + int symbol: @symbol ref, + varchar(900) moduleName: string ref +); + +symbol_global ( + int symbol: @symbol ref, + varchar(900) globalName: string ref +); + +case @symbol.kind of + 0 = @root_symbol +| 1 = @member_symbol +| 2 = @other_symbol +; + +@type_with_symbol = @type_reference | @typevariable_type | @typeof_type | @unique_symbol_type; +@ast_node_with_symbol = @type_definition | @namespace_definition | @toplevel | @typeaccess | @namespace_access | @var_decl | @function | @invokeexpr | @import_declaration | @external_module_reference | @external_module_declaration; + +ast_node_symbol( + unique int node: @ast_node_with_symbol ref, + int symbol: @symbol ref); + +type_symbol( + unique int typ: @type_with_symbol ref, + int symbol: @symbol ref); + +#keyset[typ, name] +type_property( + int typ: @type ref, + varchar(900) name: string ref, + int propertyType: @type ref); + +type_alias( + unique int aliasType: @type ref, + int underlyingType: @type ref); + +@literal_type = @string_literal_type | @number_literal_type | @boolean_literal_type | @bigint_literal_type; +@type_with_literal_value = @string_literal_type | @number_literal_type | @bigint_literal_type; +type_literal_value( + unique int typ: @type_with_literal_value ref, + varchar(900) value: string ref); + +signature_types ( + unique int id: @signature_type, + int kind: int ref, + varchar(900) tostring: string ref, + int type_parameters: int ref, + int required_params: int ref +); + +is_abstract_signature( + unique int sig: @signature_type ref +); + +signature_rest_parameter( + unique int sig: @signature_type ref, + int rest_param_arra_type: @type ref +); + +case @signature_type.kind of + 0 = @function_signature_type +| 1 = @constructor_signature_type +; + +#keyset[typ, kind, index] +type_contains_signature ( + int typ: @type ref, + int kind: int ref, // constructor/call/index + int index: int ref, // ordering of overloaded signatures + int sig: @signature_type ref +); + +#keyset[parent, index] +signature_contains_type ( + int child: @type ref, + int parent: @signature_type ref, + int index: int ref +); + +#keyset[sig, index] +signature_parameter_name ( + int sig: @signature_type ref, + int index: int ref, + varchar(900) name: string ref +); + +number_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +string_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +base_type_names( + int typeName: @symbol ref, + int baseTypeName: @symbol ref +); + +self_types( + int typeName: @symbol ref, + int selfType: @type_reference ref +); + +tuple_type_min_length( + unique int typ: @type ref, + int minLength: int ref +); + +tuple_type_rest_index( + unique int typ: @type ref, + int index: int ref +); + +// comments +comments (unique int id: @comment, + int kind: int ref, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(900) tostring: string ref); + +case @comment.kind of + 0 = @slashslash_comment +| 1 = @slashstar_comment +| 2 = @doc_comment +| 3 = @html_comment_start +| 4 = @htmlcommentend; + +@html_comment = @html_comment_start | @htmlcommentend; +@line_comment = @slashslash_comment | @html_comment; +@block_comment = @slashstar_comment | @doc_comment; + +// source lines +lines (unique int id: @line, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(2) terminator: string ref); +indentation (int file: @file ref, + int lineno: int ref, + varchar(1) indentChar: string ref, + int indentDepth: int ref); + +// JavaScript parse errors +js_parse_errors (unique int id: @js_parse_error, + int toplevel: @toplevel ref, + varchar(900) message: string ref, + varchar(900) line: string ref); + +// regular expressions +#keyset[parent, idx] +regexpterm (unique int id: @regexpterm, + int kind: int ref, + int parent: @regexpparent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +@regexpparent = @regexpterm | @regexp_literal | @string_literal | @add_expr; + +case @regexpterm.kind of + 0 = @regexp_alt +| 1 = @regexp_seq +| 2 = @regexp_caret +| 3 = @regexp_dollar +| 4 = @regexp_wordboundary +| 5 = @regexp_nonwordboundary +| 6 = @regexp_positive_lookahead +| 7 = @regexp_negative_lookahead +| 8 = @regexp_star +| 9 = @regexp_plus +| 10 = @regexp_opt +| 11 = @regexp_range +| 12 = @regexp_dot +| 13 = @regexp_group +| 14 = @regexp_normal_constant +| 15 = @regexp_hex_escape +| 16 = @regexp_unicode_escape +| 17 = @regexp_dec_escape +| 18 = @regexp_oct_escape +| 19 = @regexp_ctrl_escape +| 20 = @regexp_char_class_escape +| 21 = @regexp_id_escape +| 22 = @regexp_backref +| 23 = @regexp_char_class +| 24 = @regexp_char_range +| 25 = @regexp_positive_lookbehind +| 26 = @regexp_negative_lookbehind +| 27 = @regexp_unicode_property_escape +| 28 = @regexp_quoted_string +| 29 = @regexp_intersection +| 30 = @regexp_subtraction; + +regexp_parse_errors (unique int id: @regexp_parse_error, + int regexp: @regexpterm ref, + varchar(900) message: string ref); + +@regexp_quantifier = @regexp_star | @regexp_plus | @regexp_opt | @regexp_range; +@regexp_escape = @regexp_char_escape | @regexp_char_class_escape | @regexp_unicode_property_escape; +@regexp_char_escape = @regexp_hex_escape | @regexp_unicode_escape | @regexp_dec_escape | @regexp_oct_escape | @regexp_ctrl_escape | @regexp_id_escape; +@regexp_constant = @regexp_normal_constant | @regexp_char_escape; +@regexp_lookahead = @regexp_positive_lookahead | @regexp_negative_lookahead; +@regexp_lookbehind = @regexp_positive_lookbehind | @regexp_negative_lookbehind; +@regexp_subpattern = @regexp_lookahead | @regexp_lookbehind; +@regexp_anchor = @regexp_dollar | @regexp_caret; + +is_greedy (int id: @regexp_quantifier ref); +range_quantifier_lower_bound (unique int id: @regexp_range ref, int lo: int ref); +range_quantifier_upper_bound (unique int id: @regexp_range ref, int hi: int ref); +is_capture (unique int id: @regexp_group ref, int number: int ref); +is_named_capture (unique int id: @regexp_group ref, string name: string ref); +is_inverted (int id: @regexp_char_class ref); +regexp_const_value (unique int id: @regexp_constant ref, varchar(1) value: string ref); +char_class_escape (unique int id: @regexp_char_class_escape ref, varchar(1) value: string ref); +backref (unique int id: @regexp_backref ref, int value: int ref); +named_backref (unique int id: @regexp_backref ref, string name: string ref); +unicode_property_escapename (unique int id: @regexp_unicode_property_escape ref, string name: string ref); +unicode_property_escapevalue (unique int id: @regexp_unicode_property_escape ref, string value: string ref); + +// tokens +#keyset[toplevel, idx] +tokeninfo (unique int id: @token, + int kind: int ref, + int toplevel: @toplevel ref, + int idx: int ref, + varchar(900) value: string ref); + +case @token.kind of + 0 = @token_eof +| 1 = @token_null_literal +| 2 = @token_boolean_literal +| 3 = @token_numeric_literal +| 4 = @token_string_literal +| 5 = @token_regular_expression +| 6 = @token_identifier +| 7 = @token_keyword +| 8 = @token_punctuator; + +// associate comments with the token immediately following them (which may be EOF) +next_token (int comment: @comment ref, int token: @token ref); + +// JSON +#keyset[parent, idx] +json (unique int id: @json_value, + int kind: int ref, + int parent: @json_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +json_literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @json_value ref); + +json_properties (int obj: @json_object ref, + varchar(900) property: string ref, + int value: @json_value ref); + +json_errors (unique int id: @json_parse_error, + varchar(900) message: string ref); + +json_locations(unique int locatable: @json_locatable ref, + int location: @location_default ref); + +case @json_value.kind of + 0 = @json_null +| 1 = @json_boolean +| 2 = @json_number +| 3 = @json_string +| 4 = @json_array +| 5 = @json_object; + +@json_parent = @json_object | @json_array | @file; + +@json_locatable = @json_value | @json_parse_error; + +// locations +@ast_node = @toplevel | @stmt | @expr | @property | @typeexpr; + +@locatable = @file + | @ast_node + | @comment + | @line + | @js_parse_error | @regexp_parse_error + | @regexpterm + | @json_locatable + | @token + | @cfg_node + | @jsdoc | @jsdoc_type_expr | @jsdoc_tag + | @yaml_locatable + | @xmllocatable + | @configLocatable + | @template_placeholder_tag; + +hasLocation (unique int locatable: @locatable ref, + int location: @location ref); + +// CFG +entry_cfg_node (unique int id: @entry_node, int container: @stmt_container ref); +exit_cfg_node (unique int id: @exit_node, int container: @stmt_container ref); +guard_node (unique int id: @guard_node, int kind: int ref, int test: @expr ref); +case @guard_node.kind of + 0 = @falsy_guard +| 1 = @truthy_guard; +@condition_guard = @falsy_guard | @truthy_guard; + +@synthetic_cfg_node = @entry_node | @exit_node | @guard_node; +@cfg_node = @synthetic_cfg_node | @expr_parent; + +successor (int pred: @cfg_node ref, int succ: @cfg_node ref); + +// JSDoc comments +jsdoc (unique int id: @jsdoc, varchar(900) description: string ref, int comment: @comment ref); +#keyset[parent, idx] +jsdoc_tags (unique int id: @jsdoc_tag, varchar(900) title: string ref, + int parent: @jsdoc ref, int idx: int ref, varchar(900) tostring: string ref); +jsdoc_tag_descriptions (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); +jsdoc_tag_names (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); + +#keyset[parent, idx] +jsdoc_type_exprs (unique int id: @jsdoc_type_expr, + int kind: int ref, + int parent: @jsdoc_type_expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); +case @jsdoc_type_expr.kind of + 0 = @jsdoc_any_type_expr +| 1 = @jsdoc_null_type_expr +| 2 = @jsdoc_undefined_type_expr +| 3 = @jsdoc_unknown_type_expr +| 4 = @jsdoc_void_type_expr +| 5 = @jsdoc_identifier_type_expr +| 6 = @jsdoc_applied_type_expr +| 7 = @jsdoc_nullable_type_expr +| 8 = @jsdoc_non_nullable_type_expr +| 9 = @jsdoc_record_type_expr +| 10 = @jsdoc_array_type_expr +| 11 = @jsdoc_union_type_expr +| 12 = @jsdoc_function_type_expr +| 13 = @jsdoc_optional_type_expr +| 14 = @jsdoc_rest_type_expr +| 15 = @jsdoc_qualified_type_expr +; + +#keyset[id, idx] +jsdoc_record_field_name (int id: @jsdoc_record_type_expr ref, int idx: int ref, varchar(900) name: string ref); +jsdoc_prefix_qualifier (int id: @jsdoc_type_expr ref); +jsdoc_has_new_parameter (int fn: @jsdoc_function_type_expr ref); + +@jsdoc_type_expr_parent = @jsdoc_type_expr | @jsdoc_tag; + +jsdoc_errors (unique int id: @jsdoc_error, int tag: @jsdoc_tag ref, varchar(900) message: string ref, varchar(900) tostring: string ref); + +@dataflownode = @expr | @function_decl_stmt | @class_decl_stmt | @namespace_declaration | @enum_declaration | @property; + +@optionalchainable = @call_expr | @propaccess; + +isOptionalChaining(int id: @optionalchainable ref); + +/** + * The time taken for the extraction of a file. + * This table contains non-deterministic content. + * + * The sum of the `time` column for each (`file`, `timerKind`) pair + * is the total time taken for extraction of `file`. The `extractionPhase` + * column provides a granular view of the extraction time of the file. + */ +extraction_time( + int file : @file ref, + // see `com.semmle.js.extractor.ExtractionMetrics.ExtractionPhase`. + int extractionPhase: int ref, + // 0 for the elapsed CPU time in nanoseconds, 1 for the elapsed wallclock time in nanoseconds + int timerKind: int ref, + float time: float ref +) + +/** +* Non-timing related data for the extraction of a single file. +* This table contains non-deterministic content. +*/ +extraction_data( + int file : @file ref, + // the absolute path to the cache file + varchar(900) cacheFile: string ref, + boolean fromCache: boolean ref, + int length: int ref +) + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- 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; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); diff --git a/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/semmlecode.javascript.dbscheme b/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/semmlecode.javascript.dbscheme new file mode 100644 index 00000000000..578367e82a2 --- /dev/null +++ b/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/semmlecode.javascript.dbscheme @@ -0,0 +1,1217 @@ +/*** Standard fragments ***/ + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- JavaScript-specific part -*/ + +@location = @location_default + +@sourceline = @locatable; + +filetype( + int file: @file ref, + string filetype: string ref +) + +// top-level code fragments +toplevels (unique int id: @toplevel, + int kind: int ref); + +is_externs (int toplevel: @toplevel ref); + +case @toplevel.kind of + 0 = @script +| 1 = @inline_script +| 2 = @event_handler +| 3 = @javascript_url +| 4 = @template_toplevel; + +is_module (int tl: @toplevel ref); +is_nodejs (int tl: @toplevel ref); +is_es2015_module (int tl: @toplevel ref); +is_closure_module (int tl: @toplevel ref); + +@xml_node_with_code = @xmlelement | @xmlattribute | @template_placeholder_tag; +toplevel_parent_xml_node( + unique int toplevel: @toplevel ref, + int xmlnode: @xml_node_with_code ref); + +xml_element_parent_expression( + unique int xmlnode: @xmlelement ref, + int expression: @expr ref, + int index: int ref); + +// statements +#keyset[parent, idx] +stmts (unique int id: @stmt, + int kind: int ref, + int parent: @stmt_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +stmt_containers (unique int stmt: @stmt ref, + int container: @stmt_container ref); + +jump_targets (unique int jump: @stmt ref, + int target: @stmt ref); + +@stmt_parent = @stmt | @toplevel | @function_expr | @arrow_function_expr | @static_initializer; +@stmt_container = @toplevel | @function | @namespace_declaration | @external_module_declaration | @global_augmentation_declaration; + +case @stmt.kind of + 0 = @empty_stmt +| 1 = @block_stmt +| 2 = @expr_stmt +| 3 = @if_stmt +| 4 = @labeled_stmt +| 5 = @break_stmt +| 6 = @continue_stmt +| 7 = @with_stmt +| 8 = @switch_stmt +| 9 = @return_stmt +| 10 = @throw_stmt +| 11 = @try_stmt +| 12 = @while_stmt +| 13 = @do_while_stmt +| 14 = @for_stmt +| 15 = @for_in_stmt +| 16 = @debugger_stmt +| 17 = @function_decl_stmt +| 18 = @var_decl_stmt +| 19 = @case +| 20 = @catch_clause +| 21 = @for_of_stmt +| 22 = @const_decl_stmt +| 23 = @let_stmt +| 24 = @legacy_let_stmt +| 25 = @for_each_stmt +| 26 = @class_decl_stmt +| 27 = @import_declaration +| 28 = @export_all_declaration +| 29 = @export_default_declaration +| 30 = @export_named_declaration +| 31 = @namespace_declaration +| 32 = @import_equals_declaration +| 33 = @export_assign_declaration +| 34 = @interface_declaration +| 35 = @type_alias_declaration +| 36 = @enum_declaration +| 37 = @external_module_declaration +| 38 = @export_as_namespace_declaration +| 39 = @global_augmentation_declaration +| 40 = @using_decl_stmt +; + +@decl_stmt = @var_decl_stmt | @const_decl_stmt | @let_stmt | @legacy_let_stmt | @using_decl_stmt; + +@export_declaration = @export_all_declaration | @export_default_declaration | @export_named_declaration; + +@namespace_definition = @namespace_declaration | @enum_declaration; +@type_definition = @class_definition | @interface_declaration | @enum_declaration | @type_alias_declaration | @enum_member; + +is_instantiated(unique int decl: @namespace_declaration ref); + +@declarable_node = @decl_stmt | @namespace_declaration | @class_decl_stmt | @function_decl_stmt | @enum_declaration | @external_module_declaration | @global_augmentation_declaration | @field; +has_declare_keyword(unique int stmt: @declarable_node ref); + +is_for_await_of(unique int forof: @for_of_stmt ref); + +// expressions +#keyset[parent, idx] +exprs (unique int id: @expr, + int kind: int ref, + int parent: @expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @expr_or_type ref); + +enclosing_stmt (unique int expr: @expr_or_type ref, + int stmt: @stmt ref); + +expr_containers (unique int expr: @expr_or_type ref, + int container: @stmt_container ref); + +array_size (unique int ae: @arraylike ref, + int sz: int ref); + +is_delegating (int yield: @yield_expr ref); + +@expr_or_stmt = @expr | @stmt; +@expr_or_type = @expr | @typeexpr; +@expr_parent = @expr_or_stmt | @property | @function_typeexpr; +@arraylike = @array_expr | @array_pattern; +@type_annotation = @typeexpr | @jsdoc_type_expr; +@node_in_stmt_container = @cfg_node | @type_annotation | @toplevel; + +case @expr.kind of + 0 = @label +| 1 = @null_literal +| 2 = @boolean_literal +| 3 = @number_literal +| 4 = @string_literal +| 5 = @regexp_literal +| 6 = @this_expr +| 7 = @array_expr +| 8 = @obj_expr +| 9 = @function_expr +| 10 = @seq_expr +| 11 = @conditional_expr +| 12 = @new_expr +| 13 = @call_expr +| 14 = @dot_expr +| 15 = @index_expr +| 16 = @neg_expr +| 17 = @plus_expr +| 18 = @log_not_expr +| 19 = @bit_not_expr +| 20 = @typeof_expr +| 21 = @void_expr +| 22 = @delete_expr +| 23 = @eq_expr +| 24 = @neq_expr +| 25 = @eqq_expr +| 26 = @neqq_expr +| 27 = @lt_expr +| 28 = @le_expr +| 29 = @gt_expr +| 30 = @ge_expr +| 31 = @lshift_expr +| 32 = @rshift_expr +| 33 = @urshift_expr +| 34 = @add_expr +| 35 = @sub_expr +| 36 = @mul_expr +| 37 = @div_expr +| 38 = @mod_expr +| 39 = @bitor_expr +| 40 = @xor_expr +| 41 = @bitand_expr +| 42 = @in_expr +| 43 = @instanceof_expr +| 44 = @logand_expr +| 45 = @logor_expr +| 47 = @assign_expr +| 48 = @assign_add_expr +| 49 = @assign_sub_expr +| 50 = @assign_mul_expr +| 51 = @assign_div_expr +| 52 = @assign_mod_expr +| 53 = @assign_lshift_expr +| 54 = @assign_rshift_expr +| 55 = @assign_urshift_expr +| 56 = @assign_or_expr +| 57 = @assign_xor_expr +| 58 = @assign_and_expr +| 59 = @preinc_expr +| 60 = @postinc_expr +| 61 = @predec_expr +| 62 = @postdec_expr +| 63 = @par_expr +| 64 = @var_declarator +| 65 = @arrow_function_expr +| 66 = @spread_element +| 67 = @array_pattern +| 68 = @object_pattern +| 69 = @yield_expr +| 70 = @tagged_template_expr +| 71 = @template_literal +| 72 = @template_element +| 73 = @array_comprehension_expr +| 74 = @generator_expr +| 75 = @for_in_comprehension_block +| 76 = @for_of_comprehension_block +| 77 = @legacy_letexpr +| 78 = @var_decl +| 79 = @proper_varaccess +| 80 = @class_expr +| 81 = @super_expr +| 82 = @newtarget_expr +| 83 = @named_import_specifier +| 84 = @import_default_specifier +| 85 = @import_namespace_specifier +| 86 = @named_export_specifier +| 87 = @exp_expr +| 88 = @assign_exp_expr +| 89 = @jsx_element +| 90 = @jsx_qualified_name +| 91 = @jsx_empty_expr +| 92 = @await_expr +| 93 = @function_sent_expr +| 94 = @decorator +| 95 = @export_default_specifier +| 96 = @export_namespace_specifier +| 97 = @bind_expr +| 98 = @external_module_reference +| 99 = @dynamic_import +| 100 = @expression_with_type_arguments +| 101 = @prefix_type_assertion +| 102 = @as_type_assertion +| 103 = @export_varaccess +| 104 = @decorator_list +| 105 = @non_null_assertion +| 106 = @bigint_literal +| 107 = @nullishcoalescing_expr +| 108 = @e4x_xml_anyname +| 109 = @e4x_xml_static_attribute_selector +| 110 = @e4x_xml_dynamic_attribute_selector +| 111 = @e4x_xml_filter_expression +| 112 = @e4x_xml_static_qualident +| 113 = @e4x_xml_dynamic_qualident +| 114 = @e4x_xml_dotdotexpr +| 115 = @import_meta_expr +| 116 = @assignlogandexpr +| 117 = @assignlogorexpr +| 118 = @assignnullishcoalescingexpr +| 119 = @template_pipe_ref +| 120 = @generated_code_expr +| 121 = @satisfies_expr +; + +@varaccess = @proper_varaccess | @export_varaccess; +@varref = @var_decl | @varaccess; + +@identifier = @label | @varref | @type_identifier; + +@literal = @null_literal | @boolean_literal | @number_literal | @string_literal | @regexp_literal | @bigint_literal; + +@propaccess = @dot_expr | @index_expr; + +@invokeexpr = @new_expr | @call_expr; + +@unaryexpr = @neg_expr | @plus_expr | @log_not_expr | @bit_not_expr | @typeof_expr | @void_expr | @delete_expr | @spread_element; + +@equality_test = @eq_expr | @neq_expr | @eqq_expr | @neqq_expr; + +@comparison = @equality_test | @lt_expr | @le_expr | @gt_expr | @ge_expr; + +@binaryexpr = @comparison | @lshift_expr | @rshift_expr | @urshift_expr | @add_expr | @sub_expr | @mul_expr | @div_expr | @mod_expr | @exp_expr | @bitor_expr | @xor_expr | @bitand_expr | @in_expr | @instanceof_expr | @logand_expr | @logor_expr | @nullishcoalescing_expr; + +@assignment = @assign_expr | @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr | @assign_mod_expr | @assign_exp_expr | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr | @assign_or_expr | @assign_xor_expr | @assign_and_expr | @assignlogandexpr | @assignlogorexpr | @assignnullishcoalescingexpr; + +@updateexpr = @preinc_expr | @postinc_expr | @predec_expr | @postdec_expr; + +@pattern = @varref | @array_pattern | @object_pattern; + +@comprehension_expr = @array_comprehension_expr | @generator_expr; + +@comprehension_block = @for_in_comprehension_block | @for_of_comprehension_block; + +@import_specifier = @named_import_specifier | @import_default_specifier | @import_namespace_specifier; + +@exportspecifier = @named_export_specifier | @export_default_specifier | @export_namespace_specifier; + +@type_keyword_operand = @import_declaration | @export_declaration | @import_specifier; + +@type_assertion = @as_type_assertion | @prefix_type_assertion; + +@class_definition = @class_decl_stmt | @class_expr; +@interface_definition = @interface_declaration | @interface_typeexpr; +@class_or_interface = @class_definition | @interface_definition; + +@lexical_decl = @var_decl | @type_decl; +@lexical_access = @varaccess | @local_type_access | @local_var_type_access | @local_namespace_access; +@lexical_ref = @lexical_decl | @lexical_access; + +@e4x_xml_attribute_selector = @e4x_xml_static_attribute_selector | @e4x_xml_dynamic_attribute_selector; +@e4x_xml_qualident = @e4x_xml_static_qualident | @e4x_xml_dynamic_qualident; + +expr_contains_template_tag_location( + int expr: @expr ref, + int location: @location ref +); + +@template_placeholder_tag_parent = @xmlelement | @xmlattribute | @file; + +template_placeholder_tag_info( + unique int node: @template_placeholder_tag, + int parentNode: @template_placeholder_tag_parent ref, + varchar(900) raw: string ref +); + +// scopes +scopes (unique int id: @scope, + int kind: int ref); + +case @scope.kind of + 0 = @global_scope +| 1 = @function_scope +| 2 = @catch_scope +| 3 = @module_scope +| 4 = @block_scope +| 5 = @for_scope +| 6 = @for_in_scope // for-of scopes work the same as for-in scopes +| 7 = @comprehension_block_scope +| 8 = @class_expr_scope +| 9 = @namespace_scope +| 10 = @class_decl_scope +| 11 = @interface_scope +| 12 = @type_alias_scope +| 13 = @mapped_type_scope +| 14 = @enum_scope +| 15 = @external_module_scope +| 16 = @conditional_type_scope; + +scopenodes (unique int node: @ast_node ref, + int scope: @scope ref); + +scopenesting (unique int inner: @scope ref, + int outer: @scope ref); + +// functions +@function = @function_decl_stmt | @function_expr | @arrow_function_expr; + +@parameterized = @function | @catch_clause; +@type_parameterized = @function | @class_or_interface | @type_alias_declaration | @mapped_typeexpr | @infer_typeexpr; + +is_generator (int fun: @function ref); +has_rest_parameter (int fun: @function ref); +is_async (int fun: @function ref); + +// variables and lexically scoped type names +#keyset[scope, name] +variables (unique int id: @variable, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_type_names (unique int id: @local_type_name, + varchar(900) name: string ref, + int scope: @scope ref); + +#keyset[scope, name] +local_namespace_names (unique int id: @local_namespace_name, + varchar(900) name: string ref, + int scope: @scope ref); + +is_arguments_object (int id: @variable ref); + +@lexical_name = @variable | @local_type_name | @local_namespace_name; + +@bind_id = @varaccess | @local_var_type_access; +bind (unique int id: @bind_id ref, + int decl: @variable ref); + +decl (unique int id: @var_decl ref, + int decl: @variable ref); + +@typebind_id = @local_type_access | @export_varaccess; +typebind (unique int id: @typebind_id ref, + int decl: @local_type_name ref); + +@typedecl_id = @type_decl | @var_decl; +typedecl (unique int id: @typedecl_id ref, + int decl: @local_type_name ref); + +namespacedecl (unique int id: @var_decl ref, + int decl: @local_namespace_name ref); + +@namespacebind_id = @local_namespace_access | @export_varaccess; +namespacebind (unique int id: @namespacebind_id ref, + int decl: @local_namespace_name ref); + + +// properties in object literals, property patterns in object patterns, and method declarations in classes +#keyset[parent, index] +properties (unique int id: @property, + int parent: @property_parent ref, + int index: int ref, + int kind: int ref, + varchar(900) tostring: string ref); + +case @property.kind of + 0 = @value_property +| 1 = @property_getter +| 2 = @property_setter +| 3 = @jsx_attribute +| 4 = @function_call_signature +| 5 = @constructor_call_signature +| 6 = @index_signature +| 7 = @enum_member +| 8 = @proper_field +| 9 = @parameter_field +| 10 = @static_initializer +; + +@property_parent = @obj_expr | @object_pattern | @class_definition | @jsx_element | @interface_definition | @enum_declaration; +@property_accessor = @property_getter | @property_setter; +@call_signature = @function_call_signature | @constructor_call_signature; +@field = @proper_field | @parameter_field; +@field_or_vardeclarator = @field | @var_declarator; + +is_computed (int id: @property ref); +is_method (int id: @property ref); +is_static (int id: @property ref); +is_abstract_member (int id: @property ref); +is_const_enum (int id: @enum_declaration ref); +is_abstract_class (int id: @class_decl_stmt ref); + +has_public_keyword (int id: @property ref); +has_private_keyword (int id: @property ref); +has_protected_keyword (int id: @property ref); +has_readonly_keyword (int id: @property ref); +has_type_keyword (int id: @type_keyword_operand ref); +has_defer_keyword (int id: @import_declaration ref); +is_optional_member (int id: @property ref); +has_definite_assignment_assertion (int id: @field_or_vardeclarator ref); +is_optional_parameter_declaration (unique int parameter: @pattern ref); + +#keyset[constructor, param_index] +parameter_fields( + unique int field: @parameter_field ref, + int constructor: @function_expr ref, + int param_index: int ref +); + +// types +#keyset[parent, idx] +typeexprs ( + unique int id: @typeexpr, + int kind: int ref, + int parent: @typeexpr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref +); + +case @typeexpr.kind of + 0 = @local_type_access +| 1 = @type_decl +| 2 = @keyword_typeexpr +| 3 = @string_literal_typeexpr +| 4 = @number_literal_typeexpr +| 5 = @boolean_literal_typeexpr +| 6 = @array_typeexpr +| 7 = @union_typeexpr +| 8 = @indexed_access_typeexpr +| 9 = @intersection_typeexpr +| 10 = @parenthesized_typeexpr +| 11 = @tuple_typeexpr +| 12 = @keyof_typeexpr +| 13 = @qualified_type_access +| 14 = @generic_typeexpr +| 15 = @type_label +| 16 = @typeof_typeexpr +| 17 = @local_var_type_access +| 18 = @qualified_var_type_access +| 19 = @this_var_type_access +| 20 = @predicate_typeexpr +| 21 = @interface_typeexpr +| 22 = @type_parameter +| 23 = @plain_function_typeexpr +| 24 = @constructor_typeexpr +| 25 = @local_namespace_access +| 26 = @qualified_namespace_access +| 27 = @mapped_typeexpr +| 28 = @conditional_typeexpr +| 29 = @infer_typeexpr +| 30 = @import_type_access +| 31 = @import_namespace_access +| 32 = @import_var_type_access +| 33 = @optional_typeexpr +| 34 = @rest_typeexpr +| 35 = @bigint_literal_typeexpr +| 36 = @readonly_typeexpr +| 37 = @template_literal_typeexpr +; + +@typeref = @typeaccess | @type_decl; +@type_identifier = @type_decl | @local_type_access | @type_label | @local_var_type_access | @local_namespace_access; +@typeexpr_parent = @expr | @stmt | @property | @typeexpr; +@literal_typeexpr = @string_literal_typeexpr | @number_literal_typeexpr | @boolean_literal_typeexpr | @bigint_literal_typeexpr; +@typeaccess = @local_type_access | @qualified_type_access | @import_type_access; +@vartypeaccess = @local_var_type_access | @qualified_var_type_access | @this_var_type_access | @import_var_type_access; +@namespace_access = @local_namespace_access | @qualified_namespace_access | @import_namespace_access; +@import_typeexpr = @import_type_access | @import_namespace_access | @import_var_type_access; + +@function_typeexpr = @plain_function_typeexpr | @constructor_typeexpr; + +// types +types ( + unique int id: @type, + int kind: int ref, + varchar(900) tostring: string ref +); + +#keyset[parent, idx] +type_child ( + int child: @type ref, + int parent: @type ref, + int idx: int ref +); + +case @type.kind of + 0 = @any_type +| 1 = @string_type +| 2 = @number_type +| 3 = @union_type +| 4 = @true_type +| 5 = @false_type +| 6 = @type_reference +| 7 = @object_type +| 8 = @canonical_type_variable_type +| 9 = @typeof_type +| 10 = @void_type +| 11 = @undefined_type +| 12 = @null_type +| 13 = @never_type +| 14 = @plain_symbol_type +| 15 = @unique_symbol_type +| 16 = @objectkeyword_type +| 17 = @intersection_type +| 18 = @tuple_type +| 19 = @lexical_type_variable_type +| 20 = @this_type +| 21 = @number_literal_type +| 22 = @string_literal_type +| 23 = @unknown_type +| 24 = @bigint_type +| 25 = @bigint_literal_type +; + +@boolean_literal_type = @true_type | @false_type; +@symbol_type = @plain_symbol_type | @unique_symbol_type; +@union_or_intersection_type = @union_type | @intersection_type; +@typevariable_type = @canonical_type_variable_type | @lexical_type_variable_type; + +has_asserts_keyword(int node: @predicate_typeexpr ref); + +@typed_ast_node = @expr | @typeexpr | @function; +ast_node_type( + unique int node: @typed_ast_node ref, + int typ: @type ref); + +declared_function_signature( + unique int node: @function ref, + int sig: @signature_type ref +); + +invoke_expr_signature( + unique int node: @invokeexpr ref, + int sig: @signature_type ref +); + +invoke_expr_overload_index( + unique int node: @invokeexpr ref, + int index: int ref +); + +symbols ( + unique int id: @symbol, + int kind: int ref, + varchar(900) name: string ref +); + +symbol_parent ( + unique int symbol: @symbol ref, + int parent: @symbol ref +); + +symbol_module ( + int symbol: @symbol ref, + varchar(900) moduleName: string ref +); + +symbol_global ( + int symbol: @symbol ref, + varchar(900) globalName: string ref +); + +case @symbol.kind of + 0 = @root_symbol +| 1 = @member_symbol +| 2 = @other_symbol +; + +@type_with_symbol = @type_reference | @typevariable_type | @typeof_type | @unique_symbol_type; +@ast_node_with_symbol = @type_definition | @namespace_definition | @toplevel | @typeaccess | @namespace_access | @var_decl | @function | @invokeexpr | @import_declaration | @external_module_reference | @external_module_declaration; + +ast_node_symbol( + unique int node: @ast_node_with_symbol ref, + int symbol: @symbol ref); + +type_symbol( + unique int typ: @type_with_symbol ref, + int symbol: @symbol ref); + +#keyset[typ, name] +type_property( + int typ: @type ref, + varchar(900) name: string ref, + int propertyType: @type ref); + +type_alias( + unique int aliasType: @type ref, + int underlyingType: @type ref); + +@literal_type = @string_literal_type | @number_literal_type | @boolean_literal_type | @bigint_literal_type; +@type_with_literal_value = @string_literal_type | @number_literal_type | @bigint_literal_type; +type_literal_value( + unique int typ: @type_with_literal_value ref, + varchar(900) value: string ref); + +signature_types ( + unique int id: @signature_type, + int kind: int ref, + varchar(900) tostring: string ref, + int type_parameters: int ref, + int required_params: int ref +); + +is_abstract_signature( + unique int sig: @signature_type ref +); + +signature_rest_parameter( + unique int sig: @signature_type ref, + int rest_param_arra_type: @type ref +); + +case @signature_type.kind of + 0 = @function_signature_type +| 1 = @constructor_signature_type +; + +#keyset[typ, kind, index] +type_contains_signature ( + int typ: @type ref, + int kind: int ref, // constructor/call/index + int index: int ref, // ordering of overloaded signatures + int sig: @signature_type ref +); + +#keyset[parent, index] +signature_contains_type ( + int child: @type ref, + int parent: @signature_type ref, + int index: int ref +); + +#keyset[sig, index] +signature_parameter_name ( + int sig: @signature_type ref, + int index: int ref, + varchar(900) name: string ref +); + +number_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +string_index_type ( + unique int baseType: @type ref, + int propertyType: @type ref +); + +base_type_names( + int typeName: @symbol ref, + int baseTypeName: @symbol ref +); + +self_types( + int typeName: @symbol ref, + int selfType: @type_reference ref +); + +tuple_type_min_length( + unique int typ: @type ref, + int minLength: int ref +); + +tuple_type_rest_index( + unique int typ: @type ref, + int index: int ref +); + +// comments +comments (unique int id: @comment, + int kind: int ref, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(900) tostring: string ref); + +case @comment.kind of + 0 = @slashslash_comment +| 1 = @slashstar_comment +| 2 = @doc_comment +| 3 = @html_comment_start +| 4 = @htmlcommentend; + +@html_comment = @html_comment_start | @htmlcommentend; +@line_comment = @slashslash_comment | @html_comment; +@block_comment = @slashstar_comment | @doc_comment; + +// source lines +lines (unique int id: @line, + int toplevel: @toplevel ref, + varchar(900) text: string ref, + varchar(2) terminator: string ref); +indentation (int file: @file ref, + int lineno: int ref, + varchar(1) indentChar: string ref, + int indentDepth: int ref); + +// JavaScript parse errors +js_parse_errors (unique int id: @js_parse_error, + int toplevel: @toplevel ref, + varchar(900) message: string ref, + varchar(900) line: string ref); + +// regular expressions +#keyset[parent, idx] +regexpterm (unique int id: @regexpterm, + int kind: int ref, + int parent: @regexpparent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +@regexpparent = @regexpterm | @regexp_literal | @string_literal | @add_expr; + +case @regexpterm.kind of + 0 = @regexp_alt +| 1 = @regexp_seq +| 2 = @regexp_caret +| 3 = @regexp_dollar +| 4 = @regexp_wordboundary +| 5 = @regexp_nonwordboundary +| 6 = @regexp_positive_lookahead +| 7 = @regexp_negative_lookahead +| 8 = @regexp_star +| 9 = @regexp_plus +| 10 = @regexp_opt +| 11 = @regexp_range +| 12 = @regexp_dot +| 13 = @regexp_group +| 14 = @regexp_normal_constant +| 15 = @regexp_hex_escape +| 16 = @regexp_unicode_escape +| 17 = @regexp_dec_escape +| 18 = @regexp_oct_escape +| 19 = @regexp_ctrl_escape +| 20 = @regexp_char_class_escape +| 21 = @regexp_id_escape +| 22 = @regexp_backref +| 23 = @regexp_char_class +| 24 = @regexp_char_range +| 25 = @regexp_positive_lookbehind +| 26 = @regexp_negative_lookbehind +| 27 = @regexp_unicode_property_escape +| 28 = @regexp_quoted_string +| 29 = @regexp_intersection +| 30 = @regexp_subtraction; + +regexp_parse_errors (unique int id: @regexp_parse_error, + int regexp: @regexpterm ref, + varchar(900) message: string ref); + +@regexp_quantifier = @regexp_star | @regexp_plus | @regexp_opt | @regexp_range; +@regexp_escape = @regexp_char_escape | @regexp_char_class_escape | @regexp_unicode_property_escape; +@regexp_char_escape = @regexp_hex_escape | @regexp_unicode_escape | @regexp_dec_escape | @regexp_oct_escape | @regexp_ctrl_escape | @regexp_id_escape; +@regexp_constant = @regexp_normal_constant | @regexp_char_escape; +@regexp_lookahead = @regexp_positive_lookahead | @regexp_negative_lookahead; +@regexp_lookbehind = @regexp_positive_lookbehind | @regexp_negative_lookbehind; +@regexp_subpattern = @regexp_lookahead | @regexp_lookbehind; +@regexp_anchor = @regexp_dollar | @regexp_caret; + +is_greedy (int id: @regexp_quantifier ref); +range_quantifier_lower_bound (unique int id: @regexp_range ref, int lo: int ref); +range_quantifier_upper_bound (unique int id: @regexp_range ref, int hi: int ref); +is_capture (unique int id: @regexp_group ref, int number: int ref); +is_named_capture (unique int id: @regexp_group ref, string name: string ref); +is_inverted (int id: @regexp_char_class ref); +regexp_const_value (unique int id: @regexp_constant ref, varchar(1) value: string ref); +char_class_escape (unique int id: @regexp_char_class_escape ref, varchar(1) value: string ref); +backref (unique int id: @regexp_backref ref, int value: int ref); +named_backref (unique int id: @regexp_backref ref, string name: string ref); +unicode_property_escapename (unique int id: @regexp_unicode_property_escape ref, string name: string ref); +unicode_property_escapevalue (unique int id: @regexp_unicode_property_escape ref, string value: string ref); + +// tokens +#keyset[toplevel, idx] +tokeninfo (unique int id: @token, + int kind: int ref, + int toplevel: @toplevel ref, + int idx: int ref, + varchar(900) value: string ref); + +case @token.kind of + 0 = @token_eof +| 1 = @token_null_literal +| 2 = @token_boolean_literal +| 3 = @token_numeric_literal +| 4 = @token_string_literal +| 5 = @token_regular_expression +| 6 = @token_identifier +| 7 = @token_keyword +| 8 = @token_punctuator; + +// associate comments with the token immediately following them (which may be EOF) +next_token (int comment: @comment ref, int token: @token ref); + +// JSON +#keyset[parent, idx] +json (unique int id: @json_value, + int kind: int ref, + int parent: @json_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); + +json_literals (varchar(900) value: string ref, + varchar(900) raw: string ref, + unique int expr: @json_value ref); + +json_properties (int obj: @json_object ref, + varchar(900) property: string ref, + int value: @json_value ref); + +json_errors (unique int id: @json_parse_error, + varchar(900) message: string ref); + +json_locations(unique int locatable: @json_locatable ref, + int location: @location_default ref); + +case @json_value.kind of + 0 = @json_null +| 1 = @json_boolean +| 2 = @json_number +| 3 = @json_string +| 4 = @json_array +| 5 = @json_object; + +@json_parent = @json_object | @json_array | @file; + +@json_locatable = @json_value | @json_parse_error; + +// locations +@ast_node = @toplevel | @stmt | @expr | @property | @typeexpr; + +@locatable = @file + | @ast_node + | @comment + | @line + | @js_parse_error | @regexp_parse_error + | @regexpterm + | @json_locatable + | @token + | @cfg_node + | @jsdoc | @jsdoc_type_expr | @jsdoc_tag + | @yaml_locatable + | @xmllocatable + | @configLocatable + | @template_placeholder_tag; + +hasLocation (unique int locatable: @locatable ref, + int location: @location ref); + +// CFG +entry_cfg_node (unique int id: @entry_node, int container: @stmt_container ref); +exit_cfg_node (unique int id: @exit_node, int container: @stmt_container ref); +guard_node (unique int id: @guard_node, int kind: int ref, int test: @expr ref); +case @guard_node.kind of + 0 = @falsy_guard +| 1 = @truthy_guard; +@condition_guard = @falsy_guard | @truthy_guard; + +@synthetic_cfg_node = @entry_node | @exit_node | @guard_node; +@cfg_node = @synthetic_cfg_node | @expr_parent; + +successor (int pred: @cfg_node ref, int succ: @cfg_node ref); + +// JSDoc comments +jsdoc (unique int id: @jsdoc, varchar(900) description: string ref, int comment: @comment ref); +#keyset[parent, idx] +jsdoc_tags (unique int id: @jsdoc_tag, varchar(900) title: string ref, + int parent: @jsdoc ref, int idx: int ref, varchar(900) tostring: string ref); +jsdoc_tag_descriptions (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); +jsdoc_tag_names (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref); + +#keyset[parent, idx] +jsdoc_type_exprs (unique int id: @jsdoc_type_expr, + int kind: int ref, + int parent: @jsdoc_type_expr_parent ref, + int idx: int ref, + varchar(900) tostring: string ref); +case @jsdoc_type_expr.kind of + 0 = @jsdoc_any_type_expr +| 1 = @jsdoc_null_type_expr +| 2 = @jsdoc_undefined_type_expr +| 3 = @jsdoc_unknown_type_expr +| 4 = @jsdoc_void_type_expr +| 5 = @jsdoc_identifier_type_expr +| 6 = @jsdoc_applied_type_expr +| 7 = @jsdoc_nullable_type_expr +| 8 = @jsdoc_non_nullable_type_expr +| 9 = @jsdoc_record_type_expr +| 10 = @jsdoc_array_type_expr +| 11 = @jsdoc_union_type_expr +| 12 = @jsdoc_function_type_expr +| 13 = @jsdoc_optional_type_expr +| 14 = @jsdoc_rest_type_expr +| 15 = @jsdoc_qualified_type_expr +; + +#keyset[id, idx] +jsdoc_record_field_name (int id: @jsdoc_record_type_expr ref, int idx: int ref, varchar(900) name: string ref); +jsdoc_prefix_qualifier (int id: @jsdoc_type_expr ref); +jsdoc_has_new_parameter (int fn: @jsdoc_function_type_expr ref); + +@jsdoc_type_expr_parent = @jsdoc_type_expr | @jsdoc_tag; + +jsdoc_errors (unique int id: @jsdoc_error, int tag: @jsdoc_tag ref, varchar(900) message: string ref, varchar(900) tostring: string ref); + +@dataflownode = @expr | @function_decl_stmt | @class_decl_stmt | @namespace_declaration | @enum_declaration | @property; + +@optionalchainable = @call_expr | @propaccess; + +isOptionalChaining(int id: @optionalchainable ref); + +/** + * The time taken for the extraction of a file. + * This table contains non-deterministic content. + * + * The sum of the `time` column for each (`file`, `timerKind`) pair + * is the total time taken for extraction of `file`. The `extractionPhase` + * column provides a granular view of the extraction time of the file. + */ +extraction_time( + int file : @file ref, + // see `com.semmle.js.extractor.ExtractionMetrics.ExtractionPhase`. + int extractionPhase: int ref, + // 0 for the elapsed CPU time in nanoseconds, 1 for the elapsed wallclock time in nanoseconds + int timerKind: int ref, + float time: float ref +) + +/** +* Non-timing related data for the extraction of a single file. +* This table contains non-deterministic content. +*/ +extraction_data( + int file : @file ref, + // the absolute path to the cache file + varchar(900) cacheFile: string ref, + boolean fromCache: boolean ref, + int length: int ref +) + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- 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; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); diff --git a/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/upgrade.properties b/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/javascript/ql/lib/upgrades/80b2bc24189307c5fd178dc2da95b45bcdb117f7/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 11b27f044cf..d3a5bfa8f82 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,24 @@ +## 2.3.0 + +### Major Analysis Improvements + +* JavaScript files with an average line length greater than 200 are now considered minified and will no longer be analyzed. + For use-cases where minified files should be analyzed, the original behavior can be restored by setting the environment variable + `CODEQL_EXTRACTOR_JAVASCRIPT_ALLOW_MINIFIED_FILES=true`. + +### Minor Analysis Improvements + +* The model of `vue-router` now properly detects taint sources in cases where + the `props` property is a callback. +* Fixed a bug in the Next.js model that would cause the analysis to miss server-side taint sources in files + named `route` or `page` appearing outside `api` and `pages` folders. +* `new Response(x)` is no longer seen as a reflected XSS sink when no `content-type` header + is set, since the content type defaults to `text/plain`. + +## 2.2.4 + +No user-facing changes. + ## 2.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/2.2.4.md b/javascript/ql/src/change-notes/released/2.2.4.md new file mode 100644 index 00000000000..cfdc1fea47f --- /dev/null +++ b/javascript/ql/src/change-notes/released/2.2.4.md @@ -0,0 +1,3 @@ +## 2.2.4 + +No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/2.3.0.md b/javascript/ql/src/change-notes/released/2.3.0.md new file mode 100644 index 00000000000..cae1b2f7503 --- /dev/null +++ b/javascript/ql/src/change-notes/released/2.3.0.md @@ -0,0 +1,16 @@ +## 2.3.0 + +### Major Analysis Improvements + +* JavaScript files with an average line length greater than 200 are now considered minified and will no longer be analyzed. + For use-cases where minified files should be analyzed, the original behavior can be restored by setting the environment variable + `CODEQL_EXTRACTOR_JAVASCRIPT_ALLOW_MINIFIED_FILES=true`. + +### Minor Analysis Improvements + +* The model of `vue-router` now properly detects taint sources in cases where + the `props` property is a callback. +* Fixed a bug in the Next.js model that would cause the analysis to miss server-side taint sources in files + named `route` or `page` appearing outside `api` and `pages` folders. +* `new Response(x)` is no longer seen as a reflected XSS sink when no `content-type` header + is set, since the content type defaults to `text/plain`. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 5ee5c5be7fc..5936154675a 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.2.3 +lastReleaseVersion: 2.3.0 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 1ef59ad1834..9eb734b9d11 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 2.2.4-dev +version: 2.3.1-dev groups: - javascript - queries diff --git a/javascript/ql/test/ApiGraphs/custom-entry-point/VerifyAssertions.ql b/javascript/ql/test/ApiGraphs/custom-entry-point/VerifyAssertions.ql index 3502c0ea556..89ab2f3f944 100644 --- a/javascript/ql/test/ApiGraphs/custom-entry-point/VerifyAssertions.ql +++ b/javascript/ql/test/ApiGraphs/custom-entry-point/VerifyAssertions.ql @@ -1,3 +1,4 @@ +overlay[local?] class CustomEntryPoint extends API::EntryPoint { CustomEntryPoint() { this = "CustomEntryPoint" } diff --git a/javascript/ql/test/library-tests/EndpointNaming/EndpointNaming.expected b/javascript/ql/test/library-tests/EndpointNaming/EndpointNaming.expected index d2c34c887cc..d56e036e042 100644 --- a/javascript/ql/test/library-tests/EndpointNaming/EndpointNaming.expected +++ b/javascript/ql/test/library-tests/EndpointNaming/EndpointNaming.expected @@ -1,7 +1,7 @@ testFailures ambiguousPreferredPredecessor -| pack2/lib.js:1:1:3:1 | def moduleImport("pack2").getMember("exports").getMember("lib").getMember("LibClass").getInstance() | -| pack2/lib.js:8:22:8:34 | def moduleImport("pack2").getMember("exports").getMember("lib").getMember("LibClass").getMember("foo") | -| pack2/main.js:1:1:3:1 | def moduleImport("pack2").getMember("exports").getMember("MainClass").getInstance() | +| pack2/lib.js:1:1:3:1 | instance of class A ... ethod\\n} | +| pack2/lib.js:8:22:8:34 | def function() {} | +| pack2/main.js:1:1:3:1 | instance of class A ... ethod\\n} | ambiguousSinkName ambiguousFunctionName diff --git a/javascript/ql/test/library-tests/frameworks/Knex/test.expected b/javascript/ql/test/library-tests/frameworks/Knex/test.expected index 9ce25cd4fa5..bfa154226cd 100644 --- a/javascript/ql/test/library-tests/frameworks/Knex/test.expected +++ b/javascript/ql/test/library-tests/frameworks/Knex/test.expected @@ -25,208 +25,208 @@ sqlString | tst.js:166:43:166:63 | 'col DE ... S LAST' | | tst.js:178:14:178:24 | 'count > ?' | knexLibrary -| file://:0:0:0:0 | use moduleImport("knex").getMember("exports") | +| file://:0:0:0:0 | module import knex | knexObject -| tst.js:3:14:3:30 | use moduleImport("knex").getMember("exports").getReturn() | -| tst.js:5:1:5:32 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:5:1:9:4 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("select").getReturn() | -| tst.js:5:1:10:52 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("select").getReturn().getMember("whereRaw").getReturn() | -| tst.js:12:1:12:48 | use moduleImport("knex").getMember("exports").getReturn().getMember("withUserParams").getReturn() | -| tst.js:12:1:12:59 | use moduleImport("knex").getMember("exports").getReturn().getMember("withUserParams").getReturn().getMember("table").getReturn() | -| tst.js:12:1:12:71 | use moduleImport("knex").getMember("exports").getReturn().getMember("withUserParams").getReturn().getMember("table").getReturn().getMember("select").getReturn() | -| tst.js:14:1:14:13 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:14:1:14:27 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:14:1:14:41 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("timeout").getReturn() | -| tst.js:15:1:15:38 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:15:1:15:52 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:17:1:17:23 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn() | -| tst.js:17:1:19:4 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn().getMember("from").getReturn() | -| tst.js:17:1:19:24 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn().getMember("from").getReturn().getMember("as").getReturn() | -| tst.js:17:30:17:29 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn().getMember("from").getParameter(0).getReceiver() | -| tst.js:18:5:18:38 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn().getMember("from").getParameter(0).getReceiver().getMember("sum").getReturn() | -| tst.js:18:5:18:49 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn().getMember("from").getParameter(0).getReceiver().getMember("sum").getReturn().getMember("from").getReturn() | -| tst.js:18:5:18:68 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn().getMember("from").getParameter(0).getReceiver().getMember("sum").getReturn().getMember("from").getReturn().getMember("groupBy").getReturn() | -| tst.js:18:5:18:77 | use moduleImport("knex").getMember("exports").getReturn().getMember("avg").getReturn().getMember("from").getParameter(0).getReceiver().getMember("sum").getReturn().getMember("from").getReturn().getMember("groupBy").getReturn().getMember("as").getReturn() | -| tst.js:21:1:21:38 | use moduleImport("knex").getMember("exports").getReturn().getMember("column").getReturn() | -| tst.js:21:1:21:47 | use moduleImport("knex").getMember("exports").getReturn().getMember("column").getReturn().getMember("select").getReturn() | -| tst.js:21:1:21:61 | use moduleImport("knex").getMember("exports").getReturn().getMember("column").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:23:1:23:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:23:1:23:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:25:1:25:85 | use moduleImport("knex").getMember("exports").getReturn().getMember("with").getReturn() | -| tst.js:25:1:25:97 | use moduleImport("knex").getMember("exports").getReturn().getMember("with").getReturn().getMember("select").getReturn() | -| tst.js:25:1:25:116 | use moduleImport("knex").getMember("exports").getReturn().getMember("with").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:25:25:25:84 | use moduleImport("knex").getMember("exports").getReturn().getMember("raw").getReturn() | -| tst.js:27:1:31:4 | use moduleImport("knex").getMember("exports").getReturn().getMember("withRecursive").getReturn() | -| tst.js:27:1:31:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("withRecursive").getReturn().getMember("select").getReturn() | -| tst.js:27:1:31:34 | use moduleImport("knex").getMember("exports").getReturn().getMember("withRecursive").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:33:1:33:25 | use moduleImport("knex").getMember("exports").getReturn().getMember("withSchema").getReturn() | -| tst.js:33:1:33:37 | use moduleImport("knex").getMember("exports").getReturn().getMember("withSchema").getReturn().getMember("select").getReturn() | -| tst.js:33:1:33:51 | use moduleImport("knex").getMember("exports").getReturn().getMember("withSchema").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:35:1:35:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:35:1:38:4 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:35:1:38:17 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("select").getReturn() | -| tst.js:40:1:40:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:40:1:40:28 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:42:1:42:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:42:1:45:3 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:42:1:48:4 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("andWhere").getReturn() | -| tst.js:46:13:46:12 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("andWhere").getParameter(0).getReceiver() | -| tst.js:47:5:47:29 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("andWhere").getParameter(0).getReceiver().getMember("where").getReturn() | -| tst.js:50:1:50:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:50:1:52:2 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:50:1:52:28 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("orWhere").getReturn() | -| tst.js:50:21:50:20 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getParameter(0).getReceiver() | -| tst.js:51:3:51:21 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getParameter(0).getReceiver().getMember("where").getReturn() | -| tst.js:51:3:51:44 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getParameter(0).getReceiver().getMember("where").getReturn().getMember("orWhere").getReturn() | -| tst.js:54:1:54:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:54:1:54:56 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:56:1:56:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:56:1:56:38 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:58:18:58:30 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:58:18:58:55 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:58:18:58:84 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("andWhere").getReturn() | -| tst.js:58:18:58:108 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("andWhere").getReturn().getMember("orWhere").getReturn() | -| tst.js:58:18:58:121 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("andWhere").getReturn().getMember("orWhere").getReturn().getMember("select").getReturn() | -| tst.js:59:1:59:16 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:59:1:59:44 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:61:1:61:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:61:1:61:28 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:61:1:61:64 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("orWhere").getReturn() | -| tst.js:63:1:63:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:63:1:66:2 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn() | -| tst.js:63:1:66:15 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn().getMember("select").getReturn() | -| tst.js:68:1:68:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:68:1:68:31 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn() | -| tst.js:70:1:70:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:70:1:72:2 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn() | -| tst.js:70:1:72:31 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn().getMember("orWhereNot").getReturn() | -| tst.js:70:24:70:23 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getParameter(0).getReceiver() | -| tst.js:71:3:71:21 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getParameter(0).getReceiver().getMember("where").getReturn() | -| tst.js:71:3:71:47 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getParameter(0).getReceiver().getMember("where").getReturn().getMember("orWhereNot").getReturn() | -| tst.js:74:19:74:31 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:74:19:75:30 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn() | -| tst.js:74:19:76:31 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn().getMember("andWhere").getReturn() | -| tst.js:74:19:77:26 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn().getMember("andWhere").getReturn().getMember("orWhere").getReturn() | -| tst.js:74:19:78:15 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNot").getReturn().getMember("andWhere").getReturn().getMember("orWhere").getReturn().getMember("select").getReturn() | -| tst.js:80:1:80:16 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:80:1:80:49 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:82:1:82:19 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:82:1:82:33 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:82:1:83:27 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("whereIn").getReturn() | -| tst.js:82:1:84:29 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("whereIn").getReturn().getMember("orWhereIn").getReturn() | -| tst.js:86:1:86:19 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:86:1:86:33 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:86:1:89:4 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("whereIn").getReturn() | -| tst.js:91:1:91:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:91:1:91:41 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotIn").getReturn() | -| tst.js:93:1:93:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:93:1:93:45 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn() | -| tst.js:93:1:93:75 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("where").getReturn().getMember("orWhereNotIn").getReturn() | -| tst.js:95:1:95:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:95:1:95:37 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNull").getReturn() | -| tst.js:97:1:97:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:97:1:97:40 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotNull").getReturn() | -| tst.js:99:1:99:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:99:1:101:2 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereExists").getReturn() | -| tst.js:99:27:99:26 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereExists").getParameter(0).getReceiver() | -| tst.js:100:3:100:18 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereExists").getParameter(0).getReceiver().getMember("select").getReturn() | -| tst.js:100:3:100:35 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereExists").getParameter(0).getReceiver().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:100:3:100:78 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereExists").getParameter(0).getReceiver().getMember("select").getReturn().getMember("from").getReturn().getMember("whereRaw").getReturn() | -| tst.js:103:1:103:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:103:1:103:103 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereExists").getReturn() | -| tst.js:103:27:103:42 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:103:27:103:59 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:103:27:103:102 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("whereRaw").getReturn() | -| tst.js:105:1:105:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:105:1:107:2 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotExists").getReturn() | -| tst.js:105:30:105:29 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotExists").getParameter(0).getReceiver() | -| tst.js:106:3:106:18 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotExists").getParameter(0).getReceiver().getMember("select").getReturn() | -| tst.js:106:3:106:35 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotExists").getParameter(0).getReceiver().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:106:3:106:78 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotExists").getParameter(0).getReceiver().getMember("select").getReturn().getMember("from").getReturn().getMember("whereRaw").getReturn() | -| tst.js:109:1:109:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:109:1:109:45 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereBetween").getReturn() | -| tst.js:111:1:111:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:111:1:111:48 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereNotBetween").getReturn() | -| tst.js:113:1:113:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:113:1:113:37 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("whereRaw").getReturn() | -| tst.js:115:1:115:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:115:1:116:56 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("join").getReturn() | -| tst.js:115:1:117:39 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("join").getReturn().getMember("select").getReturn() | -| tst.js:119:1:119:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:119:1:120:51 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("join").getReturn() | -| tst.js:119:1:121:39 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("join").getReturn().getMember("select").getReturn() | -| tst.js:123:1:123:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:123:1:123:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:123:1:125:2 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("join").getReturn() | -| tst.js:127:1:127:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:127:1:127:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:127:1:132:2 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("join").getReturn() | -| tst.js:134:1:134:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:134:1:134:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:134:1:134:90 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("join").getReturn() | -| tst.js:134:66:134:89 | use moduleImport("knex").getMember("exports").getReturn().getMember("raw").getReturn() | -| tst.js:136:1:136:18 | use moduleImport("knex").getMember("exports").getReturn().getMember("from").getReturn() | -| tst.js:136:1:136:72 | use moduleImport("knex").getMember("exports").getReturn().getMember("from").getReturn().getMember("innerJoin").getReturn() | -| tst.js:138:1:138:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:138:1:138:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:138:1:138:83 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("leftJoin").getReturn() | -| tst.js:140:1:140:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:140:1:140:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:140:1:140:88 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("leftOuterJoin").getReturn() | -| tst.js:142:1:142:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:142:1:142:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:142:1:142:84 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("rightJoin").getReturn() | -| tst.js:144:1:144:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:144:1:144:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:144:1:144:89 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("rightOuterJoin").getReturn() | -| tst.js:146:1:146:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:146:1:146:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:146:1:146:88 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("fullOuterJoin").getReturn() | -| tst.js:148:1:148:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:148:1:148:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:148:1:148:52 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("crossJoin").getReturn() | -| tst.js:150:1:150:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:150:1:150:33 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:150:1:150:69 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("joinRaw").getReturn() | -| tst.js:150:1:150:84 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("joinRaw").getReturn().getMember("where").getReturn() | -| tst.js:152:1:152:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:152:1:152:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:152:1:154:2 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("join").getReturn() | -| tst.js:156:1:156:28 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:156:1:156:42 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:156:1:156:63 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("where").getReturn() | -| tst.js:156:1:156:79 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("where").getReturn().getMember("clear").getReturn() | -| tst.js:156:1:156:94 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("where").getReturn().getMember("clear").getReturn().getMember("clear").getReturn() | -| tst.js:158:1:158:17 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:158:1:158:53 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("distinct").getReturn() | -| tst.js:160:1:160:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:160:1:160:31 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("distinctOn").getReturn() | -| tst.js:162:1:162:44 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:162:1:162:58 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:162:1:162:89 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("groupByRaw").getReturn() | -| tst.js:162:21:162:43 | use moduleImport("knex").getMember("exports").getReturn().getMember("raw").getReturn() | -| tst.js:164:1:164:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:164:1:164:30 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("orderBy").getReturn() | -| tst.js:166:1:166:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:166:1:166:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:166:1:166:64 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("orderByRaw").getReturn() | -| tst.js:168:1:168:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:168:1:169:19 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("groupBy").getReturn() | -| tst.js:168:1:170:26 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("groupBy").getReturn().getMember("orderBy").getReturn() | -| tst.js:168:1:171:28 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("groupBy").getReturn().getMember("orderBy").getReturn().getMember("having").getReturn() | -| tst.js:173:1:173:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:173:1:173:30 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn() | -| tst.js:173:1:173:61 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn().getMember("from").getReturn().getMember("havingIn").getReturn() | -| tst.js:175:1:175:13 | use moduleImport("knex").getMember("exports").getReturn().getReturn() | -| tst.js:175:1:176:19 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("groupBy").getReturn() | -| tst.js:175:1:177:26 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("groupBy").getReturn().getMember("orderBy").getReturn() | -| tst.js:175:1:178:32 | use moduleImport("knex").getMember("exports").getReturn().getReturn().getMember("groupBy").getReturn().getMember("orderBy").getReturn().getMember("havingRaw").getReturn() | -| tst.js:180:1:180:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:181:1:181:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:182:1:182:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:183:1:183:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:184:1:184:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:185:1:185:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:186:1:186:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:187:1:187:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | -| tst.js:188:1:188:16 | use moduleImport("knex").getMember("exports").getReturn().getMember("select").getReturn() | +| tst.js:3:14:3:30 | use require('knex')() | +| tst.js:5:1:5:32 | use knex({ ... ble' }) | +| tst.js:5:1:9:4 | use knex({ ... e'\\n }) | +| tst.js:5:1:10:52 | use knex({ ... mn_2']) | +| tst.js:12:1:12:48 | use knex.wi ... ble1'}) | +| tst.js:12:1:12:59 | use knex.wi ... le('t') | +| tst.js:12:1:12:71 | use knex.wi ... ct('x') | +| tst.js:14:1:14:13 | use knex.select() | +| tst.js:14:1:14:27 | use knex.se ... books') | +| tst.js:14:1:14:41 | use knex.se ... t(1000) | +| tst.js:15:1:15:38 | use knex.se ... 'year') | +| tst.js:15:1:15:52 | use knex.se ... books') | +| tst.js:17:1:17:23 | use knex.av ... lumn1') | +| tst.js:17:1:19:4 | use knex.av ... ')\\n }) | +| tst.js:17:1:19:24 | use knex.av ... alias') | +| tst.js:17:30:17:29 | use this | +| tst.js:18:5:18:38 | use this.su ... lumn1') | +| tst.js:18:5:18:49 | use this.su ... m('t1') | +| tst.js:18:5:18:68 | use this.su ... lumn1') | +| tst.js:18:5:18:77 | use this.su ... s('t1') | +| tst.js:21:1:21:38 | use knex.co ... 'year') | +| tst.js:21:1:21:47 | use knex.co ... elect() | +| tst.js:21:1:21:61 | use knex.co ... books') | +| tst.js:23:1:23:16 | use knex.select('*') | +| tst.js:23:1:23:30 | use knex.se ... users') | +| tst.js:25:1:25:85 | use knex.wi ... Test')) | +| tst.js:25:1:25:97 | use knex.wi ... ct('*') | +| tst.js:25:1:25:116 | use knex.wi ... alias') | +| tst.js:25:25:25:84 | use knex.ra ... 'Test') | +| tst.js:27:1:31:4 | use knex.wi ... })\\n }) | +| tst.js:27:1:31:16 | use knex.wi ... ct('*') | +| tst.js:27:1:31:34 | use knex.wi ... stors') | +| tst.js:33:1:33:25 | use knex.wi ... ublic') | +| tst.js:33:1:33:37 | use knex.wi ... ct('*') | +| tst.js:33:1:33:51 | use knex.wi ... users') | +| tst.js:35:1:35:13 | use knex('users') | +| tst.js:35:1:38:4 | use knex('u ... r'\\n }) | +| tst.js:35:1:38:17 | use knex('u ... t('id') | +| tst.js:40:1:40:13 | use knex('users') | +| tst.js:40:1:40:28 | use knex('u ... id', 1) | +| tst.js:42:1:42:13 | use knex('users') | +| tst.js:42:1:45:3 | use knex('u ... 9])\\n ) | +| tst.js:42:1:48:4 | use knex('u ... 0)\\n }) | +| tst.js:46:13:46:12 | use this | +| tst.js:47:5:47:29 | use this.wh ... >', 10) | +| tst.js:50:1:50:13 | use knex('users') | +| tst.js:50:1:52:2 | use knex('u ... 10)\\n}) | +| tst.js:50:1:52:28 | use knex('u ... ster'}) | +| tst.js:50:21:50:20 | use this | +| tst.js:51:3:51:21 | use this.where('id', 1) | +| tst.js:51:3:51:44 | use this.wh ... >', 10) | +| tst.js:54:1:54:13 | use knex('users') | +| tst.js:54:1:54:56 | use knex('u ... keme%') | +| tst.js:56:1:56:13 | use knex('users') | +| tst.js:56:1:56:38 | use knex('u ... ', 100) | +| tst.js:58:18:58:30 | use knex('users') | +| tst.js:58:18:58:55 | use knex('u ... ', 100) | +| tst.js:58:18:58:84 | use knex('u ... ctive') | +| tst.js:58:18:58:108 | use knex('u ... 'John') | +| tst.js:58:18:58:121 | use knex('u ... t('id') | +| tst.js:59:1:59:16 | use knex('accounts') | +| tst.js:59:1:59:44 | use knex('a ... bquery) | +| tst.js:61:1:61:13 | use knex('users') | +| tst.js:61:1:61:28 | use knex('u ... id', 1) | +| tst.js:61:1:61:64 | use knex('u ... knex'}) | +| tst.js:63:1:63:13 | use knex('users') | +| tst.js:63:1:66:2 | use knex('u ... ser'\\n}) | +| tst.js:63:1:66:15 | use knex('u ... t('id') | +| tst.js:68:1:68:13 | use knex('users') | +| tst.js:68:1:68:31 | use knex('u ... id', 1) | +| tst.js:70:1:70:13 | use knex('users') | +| tst.js:70:1:72:2 | use knex('u ... 10)\\n}) | +| tst.js:70:1:72:31 | use knex('u ... ster'}) | +| tst.js:70:24:70:23 | use this | +| tst.js:71:3:71:21 | use this.where('id', 1) | +| tst.js:71:3:71:47 | use this.wh ... >', 10) | +| tst.js:74:19:74:31 | use knex('users') | +| tst.js:74:19:75:30 | use knex('u ... ', 100) | +| tst.js:74:19:76:31 | use knex('u ... ctive') | +| tst.js:74:19:77:26 | use knex('u ... 'John') | +| tst.js:74:19:78:15 | use knex('u ... t('id') | +| tst.js:80:1:80:16 | use knex('accounts') | +| tst.js:80:1:80:49 | use knex('a ... query2) | +| tst.js:82:1:82:19 | use knex.select('name') | +| tst.js:82:1:82:33 | use knex.se ... users') | +| tst.js:82:1:83:27 | use knex.se ... 2, 3]) | +| tst.js:82:1:84:29 | use knex.se ... 5, 6]) | +| tst.js:86:1:86:19 | use knex.select('name') | +| tst.js:86:1:86:33 | use knex.se ... users') | +| tst.js:86:1:89:4 | use knex.se ... );\\n }) | +| tst.js:91:1:91:13 | use knex('users') | +| tst.js:91:1:91:41 | use knex('u ... 2, 3]) | +| tst.js:93:1:93:13 | use knex('users') | +| tst.js:93:1:93:45 | use knex('u ... Test%') | +| tst.js:93:1:93:75 | use knex('u ... 2, 3]) | +| tst.js:95:1:95:13 | use knex('users') | +| tst.js:95:1:95:37 | use knex('u ... ed_at') | +| tst.js:97:1:97:13 | use knex('users') | +| tst.js:97:1:97:40 | use knex('u ... ed_at') | +| tst.js:99:1:99:13 | use knex('users') | +| tst.js:99:1:101:2 | use knex('u ... d');\\n}) | +| tst.js:99:27:99:26 | use this | +| tst.js:100:3:100:18 | use this.select('*') | +| tst.js:100:3:100:35 | use this.se ... ounts') | +| tst.js:100:3:100:78 | use this.se ... ts.id') | +| tst.js:103:1:103:13 | use knex('users') | +| tst.js:103:1:103:103 | use knex('u ... s.id')) | +| tst.js:103:27:103:42 | use knex.select('*') | +| tst.js:103:27:103:59 | use knex.se ... ounts') | +| tst.js:103:27:103:102 | use knex.se ... ts.id') | +| tst.js:105:1:105:13 | use knex('users') | +| tst.js:105:1:107:2 | use knex('u ... d');\\n}) | +| tst.js:105:30:105:29 | use this | +| tst.js:106:3:106:18 | use this.select('*') | +| tst.js:106:3:106:35 | use this.se ... ounts') | +| tst.js:106:3:106:78 | use this.se ... ts.id') | +| tst.js:109:1:109:13 | use knex('users') | +| tst.js:109:1:109:45 | use knex('u ... , 100]) | +| tst.js:111:1:111:13 | use knex('users') | +| tst.js:111:1:111:48 | use knex('u ... , 100]) | +| tst.js:113:1:113:13 | use knex('users') | +| tst.js:113:1:113:37 | use knex('u ... ', [1]) | +| tst.js:115:1:115:13 | use knex('users') | +| tst.js:115:1:116:56 | use knex('u ... er_id') | +| tst.js:115:1:117:39 | use knex('u ... phone') | +| tst.js:119:1:119:13 | use knex('users') | +| tst.js:119:1:120:51 | use knex('u ... er_id') | +| tst.js:119:1:121:39 | use knex('u ... phone') | +| tst.js:123:1:123:16 | use knex.select('*') | +| tst.js:123:1:123:30 | use knex.se ... users') | +| tst.js:123:1:125:2 | use knex.se ... id')\\n}) | +| tst.js:127:1:127:16 | use knex.select('*') | +| tst.js:127:1:127:30 | use knex.se ... users') | +| tst.js:127:1:132:2 | use knex.se ... })\\n}) | +| tst.js:134:1:134:16 | use knex.select('*') | +| tst.js:134:1:134:30 | use knex.se ... users') | +| tst.js:134:1:134:90 | use knex.se ... min'])) | +| tst.js:134:66:134:89 | use knex.ra ... dmin']) | +| tst.js:136:1:136:18 | use knex.from('users') | +| tst.js:136:1:136:72 | use knex.fr ... er_id') | +| tst.js:138:1:138:16 | use knex.select('*') | +| tst.js:138:1:138:30 | use knex.se ... users') | +| tst.js:138:1:138:83 | use knex.se ... er_id') | +| tst.js:140:1:140:16 | use knex.select('*') | +| tst.js:140:1:140:30 | use knex.se ... users') | +| tst.js:140:1:140:88 | use knex.se ... er_id') | +| tst.js:142:1:142:16 | use knex.select('*') | +| tst.js:142:1:142:30 | use knex.se ... users') | +| tst.js:142:1:142:84 | use knex.se ... er_id') | +| tst.js:144:1:144:16 | use knex.select('*') | +| tst.js:144:1:144:30 | use knex.se ... users') | +| tst.js:144:1:144:89 | use knex.se ... er_id') | +| tst.js:146:1:146:16 | use knex.select('*') | +| tst.js:146:1:146:30 | use knex.se ... users') | +| tst.js:146:1:146:88 | use knex.se ... er_id') | +| tst.js:148:1:148:16 | use knex.select('*') | +| tst.js:148:1:148:30 | use knex.se ... users') | +| tst.js:148:1:148:52 | use knex.se ... ounts') | +| tst.js:150:1:150:16 | use knex.select('*') | +| tst.js:150:1:150:33 | use knex.se ... ounts') | +| tst.js:150:1:150:69 | use knex.se ... able1') | +| tst.js:150:1:150:84 | use knex.se ... id', 1) | +| tst.js:152:1:152:16 | use knex.select('*') | +| tst.js:152:1:152:30 | use knex.se ... users') | +| tst.js:152:1:154:2 | use knex.se ... il')\\n}) | +| tst.js:156:1:156:28 | use knex.se ... 'name') | +| tst.js:156:1:156:42 | use knex.se ... users') | +| tst.js:156:1:156:63 | use knex.se ... <', 10) | +| tst.js:156:1:156:79 | use knex.se ... elect') | +| tst.js:156:1:156:94 | use knex.se ... where') | +| tst.js:158:1:158:17 | use knex('customers') | +| tst.js:158:1:158:53 | use knex('c ... _name') | +| tst.js:160:1:160:13 | use knex('users') | +| tst.js:160:1:160:31 | use knex('u ... ('age') | +| tst.js:162:1:162:44 | use knex.se ... fit)')) | +| tst.js:162:1:162:58 | use knex.se ... sales') | +| tst.js:162:1:162:89 | use knex.se ... OLLUP') | +| tst.js:162:21:162:43 | use knex.ra ... ofit)') | +| tst.js:164:1:164:13 | use knex('users') | +| tst.js:164:1:164:30 | use knex('u ... email') | +| tst.js:166:1:166:16 | use knex.select('*') | +| tst.js:166:1:166:30 | use knex.se ... table') | +| tst.js:166:1:166:64 | use knex.se ... LAST') | +| tst.js:168:1:168:13 | use knex('users') | +| tst.js:168:1:169:19 | use knex('u ... count') | +| tst.js:168:1:170:26 | use knex('u ... 'desc') | +| tst.js:168:1:171:28 | use knex('u ... ', 100) | +| tst.js:173:1:173:16 | use knex.select('*') | +| tst.js:173:1:173:30 | use knex.se ... users') | +| tst.js:173:1:173:61 | use knex.se ... 0, 17]) | +| tst.js:175:1:175:13 | use knex('users') | +| tst.js:175:1:176:19 | use knex('u ... count') | +| tst.js:175:1:177:26 | use knex('u ... 'desc') | +| tst.js:175:1:178:32 | use knex('u ... [100]) | +| tst.js:180:1:180:16 | use knex.select('x') | +| tst.js:181:1:181:16 | use knex.select('x') | +| tst.js:182:1:182:16 | use knex.select('x') | +| tst.js:183:1:183:16 | use knex.select('x') | +| tst.js:184:1:184:16 | use knex.select('x') | +| tst.js:185:1:185:16 | use knex.select('x') | +| tst.js:186:1:186:16 | use knex.select('x') | +| tst.js:187:1:187:16 | use knex.select('x') | +| tst.js:188:1:188:16 | use knex.select('x') | diff --git a/javascript/ql/test/library-tests/frameworks/Redux/test.expected b/javascript/ql/test/library-tests/frameworks/Redux/test.expected index 62997826b36..cbf4526ab08 100644 --- a/javascript/ql/test/library-tests/frameworks/Redux/test.expected +++ b/javascript/ql/test/library-tests/frameworks/Redux/test.expected @@ -126,11 +126,11 @@ getAffectedStateAccessPath | react-redux.jsx:61:13:61:25 | manualReducer | manual | | trivial.js:130:14:130:46 | wrapper ... state) | wrapped | getADispatchFunctionNode -| react-redux.jsx:65:20:65:32 | use moduleImport("react-redux").getMember("exports").getMember("useDispatch").getReturn() | +| react-redux.jsx:65:20:65:32 | use useDispatch() | getADispatchedValueNode -| react-redux.jsx:27:12:30:5 | def entryPoint("react-redux-connect").getParameter(1).getMember("manualAction").getReturn() | -| react-redux.jsx:69:18:69:39 | def moduleImport("react-redux").getMember("exports").getMember("useDispatch").getReturn().getParameter(0) | -| react-redux.jsx:70:18:70:38 | def moduleImport("react-redux").getMember("exports").getMember("useDispatch").getReturn().getParameter(0) | +| react-redux.jsx:27:12:30:5 | def {\\n ... x\\n } | +| react-redux.jsx:69:18:69:39 | def manualA ... urce()) | +| react-redux.jsx:70:18:70:38 | def asyncAc ... urce()) | getAnUntypedActionInReducer | exportedReducer.js:12:20:12:25 | action | | react-redux.jsx:32:31:32:36 | action | @@ -167,23 +167,23 @@ reducerToStateStep | react-redux.jsx:39:42:39:55 | action.payload | react-redux.jsx:87:32:87:56 | state.m ... lValue2 | | react-redux.jsx:44:27:46:14 | [1, 2, ... }) | react-redux.jsx:88:32:88:56 | state.m ... lValue3 | getRootStateAccessPath -| manual | react-redux.jsx:86:31:86:42 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("manual") | -| manual | react-redux.jsx:87:32:87:43 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("manual") | -| manual | react-redux.jsx:88:32:88:43 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("manual") | -| manual.manualValue | react-redux.jsx:86:31:86:54 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("manual").getMember("manualValue") | -| manual.manualValue2 | react-redux.jsx:87:32:87:56 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("manual").getMember("manualValue2") | -| manual.manualValue3 | react-redux.jsx:88:32:88:56 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("manual").getMember("manualValue3") | -| toolkit | react-redux.jsx:84:32:84:44 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("toolkit") | -| toolkit | react-redux.jsx:85:24:85:36 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("toolkit") | -| toolkit.asyncValue | react-redux.jsx:85:24:85:47 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("toolkit").getMember("asyncValue") | -| toolkit.value | react-redux.jsx:84:32:84:50 | use entryPoint("react-redux-connect").getParameter(0).getParameter(0).getMember("toolkit").getMember("value") | -| x1 | accessPaths.js:8:16:8:52 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getForwardingFunction().getReturn() | -| x1 | accessPaths.js:8:44:8:51 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getParameter(0).getParameter(0).getMember("x1") | -| x2 | accessPaths.js:9:16:9:52 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getForwardingFunction().getReturn() | -| x2 | accessPaths.js:9:44:9:51 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getParameter(0).getParameter(0).getMember("x2") | -| x3 | accessPaths.js:10:16:10:52 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getForwardingFunction().getReturn() | -| x3 | accessPaths.js:10:44:10:51 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getParameter(0).getParameter(0).getMember("x3") | -| x4 | accessPaths.js:11:16:11:52 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getForwardingFunction().getReturn() | -| x4 | accessPaths.js:11:44:11:51 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getParameter(0).getParameter(0).getMember("x4") | -| x5 | accessPaths.js:12:16:12:52 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getForwardingFunction().getReturn() | -| x5 | accessPaths.js:12:44:12:51 | use moduleImport("react-redux").getMember("exports").getMember("useSelector").getParameter(0).getParameter(0).getMember("x5") | +| manual | react-redux.jsx:86:31:86:42 | use state.manual | +| manual | react-redux.jsx:87:32:87:43 | use state.manual | +| manual | react-redux.jsx:88:32:88:43 | use state.manual | +| manual.manualValue | react-redux.jsx:86:31:86:54 | use state.m ... alValue | +| manual.manualValue2 | react-redux.jsx:87:32:87:56 | use state.m ... lValue2 | +| manual.manualValue3 | react-redux.jsx:88:32:88:56 | use state.m ... lValue3 | +| toolkit | react-redux.jsx:84:32:84:44 | use state.toolkit | +| toolkit | react-redux.jsx:85:24:85:36 | use state.toolkit | +| toolkit.asyncValue | react-redux.jsx:85:24:85:47 | use state.t ... ncValue | +| toolkit.value | react-redux.jsx:84:32:84:50 | use state.toolkit.value | +| x1 | accessPaths.js:8:16:8:52 | use useSele ... ate.x1) | +| x1 | accessPaths.js:8:44:8:51 | use state.x1 | +| x2 | accessPaths.js:9:16:9:52 | use useSele ... ate.x2) | +| x2 | accessPaths.js:9:44:9:51 | use state.x2 | +| x3 | accessPaths.js:10:16:10:52 | use useSele ... ate.x3) | +| x3 | accessPaths.js:10:44:10:51 | use state.x3 | +| x4 | accessPaths.js:11:16:11:52 | use useSele ... ate.x4) | +| x4 | accessPaths.js:11:44:11:51 | use state.x4 | +| x5 | accessPaths.js:12:16:12:52 | use useSele ... ate.x5) | +| x5 | accessPaths.js:12:44:12:51 | use state.x5 | diff --git a/javascript/ql/test/library-tests/frameworks/Vue/router.js b/javascript/ql/test/library-tests/frameworks/Vue/router.js index acbbefecc01..65dc4d13e99 100644 --- a/javascript/ql/test/library-tests/frameworks/Vue/router.js +++ b/javascript/ql/test/library-tests/frameworks/Vue/router.js @@ -16,8 +16,17 @@ export const router = new Router({ from.query.x; } } - ] - } + ], + props: route => ({ + x: route.query.x + }), + }, + { + props: { + x: route => route.query.x, + y: route => route.query.y + }, + }, ], scrollBehavior(to, from, savedPosition) { to.query.x; @@ -34,4 +43,3 @@ router.afterEach((to, from) => { to.query.x; from.query.x; }); - diff --git a/javascript/ql/test/library-tests/frameworks/Vue/tests.expected b/javascript/ql/test/library-tests/frameworks/Vue/tests.expected index 4fe66404c78..633a8f9924d 100644 --- a/javascript/ql/test/library-tests/frameworks/Vue/tests.expected +++ b/javascript/ql/test/library-tests/frameworks/Vue/tests.expected @@ -182,12 +182,15 @@ remoteFlowSource | router.js:9:17:9:26 | from.query | | router.js:15:25:15:32 | to.query | | router.js:16:25:16:34 | from.query | -| router.js:23:9:23:16 | to.query | -| router.js:24:9:24:18 | from.query | -| router.js:29:5:29:12 | to.query | -| router.js:30:5:30:14 | from.query | -| router.js:34:5:34:12 | to.query | -| router.js:35:5:35:14 | from.query | +| router.js:21:20:21:30 | route.query | +| router.js:26:29:26:39 | route.query | +| router.js:27:29:27:39 | route.query | +| router.js:32:9:32:16 | to.query | +| router.js:33:9:33:18 | from.query | +| router.js:38:5:38:12 | to.query | +| router.js:39:5:39:14 | from.query | +| router.js:43:5:43:12 | to.query | +| router.js:44:5:44:14 | from.query | parseErrors attribute | compont-with-route.vue:2:8:2:21 | v-html=dataA | v-html | @@ -227,12 +230,15 @@ threatModelSource | router.js:9:17:9:26 | from.query | remote | | router.js:15:25:15:32 | to.query | remote | | router.js:16:25:16:34 | from.query | remote | -| router.js:23:9:23:16 | to.query | remote | -| router.js:24:9:24:18 | from.query | remote | -| router.js:29:5:29:12 | to.query | remote | -| router.js:30:5:30:14 | from.query | remote | -| router.js:34:5:34:12 | to.query | remote | -| router.js:35:5:35:14 | from.query | remote | +| router.js:21:20:21:30 | route.query | remote | +| router.js:26:29:26:39 | route.query | remote | +| router.js:27:29:27:39 | route.query | remote | +| router.js:32:9:32:16 | to.query | remote | +| router.js:33:9:33:18 | from.query | remote | +| router.js:38:5:38:12 | to.query | remote | +| router.js:39:5:39:14 | from.query | remote | +| router.js:43:5:43:12 | to.query | remote | +| router.js:44:5:44:14 | from.query | remote | | single-component-file-1.vue:7:45:7:54 | this.input | view-component-input | | single-file-component-3-script.js:5:42:5:51 | this.input | view-component-input | | single-file-component-4.vue:21:14:21:23 | this.input | view-component-input | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected index b488018d09d..bb92027f9f7 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXss.expected @@ -35,6 +35,9 @@ | app/api/routeNextRequest.ts:15:20:15:23 | body | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | app/api/routeNextRequest.ts:15:20:15:23 | body | Cross-site scripting vulnerability due to a $@. | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | user-provided value | | app/api/routeNextRequest.ts:27:20:27:23 | body | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | app/api/routeNextRequest.ts:27:20:27:23 | body | Cross-site scripting vulnerability due to a $@. | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | user-provided value | | app/api/routeNextRequest.ts:31:27:31:30 | body | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | app/api/routeNextRequest.ts:31:27:31:30 | body | Cross-site scripting vulnerability due to a $@. | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | user-provided value | +| app/blah/page.jsx:8:13:8:19 | req.url | app/blah/page.jsx:8:13:8:19 | req.url | app/blah/page.jsx:8:13:8:19 | req.url | Cross-site scripting vulnerability due to a $@. | app/blah/page.jsx:8:13:8:19 | req.url | user-provided value | +| app/blah/page.jsx:15:13:15:19 | req.url | app/blah/page.jsx:15:13:15:19 | req.url | app/blah/page.jsx:15:13:15:19 | req.url | Cross-site scripting vulnerability due to a $@. | app/blah/page.jsx:15:13:15:19 | req.url | user-provided value | +| app/blah/route.ts:3:25:3:27 | url | app/blah/route.ts:2:17:2:23 | req.url | app/blah/route.ts:3:25:3:27 | url | Cross-site scripting vulnerability due to a $@. | app/blah/route.ts:2:17:2:23 | req.url | user-provided value | | app/pages/Next2.jsx:8:13:8:19 | req.url | app/pages/Next2.jsx:8:13:8:19 | req.url | app/pages/Next2.jsx:8:13:8:19 | req.url | Cross-site scripting vulnerability due to a $@. | app/pages/Next2.jsx:8:13:8:19 | req.url | user-provided value | | app/pages/Next2.jsx:15:13:15:19 | req.url | app/pages/Next2.jsx:15:13:15:19 | req.url | app/pages/Next2.jsx:15:13:15:19 | req.url | Cross-site scripting vulnerability due to a $@. | app/pages/Next2.jsx:15:13:15:19 | req.url | user-provided value | | etherpad.js:11:12:11:19 | response | etherpad.js:9:16:9:30 | req.query.jsonp | etherpad.js:11:12:11:19 | response | Cross-site scripting vulnerability due to a $@. | etherpad.js:9:16:9:30 | req.query.jsonp | user-provided value | @@ -50,15 +53,10 @@ | partial.js:28:14:28:18 | x + y | partial.js:31:47:31:53 | req.url | partial.js:28:14:28:18 | x + y | Cross-site scripting vulnerability due to a $@. | partial.js:31:47:31:53 | req.url | user-provided value | | partial.js:37:14:37:18 | x + y | partial.js:40:43:40:49 | req.url | partial.js:37:14:37:18 | x + y | Cross-site scripting vulnerability due to a $@. | partial.js:40:43:40:49 | req.url | user-provided value | | promises.js:6:25:6:25 | x | promises.js:5:44:5:57 | req.query.data | promises.js:6:25:6:25 | x | Cross-site scripting vulnerability due to a $@. | promises.js:5:44:5:57 | req.query.data | user-provided value | -| response-object.js:9:18:9:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:9:18:9:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:10:18:10:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:10:18:10:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:11:18:11:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:11:18:11:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:14:18:14:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:14:18:14:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:17:18:17:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:17:18:17:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:23:18:23:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:23:18:23:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:26:18:26:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:26:18:26:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:34:18:34:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:34:18:34:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:38:18:38:21 | data | response-object.js:7:18:7:25 | req.body | response-object.js:38:18:38:21 | data | Cross-site scripting vulnerability due to a $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | tst2.js:7:12:7:12 | p | tst2.js:6:9:6:9 | p | tst2.js:7:12:7:12 | p | Cross-site scripting vulnerability due to a $@. | tst2.js:6:9:6:9 | p | user-provided value | | tst2.js:8:12:8:12 | r | tst2.js:6:12:6:15 | q: r | tst2.js:8:12:8:12 | r | Cross-site scripting vulnerability due to a $@. | tst2.js:6:12:6:15 | q: r | user-provided value | | tst2.js:18:12:18:12 | p | tst2.js:14:9:14:9 | p | tst2.js:18:12:18:12 | p | Cross-site scripting vulnerability due to a $@. | tst2.js:14:9:14:9 | p | user-provided value | @@ -154,6 +152,8 @@ edges | app/api/routeNextRequest.ts:4:9:4:12 | body | app/api/routeNextRequest.ts:31:27:31:30 | body | provenance | | | app/api/routeNextRequest.ts:4:16:4:31 | await req.json() | app/api/routeNextRequest.ts:4:9:4:12 | body | provenance | | | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | app/api/routeNextRequest.ts:4:16:4:31 | await req.json() | provenance | | +| app/blah/route.ts:2:11:2:13 | url | app/blah/route.ts:3:25:3:27 | url | provenance | | +| app/blah/route.ts:2:17:2:23 | req.url | app/blah/route.ts:2:11:2:13 | url | provenance | | | etherpad.js:9:5:9:12 | response | etherpad.js:11:12:11:19 | response | provenance | | | etherpad.js:9:16:9:30 | req.query.jsonp | etherpad.js:9:5:9:12 | response | provenance | | | formatting.js:4:9:4:12 | evil | formatting.js:6:43:6:46 | evil | provenance | | @@ -184,15 +184,10 @@ edges | promises.js:5:36:5:42 | [post update] resolve [resolve-value] | promises.js:5:16:5:22 | resolve [Return] [resolve-value] | provenance | | | promises.js:5:44:5:57 | req.query.data | promises.js:5:36:5:42 | [post update] resolve [resolve-value] | provenance | | | promises.js:6:11:6:11 | x | promises.js:6:25:6:25 | x | provenance | | -| response-object.js:7:11:7:14 | data | response-object.js:9:18:9:21 | data | provenance | | -| response-object.js:7:11:7:14 | data | response-object.js:10:18:10:21 | data | provenance | | -| response-object.js:7:11:7:14 | data | response-object.js:11:18:11:21 | data | provenance | | | response-object.js:7:11:7:14 | data | response-object.js:14:18:14:21 | data | provenance | | | response-object.js:7:11:7:14 | data | response-object.js:17:18:17:21 | data | provenance | | | response-object.js:7:11:7:14 | data | response-object.js:23:18:23:21 | data | provenance | | -| response-object.js:7:11:7:14 | data | response-object.js:26:18:26:21 | data | provenance | | | response-object.js:7:11:7:14 | data | response-object.js:34:18:34:21 | data | provenance | | -| response-object.js:7:11:7:14 | data | response-object.js:38:18:38:21 | data | provenance | | | response-object.js:7:18:7:25 | req.body | response-object.js:7:11:7:14 | data | provenance | | | tst2.js:6:9:6:9 | p | tst2.js:6:9:6:9 | p | provenance | | | tst2.js:6:9:6:9 | p | tst2.js:7:12:7:12 | p | provenance | | @@ -367,6 +362,11 @@ nodes | app/api/routeNextRequest.ts:15:20:15:23 | body | semmle.label | body | | app/api/routeNextRequest.ts:27:20:27:23 | body | semmle.label | body | | app/api/routeNextRequest.ts:31:27:31:30 | body | semmle.label | body | +| app/blah/page.jsx:8:13:8:19 | req.url | semmle.label | req.url | +| app/blah/page.jsx:15:13:15:19 | req.url | semmle.label | req.url | +| app/blah/route.ts:2:11:2:13 | url | semmle.label | url | +| app/blah/route.ts:2:17:2:23 | req.url | semmle.label | req.url | +| app/blah/route.ts:3:25:3:27 | url | semmle.label | url | | app/pages/Next2.jsx:8:13:8:19 | req.url | semmle.label | req.url | | app/pages/Next2.jsx:15:13:15:19 | req.url | semmle.label | req.url | | etherpad.js:9:5:9:12 | response | semmle.label | response | @@ -413,15 +413,10 @@ nodes | promises.js:6:25:6:25 | x | semmle.label | x | | response-object.js:7:11:7:14 | data | semmle.label | data | | response-object.js:7:18:7:25 | req.body | semmle.label | req.body | -| response-object.js:9:18:9:21 | data | semmle.label | data | -| response-object.js:10:18:10:21 | data | semmle.label | data | -| response-object.js:11:18:11:21 | data | semmle.label | data | | response-object.js:14:18:14:21 | data | semmle.label | data | | response-object.js:17:18:17:21 | data | semmle.label | data | | response-object.js:23:18:23:21 | data | semmle.label | data | -| response-object.js:26:18:26:21 | data | semmle.label | data | | response-object.js:34:18:34:21 | data | semmle.label | data | -| response-object.js:38:18:38:21 | data | semmle.label | data | | tst2.js:6:9:6:9 | p | semmle.label | p | | tst2.js:6:9:6:9 | p | semmle.label | p | | tst2.js:6:12:6:15 | q: r | semmle.label | q: r | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected index 2dceb5fa807..fa2886fb0cd 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/ReflectedXssWithCustomSanitizer.expected @@ -34,6 +34,9 @@ | app/api/routeNextRequest.ts:15:20:15:23 | body | Cross-site scripting vulnerability due to $@. | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | user-provided value | | app/api/routeNextRequest.ts:27:20:27:23 | body | Cross-site scripting vulnerability due to $@. | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | user-provided value | | app/api/routeNextRequest.ts:31:27:31:30 | body | Cross-site scripting vulnerability due to $@. | app/api/routeNextRequest.ts:4:22:4:31 | req.json() | user-provided value | +| app/blah/page.jsx:8:13:8:19 | req.url | Cross-site scripting vulnerability due to $@. | app/blah/page.jsx:8:13:8:19 | req.url | user-provided value | +| app/blah/page.jsx:15:13:15:19 | req.url | Cross-site scripting vulnerability due to $@. | app/blah/page.jsx:15:13:15:19 | req.url | user-provided value | +| app/blah/route.ts:3:25:3:27 | url | Cross-site scripting vulnerability due to $@. | app/blah/route.ts:2:17:2:23 | req.url | user-provided value | | app/pages/Next2.jsx:8:13:8:19 | req.url | Cross-site scripting vulnerability due to $@. | app/pages/Next2.jsx:8:13:8:19 | req.url | user-provided value | | app/pages/Next2.jsx:15:13:15:19 | req.url | Cross-site scripting vulnerability due to $@. | app/pages/Next2.jsx:15:13:15:19 | req.url | user-provided value | | formatting.js:6:14:6:47 | util.fo ... , evil) | Cross-site scripting vulnerability due to $@. | formatting.js:4:16:4:29 | req.query.evil | user-provided value | @@ -48,15 +51,10 @@ | partial.js:28:14:28:18 | x + y | Cross-site scripting vulnerability due to $@. | partial.js:31:47:31:53 | req.url | user-provided value | | partial.js:37:14:37:18 | x + y | Cross-site scripting vulnerability due to $@. | partial.js:40:43:40:49 | req.url | user-provided value | | promises.js:6:25:6:25 | x | Cross-site scripting vulnerability due to $@. | promises.js:5:44:5:57 | req.query.data | user-provided value | -| response-object.js:9:18:9:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:10:18:10:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:11:18:11:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:14:18:14:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:17:18:17:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:23:18:23:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:26:18:26:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | response-object.js:34:18:34:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | -| response-object.js:38:18:38:21 | data | Cross-site scripting vulnerability due to $@. | response-object.js:7:18:7:25 | req.body | user-provided value | | tst2.js:7:12:7:12 | p | Cross-site scripting vulnerability due to $@. | tst2.js:6:9:6:9 | p | user-provided value | | tst2.js:8:12:8:12 | r | Cross-site scripting vulnerability due to $@. | tst2.js:6:12:6:15 | q: r | user-provided value | | tst2.js:18:12:18:12 | p | Cross-site scripting vulnerability due to $@. | tst2.js:14:9:14:9 | p | user-provided value | diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/app/blah/page.jsx b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/app/blah/page.jsx new file mode 100644 index 00000000000..7df53280636 --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/app/blah/page.jsx @@ -0,0 +1,19 @@ +export default function Page() { + return ; +} + +Page.getInitialProps = async (ctx) => { + const req = ctx.req; + const res = ctx.res; + res.end(req.url); // $ Alert + return {} +} + +export async function getServerSideProps(ctx) { + const req = ctx.req; + const res = ctx.res; + res.end(req.url); // $ Alert + return { + props: {} + } +} diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/app/blah/route.ts b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/app/blah/route.ts new file mode 100644 index 00000000000..0410915513f --- /dev/null +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/app/blah/route.ts @@ -0,0 +1,4 @@ +export async function GET(req: Request) { + const url = req.url; // $ Source + return new Response(url, { headers: { "Content-Type": "text/html" } }); // $ Alert +} diff --git a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/response-object.js b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/response-object.js index 030cff46733..87ed6d826a6 100644 --- a/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/response-object.js +++ b/javascript/ql/test/query-tests/Security/CWE-079/ReflectedXss/response-object.js @@ -1,14 +1,14 @@ const express = require('express'); -// Note: We're using using express for the taint source in order to to test 'Response' +// Note: We're using express for the taint source in order to test 'Response' // in isolation from the more complicated http frameworks. express().get('/foo', (req) => { const data = req.body; // $ Source - new Response(data); // $ Alert - new Response(data, {}); // $ Alert - new Response(data, { headers: null }); // $ Alert + new Response(data); + new Response(data, {}); + new Response(data, { headers: null }); new Response(data, { headers: { 'content-type': 'text/plain'}}); new Response(data, { headers: { 'content-type': 'text/html'}}); // $ Alert @@ -23,7 +23,7 @@ express().get('/foo', (req) => { new Response(data, { headers: headers2 }); // $ Alert const headers3 = new Headers(); - new Response(data, { headers: headers3 }); // $ Alert + new Response(data, { headers: headers3 }); const headers4 = new Headers(); headers4.set('content-type', 'text/plain'); @@ -35,5 +35,9 @@ express().get('/foo', (req) => { const headers6 = new Headers(); headers6.set('unrelated-header', 'text/plain'); - new Response(data, { headers: headers6 }); // $ Alert + new Response(data, { headers: headers6 }); + + const headers7 = new Headers(); + headers7.set('unrelated-header', 'text/html'); + new Response(data, { headers: headers7 }); }); diff --git a/javascript/ql/test/query-tests/Security/CWE-400/ReDoS/regexplib/dates.js b/javascript/ql/test/query-tests/Security/CWE-400/ReDoS/regexplib/dates.js index 14468a51565..dc172e06b18 100644 --- a/javascript/ql/test/query-tests/Security/CWE-400/ReDoS/regexplib/dates.js +++ b/javascript/ql/test/query-tests/Security/CWE-400/ReDoS/regexplib/dates.js @@ -132,3 +132,103 @@ /^(([0-9])|([0-1][0-9])|([2][0-3])):?([0-5][0-9])$/g; /^[\w-\.]+@([\w-]+\.)+[\w-]{2,3}$/g; /(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))/g; +// +// Add some empty lines to lower the average line length so the file is not classified as minified. +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// diff --git a/javascript/ql/test/query-tests/filters/ClassifyFiles/ClassifyFiles.expected b/javascript/ql/test/query-tests/filters/ClassifyFiles/ClassifyFiles.expected index 5b896e958c5..377a0e1ad29 100644 --- a/javascript/ql/test/query-tests/filters/ClassifyFiles/ClassifyFiles.expected +++ b/javascript/ql/test/query-tests/filters/ClassifyFiles/ClassifyFiles.expected @@ -17,7 +17,6 @@ | jquery-datatables.js:0:0:0:0 | jquery-datatables.js | library | | jquery-jstree.js:0:0:0:0 | jquery-jstree.js | library | | jquery-snippet.js:0:0:0:0 | jquery-snippet.js | library | -| json-like.js:0:0:0:0 | json-like.js | generated | | jsx-old.js:0:0:0:0 | jsx-old.js | generated | | jsx.js:0:0:0:0 | jsx.js | generated | | multi-part-bundle.html:0:0:0:0 | multi-part-bundle.html | generated | diff --git a/misc/codegen/README.md b/misc/codegen/README.md index 2d45ac67ac2..c4a1ebecdcc 100644 --- a/misc/codegen/README.md +++ b/misc/codegen/README.md @@ -1,14 +1,17 @@ # Code generation suite -This directory contains the code generation suite used by the Swift extractor and the QL library. This suite will use -the abstract class specification of `schema.py` to generate: +This directory contains the code generation suite used by the Swift and Rust extractors and QL library. This suite will use +the abstract class specification of a `schema` python module to generate: * the `dbscheme` file (see [`dbschemegen.py`](generators/dbschemegen.py)) * the QL generated code and when appropriate the corresponding stubs (see [`qlgen.py`](generators/qlgen.py)) -* C++ tags and trap entries (see [`trapgen.py`](generators/trapgen.py)) -* C++ structured classes (see [`cppgen.py`](generators/cppgen.py)) +* QL language tests for testing the extractors (see [`qlgen.py`](generators/qlgen.py)) +* [Swift] C++ tags and trap entries (see [`trapgen.py`](generators/trapgen.py)) +* [Swift] C++ structured classes (see [`cppgen.py`](generators/cppgen.py)) +* [Rust] Rust structured classes (see [`rustgen.py`](generators/rustgen.py)) +* [Rust] Rust sources for extractor language tests extracted from the documentation snippets (see [`rusttestgen.py`](generators/rusttestgen.py)) -An example `schema.py` [can be found in the Swift package](../../swift/schema.py). +Schemas [can be found in the Swift package](../../swift/schema.py) or [in the Rust one](../../rust/schema). ## Usage diff --git a/misc/scripts/create-change-note.py b/misc/scripts/create-change-note.py index 1de42126c90..acaf0794c86 100755 --- a/misc/scripts/create-change-note.py +++ b/misc/scripts/create-change-note.py @@ -9,6 +9,8 @@ # - The name of the change note (in kebab-case) # - The category of the change (see https://github.com/github/codeql/blob/main/docs/change-notes.md#change-categories). +# Alternatively, run without arguments for interactive mode. + # The change note will be created in the `{language}/ql/{subdir}/change-notes` directory, where `subdir` is either `src` or `lib`. # The format of the change note filename is `{current_date}-{change_note_name}.md` with the date in @@ -17,11 +19,111 @@ import sys import os -# Read the given arguments -language = sys.argv[1] -subdir = sys.argv[2] -change_note_name = sys.argv[3] -change_category = sys.argv[4] +LANGUAGES = [ + "actions", + "cpp", + "csharp", + "go", + "java", + "javascript", + "python", + "ruby", + "rust", + "swift", +] + +SUBDIRS = { + "src": "query", + "lib": "library", +} + +CATEGORIES_QUERY = [ + "breaking", + "deprecated", + "newQuery", + "queryMetadata", + "majorAnalysis", + "minorAnalysis", + "fix", +] + +CATEGORIES_LIBRARY = [ + "breaking", + "deprecated", + "feature", + "majorAnalysis", + "minorAnalysis", + "fix", +] + + +def is_subsequence(needle: str, haystack: str) -> bool: + """Check if needle is a subsequence of haystack (case-insensitive).""" + it = iter(haystack.lower()) + return all(c in it for c in needle.lower()) + + +def pick_option(prompt: str, options: list[str]) -> str: + """Display options and let the user pick by subsequence match.""" + print(f"\n{prompt}") + print(f" Options: {', '.join(options)}") + while True: + choice = input("Choice: ").strip() + if not choice: + continue + # Try exact match first + for o in options: + if o.lower() == choice.lower(): + return o + # Try subsequence match + matches = [o for o in options if is_subsequence(choice, o)] + if len(matches) == 1: + return matches[0] + if len(matches) > 1: + print(f" Ambiguous: {', '.join(matches)}") + continue + print(f" No match for '{choice}'. Try again.") + + +def prompt_string(prompt: str) -> str: + """Prompt the user for a string value.""" + while True: + value = input(f"\n{prompt}: ").strip() + if value: + return value + print("Value cannot be empty.") + + +def interactive_mode() -> tuple[str, str, str, str]: + """Run interactive mode to gather all required inputs.""" + print("=== Create Change Note (Interactive Mode) ===") + + language = pick_option("Select language:", LANGUAGES) + subdir = pick_option("Change type:", list(SUBDIRS.keys())) + + change_note_name = prompt_string("Short name (kebab-case)") + + if subdir == "src": + categories = CATEGORIES_QUERY + else: + categories = CATEGORIES_LIBRARY + change_category = pick_option("Select category:", categories) + + return language, subdir, change_note_name, change_category + + +# Check if running in interactive mode (no arguments) or with arguments +if len(sys.argv) == 1: + language, subdir, change_note_name, change_category = interactive_mode() +elif len(sys.argv) == 5: + language = sys.argv[1] + subdir = sys.argv[2] + change_note_name = sys.argv[3] + change_category = sys.argv[4] +else: + print("Usage: create-change-note.py [language subdir name category]") + print(" Run without arguments for interactive mode.") + sys.exit(1) # Find the root of the repository. The current script should be located in `misc/scripts`. root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 5e5c3c37bae..3fa0771beca 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.39.md b/misc/suite-helpers/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.40.md b/misc/suite-helpers/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 3a79aea9f46..b01f97237d3 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.39-dev +version: 1.0.41-dev groups: shared warnOnImplicitThis: true diff --git a/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/old.dbscheme b/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/old.dbscheme new file mode 100644 index 00000000000..279cbb08d38 --- /dev/null +++ b/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/old.dbscheme @@ -0,0 +1,1289 @@ +/* + * This dbscheme is auto-generated by 'semmle/dbscheme_gen.py'. + * Run "make dbscheme" in python/extractor/ to regenerate. + * WARNING: Any modifications to this file will be lost. + * Relations can be changed by modifying master.py or + * by adding rules to dbscheme.template + */ + +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2020-07-02 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/*- DEPRECATED: External defects and metrics -*/ + +externalDefects( + unique int id : @externalDefect, + varchar(900) queryPath : string ref, + int location : @location ref, + varchar(900) message : string ref, + float severity : float ref +); + +externalMetrics( + unique int id : @externalMetric, + varchar(900) queryPath : string ref, + int location : @location ref, + float value : float ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + +/*- DEPRECATED: Snapshot date -*/ + +snapshotDate(unique date snapshotDate : date ref); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- DEPRECATED: 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 +); + +/*- DEPRECATED: Version control data -*/ + +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 +) + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container 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; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Python dbscheme -*/ + +/* + * Line metrics + */ +py_codelines(int id : @py_scope ref, + int count : int ref); + +py_commentlines(int id : @py_scope ref, + int count : int ref); + +py_docstringlines(int id : @py_scope ref, + int count : int ref); + +py_alllines(int id : @py_scope ref, + int count : int ref); + +/**************************** + Python dbscheme +****************************/ + +@sourceline = @file | @py_Module | @xmllocatable; + +@location = @location_ast | @location_default ; + +locations_ast(unique int id: @location_ast, + int module: @py_Module ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +file_contents(unique int file: @file ref, string contents: string ref); + +py_module_path(int module: @py_Module ref, int file: @container ref); + +variable(unique int id : @py_variable, + int scope : @py_scope ref, + varchar(1) name : string ref); + +py_line_lengths(unique int id : @py_line, + int file: @py_Module ref, + int line : int ref, + int length : int ref); + +py_extracted_version(int module : @py_Module ref, + varchar(1) version : string ref); + +/* AUTO GENERATED PART STARTS HERE */ + + +/* AnnAssign.location = 0, location */ +/* AnnAssign.value = 1, expr */ +/* AnnAssign.annotation = 2, expr */ +/* AnnAssign.target = 3, expr */ + +/* Assert.location = 0, location */ +/* Assert.test = 1, expr */ +/* Assert.msg = 2, expr */ + +/* Assign.location = 0, location */ +/* Assign.value = 1, expr */ +/* Assign.targets = 2, expr_list */ + +/* AssignExpr.location = 0, location */ +/* AssignExpr.parenthesised = 1, bool */ +/* AssignExpr.value = 2, expr */ +/* AssignExpr.target = 3, expr */ + +/* Attribute.location = 0, location */ +/* Attribute.parenthesised = 1, bool */ +/* Attribute.value = 2, expr */ +/* Attribute.attr = 3, str */ +/* Attribute.ctx = 4, expr_context */ + +/* AugAssign.location = 0, location */ +/* AugAssign.operation = 1, BinOp */ + +/* Await.location = 0, location */ +/* Await.parenthesised = 1, bool */ +/* Await.value = 2, expr */ + +/* BinaryExpr.location = 0, location */ +/* BinaryExpr.parenthesised = 1, bool */ +/* BinaryExpr.left = 2, expr */ +/* BinaryExpr.op = 3, operator */ +/* BinaryExpr.right = 4, expr */ +/* BinaryExpr = AugAssign */ + +/* BoolExpr.location = 0, location */ +/* BoolExpr.parenthesised = 1, bool */ +/* BoolExpr.op = 2, boolop */ +/* BoolExpr.values = 3, expr_list */ + +/* Break.location = 0, location */ + +/* Bytes.location = 0, location */ +/* Bytes.parenthesised = 1, bool */ +/* Bytes.s = 2, bytes */ +/* Bytes.prefix = 3, bytes */ +/* Bytes.implicitly_concatenated_parts = 4, StringPart_list */ + +/* Call.location = 0, location */ +/* Call.parenthesised = 1, bool */ +/* Call.func = 2, expr */ +/* Call.positional_args = 3, expr_list */ +/* Call.named_args = 4, dict_item_list */ + +/* Case.location = 0, location */ +/* Case.pattern = 1, pattern */ +/* Case.guard = 2, expr */ +/* Case.body = 3, stmt_list */ + +/* Class.name = 0, str */ +/* Class.body = 1, stmt_list */ +/* Class = ClassExpr */ + +/* ClassExpr.location = 0, location */ +/* ClassExpr.parenthesised = 1, bool */ +/* ClassExpr.name = 2, str */ +/* ClassExpr.bases = 3, expr_list */ +/* ClassExpr.keywords = 4, dict_item_list */ +/* ClassExpr.inner_scope = 5, Class */ +/* ClassExpr.type_parameters = 6, type_parameter_list */ + +/* Compare.location = 0, location */ +/* Compare.parenthesised = 1, bool */ +/* Compare.left = 2, expr */ +/* Compare.ops = 3, cmpop_list */ +/* Compare.comparators = 4, expr_list */ + +/* Continue.location = 0, location */ + +/* Delete.location = 0, location */ +/* Delete.targets = 1, expr_list */ + +/* Dict.location = 0, location */ +/* Dict.parenthesised = 1, bool */ +/* Dict.items = 2, dict_item_list */ + +/* DictComp.location = 0, location */ +/* DictComp.parenthesised = 1, bool */ +/* DictComp.function = 2, Function */ +/* DictComp.iterable = 3, expr */ + +/* DictUnpacking.location = 0, location */ +/* DictUnpacking.value = 1, expr */ + +/* Ellipsis.location = 0, location */ +/* Ellipsis.parenthesised = 1, bool */ + +/* ExceptGroupStmt.location = 0, location */ +/* ExceptGroupStmt.type = 1, expr */ +/* ExceptGroupStmt.name = 2, expr */ +/* ExceptGroupStmt.body = 3, stmt_list */ + +/* ExceptStmt.location = 0, location */ +/* ExceptStmt.type = 1, expr */ +/* ExceptStmt.name = 2, expr */ +/* ExceptStmt.body = 3, stmt_list */ + +/* Exec.location = 0, location */ +/* Exec.body = 1, expr */ +/* Exec.globals = 2, expr */ +/* Exec.locals = 3, expr */ + +/* ExprStmt.location = 0, location */ +/* ExprStmt.value = 1, expr */ + +/* Filter.location = 0, location */ +/* Filter.parenthesised = 1, bool */ +/* Filter.value = 2, expr */ +/* Filter.filter = 3, expr */ + +/* For.location = 0, location */ +/* For.target = 1, expr */ +/* For.iter = 2, expr */ +/* For.body = 3, stmt_list */ +/* For.orelse = 4, stmt_list */ +/* For.is_async = 5, bool */ + +/* FormattedValue.location = 0, location */ +/* FormattedValue.parenthesised = 1, bool */ +/* FormattedValue.value = 2, expr */ +/* FormattedValue.conversion = 3, str */ +/* FormattedValue.format_spec = 4, JoinedStr */ + +/* Function.name = 0, str */ +/* Function.args = 1, parameter_list */ +/* Function.vararg = 2, expr */ +/* Function.kwonlyargs = 3, expr_list */ +/* Function.kwarg = 4, expr */ +/* Function.body = 5, stmt_list */ +/* Function.is_async = 6, bool */ +/* Function.type_parameters = 7, type_parameter_list */ +/* Function = FunctionParent */ + +/* FunctionExpr.location = 0, location */ +/* FunctionExpr.parenthesised = 1, bool */ +/* FunctionExpr.name = 2, str */ +/* FunctionExpr.args = 3, arguments */ +/* FunctionExpr.returns = 4, expr */ +/* FunctionExpr.inner_scope = 5, Function */ + +/* GeneratorExp.location = 0, location */ +/* GeneratorExp.parenthesised = 1, bool */ +/* GeneratorExp.function = 2, Function */ +/* GeneratorExp.iterable = 3, expr */ + +/* Global.location = 0, location */ +/* Global.names = 1, str_list */ + +/* Guard.location = 0, location */ +/* Guard.parenthesised = 1, bool */ +/* Guard.test = 2, expr */ + +/* If.location = 0, location */ +/* If.test = 1, expr */ +/* If.body = 2, stmt_list */ +/* If.orelse = 3, stmt_list */ + +/* IfExp.location = 0, location */ +/* IfExp.parenthesised = 1, bool */ +/* IfExp.test = 2, expr */ +/* IfExp.body = 3, expr */ +/* IfExp.orelse = 4, expr */ + +/* Import.location = 0, location */ +/* Import.names = 1, alias_list */ + +/* ImportExpr.location = 0, location */ +/* ImportExpr.parenthesised = 1, bool */ +/* ImportExpr.level = 2, int */ +/* ImportExpr.name = 3, str */ +/* ImportExpr.top = 4, bool */ + +/* ImportStar.location = 0, location */ +/* ImportStar.module = 1, expr */ + +/* ImportMember.location = 0, location */ +/* ImportMember.parenthesised = 1, bool */ +/* ImportMember.module = 2, expr */ +/* ImportMember.name = 3, str */ + +/* Fstring.location = 0, location */ +/* Fstring.parenthesised = 1, bool */ +/* Fstring.values = 2, expr_list */ +/* Fstring = FormattedValue */ + +/* JoinedTemplateString.location = 0, location */ +/* JoinedTemplateString.parenthesised = 1, bool */ +/* JoinedTemplateString.strings = 2, TemplateString_list */ + +/* KeyValuePair.location = 0, location */ +/* KeyValuePair.value = 1, expr */ +/* KeyValuePair.key = 2, expr */ + +/* Lambda.location = 0, location */ +/* Lambda.parenthesised = 1, bool */ +/* Lambda.args = 2, arguments */ +/* Lambda.inner_scope = 3, Function */ + +/* List.location = 0, location */ +/* List.parenthesised = 1, bool */ +/* List.elts = 2, expr_list */ +/* List.ctx = 3, expr_context */ + +/* ListComp.location = 0, location */ +/* ListComp.parenthesised = 1, bool */ +/* ListComp.function = 2, Function */ +/* ListComp.iterable = 3, expr */ +/* ListComp.generators = 4, comprehension_list */ +/* ListComp.elt = 5, expr */ + +/* MatchStmt.location = 0, location */ +/* MatchStmt.subject = 1, expr */ +/* MatchStmt.cases = 2, stmt_list */ + +/* MatchAsPattern.location = 0, location */ +/* MatchAsPattern.parenthesised = 1, bool */ +/* MatchAsPattern.pattern = 2, pattern */ +/* MatchAsPattern.alias = 3, expr */ + +/* MatchCapturePattern.location = 0, location */ +/* MatchCapturePattern.parenthesised = 1, bool */ +/* MatchCapturePattern.variable = 2, expr */ + +/* MatchClassPattern.location = 0, location */ +/* MatchClassPattern.parenthesised = 1, bool */ +/* MatchClassPattern.class = 2, expr */ +/* MatchClassPattern.class_name = 3, expr */ +/* MatchClassPattern.positional = 4, pattern_list */ +/* MatchClassPattern.keyword = 5, pattern_list */ + +/* MatchDoubleStarPattern.location = 0, location */ +/* MatchDoubleStarPattern.parenthesised = 1, bool */ +/* MatchDoubleStarPattern.target = 2, pattern */ + +/* MatchKeyValuePattern.location = 0, location */ +/* MatchKeyValuePattern.parenthesised = 1, bool */ +/* MatchKeyValuePattern.key = 2, pattern */ +/* MatchKeyValuePattern.value = 3, pattern */ + +/* MatchKeywordPattern.location = 0, location */ +/* MatchKeywordPattern.parenthesised = 1, bool */ +/* MatchKeywordPattern.attribute = 2, expr */ +/* MatchKeywordPattern.value = 3, pattern */ + +/* MatchLiteralPattern.location = 0, location */ +/* MatchLiteralPattern.parenthesised = 1, bool */ +/* MatchLiteralPattern.literal = 2, expr */ + +/* MatchMappingPattern.location = 0, location */ +/* MatchMappingPattern.parenthesised = 1, bool */ +/* MatchMappingPattern.mappings = 2, pattern_list */ + +/* MatchOrPattern.location = 0, location */ +/* MatchOrPattern.parenthesised = 1, bool */ +/* MatchOrPattern.patterns = 2, pattern_list */ + +/* MatchSequencePattern.location = 0, location */ +/* MatchSequencePattern.parenthesised = 1, bool */ +/* MatchSequencePattern.patterns = 2, pattern_list */ + +/* MatchStarPattern.location = 0, location */ +/* MatchStarPattern.parenthesised = 1, bool */ +/* MatchStarPattern.target = 2, pattern */ + +/* MatchValuePattern.location = 0, location */ +/* MatchValuePattern.parenthesised = 1, bool */ +/* MatchValuePattern.value = 2, expr */ + +/* MatchWildcardPattern.location = 0, location */ +/* MatchWildcardPattern.parenthesised = 1, bool */ + +/* Module.name = 0, str */ +/* Module.hash = 1, str */ +/* Module.body = 2, stmt_list */ +/* Module.kind = 3, str */ + +/* Name.location = 0, location */ +/* Name.parenthesised = 1, bool */ +/* Name.variable = 2, variable */ +/* Name.ctx = 3, expr_context */ +/* Name = ParameterList */ + +/* Nonlocal.location = 0, location */ +/* Nonlocal.names = 1, str_list */ + +/* Num.location = 0, location */ +/* Num.parenthesised = 1, bool */ +/* Num.n = 2, number */ +/* Num.text = 3, number */ + +/* ParamSpec.location = 0, location */ +/* ParamSpec.name = 1, expr */ +/* ParamSpec.default = 2, expr */ + +/* Pass.location = 0, location */ + +/* PlaceHolder.location = 0, location */ +/* PlaceHolder.parenthesised = 1, bool */ +/* PlaceHolder.variable = 2, variable */ +/* PlaceHolder.ctx = 3, expr_context */ + +/* Print.location = 0, location */ +/* Print.dest = 1, expr */ +/* Print.values = 2, expr_list */ +/* Print.nl = 3, bool */ + +/* Raise.location = 0, location */ +/* Raise.exc = 1, expr */ +/* Raise.cause = 2, expr */ +/* Raise.type = 3, expr */ +/* Raise.inst = 4, expr */ +/* Raise.tback = 5, expr */ + +/* Repr.location = 0, location */ +/* Repr.parenthesised = 1, bool */ +/* Repr.value = 2, expr */ + +/* Return.location = 0, location */ +/* Return.value = 1, expr */ + +/* Set.location = 0, location */ +/* Set.parenthesised = 1, bool */ +/* Set.elts = 2, expr_list */ + +/* SetComp.location = 0, location */ +/* SetComp.parenthesised = 1, bool */ +/* SetComp.function = 2, Function */ +/* SetComp.iterable = 3, expr */ + +/* Slice.location = 0, location */ +/* Slice.parenthesised = 1, bool */ +/* Slice.start = 2, expr */ +/* Slice.stop = 3, expr */ +/* Slice.step = 4, expr */ + +/* SpecialOperation.location = 0, location */ +/* SpecialOperation.parenthesised = 1, bool */ +/* SpecialOperation.name = 2, str */ +/* SpecialOperation.arguments = 3, expr_list */ + +/* Starred.location = 0, location */ +/* Starred.parenthesised = 1, bool */ +/* Starred.value = 2, expr */ +/* Starred.ctx = 3, expr_context */ + +/* Str.location = 0, location */ +/* Str.parenthesised = 1, bool */ +/* Str.s = 2, str */ +/* Str.prefix = 3, str */ +/* Str.implicitly_concatenated_parts = 4, StringPart_list */ + +/* StringPart.text = 0, str */ +/* StringPart.location = 1, location */ +/* StringPart = StringPartList */ +/* StringPartList = BytesOrStr */ + +/* Subscript.location = 0, location */ +/* Subscript.parenthesised = 1, bool */ +/* Subscript.value = 2, expr */ +/* Subscript.index = 3, expr */ +/* Subscript.ctx = 4, expr_context */ + +/* TemplateDottedNotation.location = 0, location */ +/* TemplateDottedNotation.parenthesised = 1, bool */ +/* TemplateDottedNotation.value = 2, expr */ +/* TemplateDottedNotation.attr = 3, str */ +/* TemplateDottedNotation.ctx = 4, expr_context */ + +/* TemplateString.location = 0, location */ +/* TemplateString.parenthesised = 1, bool */ +/* TemplateString.prefix = 2, str */ +/* TemplateString.values = 3, expr_list */ +/* TemplateString = TemplateStringList */ + +/* TemplateStringPart.location = 0, location */ +/* TemplateStringPart.parenthesised = 1, bool */ +/* TemplateStringPart.text = 2, str */ +/* TemplateStringList = JoinedTemplateString */ + +/* TemplateWrite.location = 0, location */ +/* TemplateWrite.value = 1, expr */ + +/* Try.location = 0, location */ +/* Try.body = 1, stmt_list */ +/* Try.orelse = 2, stmt_list */ +/* Try.handlers = 3, stmt_list */ +/* Try.finalbody = 4, stmt_list */ + +/* Tuple.location = 0, location */ +/* Tuple.parenthesised = 1, bool */ +/* Tuple.elts = 2, expr_list */ +/* Tuple.ctx = 3, expr_context */ +/* Tuple = ParameterList */ + +/* TypeAlias.location = 0, location */ +/* TypeAlias.name = 1, expr */ +/* TypeAlias.type_parameters = 2, type_parameter_list */ +/* TypeAlias.value = 3, expr */ + +/* TypeVar.location = 0, location */ +/* TypeVar.name = 1, expr */ +/* TypeVar.bound = 2, expr */ +/* TypeVar.default = 3, expr */ + +/* TypeVarTuple.location = 0, location */ +/* TypeVarTuple.name = 1, expr */ +/* TypeVarTuple.default = 2, expr */ + +/* UnaryExpr.location = 0, location */ +/* UnaryExpr.parenthesised = 1, bool */ +/* UnaryExpr.op = 2, unaryop */ +/* UnaryExpr.operand = 3, expr */ + +/* While.location = 0, location */ +/* While.test = 1, expr */ +/* While.body = 2, stmt_list */ +/* While.orelse = 3, stmt_list */ + +/* With.location = 0, location */ +/* With.context_expr = 1, expr */ +/* With.optional_vars = 2, expr */ +/* With.body = 3, stmt_list */ +/* With.is_async = 4, bool */ + +/* Yield.location = 0, location */ +/* Yield.parenthesised = 1, bool */ +/* Yield.value = 2, expr */ + +/* YieldFrom.location = 0, location */ +/* YieldFrom.parenthesised = 1, bool */ +/* YieldFrom.value = 2, expr */ + +/* Alias.value = 0, expr */ +/* Alias.asname = 1, expr */ +/* Alias = AliasList */ +/* AliasList = Import */ + +/* Arguments.kw_defaults = 0, expr_list */ +/* Arguments.defaults = 1, expr_list */ +/* Arguments.annotations = 2, expr_list */ +/* Arguments.varargannotation = 3, expr */ +/* Arguments.kwargannotation = 4, expr */ +/* Arguments.kw_annotations = 5, expr_list */ +/* Arguments = ArgumentsParent */ +/* boolean = BoolParent */ +/* Boolop = BoolExpr */ +/* string = Bytes */ +/* Cmpop = CmpopList */ +/* CmpopList = Compare */ + +/* Comprehension.location = 0, location */ +/* Comprehension.iter = 1, expr */ +/* Comprehension.target = 2, expr */ +/* Comprehension.ifs = 3, expr_list */ +/* Comprehension = ComprehensionList */ +/* ComprehensionList = ListComp */ +/* DictItem = DictItemList */ +/* DictItemList = DictItemListParent */ + +/* Expr.location = 0, location */ +/* Expr.parenthesised = 1, bool */ +/* Expr = ExprParent */ +/* ExprContext = ExprContextParent */ +/* ExprList = ExprListParent */ +/* int = ImportExpr */ + +/* Keyword.location = 0, location */ +/* Keyword.value = 1, expr */ +/* Keyword.arg = 2, str */ +/* Location = LocationParent */ +/* string = Num */ +/* Operator = BinaryExpr */ +/* ParameterList = Function */ + +/* Pattern.location = 0, location */ +/* Pattern.parenthesised = 1, bool */ +/* Pattern = PatternParent */ +/* PatternList = PatternListParent */ + +/* Stmt.location = 0, location */ +/* Stmt = StmtList */ +/* StmtList = StmtListParent */ +/* string = StrParent */ +/* StringList = StrListParent */ + +/* TypeParameter.location = 0, location */ +/* TypeParameter = TypeParameterList */ +/* TypeParameterList = TypeParameterListParent */ +/* Unaryop = UnaryExpr */ +/* Variable = VariableParent */ +py_Classes(unique int id : @py_Class, + unique int parent : @py_ClassExpr ref); + +py_Functions(unique int id : @py_Function, + unique int parent : @py_Function_parent ref); + +py_Modules(unique int id : @py_Module); + +py_StringParts(unique int id : @py_StringPart, + int parent : @py_StringPart_list ref, + int idx : int ref); + +py_StringPart_lists(unique int id : @py_StringPart_list, + unique int parent : @py_Bytes_or_Str ref); + +py_TemplateString_lists(unique int id : @py_TemplateString_list, + unique int parent : @py_JoinedTemplateString ref); + +py_aliases(unique int id : @py_alias, + int parent : @py_alias_list ref, + int idx : int ref); + +py_alias_lists(unique int id : @py_alias_list, + unique int parent : @py_Import ref); + +py_arguments(unique int id : @py_arguments, + unique int parent : @py_arguments_parent ref); + +py_bools(int parent : @py_bool_parent ref, + int idx : int ref); + +py_boolops(unique int id : @py_boolop, + int kind: int ref, + unique int parent : @py_BoolExpr ref); + +py_bytes(varchar(1) id : string ref, + int parent : @py_Bytes ref, + int idx : int ref); + +py_cmpops(unique int id : @py_cmpop, + int kind: int ref, + int parent : @py_cmpop_list ref, + int idx : int ref); + +py_cmpop_lists(unique int id : @py_cmpop_list, + unique int parent : @py_Compare ref); + +py_comprehensions(unique int id : @py_comprehension, + int parent : @py_comprehension_list ref, + int idx : int ref); + +py_comprehension_lists(unique int id : @py_comprehension_list, + unique int parent : @py_ListComp ref); + +py_dict_items(unique int id : @py_dict_item, + int kind: int ref, + int parent : @py_dict_item_list ref, + int idx : int ref); + +py_dict_item_lists(unique int id : @py_dict_item_list, + unique int parent : @py_dict_item_list_parent ref); + +py_exprs(unique int id : @py_expr, + int kind: int ref, + int parent : @py_expr_parent ref, + int idx : int ref); + +py_expr_contexts(unique int id : @py_expr_context, + int kind: int ref, + unique int parent : @py_expr_context_parent ref); + +py_expr_lists(unique int id : @py_expr_list, + int parent : @py_expr_list_parent ref, + int idx : int ref); + +py_ints(int id : int ref, + unique int parent : @py_ImportExpr ref); + +py_locations(unique int id : @location ref, + unique int parent : @py_location_parent ref); + +py_numbers(varchar(1) id : string ref, + int parent : @py_Num ref, + int idx : int ref); + +py_operators(unique int id : @py_operator, + int kind: int ref, + unique int parent : @py_BinaryExpr ref); + +py_parameter_lists(unique int id : @py_parameter_list, + unique int parent : @py_Function ref); + +py_patterns(unique int id : @py_pattern, + int kind: int ref, + int parent : @py_pattern_parent ref, + int idx : int ref); + +py_pattern_lists(unique int id : @py_pattern_list, + int parent : @py_pattern_list_parent ref, + int idx : int ref); + +py_stmts(unique int id : @py_stmt, + int kind: int ref, + int parent : @py_stmt_list ref, + int idx : int ref); + +py_stmt_lists(unique int id : @py_stmt_list, + int parent : @py_stmt_list_parent ref, + int idx : int ref); + +py_strs(varchar(1) id : string ref, + int parent : @py_str_parent ref, + int idx : int ref); + +py_str_lists(unique int id : @py_str_list, + unique int parent : @py_str_list_parent ref); + +py_type_parameters(unique int id : @py_type_parameter, + int kind: int ref, + int parent : @py_type_parameter_list ref, + int idx : int ref); + +py_type_parameter_lists(unique int id : @py_type_parameter_list, + unique int parent : @py_type_parameter_list_parent ref); + +py_unaryops(unique int id : @py_unaryop, + int kind: int ref, + unique int parent : @py_UnaryExpr ref); + +py_variables(int id : @py_variable ref, + unique int parent : @py_variable_parent ref); + +case @py_boolop.kind of + 0 = @py_And +| 1 = @py_Or; + +case @py_cmpop.kind of + 0 = @py_Eq +| 1 = @py_Gt +| 2 = @py_GtE +| 3 = @py_In +| 4 = @py_Is +| 5 = @py_IsNot +| 6 = @py_Lt +| 7 = @py_LtE +| 8 = @py_NotEq +| 9 = @py_NotIn; + +case @py_dict_item.kind of + 0 = @py_DictUnpacking +| 1 = @py_KeyValuePair +| 2 = @py_keyword; + +case @py_expr.kind of + 0 = @py_Attribute +| 1 = @py_BinaryExpr +| 2 = @py_BoolExpr +| 3 = @py_Bytes +| 4 = @py_Call +| 5 = @py_ClassExpr +| 6 = @py_Compare +| 7 = @py_Dict +| 8 = @py_DictComp +| 9 = @py_Ellipsis +| 10 = @py_FunctionExpr +| 11 = @py_GeneratorExp +| 12 = @py_IfExp +| 13 = @py_ImportExpr +| 14 = @py_ImportMember +| 15 = @py_Lambda +| 16 = @py_List +| 17 = @py_ListComp +| 18 = @py_Guard +| 19 = @py_Name +| 20 = @py_Num +| 21 = @py_Repr +| 22 = @py_Set +| 23 = @py_SetComp +| 24 = @py_Slice +| 25 = @py_Starred +| 26 = @py_Str +| 27 = @py_Subscript +| 28 = @py_Tuple +| 29 = @py_UnaryExpr +| 30 = @py_Yield +| 31 = @py_YieldFrom +| 32 = @py_TemplateDottedNotation +| 33 = @py_Filter +| 34 = @py_PlaceHolder +| 35 = @py_Await +| 36 = @py_Fstring +| 37 = @py_FormattedValue +| 38 = @py_AssignExpr +| 39 = @py_SpecialOperation +| 40 = @py_TemplateString +| 41 = @py_JoinedTemplateString +| 42 = @py_TemplateStringPart; + +case @py_expr_context.kind of + 0 = @py_AugLoad +| 1 = @py_AugStore +| 2 = @py_Del +| 3 = @py_Load +| 4 = @py_Param +| 5 = @py_Store; + +case @py_operator.kind of + 0 = @py_Add +| 1 = @py_BitAnd +| 2 = @py_BitOr +| 3 = @py_BitXor +| 4 = @py_Div +| 5 = @py_FloorDiv +| 6 = @py_LShift +| 7 = @py_Mod +| 8 = @py_Mult +| 9 = @py_Pow +| 10 = @py_RShift +| 11 = @py_Sub +| 12 = @py_MatMult; + +case @py_pattern.kind of + 0 = @py_MatchAsPattern +| 1 = @py_MatchOrPattern +| 2 = @py_MatchLiteralPattern +| 3 = @py_MatchCapturePattern +| 4 = @py_MatchWildcardPattern +| 5 = @py_MatchValuePattern +| 6 = @py_MatchSequencePattern +| 7 = @py_MatchStarPattern +| 8 = @py_MatchMappingPattern +| 9 = @py_MatchDoubleStarPattern +| 10 = @py_MatchKeyValuePattern +| 11 = @py_MatchClassPattern +| 12 = @py_MatchKeywordPattern; + +case @py_stmt.kind of + 0 = @py_Assert +| 1 = @py_Assign +| 2 = @py_AugAssign +| 3 = @py_Break +| 4 = @py_Continue +| 5 = @py_Delete +| 6 = @py_ExceptStmt +| 7 = @py_ExceptGroupStmt +| 8 = @py_Exec +| 9 = @py_Expr_stmt +| 10 = @py_For +| 11 = @py_Global +| 12 = @py_If +| 13 = @py_Import +| 14 = @py_ImportStar +| 15 = @py_MatchStmt +| 16 = @py_Case +| 17 = @py_Nonlocal +| 18 = @py_Pass +| 19 = @py_Print +| 20 = @py_Raise +| 21 = @py_Return +| 22 = @py_Try +| 23 = @py_While +| 24 = @py_With +| 25 = @py_TemplateWrite +| 26 = @py_AnnAssign +| 27 = @py_TypeAlias; + +case @py_type_parameter.kind of + 0 = @py_ParamSpec +| 1 = @py_TypeVar +| 2 = @py_TypeVarTuple; + +case @py_unaryop.kind of + 0 = @py_Invert +| 1 = @py_Not +| 2 = @py_UAdd +| 3 = @py_USub; + +@py_Bytes_or_Str = @py_Bytes | @py_Str; + +@py_Function_parent = @py_DictComp | @py_FunctionExpr | @py_GeneratorExp | @py_Lambda | @py_ListComp | @py_SetComp; + +@py_arguments_parent = @py_FunctionExpr | @py_Lambda; + +@py_ast_node = @py_Class | @py_Function | @py_Module | @py_StringPart | @py_comprehension | @py_dict_item | @py_expr | @py_pattern | @py_stmt | @py_type_parameter; + +@py_bool_parent = @py_For | @py_Function | @py_Print | @py_With | @py_expr | @py_pattern; + +@py_dict_item_list_parent = @py_Call | @py_ClassExpr | @py_Dict; + +@py_expr_context_parent = @py_Attribute | @py_List | @py_Name | @py_PlaceHolder | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_Tuple; + +@py_expr_list_parent = @py_Assign | @py_BoolExpr | @py_Call | @py_ClassExpr | @py_Compare | @py_Delete | @py_Fstring | @py_Function | @py_List | @py_Print | @py_Set | @py_SpecialOperation | @py_TemplateString | @py_Tuple | @py_arguments | @py_comprehension; + +@py_expr_or_stmt = @py_expr | @py_stmt; + +@py_expr_parent = @py_AnnAssign | @py_Assert | @py_Assign | @py_AssignExpr | @py_Attribute | @py_AugAssign | @py_Await | @py_BinaryExpr | @py_Call | @py_Case | @py_Compare | @py_DictComp | @py_DictUnpacking | @py_ExceptGroupStmt | @py_ExceptStmt | @py_Exec | @py_Expr_stmt | @py_Filter | @py_For | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_GeneratorExp | @py_Guard | @py_If | @py_IfExp | @py_ImportMember | @py_ImportStar | @py_KeyValuePair | @py_ListComp | @py_MatchAsPattern | @py_MatchCapturePattern | @py_MatchClassPattern | @py_MatchKeywordPattern | @py_MatchLiteralPattern | @py_MatchStmt | @py_MatchValuePattern | @py_ParamSpec | @py_Print | @py_Raise | @py_Repr | @py_Return | @py_SetComp | @py_Slice | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_TemplateString_list | @py_TemplateWrite | @py_TypeAlias | @py_TypeVar | @py_TypeVarTuple | @py_UnaryExpr | @py_While | @py_With | @py_Yield | @py_YieldFrom | @py_alias | @py_arguments | @py_comprehension | @py_expr_list | @py_keyword | @py_parameter_list; + +@py_location_parent = @py_DictUnpacking | @py_KeyValuePair | @py_StringPart | @py_comprehension | @py_expr | @py_keyword | @py_pattern | @py_stmt | @py_type_parameter; + +@py_parameter = @py_Name | @py_Tuple; + +@py_pattern_list_parent = @py_MatchClassPattern | @py_MatchMappingPattern | @py_MatchOrPattern | @py_MatchSequencePattern; + +@py_pattern_parent = @py_Case | @py_MatchAsPattern | @py_MatchDoubleStarPattern | @py_MatchKeyValuePattern | @py_MatchKeywordPattern | @py_MatchStarPattern | @py_pattern_list; + +@py_scope = @py_Class | @py_Function | @py_Module; + +@py_stmt_list_parent = @py_Case | @py_Class | @py_ExceptGroupStmt | @py_ExceptStmt | @py_For | @py_Function | @py_If | @py_MatchStmt | @py_Module | @py_Try | @py_While | @py_With; + +@py_str_list_parent = @py_Global | @py_Nonlocal; + +@py_str_parent = @py_Attribute | @py_Class | @py_ClassExpr | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_ImportExpr | @py_ImportMember | @py_Module | @py_SpecialOperation | @py_Str | @py_StringPart | @py_TemplateDottedNotation | @py_TemplateString | @py_TemplateStringPart | @py_keyword | @py_str_list; + +@py_type_parameter_list_parent = @py_ClassExpr | @py_Function | @py_TypeAlias; + +@py_variable_parent = @py_Name | @py_PlaceHolder; + + +/* + * End of auto-generated part + */ + + + +/* Map relative names to absolute names for imports */ +py_absolute_names(int module : @py_Module ref, + varchar(1) relname : string ref, + varchar(1) absname : string ref); + +py_exports(int id : @py_Module ref, + varchar(1) name : string ref); + +/* Successor information */ +py_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_true_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_exception_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_false_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_flow_bb_node(unique int flownode : @py_flow_node, + int realnode : @py_ast_node ref, + int basicblock : @py_flow_node ref, + int index : int ref); + +py_scope_flow(int flow : @py_flow_node ref, + int scope : @py_scope ref, + int kind : int ref); + +py_idoms(unique int node : @py_flow_node ref, + int immediate_dominator : @py_flow_node ref); + +py_ssa_phi(int phi : @py_ssa_var ref, + int arg: @py_ssa_var ref); + +py_ssa_var(unique int id : @py_ssa_var, + int var : @py_variable ref); + +py_ssa_use(int node: @py_flow_node ref, + int var : @py_ssa_var ref); + +py_ssa_defn(unique int id : @py_ssa_var ref, + int node: @py_flow_node ref); + +@py_base_var = @py_variable | @py_ssa_var; + +py_scopes(unique int node : @py_expr_or_stmt ref, + int scope : @py_scope ref); + +py_scope_location(unique int id : @location ref, + unique int scope : @py_scope ref); + +py_flags_versioned(varchar(1) name : string ref, + varchar(1) value : string ref, + varchar(1) version : string ref); + +py_syntax_error_versioned(unique int id : @location ref, + varchar(1) message : string ref, + varchar(1) version : string ref); + +py_comments(unique int id : @py_comment, + varchar(1) text : string ref, + unique int location : @location ref); + +/* Type information support */ + +py_cobjects(unique int obj : @py_cobject); + +py_cobjecttypes(unique int obj : @py_cobject ref, + int typeof : @py_cobject ref); + +py_cobjectnames(unique int obj : @py_cobject ref, + varchar(1) name : string ref); + +/* Kind should be 0 for introspection, > 0 from source, as follows: + 1 from C extension source + */ +py_cobject_sources(int obj : @py_cobject ref, + int kind : int ref); + +py_cmembers_versioned(int object : @py_cobject ref, + varchar(1) name : string ref, + int member : @py_cobject ref, + varchar(1) version : string ref); + +py_citems(int object : @py_cobject ref, + int index : int ref, + int member : @py_cobject ref); + +ext_argtype(int funcid : @py_object ref, + int arg : int ref, + int typeid : @py_object ref); + +ext_rettype(int funcid : @py_object ref, + int typeid : @py_object ref); + +ext_proptype(int propid : @py_object ref, + int typeid : @py_object ref); + +ext_argreturn(int funcid : @py_object ref, + int arg : int ref); + +py_special_objects(unique int obj : @py_cobject ref, + unique varchar(1) name : string ref); + +py_decorated_object(int object : @py_object ref, + int level: int ref); + +@py_object = @py_cobject | @py_flow_node; + +@py_source_element = @py_ast_node | @container; + +/** The union of all Python database entities */ +@top = + @py_source_element | @py_object | @py_base_var | @location | @py_line | @py_comment | + @py_expr_parent | @py_expr_context | + @py_operator | @py_boolop | @py_cmpop | @py_unaryop | + @py_cmpop_list | @py_alias_list | @py_StringPart_list | @py_comprehension_list | @py_dict_item_list | @py_pattern_list | @py_stmt_list | @py_str_list | @py_type_parameter_list | + @externalDefect | @externalMetric | @externalDataElement | @duplication_or_similarity | @svnentry | + @xmllocatable | @yaml_locatable; diff --git a/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/semmlecode.dbscheme b/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/semmlecode.dbscheme new file mode 100644 index 00000000000..8d257a4a9bc --- /dev/null +++ b/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/semmlecode.dbscheme @@ -0,0 +1,1282 @@ +/* + * This dbscheme is auto-generated by 'semmle/dbscheme_gen.py'. + * WARNING: Any modifications to this file will be lost. + * Relations can be changed by modifying master.py or + * by adding rules to dbscheme.template + */ + +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2020-07-02 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/*- DEPRECATED: External defects and metrics -*/ + +externalDefects( + unique int id : @externalDefect, + varchar(900) queryPath : string ref, + int location : @location ref, + varchar(900) message : string ref, + float severity : float ref +); + +externalMetrics( + unique int id : @externalMetric, + varchar(900) queryPath : string ref, + int location : @location ref, + float value : float ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, + * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, + * when building an overlay database, and these can be used by the discard predicates. + */ +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path : string ref +); + +/*- DEPRECATED: Snapshot date -*/ + +snapshotDate(unique date snapshotDate : date ref); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- DEPRECATED: 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 +); + +/*- DEPRECATED: Version control data -*/ + +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 +) + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container 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; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Python dbscheme -*/ + +/* + * Line metrics + */ +py_codelines(int id : @py_scope ref, + int count : int ref); + +py_commentlines(int id : @py_scope ref, + int count : int ref); + +py_docstringlines(int id : @py_scope ref, + int count : int ref); + +py_alllines(int id : @py_scope ref, + int count : int ref); + +/**************************** + Python dbscheme +****************************/ + +@sourceline = @file | @py_Module | @xmllocatable; + +@location = @location_ast | @location_default ; + +locations_ast(unique int id: @location_ast, + int module: @py_Module ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +file_contents(unique int file: @file ref, string contents: string ref); + +py_module_path(int module: @py_Module ref, int file: @container ref); + +variable(unique int id : @py_variable, + int scope : @py_scope ref, + varchar(1) name : string ref); + +py_line_lengths(unique int id : @py_line, + int file: @py_Module ref, + int line : int ref, + int length : int ref); + +py_extracted_version(int module : @py_Module ref, + varchar(1) version : string ref); + +/* AUTO GENERATED PART STARTS HERE */ + + +/* AnnAssign.location = 0, location */ +/* AnnAssign.value = 1, expr */ +/* AnnAssign.annotation = 2, expr */ +/* AnnAssign.target = 3, expr */ + +/* Assert.location = 0, location */ +/* Assert.test = 1, expr */ +/* Assert.msg = 2, expr */ + +/* Assign.location = 0, location */ +/* Assign.value = 1, expr */ +/* Assign.targets = 2, expr_list */ + +/* AssignExpr.location = 0, location */ +/* AssignExpr.parenthesised = 1, bool */ +/* AssignExpr.value = 2, expr */ +/* AssignExpr.target = 3, expr */ + +/* Attribute.location = 0, location */ +/* Attribute.parenthesised = 1, bool */ +/* Attribute.value = 2, expr */ +/* Attribute.attr = 3, str */ +/* Attribute.ctx = 4, expr_context */ + +/* AugAssign.location = 0, location */ +/* AugAssign.operation = 1, BinOp */ + +/* Await.location = 0, location */ +/* Await.parenthesised = 1, bool */ +/* Await.value = 2, expr */ + +/* BinaryExpr.location = 0, location */ +/* BinaryExpr.parenthesised = 1, bool */ +/* BinaryExpr.left = 2, expr */ +/* BinaryExpr.op = 3, operator */ +/* BinaryExpr.right = 4, expr */ +/* BinaryExpr = AugAssign */ + +/* BoolExpr.location = 0, location */ +/* BoolExpr.parenthesised = 1, bool */ +/* BoolExpr.op = 2, boolop */ +/* BoolExpr.values = 3, expr_list */ + +/* Break.location = 0, location */ + +/* Bytes.location = 0, location */ +/* Bytes.parenthesised = 1, bool */ +/* Bytes.s = 2, bytes */ +/* Bytes.prefix = 3, bytes */ +/* Bytes.implicitly_concatenated_parts = 4, StringPart_list */ + +/* Call.location = 0, location */ +/* Call.parenthesised = 1, bool */ +/* Call.func = 2, expr */ +/* Call.positional_args = 3, expr_list */ +/* Call.named_args = 4, dict_item_list */ + +/* Case.location = 0, location */ +/* Case.pattern = 1, pattern */ +/* Case.guard = 2, expr */ +/* Case.body = 3, stmt_list */ + +/* Class.name = 0, str */ +/* Class.body = 1, stmt_list */ +/* Class = ClassExpr */ + +/* ClassExpr.location = 0, location */ +/* ClassExpr.parenthesised = 1, bool */ +/* ClassExpr.name = 2, str */ +/* ClassExpr.bases = 3, expr_list */ +/* ClassExpr.keywords = 4, dict_item_list */ +/* ClassExpr.inner_scope = 5, Class */ +/* ClassExpr.type_parameters = 6, type_parameter_list */ + +/* Compare.location = 0, location */ +/* Compare.parenthesised = 1, bool */ +/* Compare.left = 2, expr */ +/* Compare.ops = 3, cmpop_list */ +/* Compare.comparators = 4, expr_list */ + +/* Continue.location = 0, location */ + +/* Delete.location = 0, location */ +/* Delete.targets = 1, expr_list */ + +/* Dict.location = 0, location */ +/* Dict.parenthesised = 1, bool */ +/* Dict.items = 2, dict_item_list */ + +/* DictComp.location = 0, location */ +/* DictComp.parenthesised = 1, bool */ +/* DictComp.function = 2, Function */ +/* DictComp.iterable = 3, expr */ + +/* DictUnpacking.location = 0, location */ +/* DictUnpacking.value = 1, expr */ + +/* Ellipsis.location = 0, location */ +/* Ellipsis.parenthesised = 1, bool */ + +/* ExceptGroupStmt.location = 0, location */ +/* ExceptGroupStmt.type = 1, expr */ +/* ExceptGroupStmt.name = 2, expr */ +/* ExceptGroupStmt.body = 3, stmt_list */ + +/* ExceptStmt.location = 0, location */ +/* ExceptStmt.type = 1, expr */ +/* ExceptStmt.name = 2, expr */ +/* ExceptStmt.body = 3, stmt_list */ + +/* Exec.location = 0, location */ +/* Exec.body = 1, expr */ +/* Exec.globals = 2, expr */ +/* Exec.locals = 3, expr */ + +/* ExprStmt.location = 0, location */ +/* ExprStmt.value = 1, expr */ + +/* Filter.location = 0, location */ +/* Filter.parenthesised = 1, bool */ +/* Filter.value = 2, expr */ +/* Filter.filter = 3, expr */ + +/* For.location = 0, location */ +/* For.target = 1, expr */ +/* For.iter = 2, expr */ +/* For.body = 3, stmt_list */ +/* For.orelse = 4, stmt_list */ +/* For.is_async = 5, bool */ + +/* FormattedValue.location = 0, location */ +/* FormattedValue.parenthesised = 1, bool */ +/* FormattedValue.value = 2, expr */ +/* FormattedValue.conversion = 3, str */ +/* FormattedValue.format_spec = 4, JoinedStr */ + +/* Function.name = 0, str */ +/* Function.args = 1, parameter_list */ +/* Function.vararg = 2, expr */ +/* Function.kwonlyargs = 3, expr_list */ +/* Function.kwarg = 4, expr */ +/* Function.body = 5, stmt_list */ +/* Function.is_async = 6, bool */ +/* Function.type_parameters = 7, type_parameter_list */ +/* Function = FunctionParent */ + +/* FunctionExpr.location = 0, location */ +/* FunctionExpr.parenthesised = 1, bool */ +/* FunctionExpr.name = 2, str */ +/* FunctionExpr.args = 3, arguments */ +/* FunctionExpr.returns = 4, expr */ +/* FunctionExpr.inner_scope = 5, Function */ + +/* GeneratorExp.location = 0, location */ +/* GeneratorExp.parenthesised = 1, bool */ +/* GeneratorExp.function = 2, Function */ +/* GeneratorExp.iterable = 3, expr */ + +/* Global.location = 0, location */ +/* Global.names = 1, str_list */ + +/* Guard.location = 0, location */ +/* Guard.parenthesised = 1, bool */ +/* Guard.test = 2, expr */ + +/* If.location = 0, location */ +/* If.test = 1, expr */ +/* If.body = 2, stmt_list */ +/* If.orelse = 3, stmt_list */ + +/* IfExp.location = 0, location */ +/* IfExp.parenthesised = 1, bool */ +/* IfExp.test = 2, expr */ +/* IfExp.body = 3, expr */ +/* IfExp.orelse = 4, expr */ + +/* Import.location = 0, location */ +/* Import.names = 1, alias_list */ + +/* ImportExpr.location = 0, location */ +/* ImportExpr.parenthesised = 1, bool */ +/* ImportExpr.level = 2, int */ +/* ImportExpr.name = 3, str */ +/* ImportExpr.top = 4, bool */ + +/* ImportStar.location = 0, location */ +/* ImportStar.module = 1, expr */ + +/* ImportMember.location = 0, location */ +/* ImportMember.parenthesised = 1, bool */ +/* ImportMember.module = 2, expr */ +/* ImportMember.name = 3, str */ + +/* Fstring.location = 0, location */ +/* Fstring.parenthesised = 1, bool */ +/* Fstring.values = 2, expr_list */ +/* Fstring = FormattedValue */ + +/* JoinedTemplateString.location = 0, location */ +/* JoinedTemplateString.parenthesised = 1, bool */ +/* JoinedTemplateString.strings = 2, TemplateString_list */ + +/* KeyValuePair.location = 0, location */ +/* KeyValuePair.value = 1, expr */ +/* KeyValuePair.key = 2, expr */ + +/* Lambda.location = 0, location */ +/* Lambda.parenthesised = 1, bool */ +/* Lambda.args = 2, arguments */ +/* Lambda.inner_scope = 3, Function */ + +/* List.location = 0, location */ +/* List.parenthesised = 1, bool */ +/* List.elts = 2, expr_list */ +/* List.ctx = 3, expr_context */ + +/* ListComp.location = 0, location */ +/* ListComp.parenthesised = 1, bool */ +/* ListComp.function = 2, Function */ +/* ListComp.iterable = 3, expr */ +/* ListComp.generators = 4, comprehension_list */ +/* ListComp.elt = 5, expr */ + +/* MatchStmt.location = 0, location */ +/* MatchStmt.subject = 1, expr */ +/* MatchStmt.cases = 2, stmt_list */ + +/* MatchAsPattern.location = 0, location */ +/* MatchAsPattern.parenthesised = 1, bool */ +/* MatchAsPattern.pattern = 2, pattern */ +/* MatchAsPattern.alias = 3, expr */ + +/* MatchCapturePattern.location = 0, location */ +/* MatchCapturePattern.parenthesised = 1, bool */ +/* MatchCapturePattern.variable = 2, expr */ + +/* MatchClassPattern.location = 0, location */ +/* MatchClassPattern.parenthesised = 1, bool */ +/* MatchClassPattern.class = 2, expr */ +/* MatchClassPattern.class_name = 3, expr */ +/* MatchClassPattern.positional = 4, pattern_list */ +/* MatchClassPattern.keyword = 5, pattern_list */ + +/* MatchDoubleStarPattern.location = 0, location */ +/* MatchDoubleStarPattern.parenthesised = 1, bool */ +/* MatchDoubleStarPattern.target = 2, pattern */ + +/* MatchKeyValuePattern.location = 0, location */ +/* MatchKeyValuePattern.parenthesised = 1, bool */ +/* MatchKeyValuePattern.key = 2, pattern */ +/* MatchKeyValuePattern.value = 3, pattern */ + +/* MatchKeywordPattern.location = 0, location */ +/* MatchKeywordPattern.parenthesised = 1, bool */ +/* MatchKeywordPattern.attribute = 2, expr */ +/* MatchKeywordPattern.value = 3, pattern */ + +/* MatchLiteralPattern.location = 0, location */ +/* MatchLiteralPattern.parenthesised = 1, bool */ +/* MatchLiteralPattern.literal = 2, expr */ + +/* MatchMappingPattern.location = 0, location */ +/* MatchMappingPattern.parenthesised = 1, bool */ +/* MatchMappingPattern.mappings = 2, pattern_list */ + +/* MatchOrPattern.location = 0, location */ +/* MatchOrPattern.parenthesised = 1, bool */ +/* MatchOrPattern.patterns = 2, pattern_list */ + +/* MatchSequencePattern.location = 0, location */ +/* MatchSequencePattern.parenthesised = 1, bool */ +/* MatchSequencePattern.patterns = 2, pattern_list */ + +/* MatchStarPattern.location = 0, location */ +/* MatchStarPattern.parenthesised = 1, bool */ +/* MatchStarPattern.target = 2, pattern */ + +/* MatchValuePattern.location = 0, location */ +/* MatchValuePattern.parenthesised = 1, bool */ +/* MatchValuePattern.value = 2, expr */ + +/* MatchWildcardPattern.location = 0, location */ +/* MatchWildcardPattern.parenthesised = 1, bool */ + +/* Module.name = 0, str */ +/* Module.hash = 1, str */ +/* Module.body = 2, stmt_list */ +/* Module.kind = 3, str */ + +/* Name.location = 0, location */ +/* Name.parenthesised = 1, bool */ +/* Name.variable = 2, variable */ +/* Name.ctx = 3, expr_context */ +/* Name = ParameterList */ + +/* Nonlocal.location = 0, location */ +/* Nonlocal.names = 1, str_list */ + +/* Num.location = 0, location */ +/* Num.parenthesised = 1, bool */ +/* Num.n = 2, number */ +/* Num.text = 3, number */ + +/* ParamSpec.location = 0, location */ +/* ParamSpec.name = 1, expr */ +/* ParamSpec.default = 2, expr */ + +/* Pass.location = 0, location */ + +/* PlaceHolder.location = 0, location */ +/* PlaceHolder.parenthesised = 1, bool */ +/* PlaceHolder.variable = 2, variable */ +/* PlaceHolder.ctx = 3, expr_context */ + +/* Print.location = 0, location */ +/* Print.dest = 1, expr */ +/* Print.values = 2, expr_list */ +/* Print.nl = 3, bool */ + +/* Raise.location = 0, location */ +/* Raise.exc = 1, expr */ +/* Raise.cause = 2, expr */ +/* Raise.type = 3, expr */ +/* Raise.inst = 4, expr */ +/* Raise.tback = 5, expr */ + +/* Repr.location = 0, location */ +/* Repr.parenthesised = 1, bool */ +/* Repr.value = 2, expr */ + +/* Return.location = 0, location */ +/* Return.value = 1, expr */ + +/* Set.location = 0, location */ +/* Set.parenthesised = 1, bool */ +/* Set.elts = 2, expr_list */ + +/* SetComp.location = 0, location */ +/* SetComp.parenthesised = 1, bool */ +/* SetComp.function = 2, Function */ +/* SetComp.iterable = 3, expr */ + +/* Slice.location = 0, location */ +/* Slice.parenthesised = 1, bool */ +/* Slice.start = 2, expr */ +/* Slice.stop = 3, expr */ +/* Slice.step = 4, expr */ + +/* SpecialOperation.location = 0, location */ +/* SpecialOperation.parenthesised = 1, bool */ +/* SpecialOperation.name = 2, str */ +/* SpecialOperation.arguments = 3, expr_list */ + +/* Starred.location = 0, location */ +/* Starred.parenthesised = 1, bool */ +/* Starred.value = 2, expr */ +/* Starred.ctx = 3, expr_context */ + +/* Str.location = 0, location */ +/* Str.parenthesised = 1, bool */ +/* Str.s = 2, str */ +/* Str.prefix = 3, str */ +/* Str.implicitly_concatenated_parts = 4, StringPart_list */ + +/* StringPart.text = 0, str */ +/* StringPart.location = 1, location */ +/* StringPart = StringPartList */ +/* StringPartList = BytesOrStr */ + +/* Subscript.location = 0, location */ +/* Subscript.parenthesised = 1, bool */ +/* Subscript.value = 2, expr */ +/* Subscript.index = 3, expr */ +/* Subscript.ctx = 4, expr_context */ + +/* TemplateDottedNotation.location = 0, location */ +/* TemplateDottedNotation.parenthesised = 1, bool */ +/* TemplateDottedNotation.value = 2, expr */ +/* TemplateDottedNotation.attr = 3, str */ +/* TemplateDottedNotation.ctx = 4, expr_context */ + +/* TemplateString.location = 0, location */ +/* TemplateString.parenthesised = 1, bool */ +/* TemplateString.prefix = 2, str */ +/* TemplateString.values = 3, expr_list */ +/* TemplateString = TemplateStringList */ + +/* TemplateStringPart.location = 0, location */ +/* TemplateStringPart.parenthesised = 1, bool */ +/* TemplateStringPart.text = 2, str */ +/* TemplateStringList = JoinedTemplateString */ + +/* TemplateWrite.location = 0, location */ +/* TemplateWrite.value = 1, expr */ + +/* Try.location = 0, location */ +/* Try.body = 1, stmt_list */ +/* Try.orelse = 2, stmt_list */ +/* Try.handlers = 3, stmt_list */ +/* Try.finalbody = 4, stmt_list */ + +/* Tuple.location = 0, location */ +/* Tuple.parenthesised = 1, bool */ +/* Tuple.elts = 2, expr_list */ +/* Tuple.ctx = 3, expr_context */ +/* Tuple = ParameterList */ + +/* TypeAlias.location = 0, location */ +/* TypeAlias.name = 1, expr */ +/* TypeAlias.type_parameters = 2, type_parameter_list */ +/* TypeAlias.value = 3, expr */ + +/* TypeVar.location = 0, location */ +/* TypeVar.name = 1, expr */ +/* TypeVar.bound = 2, expr */ +/* TypeVar.default = 3, expr */ + +/* TypeVarTuple.location = 0, location */ +/* TypeVarTuple.name = 1, expr */ +/* TypeVarTuple.default = 2, expr */ + +/* UnaryExpr.location = 0, location */ +/* UnaryExpr.parenthesised = 1, bool */ +/* UnaryExpr.op = 2, unaryop */ +/* UnaryExpr.operand = 3, expr */ + +/* While.location = 0, location */ +/* While.test = 1, expr */ +/* While.body = 2, stmt_list */ +/* While.orelse = 3, stmt_list */ + +/* With.location = 0, location */ +/* With.context_expr = 1, expr */ +/* With.optional_vars = 2, expr */ +/* With.body = 3, stmt_list */ +/* With.is_async = 4, bool */ + +/* Yield.location = 0, location */ +/* Yield.parenthesised = 1, bool */ +/* Yield.value = 2, expr */ + +/* YieldFrom.location = 0, location */ +/* YieldFrom.parenthesised = 1, bool */ +/* YieldFrom.value = 2, expr */ + +/* Alias.value = 0, expr */ +/* Alias.asname = 1, expr */ +/* Alias = AliasList */ +/* AliasList = Import */ + +/* Arguments.kw_defaults = 0, expr_list */ +/* Arguments.defaults = 1, expr_list */ +/* Arguments.annotations = 2, expr_list */ +/* Arguments.varargannotation = 3, expr */ +/* Arguments.kwargannotation = 4, expr */ +/* Arguments.kw_annotations = 5, expr_list */ +/* Arguments = ArgumentsParent */ +/* boolean = BoolParent */ +/* Boolop = BoolExpr */ +/* string = Bytes */ +/* Cmpop = CmpopList */ +/* CmpopList = Compare */ + +/* Comprehension.location = 0, location */ +/* Comprehension.iter = 1, expr */ +/* Comprehension.target = 2, expr */ +/* Comprehension.ifs = 3, expr_list */ +/* Comprehension = ComprehensionList */ +/* ComprehensionList = ListComp */ +/* DictItem = DictItemList */ +/* DictItemList = DictItemListParent */ + +/* Expr.location = 0, location */ +/* Expr.parenthesised = 1, bool */ +/* Expr = ExprParent */ +/* ExprContext = ExprContextParent */ +/* ExprList = ExprListParent */ +/* int = ImportExpr */ + +/* Keyword.location = 0, location */ +/* Keyword.value = 1, expr */ +/* Keyword.arg = 2, str */ +/* Location = LocationParent */ +/* string = Num */ +/* Operator = BinaryExpr */ +/* ParameterList = Function */ + +/* Pattern.location = 0, location */ +/* Pattern.parenthesised = 1, bool */ +/* Pattern = PatternParent */ +/* PatternList = PatternListParent */ + +/* Stmt.location = 0, location */ +/* Stmt = StmtList */ +/* StmtList = StmtListParent */ +/* string = StrParent */ +/* StringList = StrListParent */ + +/* TypeParameter.location = 0, location */ +/* TypeParameter = TypeParameterList */ +/* TypeParameterList = TypeParameterListParent */ +/* Unaryop = UnaryExpr */ +/* Variable = VariableParent */ +py_Classes(unique int id : @py_Class, + unique int parent : @py_ClassExpr ref); + +py_Functions(unique int id : @py_Function, + unique int parent : @py_Function_parent ref); + +py_Modules(unique int id : @py_Module); + +py_StringParts(unique int id : @py_StringPart, + int parent : @py_StringPart_list ref, + int idx : int ref); + +py_StringPart_lists(unique int id : @py_StringPart_list, + unique int parent : @py_Bytes_or_Str ref); + +py_TemplateString_lists(unique int id : @py_TemplateString_list, + unique int parent : @py_JoinedTemplateString ref); + +py_aliases(unique int id : @py_alias, + int parent : @py_alias_list ref, + int idx : int ref); + +py_alias_lists(unique int id : @py_alias_list, + unique int parent : @py_Import ref); + +py_arguments(unique int id : @py_arguments, + unique int parent : @py_arguments_parent ref); + +py_bools(int parent : @py_bool_parent ref, + int idx : int ref); + +py_boolops(unique int id : @py_boolop, + int kind: int ref, + unique int parent : @py_BoolExpr ref); + +py_bytes(varchar(1) id : string ref, + int parent : @py_Bytes ref, + int idx : int ref); + +py_cmpops(unique int id : @py_cmpop, + int kind: int ref, + int parent : @py_cmpop_list ref, + int idx : int ref); + +py_cmpop_lists(unique int id : @py_cmpop_list, + unique int parent : @py_Compare ref); + +py_comprehensions(unique int id : @py_comprehension, + int parent : @py_comprehension_list ref, + int idx : int ref); + +py_comprehension_lists(unique int id : @py_comprehension_list, + unique int parent : @py_ListComp ref); + +py_dict_items(unique int id : @py_dict_item, + int kind: int ref, + int parent : @py_dict_item_list ref, + int idx : int ref); + +py_dict_item_lists(unique int id : @py_dict_item_list, + unique int parent : @py_dict_item_list_parent ref); + +py_exprs(unique int id : @py_expr, + int kind: int ref, + int parent : @py_expr_parent ref, + int idx : int ref); + +py_expr_contexts(unique int id : @py_expr_context, + int kind: int ref, + unique int parent : @py_expr_context_parent ref); + +py_expr_lists(unique int id : @py_expr_list, + int parent : @py_expr_list_parent ref, + int idx : int ref); + +py_ints(int id : int ref, + unique int parent : @py_ImportExpr ref); + +py_locations(unique int id : @location ref, + unique int parent : @py_location_parent ref); + +py_numbers(varchar(1) id : string ref, + int parent : @py_Num ref, + int idx : int ref); + +py_operators(unique int id : @py_operator, + int kind: int ref, + unique int parent : @py_BinaryExpr ref); + +py_parameter_lists(unique int id : @py_parameter_list, + unique int parent : @py_Function ref); + +py_patterns(unique int id : @py_pattern, + int kind: int ref, + int parent : @py_pattern_parent ref, + int idx : int ref); + +py_pattern_lists(unique int id : @py_pattern_list, + int parent : @py_pattern_list_parent ref, + int idx : int ref); + +py_stmts(unique int id : @py_stmt, + int kind: int ref, + int parent : @py_stmt_list ref, + int idx : int ref); + +py_stmt_lists(unique int id : @py_stmt_list, + int parent : @py_stmt_list_parent ref, + int idx : int ref); + +py_strs(varchar(1) id : string ref, + int parent : @py_str_parent ref, + int idx : int ref); + +py_str_lists(unique int id : @py_str_list, + unique int parent : @py_str_list_parent ref); + +py_type_parameters(unique int id : @py_type_parameter, + int kind: int ref, + int parent : @py_type_parameter_list ref, + int idx : int ref); + +py_type_parameter_lists(unique int id : @py_type_parameter_list, + unique int parent : @py_type_parameter_list_parent ref); + +py_unaryops(unique int id : @py_unaryop, + int kind: int ref, + unique int parent : @py_UnaryExpr ref); + +py_variables(int id : @py_variable ref, + unique int parent : @py_variable_parent ref); + +case @py_boolop.kind of + 0 = @py_And +| 1 = @py_Or; + +case @py_cmpop.kind of + 0 = @py_Eq +| 1 = @py_Gt +| 2 = @py_GtE +| 3 = @py_In +| 4 = @py_Is +| 5 = @py_IsNot +| 6 = @py_Lt +| 7 = @py_LtE +| 8 = @py_NotEq +| 9 = @py_NotIn; + +case @py_dict_item.kind of + 0 = @py_DictUnpacking +| 1 = @py_KeyValuePair +| 2 = @py_keyword; + +case @py_expr.kind of + 0 = @py_Attribute +| 1 = @py_BinaryExpr +| 2 = @py_BoolExpr +| 3 = @py_Bytes +| 4 = @py_Call +| 5 = @py_ClassExpr +| 6 = @py_Compare +| 7 = @py_Dict +| 8 = @py_DictComp +| 9 = @py_Ellipsis +| 10 = @py_FunctionExpr +| 11 = @py_GeneratorExp +| 12 = @py_IfExp +| 13 = @py_ImportExpr +| 14 = @py_ImportMember +| 15 = @py_Lambda +| 16 = @py_List +| 17 = @py_ListComp +| 18 = @py_Guard +| 19 = @py_Name +| 20 = @py_Num +| 21 = @py_Repr +| 22 = @py_Set +| 23 = @py_SetComp +| 24 = @py_Slice +| 25 = @py_Starred +| 26 = @py_Str +| 27 = @py_Subscript +| 28 = @py_Tuple +| 29 = @py_UnaryExpr +| 30 = @py_Yield +| 31 = @py_YieldFrom +| 32 = @py_TemplateDottedNotation +| 33 = @py_Filter +| 34 = @py_PlaceHolder +| 35 = @py_Await +| 36 = @py_Fstring +| 37 = @py_FormattedValue +| 38 = @py_AssignExpr +| 39 = @py_SpecialOperation +| 40 = @py_TemplateString +| 41 = @py_JoinedTemplateString +| 42 = @py_TemplateStringPart; + +case @py_expr_context.kind of + 0 = @py_AugLoad +| 1 = @py_AugStore +| 2 = @py_Del +| 3 = @py_Load +| 4 = @py_Param +| 5 = @py_Store; + +case @py_operator.kind of + 0 = @py_Add +| 1 = @py_BitAnd +| 2 = @py_BitOr +| 3 = @py_BitXor +| 4 = @py_Div +| 5 = @py_FloorDiv +| 6 = @py_LShift +| 7 = @py_Mod +| 8 = @py_Mult +| 9 = @py_Pow +| 10 = @py_RShift +| 11 = @py_Sub +| 12 = @py_MatMult; + +case @py_pattern.kind of + 0 = @py_MatchAsPattern +| 1 = @py_MatchOrPattern +| 2 = @py_MatchLiteralPattern +| 3 = @py_MatchCapturePattern +| 4 = @py_MatchWildcardPattern +| 5 = @py_MatchValuePattern +| 6 = @py_MatchSequencePattern +| 7 = @py_MatchStarPattern +| 8 = @py_MatchMappingPattern +| 9 = @py_MatchDoubleStarPattern +| 10 = @py_MatchKeyValuePattern +| 11 = @py_MatchClassPattern +| 12 = @py_MatchKeywordPattern; + +case @py_stmt.kind of + 0 = @py_Assert +| 1 = @py_Assign +| 2 = @py_AugAssign +| 3 = @py_Break +| 4 = @py_Continue +| 5 = @py_Delete +| 6 = @py_ExceptStmt +| 7 = @py_ExceptGroupStmt +| 8 = @py_Exec +| 9 = @py_Expr_stmt +| 10 = @py_For +| 11 = @py_Global +| 12 = @py_If +| 13 = @py_Import +| 14 = @py_ImportStar +| 15 = @py_MatchStmt +| 16 = @py_Case +| 17 = @py_Nonlocal +| 18 = @py_Pass +| 19 = @py_Print +| 20 = @py_Raise +| 21 = @py_Return +| 22 = @py_Try +| 23 = @py_While +| 24 = @py_With +| 25 = @py_TemplateWrite +| 26 = @py_AnnAssign +| 27 = @py_TypeAlias; + +case @py_type_parameter.kind of + 0 = @py_ParamSpec +| 1 = @py_TypeVar +| 2 = @py_TypeVarTuple; + +case @py_unaryop.kind of + 0 = @py_Invert +| 1 = @py_Not +| 2 = @py_UAdd +| 3 = @py_USub; + +@py_Bytes_or_Str = @py_Bytes | @py_Str; + +@py_Function_parent = @py_DictComp | @py_FunctionExpr | @py_GeneratorExp | @py_Lambda | @py_ListComp | @py_SetComp; + +@py_arguments_parent = @py_FunctionExpr | @py_Lambda; + +@py_ast_node = @py_Class | @py_Function | @py_Module | @py_StringPart | @py_comprehension | @py_dict_item | @py_expr | @py_pattern | @py_stmt | @py_type_parameter; + +@py_bool_parent = @py_For | @py_Function | @py_Print | @py_With | @py_expr | @py_pattern; + +@py_dict_item_list_parent = @py_Call | @py_ClassExpr | @py_Dict; + +@py_expr_context_parent = @py_Attribute | @py_List | @py_Name | @py_PlaceHolder | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_Tuple; + +@py_expr_list_parent = @py_Assign | @py_BoolExpr | @py_Call | @py_ClassExpr | @py_Compare | @py_Delete | @py_Fstring | @py_Function | @py_List | @py_Print | @py_Set | @py_SpecialOperation | @py_TemplateString | @py_Tuple | @py_arguments | @py_comprehension; + +@py_expr_or_stmt = @py_expr | @py_stmt; + +@py_expr_parent = @py_AnnAssign | @py_Assert | @py_Assign | @py_AssignExpr | @py_Attribute | @py_AugAssign | @py_Await | @py_BinaryExpr | @py_Call | @py_Case | @py_Compare | @py_DictComp | @py_DictUnpacking | @py_ExceptGroupStmt | @py_ExceptStmt | @py_Exec | @py_Expr_stmt | @py_Filter | @py_For | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_GeneratorExp | @py_Guard | @py_If | @py_IfExp | @py_ImportMember | @py_ImportStar | @py_KeyValuePair | @py_ListComp | @py_MatchAsPattern | @py_MatchCapturePattern | @py_MatchClassPattern | @py_MatchKeywordPattern | @py_MatchLiteralPattern | @py_MatchStmt | @py_MatchValuePattern | @py_ParamSpec | @py_Print | @py_Raise | @py_Repr | @py_Return | @py_SetComp | @py_Slice | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_TemplateString_list | @py_TemplateWrite | @py_TypeAlias | @py_TypeVar | @py_TypeVarTuple | @py_UnaryExpr | @py_While | @py_With | @py_Yield | @py_YieldFrom | @py_alias | @py_arguments | @py_comprehension | @py_expr_list | @py_keyword | @py_parameter_list; + +@py_location_parent = @py_DictUnpacking | @py_KeyValuePair | @py_StringPart | @py_comprehension | @py_expr | @py_keyword | @py_pattern | @py_stmt | @py_type_parameter; + +@py_parameter = @py_Name | @py_Tuple; + +@py_pattern_list_parent = @py_MatchClassPattern | @py_MatchMappingPattern | @py_MatchOrPattern | @py_MatchSequencePattern; + +@py_pattern_parent = @py_Case | @py_MatchAsPattern | @py_MatchDoubleStarPattern | @py_MatchKeyValuePattern | @py_MatchKeywordPattern | @py_MatchStarPattern | @py_pattern_list; + +@py_scope = @py_Class | @py_Function | @py_Module; + +@py_stmt_list_parent = @py_Case | @py_Class | @py_ExceptGroupStmt | @py_ExceptStmt | @py_For | @py_Function | @py_If | @py_MatchStmt | @py_Module | @py_Try | @py_While | @py_With; + +@py_str_list_parent = @py_Global | @py_Nonlocal; + +@py_str_parent = @py_Attribute | @py_Class | @py_ClassExpr | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_ImportExpr | @py_ImportMember | @py_Module | @py_SpecialOperation | @py_Str | @py_StringPart | @py_TemplateDottedNotation | @py_TemplateString | @py_TemplateStringPart | @py_keyword | @py_str_list; + +@py_type_parameter_list_parent = @py_ClassExpr | @py_Function | @py_TypeAlias; + +@py_variable_parent = @py_Name | @py_PlaceHolder; + + +/* + * End of auto-generated part + */ + + + +/* Map relative names to absolute names for imports */ +py_absolute_names(int module : @py_Module ref, + varchar(1) relname : string ref, + varchar(1) absname : string ref); + +py_exports(int id : @py_Module ref, + varchar(1) name : string ref); + +/* Successor information */ +py_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_true_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_exception_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_false_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_flow_bb_node(unique int flownode : @py_flow_node, + int realnode : @py_ast_node ref, + int basicblock : @py_flow_node ref, + int index : int ref); + +py_scope_flow(int flow : @py_flow_node ref, + int scope : @py_scope ref, + int kind : int ref); + +py_idoms(unique int node : @py_flow_node ref, + int immediate_dominator : @py_flow_node ref); + +py_ssa_phi(int phi : @py_ssa_var ref, + int arg: @py_ssa_var ref); + +py_ssa_var(unique int id : @py_ssa_var, + int var : @py_variable ref); + +py_ssa_use(int node: @py_flow_node ref, + int var : @py_ssa_var ref); + +py_ssa_defn(unique int id : @py_ssa_var ref, + int node: @py_flow_node ref); + +@py_base_var = @py_variable | @py_ssa_var; + +py_scopes(unique int node : @py_expr_or_stmt ref, + int scope : @py_scope ref); + +py_scope_location(unique int id : @location ref, + unique int scope : @py_scope ref); + +py_flags_versioned(varchar(1) name : string ref, + varchar(1) value : string ref, + varchar(1) version : string ref); + +py_syntax_error_versioned(unique int id : @location ref, + varchar(1) message : string ref, + varchar(1) version : string ref); + +py_comments(unique int id : @py_comment, + varchar(1) text : string ref, + unique int location : @location ref); + +/* Type information support */ + +py_cobjects(unique int obj : @py_cobject); + +py_cobjecttypes(unique int obj : @py_cobject ref, + int typeof : @py_cobject ref); + +py_cobjectnames(unique int obj : @py_cobject ref, + varchar(1) name : string ref); + +/* Kind should be 0 for introspection, > 0 from source, as follows: + 1 from C extension source + */ +py_cobject_sources(int obj : @py_cobject ref, + int kind : int ref); + +py_cmembers_versioned(int object : @py_cobject ref, + varchar(1) name : string ref, + int member : @py_cobject ref, + varchar(1) version : string ref); + +py_citems(int object : @py_cobject ref, + int index : int ref, + int member : @py_cobject ref); + +ext_argtype(int funcid : @py_object ref, + int arg : int ref, + int typeid : @py_object ref); + +ext_rettype(int funcid : @py_object ref, + int typeid : @py_object ref); + +ext_proptype(int propid : @py_object ref, + int typeid : @py_object ref); + +ext_argreturn(int funcid : @py_object ref, + int arg : int ref); + +py_special_objects(unique int obj : @py_cobject ref, + unique varchar(1) name : string ref); + +py_decorated_object(int object : @py_object ref, + int level: int ref); + +@py_object = @py_cobject | @py_flow_node; + +@py_source_element = @py_ast_node | @container; + +/** The union of all Python database entities */ +@top = + @py_source_element | @py_object | @py_base_var | @location | @py_line | @py_comment | + @py_expr_parent | @py_expr_context | + @py_operator | @py_boolop | @py_cmpop | @py_unaryop | + @py_cmpop_list | @py_alias_list | @py_StringPart_list | @py_comprehension_list | @py_dict_item_list | @py_pattern_list | @py_stmt_list | @py_str_list | @py_type_parameter_list | + @externalDefect | @externalMetric | @externalDataElement | @duplication_or_similarity | @svnentry | + @xmllocatable | @yaml_locatable; diff --git a/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/upgrade.properties b/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/python/downgrades/279cbb08d387ecd57ac177e87c94cfd5ca62f792/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/python/extractor/semmle/dbscheme.template b/python/extractor/semmle/dbscheme.template index 6b320aafab6..8c6b16d444d 100644 --- a/python/extractor/semmle/dbscheme.template +++ b/python/extractor/semmle/dbscheme.template @@ -40,20 +40,26 @@ externalData( string value : string ref ); +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + /*- Overlay support -*/ /** - * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, - * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, - * when building an overlay database, and these can be used by the discard predicates. + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. */ -databaseMetadata( - string metadataKey : string ref, - string value : string ref -); - overlayChangedFiles( - string path : string ref + string path: string ref ); /*- DEPRECATED: Snapshot date -*/ diff --git a/python/extractor/semmle/dbscheme_gen.py b/python/extractor/semmle/dbscheme_gen.py index 7c3a79fc371..cab51b9741e 100644 --- a/python/extractor/semmle/dbscheme_gen.py +++ b/python/extractor/semmle/dbscheme_gen.py @@ -62,6 +62,7 @@ def write(nodes, out): HEADER = '''/* * This dbscheme is auto-generated by '%s'. + * Run "make dbscheme" in python/extractor/ to regenerate. * WARNING: Any modifications to this file will be lost. * Relations can be changed by modifying master.py or * by adding rules to dbscheme.template diff --git a/python/extractor/tests/parser/exception_groups_new.expected b/python/extractor/tests/parser/exception_groups_new.expected index a70bf1b2485..337d12f6339 100644 --- a/python/extractor/tests/parser/exception_groups_new.expected +++ b/python/extractor/tests/parser/exception_groups_new.expected @@ -1,4 +1,4 @@ -Module: [1, 0] - [27, 0] +Module: [1, 0] - [32, 0] body: [ Try: [1, 0] - [1, 4] body: [ @@ -153,4 +153,28 @@ Module: [1, 0] - [27, 0] ] ] finalbody: [] + Try: [28, 0] - [28, 4] + body: [ + Pass: [29, 4] - [29, 8] + ] + orelse: [] + handlers: [ + ExceptGroupStmt: [30, 0] - [31, 8] + type: + Tuple: [30, 8] - [30, 12] + elts: [ + Name: [30, 8] - [30, 9] + variable: Variable('x', None) + ctx: Load + Name: [30, 11] - [30, 12] + variable: Variable('y', None) + ctx: Load + ] + ctx: Load + name: None + body: [ + Pass: [31, 4] - [31, 8] + ] + ] + finalbody: [] ] diff --git a/python/extractor/tests/parser/exception_groups_new.py b/python/extractor/tests/parser/exception_groups_new.py index 01fe58b9a98..e16ca18be35 100644 --- a/python/extractor/tests/parser/exception_groups_new.py +++ b/python/extractor/tests/parser/exception_groups_new.py @@ -24,3 +24,8 @@ try: pass except *foo as e: pass + +try: + pass +except* x, y: + pass diff --git a/python/extractor/tests/parser/exceptions_new.expected b/python/extractor/tests/parser/exceptions_new.expected new file mode 100644 index 00000000000..ca713146e50 --- /dev/null +++ b/python/extractor/tests/parser/exceptions_new.expected @@ -0,0 +1,64 @@ +Module: [1, 0] - [9, 0] + body: [ + Try: [1, 0] - [1, 4] + body: [ + Pass: [2, 4] - [2, 8] + ] + orelse: [] + handlers: [ + ExceptStmt: [3, 0] - [3, 12] + type: + Tuple: [3, 7] - [3, 11] + elts: [ + Name: [3, 7] - [3, 8] + variable: Variable('a', None) + ctx: Load + Name: [3, 10] - [3, 11] + variable: Variable('b', None) + ctx: Load + ] + ctx: Load + name: None + body: [ + Pass: [4, 4] - [4, 8] + ] + ExceptStmt: [5, 0] - [5, 14] + type: + Tuple: [5, 8] - [5, 12] + elts: [ + Name: [5, 8] - [5, 9] + variable: Variable('c', None) + ctx: Load + Name: [5, 11] - [5, 12] + variable: Variable('d', None) + ctx: Load + ] + ctx: Load + parenthesised: True + name: None + body: [ + Pass: [6, 4] - [6, 8] + ] + ExceptStmt: [7, 0] - [7, 19] + type: + Tuple: [7, 8] - [7, 12] + elts: [ + Name: [7, 8] - [7, 9] + variable: Variable('e', None) + ctx: Load + Name: [7, 11] - [7, 12] + variable: Variable('f', None) + ctx: Load + ] + ctx: Load + parenthesised: True + name: + Name: [7, 17] - [7, 18] + variable: Variable('g', None) + ctx: Store + body: [ + Pass: [8, 4] - [8, 8] + ] + ] + finalbody: [] + ] diff --git a/python/extractor/tests/parser/exceptions_new.py b/python/extractor/tests/parser/exceptions_new.py new file mode 100644 index 00000000000..b2e7d943e1d --- /dev/null +++ b/python/extractor/tests/parser/exceptions_new.py @@ -0,0 +1,8 @@ +try: + pass +except a, b: # new, relaxed syntax + pass +except (c, d): # old syntax + pass +except (e, f) as g: # old syntax + pass diff --git a/python/extractor/tsg-python/python.tsg b/python/extractor/tsg-python/python.tsg index 8cd3bc50743..dd11814753d 100644 --- a/python/extractor/tsg-python/python.tsg +++ b/python/extractor/tsg-python/python.tsg @@ -12,7 +12,7 @@ (assignment !type) @assign { let @assign.node = (ast-node @assign "Assign") } -[ (expression_list) (tuple) (tuple_pattern) (pattern_list) (index_expression_list) ] @tuple +[ (expression_list) (tuple) (tuple_pattern) (pattern_list) (index_expression_list) (exception_list)] @tuple { let @tuple.node = (ast-node @tuple "Tuple") } (list_pattern) @list @@ -3445,6 +3445,9 @@ (tuple element: (_) @elt) @parent (tuple_pattern element: (_) @elt) @parent + + ; An exception list, as in `except A, B, C: ...` + (exception_list element: (_) @elt) @parent ] { edge @parent.node -> @elt.node @@ -3480,6 +3483,7 @@ (parenthesized_expression inner: (_) @elt) (set element: (_) @elt) (match_sequence_pattern (_) @elt) + (exception_list element: (_) @elt) ] @seq { attr (@elt.node) _inherited_ctx = @seq.node diff --git a/python/extractor/tsg-python/tsp/.gitattributes b/python/extractor/tsg-python/tsp/.gitattributes new file mode 100644 index 00000000000..6ee9efab466 --- /dev/null +++ b/python/extractor/tsg-python/tsp/.gitattributes @@ -0,0 +1,4 @@ +# Mark tree-sitter generated files +src/grammar.json linguist-generated +src/node-types.json linguist-generated +src/parser.c linguist-generated diff --git a/python/extractor/tsg-python/tsp/grammar.js b/python/extractor/tsg-python/tsp/grammar.js index 145fa6a4b9a..a30ddb9f0a0 100644 --- a/python/extractor/tsg-python/tsp/grammar.js +++ b/python/extractor/tsg-python/tsp/grammar.js @@ -297,12 +297,21 @@ module.exports = grammar({ ) ), + exception_list: $ => seq( + field('element', $.expression), + repeat1( + seq( + ',', + field('element', $.expression)) + ) + ), + except_clause: $ => seq( 'except', optional(seq( - field('type', $.expression), + field('type', choice($.expression, $.exception_list)), optional(seq( - choice('as', ','), + 'as', field('alias', $.expression) )) )), @@ -314,7 +323,7 @@ module.exports = grammar({ 'except', '*', seq( - field('type', $.expression), + field('type', choice($.expression, $.exception_list)), optional(seq( 'as', field('alias', $.expression) diff --git a/python/extractor/tsg-python/tsp/src/grammar.json b/python/extractor/tsg-python/tsp/src/grammar.json index 7d43a3ca6ad..e413f91b085 100644 --- a/python/extractor/tsg-python/tsp/src/grammar.json +++ b/python/extractor/tsg-python/tsp/src/grammar.json @@ -1087,6 +1087,39 @@ } ] }, + "exception_list": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "element", + "content": { + "type": "SYMBOL", + "name": "expression" + } + }, + { + "type": "REPEAT1", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "element", + "content": { + "type": "SYMBOL", + "name": "expression" + } + } + ] + } + } + ] + }, "except_clause": { "type": "SEQ", "members": [ @@ -1104,8 +1137,17 @@ "type": "FIELD", "name": "type", "content": { - "type": "SYMBOL", - "name": "expression" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "exception_list" + } + ] } }, { @@ -1115,17 +1157,8 @@ "type": "SEQ", "members": [ { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": "as" - }, - { - "type": "STRING", - "value": "," - } - ] + "type": "STRING", + "value": "as" }, { "type": "FIELD", @@ -1181,8 +1214,17 @@ "type": "FIELD", "name": "type", "content": { - "type": "SYMBOL", - "name": "expression" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "SYMBOL", + "name": "exception_list" + } + ] } }, { diff --git a/python/extractor/tsg-python/tsp/src/node-types.json b/python/extractor/tsg-python/tsp/src/node-types.json index abb7cf17292..a718a48aab6 100644 --- a/python/extractor/tsg-python/tsp/src/node-types.json +++ b/python/extractor/tsg-python/tsp/src/node-types.json @@ -1309,6 +1309,10 @@ "multiple": false, "required": false, "types": [ + { + "type": "exception_list", + "named": true + }, { "type": "expression", "named": true @@ -1344,6 +1348,26 @@ "type": { "multiple": false, "required": true, + "types": [ + { + "type": "exception_list", + "named": true + }, + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "exception_list", + "named": true, + "fields": { + "element": { + "multiple": true, + "required": true, "types": [ { "type": "expression", diff --git a/python/extractor/tsg-python/tsp/src/parser.c b/python/extractor/tsg-python/tsp/src/parser.c index 0d535e87adc..e275c1316a0 100644 --- a/python/extractor/tsg-python/tsp/src/parser.c +++ b/python/extractor/tsg-python/tsp/src/parser.c @@ -6,9 +6,9 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 1502 +#define STATE_COUNT 1510 #define LARGE_STATE_COUNT 152 -#define SYMBOL_COUNT 286 +#define SYMBOL_COUNT 288 #define ALIAS_COUNT 3 #define TOKEN_COUNT 108 #define EXTERNAL_TOKEN_COUNT 7 @@ -152,159 +152,161 @@ enum { sym_for_statement = 133, sym_while_statement = 134, sym_try_statement = 135, - sym_except_clause = 136, - sym_except_group_clause = 137, - sym_finally_clause = 138, - sym_with_statement = 139, - sym_with_clause = 140, - sym_with_item = 141, - sym_match_statement = 142, - sym_cases = 143, - sym_case_block = 144, - sym__match_patterns = 145, - sym_open_sequence_match_pattern = 146, - sym__match_pattern = 147, - sym_match_as_pattern = 148, - sym__match_or_pattern = 149, - sym_match_or_pattern = 150, - sym__closed_pattern = 151, - sym_match_literal_pattern = 152, - sym_match_capture_pattern = 153, - sym_match_value_pattern = 154, - sym_match_group_pattern = 155, - sym_match_sequence_pattern = 156, - sym__match_maybe_star_pattern = 157, - sym_match_star_pattern = 158, - sym_match_mapping_pattern = 159, - sym_match_double_star_pattern = 160, - sym_match_key_value_pattern = 161, - sym_match_class_pattern = 162, - sym_pattern_class_name = 163, - sym_match_positional_pattern = 164, - sym_match_keyword_pattern = 165, - sym_guard = 166, - sym_function_definition = 167, - sym_parameters = 168, - sym_lambda_parameters = 169, - sym_list_splat = 170, - sym_dictionary_splat = 171, - sym_global_statement = 172, - sym_nonlocal_statement = 173, - sym_exec_statement = 174, - sym_type_alias_statement = 175, - sym_class_definition = 176, - sym_type_parameters = 177, - sym__type_bound = 178, - sym_typevar_parameter = 179, - sym_typevartuple_parameter = 180, - sym_paramspec_parameter = 181, - sym__type_parameter = 182, - sym__type_param_default = 183, - sym_parenthesized_list_splat = 184, - sym_argument_list = 185, - sym_decorated_definition = 186, - sym_decorator = 187, - sym_block = 188, - sym_expression_list = 189, - sym_dotted_name = 190, - sym__parameters = 191, - sym__patterns = 192, - sym_parameter = 193, - sym_pattern = 194, - sym_tuple_pattern = 195, - sym_list_pattern = 196, - sym_default_parameter = 197, - sym_typed_default_parameter = 198, - sym_list_splat_pattern = 199, - sym_dictionary_splat_pattern = 200, - sym__expression_within_for_in_clause = 201, - sym_expression = 202, - sym_primary_expression = 203, - sym_not_operator = 204, - sym_boolean_operator = 205, - sym_binary_operator = 206, - sym_unary_operator = 207, - sym_comparison_operator = 208, - sym_lambda = 209, - sym_lambda_within_for_in_clause = 210, - sym_assignment = 211, - sym_augmented_assignment = 212, - sym_pattern_list = 213, - sym__right_hand_side = 214, - sym_yield = 215, - sym_attribute = 216, - sym__index_expression = 217, - sym_index_expression_list = 218, - sym_subscript = 219, - sym_slice = 220, - sym_call = 221, - sym_typed_parameter = 222, - sym_type = 223, - sym_keyword_argument = 224, - sym_list = 225, - sym_set = 226, - sym_tuple = 227, - sym_dictionary = 228, - sym_pair = 229, - sym_list_comprehension = 230, - sym_dictionary_comprehension = 231, - sym_set_comprehension = 232, - sym_generator_expression = 233, - sym__comprehension_clauses = 234, - sym_parenthesized_expression = 235, - sym__collection_elements = 236, - sym_for_in_clause = 237, - sym_if_clause = 238, - sym_conditional_expression = 239, - sym_concatenated_string = 240, - sym_string = 241, - sym_concatenated_template_string = 242, - sym_template_string = 243, - sym_string_content = 244, - sym_interpolation = 245, - sym__f_expression = 246, - sym_format_specifier = 247, - sym_await = 248, - sym_positional_separator = 249, - sym_keyword_separator = 250, - aux_sym_module_repeat1 = 251, - aux_sym__simple_statements_repeat1 = 252, - aux_sym_import_prefix_repeat1 = 253, - aux_sym__import_list_repeat1 = 254, - aux_sym_print_statement_repeat1 = 255, - aux_sym_assert_statement_repeat1 = 256, - aux_sym_if_statement_repeat1 = 257, - aux_sym_try_statement_repeat1 = 258, - aux_sym_try_statement_repeat2 = 259, - aux_sym_with_clause_repeat1 = 260, - aux_sym_cases_repeat1 = 261, - aux_sym_open_sequence_match_pattern_repeat1 = 262, - aux_sym_match_or_pattern_repeat1 = 263, - aux_sym_match_value_pattern_repeat1 = 264, - aux_sym_match_mapping_pattern_repeat1 = 265, - aux_sym_match_class_pattern_repeat1 = 266, - aux_sym_match_class_pattern_repeat2 = 267, - aux_sym_global_statement_repeat1 = 268, - aux_sym_type_parameters_repeat1 = 269, - aux_sym_argument_list_repeat1 = 270, - aux_sym_decorated_definition_repeat1 = 271, - aux_sym_expression_list_repeat1 = 272, - aux_sym__parameters_repeat1 = 273, - aux_sym__patterns_repeat1 = 274, - aux_sym_comparison_operator_repeat1 = 275, - aux_sym_index_expression_list_repeat1 = 276, - aux_sym_dictionary_repeat1 = 277, - aux_sym__comprehension_clauses_repeat1 = 278, - aux_sym__collection_elements_repeat1 = 279, - aux_sym_for_in_clause_repeat1 = 280, - aux_sym_concatenated_string_repeat1 = 281, - aux_sym_string_repeat1 = 282, - aux_sym_concatenated_template_string_repeat1 = 283, - aux_sym_string_content_repeat1 = 284, - aux_sym_format_specifier_repeat1 = 285, - alias_sym_format_expression = 286, - anon_alias_sym_isnot = 287, - anon_alias_sym_notin = 288, + sym_exception_list = 136, + sym_except_clause = 137, + sym_except_group_clause = 138, + sym_finally_clause = 139, + sym_with_statement = 140, + sym_with_clause = 141, + sym_with_item = 142, + sym_match_statement = 143, + sym_cases = 144, + sym_case_block = 145, + sym__match_patterns = 146, + sym_open_sequence_match_pattern = 147, + sym__match_pattern = 148, + sym_match_as_pattern = 149, + sym__match_or_pattern = 150, + sym_match_or_pattern = 151, + sym__closed_pattern = 152, + sym_match_literal_pattern = 153, + sym_match_capture_pattern = 154, + sym_match_value_pattern = 155, + sym_match_group_pattern = 156, + sym_match_sequence_pattern = 157, + sym__match_maybe_star_pattern = 158, + sym_match_star_pattern = 159, + sym_match_mapping_pattern = 160, + sym_match_double_star_pattern = 161, + sym_match_key_value_pattern = 162, + sym_match_class_pattern = 163, + sym_pattern_class_name = 164, + sym_match_positional_pattern = 165, + sym_match_keyword_pattern = 166, + sym_guard = 167, + sym_function_definition = 168, + sym_parameters = 169, + sym_lambda_parameters = 170, + sym_list_splat = 171, + sym_dictionary_splat = 172, + sym_global_statement = 173, + sym_nonlocal_statement = 174, + sym_exec_statement = 175, + sym_type_alias_statement = 176, + sym_class_definition = 177, + sym_type_parameters = 178, + sym__type_bound = 179, + sym_typevar_parameter = 180, + sym_typevartuple_parameter = 181, + sym_paramspec_parameter = 182, + sym__type_parameter = 183, + sym__type_param_default = 184, + sym_parenthesized_list_splat = 185, + sym_argument_list = 186, + sym_decorated_definition = 187, + sym_decorator = 188, + sym_block = 189, + sym_expression_list = 190, + sym_dotted_name = 191, + sym__parameters = 192, + sym__patterns = 193, + sym_parameter = 194, + sym_pattern = 195, + sym_tuple_pattern = 196, + sym_list_pattern = 197, + sym_default_parameter = 198, + sym_typed_default_parameter = 199, + sym_list_splat_pattern = 200, + sym_dictionary_splat_pattern = 201, + sym__expression_within_for_in_clause = 202, + sym_expression = 203, + sym_primary_expression = 204, + sym_not_operator = 205, + sym_boolean_operator = 206, + sym_binary_operator = 207, + sym_unary_operator = 208, + sym_comparison_operator = 209, + sym_lambda = 210, + sym_lambda_within_for_in_clause = 211, + sym_assignment = 212, + sym_augmented_assignment = 213, + sym_pattern_list = 214, + sym__right_hand_side = 215, + sym_yield = 216, + sym_attribute = 217, + sym__index_expression = 218, + sym_index_expression_list = 219, + sym_subscript = 220, + sym_slice = 221, + sym_call = 222, + sym_typed_parameter = 223, + sym_type = 224, + sym_keyword_argument = 225, + sym_list = 226, + sym_set = 227, + sym_tuple = 228, + sym_dictionary = 229, + sym_pair = 230, + sym_list_comprehension = 231, + sym_dictionary_comprehension = 232, + sym_set_comprehension = 233, + sym_generator_expression = 234, + sym__comprehension_clauses = 235, + sym_parenthesized_expression = 236, + sym__collection_elements = 237, + sym_for_in_clause = 238, + sym_if_clause = 239, + sym_conditional_expression = 240, + sym_concatenated_string = 241, + sym_string = 242, + sym_concatenated_template_string = 243, + sym_template_string = 244, + sym_string_content = 245, + sym_interpolation = 246, + sym__f_expression = 247, + sym_format_specifier = 248, + sym_await = 249, + sym_positional_separator = 250, + sym_keyword_separator = 251, + aux_sym_module_repeat1 = 252, + aux_sym__simple_statements_repeat1 = 253, + aux_sym_import_prefix_repeat1 = 254, + aux_sym__import_list_repeat1 = 255, + aux_sym_print_statement_repeat1 = 256, + aux_sym_assert_statement_repeat1 = 257, + aux_sym_if_statement_repeat1 = 258, + aux_sym_try_statement_repeat1 = 259, + aux_sym_try_statement_repeat2 = 260, + aux_sym_exception_list_repeat1 = 261, + aux_sym_with_clause_repeat1 = 262, + aux_sym_cases_repeat1 = 263, + aux_sym_open_sequence_match_pattern_repeat1 = 264, + aux_sym_match_or_pattern_repeat1 = 265, + aux_sym_match_value_pattern_repeat1 = 266, + aux_sym_match_mapping_pattern_repeat1 = 267, + aux_sym_match_class_pattern_repeat1 = 268, + aux_sym_match_class_pattern_repeat2 = 269, + aux_sym_global_statement_repeat1 = 270, + aux_sym_type_parameters_repeat1 = 271, + aux_sym_argument_list_repeat1 = 272, + aux_sym_decorated_definition_repeat1 = 273, + aux_sym_expression_list_repeat1 = 274, + aux_sym__parameters_repeat1 = 275, + aux_sym__patterns_repeat1 = 276, + aux_sym_comparison_operator_repeat1 = 277, + aux_sym_index_expression_list_repeat1 = 278, + aux_sym_dictionary_repeat1 = 279, + aux_sym__comprehension_clauses_repeat1 = 280, + aux_sym__collection_elements_repeat1 = 281, + aux_sym_for_in_clause_repeat1 = 282, + aux_sym_concatenated_string_repeat1 = 283, + aux_sym_string_repeat1 = 284, + aux_sym_concatenated_template_string_repeat1 = 285, + aux_sym_string_content_repeat1 = 286, + aux_sym_format_specifier_repeat1 = 287, + alias_sym_format_expression = 288, + anon_alias_sym_isnot = 289, + anon_alias_sym_notin = 290, }; static const char * const ts_symbol_names[] = { @@ -444,6 +446,7 @@ static const char * const ts_symbol_names[] = { [sym_for_statement] = "for_statement", [sym_while_statement] = "while_statement", [sym_try_statement] = "try_statement", + [sym_exception_list] = "exception_list", [sym_except_clause] = "except_clause", [sym_except_group_clause] = "except_group_clause", [sym_finally_clause] = "finally_clause", @@ -568,6 +571,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_if_statement_repeat1] = "if_statement_repeat1", [aux_sym_try_statement_repeat1] = "try_statement_repeat1", [aux_sym_try_statement_repeat2] = "try_statement_repeat2", + [aux_sym_exception_list_repeat1] = "exception_list_repeat1", [aux_sym_with_clause_repeat1] = "with_clause_repeat1", [aux_sym_cases_repeat1] = "cases_repeat1", [aux_sym_open_sequence_match_pattern_repeat1] = "open_sequence_match_pattern_repeat1", @@ -736,6 +740,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_for_statement] = sym_for_statement, [sym_while_statement] = sym_while_statement, [sym_try_statement] = sym_try_statement, + [sym_exception_list] = sym_exception_list, [sym_except_clause] = sym_except_clause, [sym_except_group_clause] = sym_except_group_clause, [sym_finally_clause] = sym_finally_clause, @@ -860,6 +865,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_if_statement_repeat1] = aux_sym_if_statement_repeat1, [aux_sym_try_statement_repeat1] = aux_sym_try_statement_repeat1, [aux_sym_try_statement_repeat2] = aux_sym_try_statement_repeat2, + [aux_sym_exception_list_repeat1] = aux_sym_exception_list_repeat1, [aux_sym_with_clause_repeat1] = aux_sym_with_clause_repeat1, [aux_sym_cases_repeat1] = aux_sym_cases_repeat1, [aux_sym_open_sequence_match_pattern_repeat1] = aux_sym_open_sequence_match_pattern_repeat1, @@ -1436,6 +1442,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_exception_list] = { + .visible = true, + .named = true, + }, [sym_except_clause] = { .visible = true, .named = true, @@ -1936,6 +1946,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_exception_list_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_with_clause_repeat1] = { .visible = false, .named = false, @@ -6181,12 +6195,12 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [57] = {.lex_state = 50, .external_lex_state = 3}, [58] = {.lex_state = 50, .external_lex_state = 3}, [59] = {.lex_state = 50, .external_lex_state = 3}, - [60] = {.lex_state = 50, .external_lex_state = 2}, + [60] = {.lex_state = 50, .external_lex_state = 3}, [61] = {.lex_state = 50, .external_lex_state = 3}, - [62] = {.lex_state = 50, .external_lex_state = 2}, + [62] = {.lex_state = 50, .external_lex_state = 3}, [63] = {.lex_state = 50, .external_lex_state = 3}, - [64] = {.lex_state = 50, .external_lex_state = 3}, - [65] = {.lex_state = 50, .external_lex_state = 3}, + [64] = {.lex_state = 50, .external_lex_state = 2}, + [65] = {.lex_state = 50, .external_lex_state = 2}, [66] = {.lex_state = 50, .external_lex_state = 4}, [67] = {.lex_state = 50, .external_lex_state = 4}, [68] = {.lex_state = 50, .external_lex_state = 5}, @@ -6205,7 +6219,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [81] = {.lex_state = 50, .external_lex_state = 5}, [82] = {.lex_state = 50, .external_lex_state = 5}, [83] = {.lex_state = 50, .external_lex_state = 5}, - [84] = {.lex_state = 50, .external_lex_state = 4}, + [84] = {.lex_state = 50, .external_lex_state = 5}, [85] = {.lex_state = 50, .external_lex_state = 5}, [86] = {.lex_state = 50, .external_lex_state = 5}, [87] = {.lex_state = 50, .external_lex_state = 5}, @@ -6232,7 +6246,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [108] = {.lex_state = 50, .external_lex_state = 5}, [109] = {.lex_state = 50, .external_lex_state = 5}, [110] = {.lex_state = 50, .external_lex_state = 5}, - [111] = {.lex_state = 50, .external_lex_state = 5}, + [111] = {.lex_state = 50, .external_lex_state = 4}, [112] = {.lex_state = 50, .external_lex_state = 5}, [113] = {.lex_state = 50, .external_lex_state = 5}, [114] = {.lex_state = 50, .external_lex_state = 5}, @@ -6261,12 +6275,12 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [137] = {.lex_state = 14, .external_lex_state = 2}, [138] = {.lex_state = 50, .external_lex_state = 2}, [139] = {.lex_state = 14, .external_lex_state = 2}, - [140] = {.lex_state = 14, .external_lex_state = 2}, - [141] = {.lex_state = 50, .external_lex_state = 4}, + [140] = {.lex_state = 50, .external_lex_state = 4}, + [141] = {.lex_state = 14, .external_lex_state = 2}, [142] = {.lex_state = 14, .external_lex_state = 2}, - [143] = {.lex_state = 50, .external_lex_state = 4}, + [143] = {.lex_state = 50, .external_lex_state = 2}, [144] = {.lex_state = 50, .external_lex_state = 2}, - [145] = {.lex_state = 50, .external_lex_state = 2}, + [145] = {.lex_state = 50, .external_lex_state = 4}, [146] = {.lex_state = 50, .external_lex_state = 2}, [147] = {.lex_state = 14, .external_lex_state = 2}, [148] = {.lex_state = 50, .external_lex_state = 2}, @@ -6275,21 +6289,21 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [151] = {.lex_state = 50, .external_lex_state = 2}, [152] = {.lex_state = 14, .external_lex_state = 2}, [153] = {.lex_state = 50, .external_lex_state = 2}, - [154] = {.lex_state = 14, .external_lex_state = 2}, + [154] = {.lex_state = 50, .external_lex_state = 2}, [155] = {.lex_state = 50, .external_lex_state = 2}, [156] = {.lex_state = 50, .external_lex_state = 2}, [157] = {.lex_state = 50, .external_lex_state = 2}, [158] = {.lex_state = 14, .external_lex_state = 2}, [159] = {.lex_state = 50, .external_lex_state = 2}, - [160] = {.lex_state = 50, .external_lex_state = 2}, - [161] = {.lex_state = 14, .external_lex_state = 2}, - [162] = {.lex_state = 50, .external_lex_state = 2}, + [160] = {.lex_state = 14, .external_lex_state = 2}, + [161] = {.lex_state = 50, .external_lex_state = 2}, + [162] = {.lex_state = 14, .external_lex_state = 2}, [163] = {.lex_state = 14, .external_lex_state = 2}, [164] = {.lex_state = 50, .external_lex_state = 2}, [165] = {.lex_state = 14, .external_lex_state = 2}, [166] = {.lex_state = 50, .external_lex_state = 2}, [167] = {.lex_state = 50, .external_lex_state = 2}, - [168] = {.lex_state = 50, .external_lex_state = 4}, + [168] = {.lex_state = 50, .external_lex_state = 2}, [169] = {.lex_state = 50, .external_lex_state = 2}, [170] = {.lex_state = 50, .external_lex_state = 2}, [171] = {.lex_state = 50, .external_lex_state = 2}, @@ -6298,20 +6312,20 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [174] = {.lex_state = 50, .external_lex_state = 2}, [175] = {.lex_state = 50, .external_lex_state = 2}, [176] = {.lex_state = 50, .external_lex_state = 2}, - [177] = {.lex_state = 50, .external_lex_state = 2}, + [177] = {.lex_state = 50, .external_lex_state = 4}, [178] = {.lex_state = 50, .external_lex_state = 4}, [179] = {.lex_state = 50, .external_lex_state = 2}, [180] = {.lex_state = 50, .external_lex_state = 2}, [181] = {.lex_state = 50, .external_lex_state = 2}, [182] = {.lex_state = 50, .external_lex_state = 2}, - [183] = {.lex_state = 50, .external_lex_state = 4}, + [183] = {.lex_state = 50, .external_lex_state = 2}, [184] = {.lex_state = 50, .external_lex_state = 2}, - [185] = {.lex_state = 50, .external_lex_state = 4}, + [185] = {.lex_state = 50, .external_lex_state = 2}, [186] = {.lex_state = 50, .external_lex_state = 4}, [187] = {.lex_state = 50, .external_lex_state = 2}, - [188] = {.lex_state = 50, .external_lex_state = 2}, + [188] = {.lex_state = 50, .external_lex_state = 4}, [189] = {.lex_state = 50, .external_lex_state = 2}, - [190] = {.lex_state = 50, .external_lex_state = 2}, + [190] = {.lex_state = 50, .external_lex_state = 4}, [191] = {.lex_state = 50, .external_lex_state = 2}, [192] = {.lex_state = 50, .external_lex_state = 2}, [193] = {.lex_state = 50, .external_lex_state = 2}, @@ -6320,7 +6334,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [196] = {.lex_state = 50, .external_lex_state = 2}, [197] = {.lex_state = 50, .external_lex_state = 2}, [198] = {.lex_state = 50, .external_lex_state = 2}, - [199] = {.lex_state = 50, .external_lex_state = 4}, + [199] = {.lex_state = 50, .external_lex_state = 2}, [200] = {.lex_state = 50, .external_lex_state = 2}, [201] = {.lex_state = 50, .external_lex_state = 2}, [202] = {.lex_state = 50, .external_lex_state = 2}, @@ -6331,24 +6345,24 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [207] = {.lex_state = 50, .external_lex_state = 2}, [208] = {.lex_state = 50, .external_lex_state = 2}, [209] = {.lex_state = 50, .external_lex_state = 2}, - [210] = {.lex_state = 50, .external_lex_state = 2}, + [210] = {.lex_state = 50, .external_lex_state = 4}, [211] = {.lex_state = 50, .external_lex_state = 2}, [212] = {.lex_state = 50, .external_lex_state = 2}, - [213] = {.lex_state = 50, .external_lex_state = 2}, + [213] = {.lex_state = 14, .external_lex_state = 2}, [214] = {.lex_state = 14, .external_lex_state = 2}, - [215] = {.lex_state = 50, .external_lex_state = 2}, + [215] = {.lex_state = 14, .external_lex_state = 2}, [216] = {.lex_state = 14, .external_lex_state = 2}, - [217] = {.lex_state = 14, .external_lex_state = 2}, + [217] = {.lex_state = 50, .external_lex_state = 2}, [218] = {.lex_state = 14, .external_lex_state = 2}, - [219] = {.lex_state = 14, .external_lex_state = 2}, + [219] = {.lex_state = 50, .external_lex_state = 2}, [220] = {.lex_state = 14, .external_lex_state = 2}, [221] = {.lex_state = 50, .external_lex_state = 2}, [222] = {.lex_state = 50, .external_lex_state = 2}, [223] = {.lex_state = 50, .external_lex_state = 2}, [224] = {.lex_state = 50, .external_lex_state = 2}, [225] = {.lex_state = 50, .external_lex_state = 2}, - [226] = {.lex_state = 50, .external_lex_state = 2}, - [227] = {.lex_state = 14, .external_lex_state = 2}, + [226] = {.lex_state = 14, .external_lex_state = 2}, + [227] = {.lex_state = 50, .external_lex_state = 2}, [228] = {.lex_state = 50, .external_lex_state = 2}, [229] = {.lex_state = 50, .external_lex_state = 2}, [230] = {.lex_state = 50, .external_lex_state = 2}, @@ -6361,80 +6375,80 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [237] = {.lex_state = 50, .external_lex_state = 2}, [238] = {.lex_state = 50, .external_lex_state = 2}, [239] = {.lex_state = 50, .external_lex_state = 2}, - [240] = {.lex_state = 50, .external_lex_state = 3}, + [240] = {.lex_state = 50, .external_lex_state = 2}, [241] = {.lex_state = 50, .external_lex_state = 2}, [242] = {.lex_state = 50, .external_lex_state = 2}, - [243] = {.lex_state = 16}, - [244] = {.lex_state = 50, .external_lex_state = 3}, - [245] = {.lex_state = 50, .external_lex_state = 2}, - [246] = {.lex_state = 16}, + [243] = {.lex_state = 14, .external_lex_state = 2}, + [244] = {.lex_state = 16}, + [245] = {.lex_state = 16}, + [246] = {.lex_state = 14, .external_lex_state = 2}, [247] = {.lex_state = 50, .external_lex_state = 2}, [248] = {.lex_state = 50, .external_lex_state = 2}, - [249] = {.lex_state = 14, .external_lex_state = 2}, - [250] = {.lex_state = 50, .external_lex_state = 2}, + [249] = {.lex_state = 50, .external_lex_state = 2}, + [250] = {.lex_state = 50, .external_lex_state = 3}, [251] = {.lex_state = 50, .external_lex_state = 2}, - [252] = {.lex_state = 50, .external_lex_state = 2}, + [252] = {.lex_state = 50, .external_lex_state = 3}, [253] = {.lex_state = 50, .external_lex_state = 2}, - [254] = {.lex_state = 14, .external_lex_state = 2}, - [255] = {.lex_state = 50, .external_lex_state = 2}, + [254] = {.lex_state = 50, .external_lex_state = 2}, + [255] = {.lex_state = 50, .external_lex_state = 3}, [256] = {.lex_state = 50, .external_lex_state = 2}, - [257] = {.lex_state = 50, .external_lex_state = 2}, + [257] = {.lex_state = 50, .external_lex_state = 3}, [258] = {.lex_state = 50, .external_lex_state = 2}, - [259] = {.lex_state = 50, .external_lex_state = 3}, - [260] = {.lex_state = 50, .external_lex_state = 3}, + [259] = {.lex_state = 50, .external_lex_state = 2}, + [260] = {.lex_state = 50, .external_lex_state = 2}, [261] = {.lex_state = 50, .external_lex_state = 2}, - [262] = {.lex_state = 50, .external_lex_state = 2}, - [263] = {.lex_state = 50, .external_lex_state = 2}, + [262] = {.lex_state = 14, .external_lex_state = 2}, + [263] = {.lex_state = 14, .external_lex_state = 2}, [264] = {.lex_state = 50, .external_lex_state = 2}, - [265] = {.lex_state = 50, .external_lex_state = 2}, + [265] = {.lex_state = 50, .external_lex_state = 4}, [266] = {.lex_state = 50, .external_lex_state = 2}, - [267] = {.lex_state = 50, .external_lex_state = 2}, + [267] = {.lex_state = 14, .external_lex_state = 2}, [268] = {.lex_state = 50, .external_lex_state = 2}, - [269] = {.lex_state = 50, .external_lex_state = 4}, + [269] = {.lex_state = 50, .external_lex_state = 2}, [270] = {.lex_state = 50, .external_lex_state = 2}, [271] = {.lex_state = 50, .external_lex_state = 4}, - [272] = {.lex_state = 50, .external_lex_state = 2}, + [272] = {.lex_state = 50, .external_lex_state = 4}, [273] = {.lex_state = 50, .external_lex_state = 2}, [274] = {.lex_state = 50, .external_lex_state = 2}, [275] = {.lex_state = 50, .external_lex_state = 2}, [276] = {.lex_state = 50, .external_lex_state = 2}, - [277] = {.lex_state = 50, .external_lex_state = 2}, - [278] = {.lex_state = 50, .external_lex_state = 4}, - [279] = {.lex_state = 50, .external_lex_state = 4}, + [277] = {.lex_state = 14, .external_lex_state = 2}, + [278] = {.lex_state = 50, .external_lex_state = 2}, + [279] = {.lex_state = 50, .external_lex_state = 2}, [280] = {.lex_state = 50, .external_lex_state = 2}, [281] = {.lex_state = 50, .external_lex_state = 2}, - [282] = {.lex_state = 14, .external_lex_state = 2}, - [283] = {.lex_state = 14, .external_lex_state = 2}, + [282] = {.lex_state = 50, .external_lex_state = 2}, + [283] = {.lex_state = 50, .external_lex_state = 2}, [284] = {.lex_state = 50, .external_lex_state = 2}, [285] = {.lex_state = 50, .external_lex_state = 2}, - [286] = {.lex_state = 50, .external_lex_state = 3}, - [287] = {.lex_state = 15, .external_lex_state = 6}, + [286] = {.lex_state = 50, .external_lex_state = 4}, + [287] = {.lex_state = 50, .external_lex_state = 2}, [288] = {.lex_state = 50, .external_lex_state = 2}, [289] = {.lex_state = 50, .external_lex_state = 2}, [290] = {.lex_state = 50, .external_lex_state = 2}, - [291] = {.lex_state = 50, .external_lex_state = 3}, - [292] = {.lex_state = 50, .external_lex_state = 2}, + [291] = {.lex_state = 50, .external_lex_state = 2}, + [292] = {.lex_state = 50, .external_lex_state = 3}, [293] = {.lex_state = 50, .external_lex_state = 3}, - [294] = {.lex_state = 50, .external_lex_state = 3}, - [295] = {.lex_state = 50, .external_lex_state = 3}, + [294] = {.lex_state = 50, .external_lex_state = 2}, + [295] = {.lex_state = 50, .external_lex_state = 2}, [296] = {.lex_state = 50, .external_lex_state = 3}, - [297] = {.lex_state = 50, .external_lex_state = 3}, - [298] = {.lex_state = 50, .external_lex_state = 3}, - [299] = {.lex_state = 50, .external_lex_state = 3}, - [300] = {.lex_state = 15, .external_lex_state = 6}, - [301] = {.lex_state = 50, .external_lex_state = 2}, + [297] = {.lex_state = 50, .external_lex_state = 2}, + [298] = {.lex_state = 15, .external_lex_state = 6}, + [299] = {.lex_state = 15, .external_lex_state = 6}, + [300] = {.lex_state = 50, .external_lex_state = 3}, + [301] = {.lex_state = 50, .external_lex_state = 3}, [302] = {.lex_state = 50, .external_lex_state = 2}, - [303] = {.lex_state = 50, .external_lex_state = 3}, - [304] = {.lex_state = 14, .external_lex_state = 2}, + [303] = {.lex_state = 50, .external_lex_state = 2}, + [304] = {.lex_state = 50, .external_lex_state = 3}, [305] = {.lex_state = 50, .external_lex_state = 2}, - [306] = {.lex_state = 50, .external_lex_state = 2}, - [307] = {.lex_state = 50, .external_lex_state = 2}, - [308] = {.lex_state = 50, .external_lex_state = 3}, + [306] = {.lex_state = 50, .external_lex_state = 3}, + [307] = {.lex_state = 50, .external_lex_state = 3}, + [308] = {.lex_state = 50, .external_lex_state = 2}, [309] = {.lex_state = 50, .external_lex_state = 2}, - [310] = {.lex_state = 50, .external_lex_state = 2}, - [311] = {.lex_state = 14, .external_lex_state = 2}, - [312] = {.lex_state = 50, .external_lex_state = 2}, - [313] = {.lex_state = 50, .external_lex_state = 2}, + [310] = {.lex_state = 50, .external_lex_state = 3}, + [311] = {.lex_state = 50, .external_lex_state = 2}, + [312] = {.lex_state = 50, .external_lex_state = 3}, + [313] = {.lex_state = 50, .external_lex_state = 3}, [314] = {.lex_state = 50, .external_lex_state = 2}, [315] = {.lex_state = 50, .external_lex_state = 2}, [316] = {.lex_state = 50, .external_lex_state = 2}, @@ -6474,7 +6488,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [350] = {.lex_state = 50, .external_lex_state = 2}, [351] = {.lex_state = 50, .external_lex_state = 2}, [352] = {.lex_state = 50, .external_lex_state = 2}, - [353] = {.lex_state = 15, .external_lex_state = 7}, + [353] = {.lex_state = 50, .external_lex_state = 2}, [354] = {.lex_state = 50, .external_lex_state = 2}, [355] = {.lex_state = 50, .external_lex_state = 2}, [356] = {.lex_state = 50, .external_lex_state = 2}, @@ -6490,7 +6504,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [366] = {.lex_state = 50, .external_lex_state = 2}, [367] = {.lex_state = 50, .external_lex_state = 2}, [368] = {.lex_state = 50, .external_lex_state = 2}, - [369] = {.lex_state = 50, .external_lex_state = 2}, + [369] = {.lex_state = 50, .external_lex_state = 3}, [370] = {.lex_state = 50, .external_lex_state = 2}, [371] = {.lex_state = 50, .external_lex_state = 2}, [372] = {.lex_state = 50, .external_lex_state = 2}, @@ -6502,156 +6516,156 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [378] = {.lex_state = 50, .external_lex_state = 2}, [379] = {.lex_state = 50, .external_lex_state = 2}, [380] = {.lex_state = 50, .external_lex_state = 2}, - [381] = {.lex_state = 50, .external_lex_state = 2}, + [381] = {.lex_state = 15, .external_lex_state = 7}, [382] = {.lex_state = 50, .external_lex_state = 2}, [383] = {.lex_state = 50, .external_lex_state = 2}, - [384] = {.lex_state = 50, .external_lex_state = 3}, + [384] = {.lex_state = 50, .external_lex_state = 2}, [385] = {.lex_state = 50, .external_lex_state = 2}, [386] = {.lex_state = 50, .external_lex_state = 2}, [387] = {.lex_state = 50, .external_lex_state = 2}, [388] = {.lex_state = 50, .external_lex_state = 2}, - [389] = {.lex_state = 50, .external_lex_state = 3}, - [390] = {.lex_state = 50, .external_lex_state = 2}, - [391] = {.lex_state = 50, .external_lex_state = 3}, + [389] = {.lex_state = 50, .external_lex_state = 2}, + [390] = {.lex_state = 50, .external_lex_state = 3}, + [391] = {.lex_state = 50, .external_lex_state = 2}, [392] = {.lex_state = 50, .external_lex_state = 3}, - [393] = {.lex_state = 50, .external_lex_state = 2}, + [393] = {.lex_state = 50, .external_lex_state = 3}, [394] = {.lex_state = 50, .external_lex_state = 2}, - [395] = {.lex_state = 50, .external_lex_state = 3}, + [395] = {.lex_state = 50, .external_lex_state = 2}, [396] = {.lex_state = 50, .external_lex_state = 2}, - [397] = {.lex_state = 50, .external_lex_state = 2}, - [398] = {.lex_state = 50, .external_lex_state = 3}, + [397] = {.lex_state = 15, .external_lex_state = 6}, + [398] = {.lex_state = 50, .external_lex_state = 2}, [399] = {.lex_state = 50, .external_lex_state = 2}, - [400] = {.lex_state = 50, .external_lex_state = 3}, + [400] = {.lex_state = 50, .external_lex_state = 2}, [401] = {.lex_state = 50, .external_lex_state = 3}, - [402] = {.lex_state = 50, .external_lex_state = 2}, - [403] = {.lex_state = 50, .external_lex_state = 2}, + [402] = {.lex_state = 50, .external_lex_state = 3}, + [403] = {.lex_state = 50, .external_lex_state = 3}, [404] = {.lex_state = 50, .external_lex_state = 3}, [405] = {.lex_state = 50, .external_lex_state = 2}, [406] = {.lex_state = 50, .external_lex_state = 3}, - [407] = {.lex_state = 50, .external_lex_state = 3}, - [408] = {.lex_state = 50, .external_lex_state = 2}, - [409] = {.lex_state = 15, .external_lex_state = 6}, - [410] = {.lex_state = 50, .external_lex_state = 2}, - [411] = {.lex_state = 50, .external_lex_state = 3}, - [412] = {.lex_state = 50, .external_lex_state = 2}, + [407] = {.lex_state = 50, .external_lex_state = 2}, + [408] = {.lex_state = 50, .external_lex_state = 3}, + [409] = {.lex_state = 50, .external_lex_state = 2}, + [410] = {.lex_state = 50, .external_lex_state = 3}, + [411] = {.lex_state = 50, .external_lex_state = 2}, + [412] = {.lex_state = 50, .external_lex_state = 3}, [413] = {.lex_state = 50, .external_lex_state = 3}, - [414] = {.lex_state = 15, .external_lex_state = 6}, + [414] = {.lex_state = 50, .external_lex_state = 2}, [415] = {.lex_state = 50, .external_lex_state = 2}, - [416] = {.lex_state = 16, .external_lex_state = 6}, - [417] = {.lex_state = 50, .external_lex_state = 3}, - [418] = {.lex_state = 50, .external_lex_state = 2}, - [419] = {.lex_state = 50, .external_lex_state = 2}, + [416] = {.lex_state = 15}, + [417] = {.lex_state = 50, .external_lex_state = 2}, + [418] = {.lex_state = 50, .external_lex_state = 3}, + [419] = {.lex_state = 50, .external_lex_state = 3}, [420] = {.lex_state = 50, .external_lex_state = 2}, - [421] = {.lex_state = 50, .external_lex_state = 2}, - [422] = {.lex_state = 50, .external_lex_state = 3}, + [421] = {.lex_state = 50, .external_lex_state = 3}, + [422] = {.lex_state = 16, .external_lex_state = 6}, [423] = {.lex_state = 50, .external_lex_state = 2}, [424] = {.lex_state = 50, .external_lex_state = 3}, [425] = {.lex_state = 50, .external_lex_state = 3}, - [426] = {.lex_state = 50, .external_lex_state = 3}, - [427] = {.lex_state = 50, .external_lex_state = 2}, + [426] = {.lex_state = 50, .external_lex_state = 2}, + [427] = {.lex_state = 50, .external_lex_state = 3}, [428] = {.lex_state = 50, .external_lex_state = 2}, - [429] = {.lex_state = 16, .external_lex_state = 6}, + [429] = {.lex_state = 15, .external_lex_state = 6}, [430] = {.lex_state = 50, .external_lex_state = 3}, - [431] = {.lex_state = 50, .external_lex_state = 2}, - [432] = {.lex_state = 50, .external_lex_state = 3}, + [431] = {.lex_state = 50, .external_lex_state = 3}, + [432] = {.lex_state = 50, .external_lex_state = 2}, [433] = {.lex_state = 50, .external_lex_state = 3}, - [434] = {.lex_state = 50, .external_lex_state = 3}, - [435] = {.lex_state = 15, .external_lex_state = 6}, - [436] = {.lex_state = 50, .external_lex_state = 2}, - [437] = {.lex_state = 15}, - [438] = {.lex_state = 15}, - [439] = {.lex_state = 50, .external_lex_state = 2}, - [440] = {.lex_state = 50, .external_lex_state = 3}, + [434] = {.lex_state = 50, .external_lex_state = 2}, + [435] = {.lex_state = 50, .external_lex_state = 2}, + [436] = {.lex_state = 50, .external_lex_state = 3}, + [437] = {.lex_state = 50, .external_lex_state = 2}, + [438] = {.lex_state = 50, .external_lex_state = 2}, + [439] = {.lex_state = 50, .external_lex_state = 3}, + [440] = {.lex_state = 15, .external_lex_state = 6}, [441] = {.lex_state = 50, .external_lex_state = 2}, - [442] = {.lex_state = 50, .external_lex_state = 3}, - [443] = {.lex_state = 50, .external_lex_state = 2}, + [442] = {.lex_state = 15}, + [443] = {.lex_state = 16, .external_lex_state = 6}, [444] = {.lex_state = 50, .external_lex_state = 2}, [445] = {.lex_state = 50, .external_lex_state = 2}, - [446] = {.lex_state = 50, .external_lex_state = 2}, + [446] = {.lex_state = 16, .external_lex_state = 6}, [447] = {.lex_state = 50, .external_lex_state = 2}, [448] = {.lex_state = 50, .external_lex_state = 2}, - [449] = {.lex_state = 50, .external_lex_state = 3}, + [449] = {.lex_state = 50, .external_lex_state = 2}, [450] = {.lex_state = 50, .external_lex_state = 2}, - [451] = {.lex_state = 50, .external_lex_state = 3}, - [452] = {.lex_state = 50, .external_lex_state = 2}, + [451] = {.lex_state = 16, .external_lex_state = 6}, + [452] = {.lex_state = 16}, [453] = {.lex_state = 50, .external_lex_state = 2}, - [454] = {.lex_state = 16, .external_lex_state = 6}, - [455] = {.lex_state = 16}, - [456] = {.lex_state = 16, .external_lex_state = 6}, - [457] = {.lex_state = 50, .external_lex_state = 3}, + [454] = {.lex_state = 50, .external_lex_state = 2}, + [455] = {.lex_state = 50, .external_lex_state = 3}, + [456] = {.lex_state = 50, .external_lex_state = 2}, + [457] = {.lex_state = 50, .external_lex_state = 2}, [458] = {.lex_state = 50, .external_lex_state = 2}, - [459] = {.lex_state = 50, .external_lex_state = 3}, - [460] = {.lex_state = 50, .external_lex_state = 2}, + [459] = {.lex_state = 16, .external_lex_state = 6}, + [460] = {.lex_state = 50, .external_lex_state = 3}, [461] = {.lex_state = 50, .external_lex_state = 2}, [462] = {.lex_state = 50, .external_lex_state = 3}, - [463] = {.lex_state = 16, .external_lex_state = 6}, - [464] = {.lex_state = 50, .external_lex_state = 2}, - [465] = {.lex_state = 50, .external_lex_state = 3}, - [466] = {.lex_state = 50, .external_lex_state = 2}, - [467] = {.lex_state = 50, .external_lex_state = 3}, - [468] = {.lex_state = 50, .external_lex_state = 2}, - [469] = {.lex_state = 50, .external_lex_state = 3}, + [463] = {.lex_state = 50, .external_lex_state = 3}, + [464] = {.lex_state = 50, .external_lex_state = 3}, + [465] = {.lex_state = 50, .external_lex_state = 2}, + [466] = {.lex_state = 50, .external_lex_state = 3}, + [467] = {.lex_state = 50, .external_lex_state = 2}, + [468] = {.lex_state = 50, .external_lex_state = 3}, + [469] = {.lex_state = 50, .external_lex_state = 2}, [470] = {.lex_state = 50, .external_lex_state = 3}, - [471] = {.lex_state = 50, .external_lex_state = 2}, - [472] = {.lex_state = 50, .external_lex_state = 3}, + [471] = {.lex_state = 50, .external_lex_state = 3}, + [472] = {.lex_state = 50, .external_lex_state = 2}, [473] = {.lex_state = 50, .external_lex_state = 3}, - [474] = {.lex_state = 50, .external_lex_state = 2}, + [474] = {.lex_state = 50, .external_lex_state = 3}, [475] = {.lex_state = 50, .external_lex_state = 3}, - [476] = {.lex_state = 50, .external_lex_state = 3}, - [477] = {.lex_state = 50, .external_lex_state = 2}, - [478] = {.lex_state = 50, .external_lex_state = 2}, - [479] = {.lex_state = 50, .external_lex_state = 2}, - [480] = {.lex_state = 50, .external_lex_state = 2}, - [481] = {.lex_state = 50, .external_lex_state = 2}, - [482] = {.lex_state = 50, .external_lex_state = 3}, - [483] = {.lex_state = 50, .external_lex_state = 3}, - [484] = {.lex_state = 50, .external_lex_state = 3}, - [485] = {.lex_state = 50, .external_lex_state = 3}, + [476] = {.lex_state = 50, .external_lex_state = 2}, + [477] = {.lex_state = 50, .external_lex_state = 3}, + [478] = {.lex_state = 50, .external_lex_state = 3}, + [479] = {.lex_state = 50, .external_lex_state = 3}, + [480] = {.lex_state = 50, .external_lex_state = 3}, + [481] = {.lex_state = 50, .external_lex_state = 3}, + [482] = {.lex_state = 50, .external_lex_state = 2}, + [483] = {.lex_state = 50, .external_lex_state = 2}, + [484] = {.lex_state = 50, .external_lex_state = 2}, + [485] = {.lex_state = 50, .external_lex_state = 2}, [486] = {.lex_state = 50, .external_lex_state = 3}, - [487] = {.lex_state = 50, .external_lex_state = 3}, + [487] = {.lex_state = 50, .external_lex_state = 2}, [488] = {.lex_state = 50, .external_lex_state = 3}, [489] = {.lex_state = 50, .external_lex_state = 3}, - [490] = {.lex_state = 50, .external_lex_state = 3}, - [491] = {.lex_state = 50, .external_lex_state = 3}, + [490] = {.lex_state = 50, .external_lex_state = 2}, + [491] = {.lex_state = 50, .external_lex_state = 2}, [492] = {.lex_state = 50, .external_lex_state = 3}, [493] = {.lex_state = 50, .external_lex_state = 3}, [494] = {.lex_state = 50, .external_lex_state = 3}, [495] = {.lex_state = 50, .external_lex_state = 3}, [496] = {.lex_state = 50, .external_lex_state = 3}, - [497] = {.lex_state = 50, .external_lex_state = 3}, - [498] = {.lex_state = 50, .external_lex_state = 2}, - [499] = {.lex_state = 50, .external_lex_state = 2}, - [500] = {.lex_state = 50, .external_lex_state = 2}, + [497] = {.lex_state = 50, .external_lex_state = 2}, + [498] = {.lex_state = 50, .external_lex_state = 3}, + [499] = {.lex_state = 50, .external_lex_state = 3}, + [500] = {.lex_state = 50, .external_lex_state = 3}, [501] = {.lex_state = 50, .external_lex_state = 3}, [502] = {.lex_state = 50, .external_lex_state = 2}, - [503] = {.lex_state = 50, .external_lex_state = 2}, + [503] = {.lex_state = 50, .external_lex_state = 3}, [504] = {.lex_state = 50, .external_lex_state = 2}, [505] = {.lex_state = 50, .external_lex_state = 3}, [506] = {.lex_state = 50, .external_lex_state = 2}, - [507] = {.lex_state = 50, .external_lex_state = 3}, + [507] = {.lex_state = 50, .external_lex_state = 2}, [508] = {.lex_state = 50, .external_lex_state = 2}, - [509] = {.lex_state = 50, .external_lex_state = 2}, - [510] = {.lex_state = 50, .external_lex_state = 3}, + [509] = {.lex_state = 50, .external_lex_state = 3}, + [510] = {.lex_state = 50, .external_lex_state = 2}, [511] = {.lex_state = 50, .external_lex_state = 3}, [512] = {.lex_state = 50, .external_lex_state = 3}, - [513] = {.lex_state = 50, .external_lex_state = 3}, - [514] = {.lex_state = 50, .external_lex_state = 2}, + [513] = {.lex_state = 50, .external_lex_state = 2}, + [514] = {.lex_state = 50, .external_lex_state = 3}, [515] = {.lex_state = 50, .external_lex_state = 2}, - [516] = {.lex_state = 50, .external_lex_state = 2}, - [517] = {.lex_state = 50, .external_lex_state = 2}, - [518] = {.lex_state = 50, .external_lex_state = 3}, - [519] = {.lex_state = 50, .external_lex_state = 3}, - [520] = {.lex_state = 50, .external_lex_state = 3}, + [516] = {.lex_state = 50, .external_lex_state = 3}, + [517] = {.lex_state = 50, .external_lex_state = 3}, + [518] = {.lex_state = 50, .external_lex_state = 2}, + [519] = {.lex_state = 50, .external_lex_state = 2}, + [520] = {.lex_state = 50, .external_lex_state = 2}, [521] = {.lex_state = 50, .external_lex_state = 2}, - [522] = {.lex_state = 50, .external_lex_state = 2}, - [523] = {.lex_state = 50, .external_lex_state = 3}, - [524] = {.lex_state = 50, .external_lex_state = 3}, - [525] = {.lex_state = 50, .external_lex_state = 2}, - [526] = {.lex_state = 50, .external_lex_state = 2}, + [522] = {.lex_state = 50, .external_lex_state = 3}, + [523] = {.lex_state = 50, .external_lex_state = 2}, + [524] = {.lex_state = 50, .external_lex_state = 2}, + [525] = {.lex_state = 50, .external_lex_state = 3}, + [526] = {.lex_state = 50, .external_lex_state = 3}, [527] = {.lex_state = 50, .external_lex_state = 2}, [528] = {.lex_state = 50, .external_lex_state = 2}, [529] = {.lex_state = 50, .external_lex_state = 3}, - [530] = {.lex_state = 50, .external_lex_state = 2}, + [530] = {.lex_state = 50, .external_lex_state = 3}, [531] = {.lex_state = 50, .external_lex_state = 2}, [532] = {.lex_state = 50, .external_lex_state = 2}, [533] = {.lex_state = 50, .external_lex_state = 2}, @@ -6668,47 +6682,47 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [544] = {.lex_state = 50, .external_lex_state = 2}, [545] = {.lex_state = 50, .external_lex_state = 2}, [546] = {.lex_state = 50, .external_lex_state = 2}, - [547] = {.lex_state = 50, .external_lex_state = 3}, - [548] = {.lex_state = 50, .external_lex_state = 2}, - [549] = {.lex_state = 50, .external_lex_state = 3}, - [550] = {.lex_state = 50, .external_lex_state = 2}, - [551] = {.lex_state = 50, .external_lex_state = 2}, + [547] = {.lex_state = 50, .external_lex_state = 2}, + [548] = {.lex_state = 50, .external_lex_state = 3}, + [549] = {.lex_state = 50, .external_lex_state = 2}, + [550] = {.lex_state = 50, .external_lex_state = 3}, + [551] = {.lex_state = 50, .external_lex_state = 3}, [552] = {.lex_state = 50, .external_lex_state = 2}, [553] = {.lex_state = 50, .external_lex_state = 3}, [554] = {.lex_state = 50, .external_lex_state = 2}, [555] = {.lex_state = 50, .external_lex_state = 3}, - [556] = {.lex_state = 50, .external_lex_state = 3}, + [556] = {.lex_state = 50, .external_lex_state = 2}, [557] = {.lex_state = 50, .external_lex_state = 2}, [558] = {.lex_state = 50, .external_lex_state = 2}, [559] = {.lex_state = 50, .external_lex_state = 3}, - [560] = {.lex_state = 50, .external_lex_state = 2}, - [561] = {.lex_state = 50, .external_lex_state = 2}, + [560] = {.lex_state = 50, .external_lex_state = 3}, + [561] = {.lex_state = 50, .external_lex_state = 3}, [562] = {.lex_state = 50, .external_lex_state = 2}, - [563] = {.lex_state = 50, .external_lex_state = 3}, - [564] = {.lex_state = 50, .external_lex_state = 3}, + [563] = {.lex_state = 50, .external_lex_state = 2}, + [564] = {.lex_state = 50, .external_lex_state = 2}, [565] = {.lex_state = 50, .external_lex_state = 2}, [566] = {.lex_state = 50, .external_lex_state = 2}, - [567] = {.lex_state = 14, .external_lex_state = 2}, - [568] = {.lex_state = 16, .external_lex_state = 8}, - [569] = {.lex_state = 16, .external_lex_state = 9}, - [570] = {.lex_state = 16, .external_lex_state = 8}, + [567] = {.lex_state = 50, .external_lex_state = 2}, + [568] = {.lex_state = 14, .external_lex_state = 2}, + [569] = {.lex_state = 16, .external_lex_state = 8}, + [570] = {.lex_state = 16, .external_lex_state = 9}, [571] = {.lex_state = 16, .external_lex_state = 9}, - [572] = {.lex_state = 16, .external_lex_state = 8}, - [573] = {.lex_state = 16, .external_lex_state = 9}, - [574] = {.lex_state = 50, .external_lex_state = 2}, + [572] = {.lex_state = 16, .external_lex_state = 9}, + [573] = {.lex_state = 16, .external_lex_state = 8}, + [574] = {.lex_state = 16, .external_lex_state = 8}, [575] = {.lex_state = 50, .external_lex_state = 2}, [576] = {.lex_state = 50, .external_lex_state = 2}, [577] = {.lex_state = 50, .external_lex_state = 2}, [578] = {.lex_state = 50, .external_lex_state = 2}, [579] = {.lex_state = 50, .external_lex_state = 2}, - [580] = {.lex_state = 50, .external_lex_state = 2}, - [581] = {.lex_state = 16, .external_lex_state = 8}, - [582] = {.lex_state = 16, .external_lex_state = 9}, + [580] = {.lex_state = 16, .external_lex_state = 8}, + [581] = {.lex_state = 16, .external_lex_state = 9}, + [582] = {.lex_state = 50, .external_lex_state = 2}, [583] = {.lex_state = 50, .external_lex_state = 2}, - [584] = {.lex_state = 50, .external_lex_state = 2}, + [584] = {.lex_state = 16, .external_lex_state = 8}, [585] = {.lex_state = 50, .external_lex_state = 2}, [586] = {.lex_state = 50, .external_lex_state = 2}, - [587] = {.lex_state = 16, .external_lex_state = 9}, + [587] = {.lex_state = 50, .external_lex_state = 2}, [588] = {.lex_state = 50, .external_lex_state = 2}, [589] = {.lex_state = 50, .external_lex_state = 2}, [590] = {.lex_state = 50, .external_lex_state = 2}, @@ -6723,7 +6737,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [599] = {.lex_state = 50, .external_lex_state = 2}, [600] = {.lex_state = 50, .external_lex_state = 2}, [601] = {.lex_state = 50, .external_lex_state = 2}, - [602] = {.lex_state = 16, .external_lex_state = 8}, + [602] = {.lex_state = 50, .external_lex_state = 2}, [603] = {.lex_state = 50, .external_lex_state = 2}, [604] = {.lex_state = 50, .external_lex_state = 2}, [605] = {.lex_state = 50, .external_lex_state = 2}, @@ -6745,11 +6759,11 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [621] = {.lex_state = 50, .external_lex_state = 2}, [622] = {.lex_state = 50, .external_lex_state = 2}, [623] = {.lex_state = 50, .external_lex_state = 2}, - [624] = {.lex_state = 50, .external_lex_state = 2}, + [624] = {.lex_state = 16, .external_lex_state = 9}, [625] = {.lex_state = 50, .external_lex_state = 2}, [626] = {.lex_state = 50, .external_lex_state = 2}, [627] = {.lex_state = 50, .external_lex_state = 2}, - [628] = {.lex_state = 16}, + [628] = {.lex_state = 50, .external_lex_state = 2}, [629] = {.lex_state = 16}, [630] = {.lex_state = 16}, [631] = {.lex_state = 16}, @@ -6806,147 +6820,147 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [682] = {.lex_state = 16}, [683] = {.lex_state = 16}, [684] = {.lex_state = 16}, - [685] = {.lex_state = 15}, + [685] = {.lex_state = 16}, [686] = {.lex_state = 16, .external_lex_state = 9}, - [687] = {.lex_state = 16}, - [688] = {.lex_state = 15}, - [689] = {.lex_state = 16, .external_lex_state = 8}, - [690] = {.lex_state = 15}, - [691] = {.lex_state = 16, .external_lex_state = 9}, - [692] = {.lex_state = 16}, - [693] = {.lex_state = 16, .external_lex_state = 8}, + [687] = {.lex_state = 15}, + [688] = {.lex_state = 16, .external_lex_state = 8}, + [689] = {.lex_state = 16, .external_lex_state = 9}, + [690] = {.lex_state = 16}, + [691] = {.lex_state = 16, .external_lex_state = 8}, + [692] = {.lex_state = 15}, + [693] = {.lex_state = 15}, [694] = {.lex_state = 15}, - [695] = {.lex_state = 16, .external_lex_state = 10}, - [696] = {.lex_state = 16, .external_lex_state = 7}, - [697] = {.lex_state = 16, .external_lex_state = 6}, + [695] = {.lex_state = 16}, + [696] = {.lex_state = 16, .external_lex_state = 10}, + [697] = {.lex_state = 16}, [698] = {.lex_state = 16, .external_lex_state = 7}, - [699] = {.lex_state = 16, .external_lex_state = 10}, - [700] = {.lex_state = 16}, + [699] = {.lex_state = 16, .external_lex_state = 7}, + [700] = {.lex_state = 16, .external_lex_state = 10}, [701] = {.lex_state = 16, .external_lex_state = 10}, - [702] = {.lex_state = 16, .external_lex_state = 7}, + [702] = {.lex_state = 16, .external_lex_state = 6}, [703] = {.lex_state = 16}, - [704] = {.lex_state = 16, .external_lex_state = 8}, + [704] = {.lex_state = 16, .external_lex_state = 7}, [705] = {.lex_state = 16, .external_lex_state = 6}, - [706] = {.lex_state = 16, .external_lex_state = 9}, - [707] = {.lex_state = 16, .external_lex_state = 8}, + [706] = {.lex_state = 16, .external_lex_state = 6}, + [707] = {.lex_state = 16, .external_lex_state = 6}, [708] = {.lex_state = 16, .external_lex_state = 6}, - [709] = {.lex_state = 16, .external_lex_state = 6}, + [709] = {.lex_state = 16, .external_lex_state = 8}, [710] = {.lex_state = 16, .external_lex_state = 6}, [711] = {.lex_state = 16, .external_lex_state = 6}, [712] = {.lex_state = 16, .external_lex_state = 6}, [713] = {.lex_state = 16, .external_lex_state = 6}, [714] = {.lex_state = 16, .external_lex_state = 6}, - [715] = {.lex_state = 16, .external_lex_state = 6}, + [715] = {.lex_state = 16, .external_lex_state = 9}, [716] = {.lex_state = 16, .external_lex_state = 8}, [717] = {.lex_state = 16, .external_lex_state = 6}, - [718] = {.lex_state = 16, .external_lex_state = 9}, + [718] = {.lex_state = 16}, [719] = {.lex_state = 16, .external_lex_state = 9}, - [720] = {.lex_state = 16, .external_lex_state = 6}, + [720] = {.lex_state = 16, .external_lex_state = 8}, [721] = {.lex_state = 16, .external_lex_state = 6}, - [722] = {.lex_state = 16}, - [723] = {.lex_state = 16}, + [722] = {.lex_state = 16, .external_lex_state = 9}, + [723] = {.lex_state = 16, .external_lex_state = 6}, [724] = {.lex_state = 16}, - [725] = {.lex_state = 50, .external_lex_state = 2}, - [726] = {.lex_state = 16, .external_lex_state = 7}, - [727] = {.lex_state = 15}, - [728] = {.lex_state = 16}, - [729] = {.lex_state = 16}, - [730] = {.lex_state = 16, .external_lex_state = 7}, - [731] = {.lex_state = 14, .external_lex_state = 2}, + [725] = {.lex_state = 16, .external_lex_state = 10}, + [726] = {.lex_state = 16, .external_lex_state = 10}, + [727] = {.lex_state = 15, .external_lex_state = 6}, + [728] = {.lex_state = 50, .external_lex_state = 2}, + [729] = {.lex_state = 15}, + [730] = {.lex_state = 15, .external_lex_state = 6}, + [731] = {.lex_state = 16}, [732] = {.lex_state = 16}, - [733] = {.lex_state = 15}, - [734] = {.lex_state = 16, .external_lex_state = 10}, - [735] = {.lex_state = 16, .external_lex_state = 10}, - [736] = {.lex_state = 15}, - [737] = {.lex_state = 15}, + [733] = {.lex_state = 50, .external_lex_state = 2}, + [734] = {.lex_state = 16}, + [735] = {.lex_state = 16}, + [736] = {.lex_state = 16}, + [737] = {.lex_state = 14, .external_lex_state = 2}, [738] = {.lex_state = 16}, [739] = {.lex_state = 16}, [740] = {.lex_state = 16}, - [741] = {.lex_state = 15, .external_lex_state = 6}, + [741] = {.lex_state = 16}, [742] = {.lex_state = 16}, - [743] = {.lex_state = 15, .external_lex_state = 6}, + [743] = {.lex_state = 16, .external_lex_state = 7}, [744] = {.lex_state = 16}, [745] = {.lex_state = 16}, - [746] = {.lex_state = 50, .external_lex_state = 2}, - [747] = {.lex_state = 16}, + [746] = {.lex_state = 16}, + [747] = {.lex_state = 15}, [748] = {.lex_state = 16}, - [749] = {.lex_state = 16}, - [750] = {.lex_state = 16}, + [749] = {.lex_state = 15}, + [750] = {.lex_state = 14, .external_lex_state = 2}, [751] = {.lex_state = 16}, [752] = {.lex_state = 16}, - [753] = {.lex_state = 14, .external_lex_state = 2}, - [754] = {.lex_state = 16}, - [755] = {.lex_state = 16, .external_lex_state = 6}, - [756] = {.lex_state = 16, .external_lex_state = 6}, + [753] = {.lex_state = 16}, + [754] = {.lex_state = 15}, + [755] = {.lex_state = 16, .external_lex_state = 7}, + [756] = {.lex_state = 16}, [757] = {.lex_state = 16, .external_lex_state = 6}, [758] = {.lex_state = 16, .external_lex_state = 6}, [759] = {.lex_state = 16, .external_lex_state = 6}, [760] = {.lex_state = 16, .external_lex_state = 6}, [761] = {.lex_state = 16, .external_lex_state = 6}, - [762] = {.lex_state = 16, .external_lex_state = 6}, + [762] = {.lex_state = 15}, [763] = {.lex_state = 16, .external_lex_state = 6}, - [764] = {.lex_state = 15}, - [765] = {.lex_state = 16, .external_lex_state = 6}, - [766] = {.lex_state = 16, .external_lex_state = 6}, + [764] = {.lex_state = 16, .external_lex_state = 6}, + [765] = {.lex_state = 50, .external_lex_state = 2}, + [766] = {.lex_state = 50, .external_lex_state = 2}, [767] = {.lex_state = 16, .external_lex_state = 6}, [768] = {.lex_state = 50, .external_lex_state = 2}, - [769] = {.lex_state = 16}, - [770] = {.lex_state = 50, .external_lex_state = 2}, - [771] = {.lex_state = 16, .external_lex_state = 6}, + [769] = {.lex_state = 16, .external_lex_state = 6}, + [770] = {.lex_state = 16}, + [771] = {.lex_state = 50, .external_lex_state = 2}, [772] = {.lex_state = 16, .external_lex_state = 6}, - [773] = {.lex_state = 16, .external_lex_state = 6}, - [774] = {.lex_state = 16, .external_lex_state = 6}, + [773] = {.lex_state = 50, .external_lex_state = 2}, + [774] = {.lex_state = 50, .external_lex_state = 2}, [775] = {.lex_state = 16, .external_lex_state = 6}, [776] = {.lex_state = 16, .external_lex_state = 6}, - [777] = {.lex_state = 16}, - [778] = {.lex_state = 16, .external_lex_state = 6}, + [777] = {.lex_state = 16, .external_lex_state = 6}, + [778] = {.lex_state = 15}, [779] = {.lex_state = 16, .external_lex_state = 6}, - [780] = {.lex_state = 15}, + [780] = {.lex_state = 16, .external_lex_state = 6}, [781] = {.lex_state = 16, .external_lex_state = 6}, [782] = {.lex_state = 16, .external_lex_state = 6}, - [783] = {.lex_state = 50, .external_lex_state = 2}, + [783] = {.lex_state = 16, .external_lex_state = 6}, [784] = {.lex_state = 16, .external_lex_state = 6}, [785] = {.lex_state = 16, .external_lex_state = 6}, [786] = {.lex_state = 16, .external_lex_state = 6}, [787] = {.lex_state = 16, .external_lex_state = 6}, - [788] = {.lex_state = 50, .external_lex_state = 2}, - [789] = {.lex_state = 50, .external_lex_state = 2}, + [788] = {.lex_state = 16, .external_lex_state = 6}, + [789] = {.lex_state = 16, .external_lex_state = 6}, [790] = {.lex_state = 16, .external_lex_state = 6}, - [791] = {.lex_state = 16}, + [791] = {.lex_state = 16, .external_lex_state = 6}, [792] = {.lex_state = 16, .external_lex_state = 6}, [793] = {.lex_state = 16, .external_lex_state = 6}, [794] = {.lex_state = 16, .external_lex_state = 6}, [795] = {.lex_state = 16, .external_lex_state = 6}, - [796] = {.lex_state = 16, .external_lex_state = 6}, + [796] = {.lex_state = 16}, [797] = {.lex_state = 16, .external_lex_state = 6}, - [798] = {.lex_state = 50, .external_lex_state = 2}, - [799] = {.lex_state = 16}, - [800] = {.lex_state = 50, .external_lex_state = 2}, - [801] = {.lex_state = 15}, - [802] = {.lex_state = 50, .external_lex_state = 2}, + [798] = {.lex_state = 16, .external_lex_state = 6}, + [799] = {.lex_state = 16, .external_lex_state = 6}, + [800] = {.lex_state = 16}, + [801] = {.lex_state = 16}, + [802] = {.lex_state = 16}, [803] = {.lex_state = 15}, - [804] = {.lex_state = 16}, + [804] = {.lex_state = 50, .external_lex_state = 2}, [805] = {.lex_state = 16}, [806] = {.lex_state = 16}, - [807] = {.lex_state = 16}, + [807] = {.lex_state = 50, .external_lex_state = 2}, [808] = {.lex_state = 16}, [809] = {.lex_state = 16}, - [810] = {.lex_state = 16}, + [810] = {.lex_state = 50, .external_lex_state = 2}, [811] = {.lex_state = 16}, [812] = {.lex_state = 16}, [813] = {.lex_state = 16}, [814] = {.lex_state = 16}, [815] = {.lex_state = 16}, [816] = {.lex_state = 16}, - [817] = {.lex_state = 50, .external_lex_state = 2}, + [817] = {.lex_state = 16}, [818] = {.lex_state = 16}, [819] = {.lex_state = 16}, [820] = {.lex_state = 16}, [821] = {.lex_state = 16}, [822] = {.lex_state = 16}, - [823] = {.lex_state = 16}, + [823] = {.lex_state = 50, .external_lex_state = 2}, [824] = {.lex_state = 16}, - [825] = {.lex_state = 50, .external_lex_state = 2}, + [825] = {.lex_state = 15}, [826] = {.lex_state = 16}, [827] = {.lex_state = 16}, [828] = {.lex_state = 16}, @@ -6959,103 +6973,103 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [835] = {.lex_state = 16}, [836] = {.lex_state = 16}, [837] = {.lex_state = 16}, - [838] = {.lex_state = 50, .external_lex_state = 2}, + [838] = {.lex_state = 16}, [839] = {.lex_state = 50, .external_lex_state = 2}, [840] = {.lex_state = 50, .external_lex_state = 2}, [841] = {.lex_state = 50, .external_lex_state = 2}, [842] = {.lex_state = 50, .external_lex_state = 2}, - [843] = {.lex_state = 14}, + [843] = {.lex_state = 50, .external_lex_state = 2}, [844] = {.lex_state = 14}, [845] = {.lex_state = 14}, [846] = {.lex_state = 14}, [847] = {.lex_state = 14}, - [848] = {.lex_state = 50, .external_lex_state = 2}, + [848] = {.lex_state = 14}, [849] = {.lex_state = 14}, - [850] = {.lex_state = 50, .external_lex_state = 2}, + [850] = {.lex_state = 0, .external_lex_state = 6}, [851] = {.lex_state = 50, .external_lex_state = 2}, - [852] = {.lex_state = 0, .external_lex_state = 6}, + [852] = {.lex_state = 16}, [853] = {.lex_state = 14}, [854] = {.lex_state = 14}, - [855] = {.lex_state = 14}, - [856] = {.lex_state = 16}, - [857] = {.lex_state = 0, .external_lex_state = 6}, - [858] = {.lex_state = 16}, - [859] = {.lex_state = 14}, + [855] = {.lex_state = 50, .external_lex_state = 2}, + [856] = {.lex_state = 0, .external_lex_state = 6}, + [857] = {.lex_state = 14}, + [858] = {.lex_state = 50, .external_lex_state = 2}, + [859] = {.lex_state = 16}, [860] = {.lex_state = 14}, - [861] = {.lex_state = 16}, - [862] = {.lex_state = 14}, + [861] = {.lex_state = 14}, + [862] = {.lex_state = 16}, [863] = {.lex_state = 14}, [864] = {.lex_state = 14}, [865] = {.lex_state = 14}, [866] = {.lex_state = 14}, [867] = {.lex_state = 14}, [868] = {.lex_state = 14}, - [869] = {.lex_state = 50, .external_lex_state = 2}, - [870] = {.lex_state = 0}, + [869] = {.lex_state = 14}, + [870] = {.lex_state = 50, .external_lex_state = 2}, [871] = {.lex_state = 0}, - [872] = {.lex_state = 14}, + [872] = {.lex_state = 0}, [873] = {.lex_state = 0}, [874] = {.lex_state = 14}, [875] = {.lex_state = 14}, [876] = {.lex_state = 14}, [877] = {.lex_state = 0}, - [878] = {.lex_state = 14}, - [879] = {.lex_state = 0}, - [880] = {.lex_state = 16}, - [881] = {.lex_state = 14}, - [882] = {.lex_state = 14}, - [883] = {.lex_state = 0}, - [884] = {.lex_state = 16}, + [878] = {.lex_state = 0}, + [879] = {.lex_state = 14}, + [880] = {.lex_state = 14}, + [881] = {.lex_state = 16}, + [882] = {.lex_state = 16}, + [883] = {.lex_state = 14}, + [884] = {.lex_state = 14}, [885] = {.lex_state = 14}, - [886] = {.lex_state = 16}, + [886] = {.lex_state = 14}, [887] = {.lex_state = 14}, [888] = {.lex_state = 14}, [889] = {.lex_state = 14}, [890] = {.lex_state = 14}, - [891] = {.lex_state = 14}, - [892] = {.lex_state = 14}, + [891] = {.lex_state = 14, .external_lex_state = 9}, + [892] = {.lex_state = 14, .external_lex_state = 8}, [893] = {.lex_state = 14}, - [894] = {.lex_state = 14}, + [894] = {.lex_state = 16}, [895] = {.lex_state = 14}, [896] = {.lex_state = 14}, - [897] = {.lex_state = 14, .external_lex_state = 8}, - [898] = {.lex_state = 14, .external_lex_state = 9}, + [897] = {.lex_state = 14}, + [898] = {.lex_state = 14}, [899] = {.lex_state = 14}, [900] = {.lex_state = 14}, [901] = {.lex_state = 14}, - [902] = {.lex_state = 14}, - [903] = {.lex_state = 16}, + [902] = {.lex_state = 16}, + [903] = {.lex_state = 0}, [904] = {.lex_state = 14}, - [905] = {.lex_state = 18, .external_lex_state = 11}, + [905] = {.lex_state = 14}, [906] = {.lex_state = 18, .external_lex_state = 11}, [907] = {.lex_state = 18, .external_lex_state = 11}, - [908] = {.lex_state = 14}, - [909] = {.lex_state = 18, .external_lex_state = 11}, - [910] = {.lex_state = 0}, + [908] = {.lex_state = 0}, + [909] = {.lex_state = 0}, + [910] = {.lex_state = 14}, [911] = {.lex_state = 0}, [912] = {.lex_state = 0}, - [913] = {.lex_state = 0}, - [914] = {.lex_state = 14}, - [915] = {.lex_state = 0}, - [916] = {.lex_state = 0}, - [917] = {.lex_state = 18, .external_lex_state = 11}, - [918] = {.lex_state = 14}, + [913] = {.lex_state = 18, .external_lex_state = 11}, + [914] = {.lex_state = 18, .external_lex_state = 11}, + [915] = {.lex_state = 18, .external_lex_state = 11}, + [916] = {.lex_state = 18, .external_lex_state = 11}, + [917] = {.lex_state = 14}, + [918] = {.lex_state = 18, .external_lex_state = 11}, [919] = {.lex_state = 18, .external_lex_state = 11}, [920] = {.lex_state = 18, .external_lex_state = 11}, - [921] = {.lex_state = 14}, + [921] = {.lex_state = 0}, [922] = {.lex_state = 18, .external_lex_state = 11}, [923] = {.lex_state = 18, .external_lex_state = 11}, - [924] = {.lex_state = 0}, - [925] = {.lex_state = 14}, - [926] = {.lex_state = 14}, - [927] = {.lex_state = 18, .external_lex_state = 11}, + [924] = {.lex_state = 14}, + [925] = {.lex_state = 18, .external_lex_state = 11}, + [926] = {.lex_state = 18, .external_lex_state = 11}, + [927] = {.lex_state = 14}, [928] = {.lex_state = 0}, [929] = {.lex_state = 18, .external_lex_state = 11}, - [930] = {.lex_state = 18, .external_lex_state = 11}, - [931] = {.lex_state = 18, .external_lex_state = 11}, - [932] = {.lex_state = 0}, - [933] = {.lex_state = 18, .external_lex_state = 11}, - [934] = {.lex_state = 18, .external_lex_state = 11}, + [930] = {.lex_state = 0}, + [931] = {.lex_state = 14}, + [932] = {.lex_state = 18, .external_lex_state = 11}, + [933] = {.lex_state = 0}, + [934] = {.lex_state = 14}, [935] = {.lex_state = 0}, [936] = {.lex_state = 0}, [937] = {.lex_state = 0}, @@ -7063,450 +7077,450 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [939] = {.lex_state = 14}, [940] = {.lex_state = 14}, [941] = {.lex_state = 0}, - [942] = {.lex_state = 14}, + [942] = {.lex_state = 0}, [943] = {.lex_state = 0}, - [944] = {.lex_state = 0}, - [945] = {.lex_state = 0, .external_lex_state = 6}, + [944] = {.lex_state = 14}, + [945] = {.lex_state = 0}, [946] = {.lex_state = 14}, - [947] = {.lex_state = 0, .external_lex_state = 6}, - [948] = {.lex_state = 0, .external_lex_state = 6}, - [949] = {.lex_state = 0, .external_lex_state = 6}, + [947] = {.lex_state = 14}, + [948] = {.lex_state = 14}, + [949] = {.lex_state = 14}, [950] = {.lex_state = 14}, - [951] = {.lex_state = 14}, + [951] = {.lex_state = 0, .external_lex_state = 6}, [952] = {.lex_state = 14}, [953] = {.lex_state = 0, .external_lex_state = 6}, [954] = {.lex_state = 14}, - [955] = {.lex_state = 14}, - [956] = {.lex_state = 0, .external_lex_state = 6}, + [955] = {.lex_state = 0, .external_lex_state = 6}, + [956] = {.lex_state = 14}, [957] = {.lex_state = 14}, [958] = {.lex_state = 14}, [959] = {.lex_state = 14}, [960] = {.lex_state = 0}, - [961] = {.lex_state = 14}, + [961] = {.lex_state = 0}, [962] = {.lex_state = 14}, - [963] = {.lex_state = 14}, - [964] = {.lex_state = 0}, - [965] = {.lex_state = 0, .external_lex_state = 6}, - [966] = {.lex_state = 0, .external_lex_state = 6}, - [967] = {.lex_state = 16}, - [968] = {.lex_state = 0}, - [969] = {.lex_state = 0}, - [970] = {.lex_state = 0}, + [963] = {.lex_state = 0, .external_lex_state = 6}, + [964] = {.lex_state = 14}, + [965] = {.lex_state = 14}, + [966] = {.lex_state = 14}, + [967] = {.lex_state = 0}, + [968] = {.lex_state = 14}, + [969] = {.lex_state = 0, .external_lex_state = 6}, + [970] = {.lex_state = 0, .external_lex_state = 6}, [971] = {.lex_state = 14}, - [972] = {.lex_state = 0}, - [973] = {.lex_state = 14}, + [972] = {.lex_state = 0, .external_lex_state = 6}, + [973] = {.lex_state = 0}, [974] = {.lex_state = 14}, [975] = {.lex_state = 14}, - [976] = {.lex_state = 14}, - [977] = {.lex_state = 0, .external_lex_state = 6}, - [978] = {.lex_state = 0, .external_lex_state = 6}, - [979] = {.lex_state = 14}, - [980] = {.lex_state = 0}, - [981] = {.lex_state = 14}, + [976] = {.lex_state = 0}, + [977] = {.lex_state = 14}, + [978] = {.lex_state = 0}, + [979] = {.lex_state = 0, .external_lex_state = 6}, + [980] = {.lex_state = 14}, + [981] = {.lex_state = 16}, [982] = {.lex_state = 14}, - [983] = {.lex_state = 0, .external_lex_state = 6}, - [984] = {.lex_state = 14}, - [985] = {.lex_state = 0}, + [983] = {.lex_state = 14}, + [984] = {.lex_state = 0, .external_lex_state = 6}, + [985] = {.lex_state = 0, .external_lex_state = 6}, [986] = {.lex_state = 14}, - [987] = {.lex_state = 14}, - [988] = {.lex_state = 14}, - [989] = {.lex_state = 14}, + [987] = {.lex_state = 0}, + [988] = {.lex_state = 0}, + [989] = {.lex_state = 0, .external_lex_state = 6}, [990] = {.lex_state = 14}, - [991] = {.lex_state = 0, .external_lex_state = 6}, + [991] = {.lex_state = 14}, [992] = {.lex_state = 0}, - [993] = {.lex_state = 0}, - [994] = {.lex_state = 18, .external_lex_state = 11}, - [995] = {.lex_state = 14}, - [996] = {.lex_state = 16}, - [997] = {.lex_state = 0, .external_lex_state = 6}, - [998] = {.lex_state = 14}, + [993] = {.lex_state = 14}, + [994] = {.lex_state = 14}, + [995] = {.lex_state = 0}, + [996] = {.lex_state = 14}, + [997] = {.lex_state = 0}, + [998] = {.lex_state = 0}, [999] = {.lex_state = 14}, - [1000] = {.lex_state = 0, .external_lex_state = 6}, - [1001] = {.lex_state = 0}, - [1002] = {.lex_state = 14}, - [1003] = {.lex_state = 14}, + [1000] = {.lex_state = 14}, + [1001] = {.lex_state = 14}, + [1002] = {.lex_state = 0, .external_lex_state = 6}, + [1003] = {.lex_state = 0, .external_lex_state = 6}, [1004] = {.lex_state = 0}, - [1005] = {.lex_state = 14}, - [1006] = {.lex_state = 0, .external_lex_state = 6}, - [1007] = {.lex_state = 14}, - [1008] = {.lex_state = 14}, - [1009] = {.lex_state = 14}, + [1005] = {.lex_state = 0, .external_lex_state = 6}, + [1006] = {.lex_state = 0}, + [1007] = {.lex_state = 0}, + [1008] = {.lex_state = 0, .external_lex_state = 6}, + [1009] = {.lex_state = 0, .external_lex_state = 6}, [1010] = {.lex_state = 14}, [1011] = {.lex_state = 0}, - [1012] = {.lex_state = 0}, - [1013] = {.lex_state = 0}, - [1014] = {.lex_state = 0}, - [1015] = {.lex_state = 0}, - [1016] = {.lex_state = 14}, - [1017] = {.lex_state = 18, .external_lex_state = 11}, + [1012] = {.lex_state = 0, .external_lex_state = 6}, + [1013] = {.lex_state = 16}, + [1014] = {.lex_state = 14}, + [1015] = {.lex_state = 14}, + [1016] = {.lex_state = 0}, + [1017] = {.lex_state = 0}, [1018] = {.lex_state = 0}, [1019] = {.lex_state = 14}, [1020] = {.lex_state = 0}, - [1021] = {.lex_state = 0}, + [1021] = {.lex_state = 14}, [1022] = {.lex_state = 14}, - [1023] = {.lex_state = 14}, - [1024] = {.lex_state = 0, .external_lex_state = 6}, - [1025] = {.lex_state = 0, .external_lex_state = 6}, - [1026] = {.lex_state = 0}, - [1027] = {.lex_state = 0}, - [1028] = {.lex_state = 0, .external_lex_state = 6}, - [1029] = {.lex_state = 0}, + [1023] = {.lex_state = 0}, + [1024] = {.lex_state = 14}, + [1025] = {.lex_state = 0}, + [1026] = {.lex_state = 0, .external_lex_state = 6}, + [1027] = {.lex_state = 14}, + [1028] = {.lex_state = 0}, + [1029] = {.lex_state = 14}, [1030] = {.lex_state = 0, .external_lex_state = 6}, [1031] = {.lex_state = 0, .external_lex_state = 6}, [1032] = {.lex_state = 0, .external_lex_state = 6}, - [1033] = {.lex_state = 0, .external_lex_state = 6}, - [1034] = {.lex_state = 16, .external_lex_state = 6}, - [1035] = {.lex_state = 14}, - [1036] = {.lex_state = 18, .external_lex_state = 11}, - [1037] = {.lex_state = 14}, - [1038] = {.lex_state = 14}, - [1039] = {.lex_state = 14}, - [1040] = {.lex_state = 18, .external_lex_state = 11}, - [1041] = {.lex_state = 14}, + [1033] = {.lex_state = 14}, + [1034] = {.lex_state = 14}, + [1035] = {.lex_state = 18, .external_lex_state = 11}, + [1036] = {.lex_state = 14}, + [1037] = {.lex_state = 18, .external_lex_state = 11}, + [1038] = {.lex_state = 16, .external_lex_state = 6}, + [1039] = {.lex_state = 16}, + [1040] = {.lex_state = 14}, + [1041] = {.lex_state = 16, .external_lex_state = 6}, [1042] = {.lex_state = 14}, - [1043] = {.lex_state = 14}, + [1043] = {.lex_state = 0}, [1044] = {.lex_state = 18, .external_lex_state = 11}, - [1045] = {.lex_state = 14}, - [1046] = {.lex_state = 16}, + [1045] = {.lex_state = 0}, + [1046] = {.lex_state = 18, .external_lex_state = 11}, [1047] = {.lex_state = 16, .external_lex_state = 6}, - [1048] = {.lex_state = 14}, + [1048] = {.lex_state = 18, .external_lex_state = 11}, [1049] = {.lex_state = 14}, [1050] = {.lex_state = 14}, [1051] = {.lex_state = 16}, [1052] = {.lex_state = 14}, [1053] = {.lex_state = 0, .external_lex_state = 6}, - [1054] = {.lex_state = 14}, - [1055] = {.lex_state = 0}, - [1056] = {.lex_state = 0, .external_lex_state = 6}, - [1057] = {.lex_state = 0, .external_lex_state = 6}, - [1058] = {.lex_state = 18, .external_lex_state = 11}, - [1059] = {.lex_state = 18, .external_lex_state = 11}, + [1054] = {.lex_state = 18, .external_lex_state = 11}, + [1055] = {.lex_state = 14}, + [1056] = {.lex_state = 18, .external_lex_state = 11}, + [1057] = {.lex_state = 14}, + [1058] = {.lex_state = 14}, + [1059] = {.lex_state = 14}, [1060] = {.lex_state = 0}, [1061] = {.lex_state = 14}, [1062] = {.lex_state = 14}, - [1063] = {.lex_state = 14}, - [1064] = {.lex_state = 0}, + [1063] = {.lex_state = 0, .external_lex_state = 6}, + [1064] = {.lex_state = 14}, [1065] = {.lex_state = 14}, - [1066] = {.lex_state = 16, .external_lex_state = 6}, + [1066] = {.lex_state = 14}, [1067] = {.lex_state = 18, .external_lex_state = 11}, - [1068] = {.lex_state = 0}, - [1069] = {.lex_state = 0}, - [1070] = {.lex_state = 0}, - [1071] = {.lex_state = 0}, - [1072] = {.lex_state = 0}, - [1073] = {.lex_state = 0}, - [1074] = {.lex_state = 14}, + [1068] = {.lex_state = 0, .external_lex_state = 6}, + [1069] = {.lex_state = 0, .external_lex_state = 6}, + [1070] = {.lex_state = 14}, + [1071] = {.lex_state = 14}, + [1072] = {.lex_state = 8}, + [1073] = {.lex_state = 0, .external_lex_state = 6}, + [1074] = {.lex_state = 0}, [1075] = {.lex_state = 0}, - [1076] = {.lex_state = 0, .external_lex_state = 6}, - [1077] = {.lex_state = 0, .external_lex_state = 6}, + [1076] = {.lex_state = 14}, + [1077] = {.lex_state = 0}, [1078] = {.lex_state = 0, .external_lex_state = 6}, [1079] = {.lex_state = 0}, - [1080] = {.lex_state = 14}, - [1081] = {.lex_state = 14}, + [1080] = {.lex_state = 0, .external_lex_state = 6}, + [1081] = {.lex_state = 0, .external_lex_state = 6}, [1082] = {.lex_state = 0, .external_lex_state = 6}, [1083] = {.lex_state = 0}, - [1084] = {.lex_state = 0, .external_lex_state = 6}, - [1085] = {.lex_state = 0, .external_lex_state = 6}, + [1084] = {.lex_state = 14}, + [1085] = {.lex_state = 0}, [1086] = {.lex_state = 14}, [1087] = {.lex_state = 0}, - [1088] = {.lex_state = 0, .external_lex_state = 6}, - [1089] = {.lex_state = 0, .external_lex_state = 6}, + [1088] = {.lex_state = 14}, + [1089] = {.lex_state = 14}, [1090] = {.lex_state = 0}, - [1091] = {.lex_state = 14}, - [1092] = {.lex_state = 14}, - [1093] = {.lex_state = 0}, - [1094] = {.lex_state = 8}, - [1095] = {.lex_state = 0, .external_lex_state = 6}, - [1096] = {.lex_state = 14}, - [1097] = {.lex_state = 0}, - [1098] = {.lex_state = 0}, - [1099] = {.lex_state = 14}, - [1100] = {.lex_state = 0, .external_lex_state = 6}, - [1101] = {.lex_state = 8}, - [1102] = {.lex_state = 0, .external_lex_state = 6}, - [1103] = {.lex_state = 0, .external_lex_state = 6}, + [1091] = {.lex_state = 0, .external_lex_state = 6}, + [1092] = {.lex_state = 0}, + [1093] = {.lex_state = 0, .external_lex_state = 6}, + [1094] = {.lex_state = 0, .external_lex_state = 6}, + [1095] = {.lex_state = 0}, + [1096] = {.lex_state = 0, .external_lex_state = 6}, + [1097] = {.lex_state = 0, .external_lex_state = 6}, + [1098] = {.lex_state = 8}, + [1099] = {.lex_state = 0}, + [1100] = {.lex_state = 0}, + [1101] = {.lex_state = 0, .external_lex_state = 6}, + [1102] = {.lex_state = 0}, + [1103] = {.lex_state = 14}, [1104] = {.lex_state = 8}, - [1105] = {.lex_state = 16, .external_lex_state = 6}, - [1106] = {.lex_state = 0, .external_lex_state = 6}, - [1107] = {.lex_state = 0}, + [1105] = {.lex_state = 0, .external_lex_state = 6}, + [1106] = {.lex_state = 0}, + [1107] = {.lex_state = 16, .external_lex_state = 6}, [1108] = {.lex_state = 0}, - [1109] = {.lex_state = 0}, - [1110] = {.lex_state = 14, .external_lex_state = 8}, - [1111] = {.lex_state = 0}, - [1112] = {.lex_state = 14, .external_lex_state = 9}, - [1113] = {.lex_state = 0, .external_lex_state = 6}, - [1114] = {.lex_state = 0, .external_lex_state = 6}, - [1115] = {.lex_state = 0}, - [1116] = {.lex_state = 0, .external_lex_state = 6}, + [1109] = {.lex_state = 0, .external_lex_state = 6}, + [1110] = {.lex_state = 0, .external_lex_state = 6}, + [1111] = {.lex_state = 0, .external_lex_state = 6}, + [1112] = {.lex_state = 14}, + [1113] = {.lex_state = 0}, + [1114] = {.lex_state = 16}, + [1115] = {.lex_state = 14}, + [1116] = {.lex_state = 0}, [1117] = {.lex_state = 14}, - [1118] = {.lex_state = 0, .external_lex_state = 6}, - [1119] = {.lex_state = 0, .external_lex_state = 6}, - [1120] = {.lex_state = 14}, - [1121] = {.lex_state = 0, .external_lex_state = 6}, - [1122] = {.lex_state = 14}, + [1118] = {.lex_state = 0}, + [1119] = {.lex_state = 14, .external_lex_state = 9}, + [1120] = {.lex_state = 14, .external_lex_state = 8}, + [1121] = {.lex_state = 14}, + [1122] = {.lex_state = 0}, [1123] = {.lex_state = 0}, - [1124] = {.lex_state = 0}, - [1125] = {.lex_state = 0}, - [1126] = {.lex_state = 0}, + [1124] = {.lex_state = 0, .external_lex_state = 6}, + [1125] = {.lex_state = 14}, + [1126] = {.lex_state = 14}, [1127] = {.lex_state = 0}, [1128] = {.lex_state = 14}, - [1129] = {.lex_state = 16}, - [1130] = {.lex_state = 0}, - [1131] = {.lex_state = 0}, - [1132] = {.lex_state = 0}, - [1133] = {.lex_state = 0}, - [1134] = {.lex_state = 0}, - [1135] = {.lex_state = 0}, - [1136] = {.lex_state = 14}, + [1129] = {.lex_state = 0}, + [1130] = {.lex_state = 0, .external_lex_state = 6}, + [1131] = {.lex_state = 0, .external_lex_state = 6}, + [1132] = {.lex_state = 0, .external_lex_state = 6}, + [1133] = {.lex_state = 0, .external_lex_state = 6}, + [1134] = {.lex_state = 0, .external_lex_state = 6}, + [1135] = {.lex_state = 0, .external_lex_state = 6}, + [1136] = {.lex_state = 0}, [1137] = {.lex_state = 0}, - [1138] = {.lex_state = 14}, + [1138] = {.lex_state = 0}, [1139] = {.lex_state = 14}, - [1140] = {.lex_state = 14}, + [1140] = {.lex_state = 0, .external_lex_state = 6}, [1141] = {.lex_state = 14}, - [1142] = {.lex_state = 14}, - [1143] = {.lex_state = 0}, - [1144] = {.lex_state = 0}, - [1145] = {.lex_state = 0}, - [1146] = {.lex_state = 0, .external_lex_state = 6}, - [1147] = {.lex_state = 0, .external_lex_state = 6}, - [1148] = {.lex_state = 16}, + [1142] = {.lex_state = 0}, + [1143] = {.lex_state = 0, .external_lex_state = 6}, + [1144] = {.lex_state = 0, .external_lex_state = 6}, + [1145] = {.lex_state = 0, .external_lex_state = 6}, + [1146] = {.lex_state = 0}, + [1147] = {.lex_state = 0}, + [1148] = {.lex_state = 0}, [1149] = {.lex_state = 0}, - [1150] = {.lex_state = 0}, + [1150] = {.lex_state = 14}, [1151] = {.lex_state = 14}, - [1152] = {.lex_state = 0}, - [1153] = {.lex_state = 0, .external_lex_state = 6}, - [1154] = {.lex_state = 0}, - [1155] = {.lex_state = 14}, + [1152] = {.lex_state = 14}, + [1153] = {.lex_state = 0}, + [1154] = {.lex_state = 14}, + [1155] = {.lex_state = 0, .external_lex_state = 6}, [1156] = {.lex_state = 0, .external_lex_state = 6}, [1157] = {.lex_state = 14}, - [1158] = {.lex_state = 0}, - [1159] = {.lex_state = 14}, - [1160] = {.lex_state = 0, .external_lex_state = 6}, - [1161] = {.lex_state = 0, .external_lex_state = 6}, + [1158] = {.lex_state = 14}, + [1159] = {.lex_state = 0, .external_lex_state = 6}, + [1160] = {.lex_state = 0}, + [1161] = {.lex_state = 14}, [1162] = {.lex_state = 14}, - [1163] = {.lex_state = 14}, - [1164] = {.lex_state = 0, .external_lex_state = 6}, - [1165] = {.lex_state = 0, .external_lex_state = 6}, - [1166] = {.lex_state = 0}, - [1167] = {.lex_state = 14}, - [1168] = {.lex_state = 0}, + [1163] = {.lex_state = 0}, + [1164] = {.lex_state = 0}, + [1165] = {.lex_state = 0}, + [1166] = {.lex_state = 14}, + [1167] = {.lex_state = 0, .external_lex_state = 6}, + [1168] = {.lex_state = 0, .external_lex_state = 6}, [1169] = {.lex_state = 14}, - [1170] = {.lex_state = 0, .external_lex_state = 6}, - [1171] = {.lex_state = 0, .external_lex_state = 6}, - [1172] = {.lex_state = 0, .external_lex_state = 6}, + [1170] = {.lex_state = 0}, + [1171] = {.lex_state = 16}, + [1172] = {.lex_state = 0}, [1173] = {.lex_state = 0}, - [1174] = {.lex_state = 0, .external_lex_state = 6}, - [1175] = {.lex_state = 14}, + [1174] = {.lex_state = 0}, + [1175] = {.lex_state = 0}, [1176] = {.lex_state = 0}, [1177] = {.lex_state = 0}, - [1178] = {.lex_state = 0}, - [1179] = {.lex_state = 8}, + [1178] = {.lex_state = 14}, + [1179] = {.lex_state = 14}, [1180] = {.lex_state = 0}, - [1181] = {.lex_state = 0}, + [1181] = {.lex_state = 0, .external_lex_state = 6}, [1182] = {.lex_state = 0}, - [1183] = {.lex_state = 0}, - [1184] = {.lex_state = 0, .external_lex_state = 6}, - [1185] = {.lex_state = 8}, - [1186] = {.lex_state = 0, .external_lex_state = 6}, + [1183] = {.lex_state = 14}, + [1184] = {.lex_state = 14}, + [1185] = {.lex_state = 0, .external_lex_state = 6}, + [1186] = {.lex_state = 14}, [1187] = {.lex_state = 0}, [1188] = {.lex_state = 0}, [1189] = {.lex_state = 0}, [1190] = {.lex_state = 0}, - [1191] = {.lex_state = 0}, - [1192] = {.lex_state = 0, .external_lex_state = 6}, + [1191] = {.lex_state = 8}, + [1192] = {.lex_state = 0}, [1193] = {.lex_state = 0}, - [1194] = {.lex_state = 14}, - [1195] = {.lex_state = 14}, - [1196] = {.lex_state = 14}, - [1197] = {.lex_state = 14}, + [1194] = {.lex_state = 0}, + [1195] = {.lex_state = 0, .external_lex_state = 6}, + [1196] = {.lex_state = 0, .external_lex_state = 6}, + [1197] = {.lex_state = 0}, [1198] = {.lex_state = 14}, - [1199] = {.lex_state = 0}, + [1199] = {.lex_state = 0, .external_lex_state = 6}, [1200] = {.lex_state = 0}, [1201] = {.lex_state = 0}, [1202] = {.lex_state = 0}, - [1203] = {.lex_state = 0, .external_lex_state = 6}, - [1204] = {.lex_state = 0, .external_lex_state = 6}, - [1205] = {.lex_state = 14}, - [1206] = {.lex_state = 14}, - [1207] = {.lex_state = 0, .external_lex_state = 6}, - [1208] = {.lex_state = 8}, - [1209] = {.lex_state = 0}, + [1203] = {.lex_state = 0}, + [1204] = {.lex_state = 0}, + [1205] = {.lex_state = 0}, + [1206] = {.lex_state = 0}, + [1207] = {.lex_state = 0}, + [1208] = {.lex_state = 0}, + [1209] = {.lex_state = 14}, [1210] = {.lex_state = 14}, - [1211] = {.lex_state = 0}, - [1212] = {.lex_state = 14}, + [1211] = {.lex_state = 0, .external_lex_state = 6}, + [1212] = {.lex_state = 0, .external_lex_state = 6}, [1213] = {.lex_state = 0}, - [1214] = {.lex_state = 0, .external_lex_state = 6}, + [1214] = {.lex_state = 0}, [1215] = {.lex_state = 0}, [1216] = {.lex_state = 0}, - [1217] = {.lex_state = 0}, + [1217] = {.lex_state = 0, .external_lex_state = 6}, [1218] = {.lex_state = 0}, - [1219] = {.lex_state = 16}, + [1219] = {.lex_state = 0}, [1220] = {.lex_state = 0}, [1221] = {.lex_state = 0}, - [1222] = {.lex_state = 0}, + [1222] = {.lex_state = 14}, [1223] = {.lex_state = 0}, - [1224] = {.lex_state = 0}, + [1224] = {.lex_state = 16}, [1225] = {.lex_state = 0}, [1226] = {.lex_state = 0}, - [1227] = {.lex_state = 0}, - [1228] = {.lex_state = 0}, + [1227] = {.lex_state = 0, .external_lex_state = 6}, + [1228] = {.lex_state = 0, .external_lex_state = 6}, [1229] = {.lex_state = 0}, - [1230] = {.lex_state = 0, .external_lex_state = 6}, - [1231] = {.lex_state = 0}, + [1230] = {.lex_state = 0}, + [1231] = {.lex_state = 0, .external_lex_state = 6}, [1232] = {.lex_state = 0}, [1233] = {.lex_state = 0}, [1234] = {.lex_state = 0}, [1235] = {.lex_state = 0}, - [1236] = {.lex_state = 0, .external_lex_state = 6}, - [1237] = {.lex_state = 14}, - [1238] = {.lex_state = 8}, - [1239] = {.lex_state = 0}, + [1236] = {.lex_state = 0}, + [1237] = {.lex_state = 0}, + [1238] = {.lex_state = 14}, + [1239] = {.lex_state = 14}, [1240] = {.lex_state = 0}, - [1241] = {.lex_state = 0}, + [1241] = {.lex_state = 8}, [1242] = {.lex_state = 0}, [1243] = {.lex_state = 0}, [1244] = {.lex_state = 0}, - [1245] = {.lex_state = 0}, + [1245] = {.lex_state = 8}, [1246] = {.lex_state = 0}, [1247] = {.lex_state = 0}, [1248] = {.lex_state = 0}, - [1249] = {.lex_state = 0, .external_lex_state = 6}, + [1249] = {.lex_state = 0}, [1250] = {.lex_state = 0}, [1251] = {.lex_state = 0}, - [1252] = {.lex_state = 0}, + [1252] = {.lex_state = 14}, [1253] = {.lex_state = 0}, - [1254] = {.lex_state = 0}, - [1255] = {.lex_state = 0}, - [1256] = {.lex_state = 0}, + [1254] = {.lex_state = 8}, + [1255] = {.lex_state = 8}, + [1256] = {.lex_state = 0, .external_lex_state = 6}, [1257] = {.lex_state = 0}, - [1258] = {.lex_state = 0, .external_lex_state = 6}, + [1258] = {.lex_state = 0}, [1259] = {.lex_state = 0}, - [1260] = {.lex_state = 14}, + [1260] = {.lex_state = 0}, [1261] = {.lex_state = 0}, - [1262] = {.lex_state = 0}, + [1262] = {.lex_state = 0, .external_lex_state = 6}, [1263] = {.lex_state = 0}, [1264] = {.lex_state = 0}, [1265] = {.lex_state = 0}, [1266] = {.lex_state = 14}, - [1267] = {.lex_state = 14}, - [1268] = {.lex_state = 0}, + [1267] = {.lex_state = 0}, + [1268] = {.lex_state = 14}, [1269] = {.lex_state = 0}, - [1270] = {.lex_state = 0}, - [1271] = {.lex_state = 0}, - [1272] = {.lex_state = 0}, - [1273] = {.lex_state = 14}, + [1270] = {.lex_state = 14}, + [1271] = {.lex_state = 14}, + [1272] = {.lex_state = 14}, + [1273] = {.lex_state = 0}, [1274] = {.lex_state = 0}, [1275] = {.lex_state = 0}, [1276] = {.lex_state = 14}, - [1277] = {.lex_state = 0}, + [1277] = {.lex_state = 14}, [1278] = {.lex_state = 14}, [1279] = {.lex_state = 0}, [1280] = {.lex_state = 0}, - [1281] = {.lex_state = 14}, + [1281] = {.lex_state = 0}, [1282] = {.lex_state = 14}, - [1283] = {.lex_state = 8}, + [1283] = {.lex_state = 0}, [1284] = {.lex_state = 14}, - [1285] = {.lex_state = 0, .external_lex_state = 6}, + [1285] = {.lex_state = 0}, [1286] = {.lex_state = 0}, - [1287] = {.lex_state = 0}, - [1288] = {.lex_state = 0, .external_lex_state = 6}, + [1287] = {.lex_state = 14}, + [1288] = {.lex_state = 14}, [1289] = {.lex_state = 0, .external_lex_state = 6}, [1290] = {.lex_state = 0, .external_lex_state = 6}, [1291] = {.lex_state = 0}, - [1292] = {.lex_state = 0}, + [1292] = {.lex_state = 14}, [1293] = {.lex_state = 0}, - [1294] = {.lex_state = 14}, - [1295] = {.lex_state = 14}, - [1296] = {.lex_state = 14}, + [1294] = {.lex_state = 0}, + [1295] = {.lex_state = 0}, + [1296] = {.lex_state = 0}, [1297] = {.lex_state = 0}, - [1298] = {.lex_state = 0}, - [1299] = {.lex_state = 14}, + [1298] = {.lex_state = 14}, + [1299] = {.lex_state = 0, .external_lex_state = 6}, [1300] = {.lex_state = 0}, [1301] = {.lex_state = 0}, - [1302] = {.lex_state = 0, .external_lex_state = 6}, - [1303] = {.lex_state = 14}, + [1302] = {.lex_state = 0}, + [1303] = {.lex_state = 0}, [1304] = {.lex_state = 0}, - [1305] = {.lex_state = 14}, - [1306] = {.lex_state = 17}, - [1307] = {.lex_state = 0}, - [1308] = {.lex_state = 0, .external_lex_state = 6}, - [1309] = {.lex_state = 0, .external_lex_state = 6}, + [1305] = {.lex_state = 0}, + [1306] = {.lex_state = 0}, + [1307] = {.lex_state = 14}, + [1308] = {.lex_state = 0}, + [1309] = {.lex_state = 0}, [1310] = {.lex_state = 0}, [1311] = {.lex_state = 0, .external_lex_state = 6}, [1312] = {.lex_state = 0}, - [1313] = {.lex_state = 16}, - [1314] = {.lex_state = 0}, + [1313] = {.lex_state = 0}, + [1314] = {.lex_state = 0, .external_lex_state = 6}, [1315] = {.lex_state = 0, .external_lex_state = 6}, - [1316] = {.lex_state = 0}, - [1317] = {.lex_state = 0, .external_lex_state = 6}, - [1318] = {.lex_state = 0, .external_lex_state = 6}, + [1316] = {.lex_state = 0, .external_lex_state = 6}, + [1317] = {.lex_state = 0}, + [1318] = {.lex_state = 0}, [1319] = {.lex_state = 0}, - [1320] = {.lex_state = 0}, + [1320] = {.lex_state = 17}, [1321] = {.lex_state = 0}, [1322] = {.lex_state = 0}, [1323] = {.lex_state = 0}, - [1324] = {.lex_state = 0, .external_lex_state = 6}, - [1325] = {.lex_state = 14}, + [1324] = {.lex_state = 0}, + [1325] = {.lex_state = 0}, [1326] = {.lex_state = 0}, [1327] = {.lex_state = 0}, [1328] = {.lex_state = 0}, - [1329] = {.lex_state = 0}, + [1329] = {.lex_state = 0, .external_lex_state = 6}, [1330] = {.lex_state = 0, .external_lex_state = 6}, - [1331] = {.lex_state = 0, .external_lex_state = 6}, - [1332] = {.lex_state = 0, .external_lex_state = 6}, - [1333] = {.lex_state = 0, .external_lex_state = 6}, + [1331] = {.lex_state = 14}, + [1332] = {.lex_state = 0}, + [1333] = {.lex_state = 0}, [1334] = {.lex_state = 17}, - [1335] = {.lex_state = 0}, - [1336] = {.lex_state = 0, .external_lex_state = 6}, + [1335] = {.lex_state = 0, .external_lex_state = 6}, + [1336] = {.lex_state = 0}, [1337] = {.lex_state = 0}, - [1338] = {.lex_state = 0}, + [1338] = {.lex_state = 0, .external_lex_state = 6}, [1339] = {.lex_state = 0}, [1340] = {.lex_state = 0, .external_lex_state = 6}, - [1341] = {.lex_state = 0}, - [1342] = {.lex_state = 17}, - [1343] = {.lex_state = 0}, - [1344] = {.lex_state = 0, .external_lex_state = 6}, - [1345] = {.lex_state = 0}, - [1346] = {.lex_state = 0, .external_lex_state = 6}, - [1347] = {.lex_state = 0}, - [1348] = {.lex_state = 0}, + [1341] = {.lex_state = 16}, + [1342] = {.lex_state = 0}, + [1343] = {.lex_state = 0, .external_lex_state = 6}, + [1344] = {.lex_state = 0}, + [1345] = {.lex_state = 14}, + [1346] = {.lex_state = 14}, + [1347] = {.lex_state = 17}, + [1348] = {.lex_state = 17}, [1349] = {.lex_state = 17}, [1350] = {.lex_state = 17}, - [1351] = {.lex_state = 17}, - [1352] = {.lex_state = 0}, - [1353] = {.lex_state = 0}, - [1354] = {.lex_state = 17}, - [1355] = {.lex_state = 0}, - [1356] = {.lex_state = 17}, + [1351] = {.lex_state = 0}, + [1352] = {.lex_state = 0, .external_lex_state = 6}, + [1353] = {.lex_state = 17}, + [1354] = {.lex_state = 14}, + [1355] = {.lex_state = 17}, + [1356] = {.lex_state = 0, .external_lex_state = 6}, [1357] = {.lex_state = 0, .external_lex_state = 6}, - [1358] = {.lex_state = 0, .external_lex_state = 6}, - [1359] = {.lex_state = 0}, + [1358] = {.lex_state = 0}, + [1359] = {.lex_state = 17}, [1360] = {.lex_state = 0}, [1361] = {.lex_state = 0}, [1362] = {.lex_state = 0}, - [1363] = {.lex_state = 0}, + [1363] = {.lex_state = 17}, [1364] = {.lex_state = 0}, - [1365] = {.lex_state = 0}, + [1365] = {.lex_state = 0, .external_lex_state = 6}, [1366] = {.lex_state = 0}, - [1367] = {.lex_state = 17}, + [1367] = {.lex_state = 0}, [1368] = {.lex_state = 0}, - [1369] = {.lex_state = 0}, + [1369] = {.lex_state = 0, .external_lex_state = 6}, [1370] = {.lex_state = 0}, [1371] = {.lex_state = 0}, [1372] = {.lex_state = 0}, [1373] = {.lex_state = 0}, [1374] = {.lex_state = 0}, - [1375] = {.lex_state = 0, .external_lex_state = 6}, - [1376] = {.lex_state = 17}, - [1377] = {.lex_state = 14}, - [1378] = {.lex_state = 14}, - [1379] = {.lex_state = 0}, - [1380] = {.lex_state = 0}, - [1381] = {.lex_state = 0}, + [1375] = {.lex_state = 0}, + [1376] = {.lex_state = 0}, + [1377] = {.lex_state = 0, .external_lex_state = 6}, + [1378] = {.lex_state = 0}, + [1379] = {.lex_state = 14}, + [1380] = {.lex_state = 0, .external_lex_state = 6}, + [1381] = {.lex_state = 0, .external_lex_state = 6}, [1382] = {.lex_state = 0}, - [1383] = {.lex_state = 14}, + [1383] = {.lex_state = 0}, [1384] = {.lex_state = 0}, - [1385] = {.lex_state = 0}, + [1385] = {.lex_state = 14}, [1386] = {.lex_state = 0}, [1387] = {.lex_state = 0}, [1388] = {.lex_state = 0}, @@ -7516,9 +7530,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1392] = {.lex_state = 0}, [1393] = {.lex_state = 0}, [1394] = {.lex_state = 0}, - [1395] = {.lex_state = 0}, + [1395] = {.lex_state = 14}, [1396] = {.lex_state = 0}, - [1397] = {.lex_state = 0}, + [1397] = {.lex_state = 14}, [1398] = {.lex_state = 0}, [1399] = {.lex_state = 0}, [1400] = {.lex_state = 0}, @@ -7527,80 +7541,80 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1403] = {.lex_state = 0}, [1404] = {.lex_state = 0}, [1405] = {.lex_state = 0}, - [1406] = {.lex_state = 0}, + [1406] = {.lex_state = 14}, [1407] = {.lex_state = 0}, [1408] = {.lex_state = 0}, [1409] = {.lex_state = 0}, [1410] = {.lex_state = 0}, [1411] = {.lex_state = 0}, - [1412] = {.lex_state = 14}, + [1412] = {.lex_state = 0}, [1413] = {.lex_state = 14}, [1414] = {.lex_state = 0}, - [1415] = {.lex_state = 0}, + [1415] = {.lex_state = 14}, [1416] = {.lex_state = 0}, - [1417] = {.lex_state = 14}, + [1417] = {.lex_state = 0}, [1418] = {.lex_state = 0}, [1419] = {.lex_state = 0}, [1420] = {.lex_state = 0}, [1421] = {.lex_state = 0}, [1422] = {.lex_state = 0}, - [1423] = {.lex_state = 0}, - [1424] = {.lex_state = 14}, - [1425] = {.lex_state = 0}, - [1426] = {.lex_state = 14}, - [1427] = {.lex_state = 14}, + [1423] = {.lex_state = 14}, + [1424] = {.lex_state = 0}, + [1425] = {.lex_state = 14}, + [1426] = {.lex_state = 0}, + [1427] = {.lex_state = 0}, [1428] = {.lex_state = 0}, [1429] = {.lex_state = 0}, [1430] = {.lex_state = 14}, [1431] = {.lex_state = 14}, - [1432] = {.lex_state = 0}, + [1432] = {.lex_state = 14}, [1433] = {.lex_state = 14}, - [1434] = {.lex_state = 14}, + [1434] = {.lex_state = 0}, [1435] = {.lex_state = 14}, [1436] = {.lex_state = 0}, [1437] = {.lex_state = 14}, - [1438] = {.lex_state = 14}, - [1439] = {.lex_state = 0}, - [1440] = {.lex_state = 0}, - [1441] = {.lex_state = 14}, - [1442] = {.lex_state = 14}, - [1443] = {.lex_state = 14}, - [1444] = {.lex_state = 0}, - [1445] = {.lex_state = 14}, + [1438] = {.lex_state = 0}, + [1439] = {.lex_state = 14}, + [1440] = {.lex_state = 14}, + [1441] = {.lex_state = 0}, + [1442] = {.lex_state = 0}, + [1443] = {.lex_state = 0}, + [1444] = {.lex_state = 14}, + [1445] = {.lex_state = 0}, [1446] = {.lex_state = 14}, - [1447] = {.lex_state = 14}, - [1448] = {.lex_state = 0}, + [1447] = {.lex_state = 0}, + [1448] = {.lex_state = 14}, [1449] = {.lex_state = 14}, - [1450] = {.lex_state = 0}, - [1451] = {.lex_state = 0}, + [1450] = {.lex_state = 14}, + [1451] = {.lex_state = 14}, [1452] = {.lex_state = 14}, [1453] = {.lex_state = 14}, - [1454] = {.lex_state = 14}, + [1454] = {.lex_state = 0}, [1455] = {.lex_state = 0}, - [1456] = {.lex_state = 14}, - [1457] = {.lex_state = 14}, - [1458] = {.lex_state = 14}, - [1459] = {.lex_state = 0}, - [1460] = {.lex_state = 14}, + [1456] = {.lex_state = 0}, + [1457] = {.lex_state = 0}, + [1458] = {.lex_state = 0}, + [1459] = {.lex_state = 14}, + [1460] = {.lex_state = 0}, [1461] = {.lex_state = 14}, [1462] = {.lex_state = 0}, [1463] = {.lex_state = 0}, - [1464] = {.lex_state = 0}, - [1465] = {.lex_state = 0}, - [1466] = {.lex_state = 0}, + [1464] = {.lex_state = 14}, + [1465] = {.lex_state = 14}, + [1466] = {.lex_state = 14}, [1467] = {.lex_state = 0}, [1468] = {.lex_state = 0}, [1469] = {.lex_state = 0}, - [1470] = {.lex_state = 14}, + [1470] = {.lex_state = 0}, [1471] = {.lex_state = 14}, - [1472] = {.lex_state = 0}, + [1472] = {.lex_state = 14}, [1473] = {.lex_state = 0}, - [1474] = {.lex_state = 0}, - [1475] = {.lex_state = 14}, - [1476] = {.lex_state = 14}, + [1474] = {.lex_state = 14}, + [1475] = {.lex_state = 0}, + [1476] = {.lex_state = 0}, [1477] = {.lex_state = 0}, - [1478] = {.lex_state = 0}, - [1479] = {.lex_state = 0}, + [1478] = {.lex_state = 14}, + [1479] = {.lex_state = 14}, [1480] = {.lex_state = 0}, [1481] = {.lex_state = 0}, [1482] = {.lex_state = 0}, @@ -7609,20 +7623,28 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1485] = {.lex_state = 0}, [1486] = {.lex_state = 0}, [1487] = {.lex_state = 0}, - [1488] = {.lex_state = 14}, + [1488] = {.lex_state = 0}, [1489] = {.lex_state = 0}, - [1490] = {.lex_state = 0}, + [1490] = {.lex_state = 14}, [1491] = {.lex_state = 0}, [1492] = {.lex_state = 0}, [1493] = {.lex_state = 0}, [1494] = {.lex_state = 0}, [1495] = {.lex_state = 0}, - [1496] = {.lex_state = 0}, + [1496] = {.lex_state = 14}, [1497] = {.lex_state = 0}, - [1498] = {.lex_state = 14}, + [1498] = {.lex_state = 0}, [1499] = {.lex_state = 0}, - [1500] = {.lex_state = 14}, - [1501] = {.lex_state = 14}, + [1500] = {.lex_state = 0}, + [1501] = {.lex_state = 0}, + [1502] = {.lex_state = 0}, + [1503] = {.lex_state = 14}, + [1504] = {.lex_state = 0}, + [1505] = {.lex_state = 0}, + [1506] = {.lex_state = 14}, + [1507] = {.lex_state = 0}, + [1508] = {.lex_state = 14}, + [1509] = {.lex_state = 0}, }; enum { @@ -7683,10 +7705,10 @@ static const bool ts_external_scanner_states[12][EXTERNAL_TOKEN_COUNT] = { [ts_external_token__string_start] = true, }, [8] = { - [ts_external_token__template_string_start] = true, + [ts_external_token__string_start] = true, }, [9] = { - [ts_external_token__string_start] = true, + [ts_external_token__template_string_start] = true, }, [10] = { [ts_external_token__newline] = true, @@ -7806,75 +7828,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(1), }, [1] = { - [sym_module] = STATE(1480), - [sym__statement] = STATE(60), - [sym__simple_statements] = STATE(60), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_if_statement] = STATE(60), - [sym_for_statement] = STATE(60), - [sym_while_statement] = STATE(60), - [sym_try_statement] = STATE(60), - [sym_with_statement] = STATE(60), - [sym_match_statement] = STATE(60), - [sym_function_definition] = STATE(60), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_class_definition] = STATE(60), - [sym_decorated_definition] = STATE(60), - [sym_decorator] = STATE(970), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_module] = STATE(1488), + [sym__statement] = STATE(64), + [sym__simple_statements] = STATE(64), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_if_statement] = STATE(64), + [sym_for_statement] = STATE(64), + [sym_while_statement] = STATE(64), + [sym_try_statement] = STATE(64), + [sym_with_statement] = STATE(64), + [sym_match_statement] = STATE(64), + [sym_function_definition] = STATE(64), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_class_definition] = STATE(64), + [sym_decorated_definition] = STATE(64), + [sym_decorator] = STATE(960), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(60), - [aux_sym_decorated_definition_repeat1] = STATE(970), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(64), + [aux_sym_decorated_definition_repeat1] = STATE(960), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), @@ -7924,75 +7946,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [2] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(468), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(535), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8042,75 +8064,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [3] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(491), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(517), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8160,75 +8182,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [4] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(535), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(407), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8278,75 +8300,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [5] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(510), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(392), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8396,75 +8418,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [6] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(505), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(403), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8514,75 +8536,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [7] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(462), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(485), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8627,80 +8649,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [8] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(424), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(291), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8745,80 +8767,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [9] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(400), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(427), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8870,19 +8892,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [10] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -8890,53 +8912,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(450), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(304), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -8981,26 +9003,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [11] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -9008,53 +9030,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(565), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(516), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9099,80 +9121,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [12] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(444), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(435), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9222,75 +9244,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [13] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(504), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(497), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9340,75 +9362,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [14] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(488), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(450), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9453,80 +9475,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [15] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(391), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(528), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9571,80 +9593,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [16] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(434), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(398), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9689,80 +9711,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [17] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(419), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(562), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9812,75 +9834,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [18] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(399), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(544), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -9930,75 +9952,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [19] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(307), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(444), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10048,75 +10070,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [20] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(413), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(514), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10166,75 +10188,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [21] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(465), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(462), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10286,19 +10308,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [22] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -10306,53 +10328,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(522), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(406), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10397,26 +10419,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [23] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -10424,53 +10446,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(446), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(503), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10515,80 +10537,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [24] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(417), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(543), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10638,75 +10660,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [25] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(519), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(61), + [sym__simple_statements] = STATE(61), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(61), + [sym_for_statement] = STATE(61), + [sym_while_statement] = STATE(61), + [sym_try_statement] = STATE(61), + [sym_with_statement] = STATE(61), + [sym_match_statement] = STATE(61), + [sym_function_definition] = STATE(61), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(61), + [sym_decorated_definition] = STATE(61), + [sym_decorator] = STATE(961), + [sym_block] = STATE(998), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(61), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10751,80 +10773,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(107), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [26] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(406), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(419), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -10874,193 +10896,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [27] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(457), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(519), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), - [sym_identifier] = ACTIONS(7), - [anon_sym_import] = ACTIONS(9), - [anon_sym_from] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_STAR] = ACTIONS(15), - [anon_sym_print] = ACTIONS(17), - [anon_sym_assert] = ACTIONS(19), - [anon_sym_return] = ACTIONS(21), - [anon_sym_del] = ACTIONS(23), - [anon_sym_raise] = ACTIONS(25), - [anon_sym_pass] = ACTIONS(27), - [anon_sym_break] = ACTIONS(29), - [anon_sym_continue] = ACTIONS(31), - [anon_sym_if] = ACTIONS(85), - [anon_sym_async] = ACTIONS(87), - [anon_sym_for] = ACTIONS(89), - [anon_sym_while] = ACTIONS(91), - [anon_sym_try] = ACTIONS(93), - [anon_sym_with] = ACTIONS(95), - [anon_sym_match] = ACTIONS(97), - [anon_sym_DASH] = ACTIONS(47), - [anon_sym_PLUS] = ACTIONS(47), - [anon_sym_LBRACK] = ACTIONS(49), - [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(53), - [anon_sym_def] = ACTIONS(99), - [anon_sym_global] = ACTIONS(57), - [anon_sym_nonlocal] = ACTIONS(59), - [anon_sym_exec] = ACTIONS(61), - [anon_sym_type] = ACTIONS(63), - [anon_sym_class] = ACTIONS(101), - [anon_sym_AT] = ACTIONS(67), - [anon_sym_not] = ACTIONS(69), - [anon_sym_TILDE] = ACTIONS(47), - [anon_sym_lambda] = ACTIONS(71), - [anon_sym_yield] = ACTIONS(73), - [sym_ellipsis] = ACTIONS(75), - [sym_integer] = ACTIONS(77), - [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(79), - [sym_true] = ACTIONS(77), - [sym_false] = ACTIONS(77), - [sym_none] = ACTIONS(77), - [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), - [sym__string_start] = ACTIONS(81), - [sym__template_string_start] = ACTIONS(83), - }, - [28] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(554), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), - [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -11109,76 +11013,194 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [29] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(523), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [28] = { + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(512), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), + [sym_identifier] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_from] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_STAR] = ACTIONS(15), + [anon_sym_print] = ACTIONS(17), + [anon_sym_assert] = ACTIONS(19), + [anon_sym_return] = ACTIONS(21), + [anon_sym_del] = ACTIONS(23), + [anon_sym_raise] = ACTIONS(25), + [anon_sym_pass] = ACTIONS(27), + [anon_sym_break] = ACTIONS(29), + [anon_sym_continue] = ACTIONS(31), + [anon_sym_if] = ACTIONS(85), + [anon_sym_async] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_while] = ACTIONS(91), + [anon_sym_try] = ACTIONS(93), + [anon_sym_with] = ACTIONS(95), + [anon_sym_match] = ACTIONS(97), + [anon_sym_DASH] = ACTIONS(47), + [anon_sym_PLUS] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_STAR_STAR] = ACTIONS(53), + [anon_sym_def] = ACTIONS(99), + [anon_sym_global] = ACTIONS(57), + [anon_sym_nonlocal] = ACTIONS(59), + [anon_sym_exec] = ACTIONS(61), + [anon_sym_type] = ACTIONS(63), + [anon_sym_class] = ACTIONS(101), + [anon_sym_AT] = ACTIONS(67), + [anon_sym_not] = ACTIONS(69), + [anon_sym_TILDE] = ACTIONS(47), + [anon_sym_lambda] = ACTIONS(71), + [anon_sym_yield] = ACTIONS(73), + [sym_ellipsis] = ACTIONS(75), + [sym_integer] = ACTIONS(77), + [sym_float] = ACTIONS(75), + [anon_sym_await] = ACTIONS(79), + [sym_true] = ACTIONS(77), + [sym_false] = ACTIONS(77), + [sym_none] = ACTIONS(77), + [sym_comment] = ACTIONS(3), + [sym__dedent] = ACTIONS(105), + [sym__string_start] = ACTIONS(81), + [sym__template_string_start] = ACTIONS(83), + }, + [29] = { + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(460), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), + [sym_string] = STATE(698), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -11228,75 +11250,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [30] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(551), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(454), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -11346,75 +11368,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [31] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(467), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(565), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -11459,80 +11481,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [32] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(392), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(496), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -11582,193 +11604,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [33] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(297), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(395), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), - [sym_identifier] = ACTIONS(7), - [anon_sym_import] = ACTIONS(9), - [anon_sym_from] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_STAR] = ACTIONS(15), - [anon_sym_print] = ACTIONS(17), - [anon_sym_assert] = ACTIONS(19), - [anon_sym_return] = ACTIONS(21), - [anon_sym_del] = ACTIONS(23), - [anon_sym_raise] = ACTIONS(25), - [anon_sym_pass] = ACTIONS(27), - [anon_sym_break] = ACTIONS(29), - [anon_sym_continue] = ACTIONS(31), - [anon_sym_if] = ACTIONS(85), - [anon_sym_async] = ACTIONS(87), - [anon_sym_for] = ACTIONS(89), - [anon_sym_while] = ACTIONS(91), - [anon_sym_try] = ACTIONS(93), - [anon_sym_with] = ACTIONS(95), - [anon_sym_match] = ACTIONS(97), - [anon_sym_DASH] = ACTIONS(47), - [anon_sym_PLUS] = ACTIONS(47), - [anon_sym_LBRACK] = ACTIONS(49), - [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(53), - [anon_sym_def] = ACTIONS(99), - [anon_sym_global] = ACTIONS(57), - [anon_sym_nonlocal] = ACTIONS(59), - [anon_sym_exec] = ACTIONS(61), - [anon_sym_type] = ACTIONS(63), - [anon_sym_class] = ACTIONS(101), - [anon_sym_AT] = ACTIONS(67), - [anon_sym_not] = ACTIONS(69), - [anon_sym_TILDE] = ACTIONS(47), - [anon_sym_lambda] = ACTIONS(71), - [anon_sym_yield] = ACTIONS(73), - [sym_ellipsis] = ACTIONS(75), - [sym_integer] = ACTIONS(77), - [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(79), - [sym_true] = ACTIONS(77), - [sym_false] = ACTIONS(77), - [sym_none] = ACTIONS(77), - [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), - [sym__string_start] = ACTIONS(81), - [sym__template_string_start] = ACTIONS(83), - }, - [34] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(527), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), - [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -11817,76 +11721,76 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [35] = { - [sym__statement] = STATE(64), - [sym__simple_statements] = STATE(64), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(64), - [sym_for_statement] = STATE(64), - [sym_while_statement] = STATE(64), - [sym_try_statement] = STATE(64), - [sym_with_statement] = STATE(64), - [sym_match_statement] = STATE(64), - [sym_function_definition] = STATE(64), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(64), - [sym_decorated_definition] = STATE(64), - [sym_decorator] = STATE(985), - [sym_block] = STATE(1004), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [34] = { + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(402), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(64), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -11931,80 +11835,198 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(107), + [sym__dedent] = ACTIONS(105), + [sym__string_start] = ACTIONS(81), + [sym__template_string_start] = ACTIONS(83), + }, + [35] = { + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(546), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), + [sym_string] = STATE(698), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), + [sym_identifier] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_from] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_STAR] = ACTIONS(15), + [anon_sym_print] = ACTIONS(17), + [anon_sym_assert] = ACTIONS(19), + [anon_sym_return] = ACTIONS(21), + [anon_sym_del] = ACTIONS(23), + [anon_sym_raise] = ACTIONS(25), + [anon_sym_pass] = ACTIONS(27), + [anon_sym_break] = ACTIONS(29), + [anon_sym_continue] = ACTIONS(31), + [anon_sym_if] = ACTIONS(85), + [anon_sym_async] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_while] = ACTIONS(91), + [anon_sym_try] = ACTIONS(93), + [anon_sym_with] = ACTIONS(95), + [anon_sym_match] = ACTIONS(97), + [anon_sym_DASH] = ACTIONS(47), + [anon_sym_PLUS] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_STAR_STAR] = ACTIONS(53), + [anon_sym_def] = ACTIONS(99), + [anon_sym_global] = ACTIONS(57), + [anon_sym_nonlocal] = ACTIONS(59), + [anon_sym_exec] = ACTIONS(61), + [anon_sym_type] = ACTIONS(63), + [anon_sym_class] = ACTIONS(101), + [anon_sym_AT] = ACTIONS(67), + [anon_sym_not] = ACTIONS(69), + [anon_sym_TILDE] = ACTIONS(47), + [anon_sym_lambda] = ACTIONS(71), + [anon_sym_yield] = ACTIONS(73), + [sym_ellipsis] = ACTIONS(75), + [sym_integer] = ACTIONS(77), + [sym_float] = ACTIONS(75), + [anon_sym_await] = ACTIONS(79), + [sym_true] = ACTIONS(77), + [sym_false] = ACTIONS(77), + [sym_none] = ACTIONS(77), + [sym_comment] = ACTIONS(3), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [36] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(487), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(470), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12054,75 +12076,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [37] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(481), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(556), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12174,19 +12196,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [38] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -12194,53 +12216,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(541), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(538), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12285,80 +12307,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [39] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(469), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(494), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12408,75 +12430,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [40] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(482), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(436), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12526,75 +12548,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [41] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(420), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(432), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12644,75 +12666,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [42] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(430), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(466), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12762,75 +12784,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [43] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(436), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(457), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12882,19 +12904,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [44] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -12902,53 +12924,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(394), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(474), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -12993,80 +13015,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [45] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(484), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(492), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13118,19 +13140,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [46] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -13138,53 +13160,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(532), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(475), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13229,80 +13251,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [47] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(478), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(490), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13352,75 +13374,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [48] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(486), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(488), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13470,75 +13492,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [49] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(402), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(400), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13588,75 +13610,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [50] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(516), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(554), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13706,75 +13728,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [51] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(408), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(540), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13824,75 +13846,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [52] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(460), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(506), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -13942,75 +13964,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [53] = { - [sym__statement] = STATE(64), - [sym__simple_statements] = STATE(64), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(64), - [sym_for_statement] = STATE(64), - [sym_while_statement] = STATE(64), - [sym_try_statement] = STATE(64), - [sym_with_statement] = STATE(64), - [sym_match_statement] = STATE(64), - [sym_function_definition] = STATE(64), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(64), - [sym_decorated_definition] = STATE(64), - [sym_decorator] = STATE(985), - [sym_block] = STATE(1026), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(480), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(64), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14055,80 +14077,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(107), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [54] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(474), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(426), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14180,19 +14202,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [55] = { [sym__statement] = STATE(63), [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), [sym_if_statement] = STATE(63), [sym_for_statement] = STATE(63), [sym_while_statement] = STATE(63), @@ -14200,53 +14222,53 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_with_statement] = STATE(63), [sym_match_statement] = STATE(63), [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), [sym_class_definition] = STATE(63), [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(405), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_decorator] = STATE(961), + [sym_block] = STATE(421), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14291,80 +14313,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(103), + [sym__dedent] = ACTIONS(105), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [56] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(513), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(63), + [sym__simple_statements] = STATE(63), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(63), + [sym_for_statement] = STATE(63), + [sym_while_statement] = STATE(63), + [sym_try_statement] = STATE(63), + [sym_with_statement] = STATE(63), + [sym_match_statement] = STATE(63), + [sym_function_definition] = STATE(63), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(63), + [sym_decorated_definition] = STATE(63), + [sym_decorator] = STATE(961), + [sym_block] = STATE(408), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(63), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14414,75 +14436,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [57] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(538), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(405), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14527,80 +14549,80 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(103), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [58] = { - [sym__statement] = STATE(63), - [sym__simple_statements] = STATE(63), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(63), - [sym_for_statement] = STATE(63), - [sym_while_statement] = STATE(63), - [sym_try_statement] = STATE(63), - [sym_with_statement] = STATE(63), - [sym_match_statement] = STATE(63), - [sym_function_definition] = STATE(63), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(63), - [sym_decorated_definition] = STATE(63), - [sym_decorator] = STATE(985), - [sym_block] = STATE(471), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(62), + [sym__simple_statements] = STATE(62), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(62), + [sym_for_statement] = STATE(62), + [sym_while_statement] = STATE(62), + [sym_try_statement] = STATE(62), + [sym_with_statement] = STATE(62), + [sym_match_statement] = STATE(62), + [sym_function_definition] = STATE(62), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(62), + [sym_decorated_definition] = STATE(62), + [sym_decorator] = STATE(961), + [sym_block] = STATE(534), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(63), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(62), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14650,75 +14672,75 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [59] = { - [sym__statement] = STATE(65), - [sym__simple_statements] = STATE(65), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(65), - [sym_for_statement] = STATE(65), - [sym_while_statement] = STATE(65), - [sym_try_statement] = STATE(65), - [sym_with_statement] = STATE(65), - [sym_match_statement] = STATE(65), - [sym_function_definition] = STATE(65), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(65), - [sym_decorated_definition] = STATE(65), - [sym_decorator] = STATE(985), - [sym_block] = STATE(543), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(61), + [sym__simple_statements] = STATE(61), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(61), + [sym_for_statement] = STATE(61), + [sym_while_statement] = STATE(61), + [sym_try_statement] = STATE(61), + [sym_with_statement] = STATE(61), + [sym_match_statement] = STATE(61), + [sym_function_definition] = STATE(61), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(61), + [sym_decorated_definition] = STATE(61), + [sym_decorator] = STATE(961), + [sym_block] = STATE(1011), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(65), - [aux_sym_decorated_definition_repeat1] = STATE(985), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(61), + [aux_sym_decorated_definition_repeat1] = STATE(961), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14763,80 +14785,548 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(105), + [sym__dedent] = ACTIONS(107), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [60] = { - [sym__statement] = STATE(62), - [sym__simple_statements] = STATE(62), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_if_statement] = STATE(62), - [sym_for_statement] = STATE(62), - [sym_while_statement] = STATE(62), - [sym_try_statement] = STATE(62), - [sym_with_statement] = STATE(62), - [sym_match_statement] = STATE(62), - [sym_function_definition] = STATE(62), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_class_definition] = STATE(62), - [sym_decorated_definition] = STATE(62), - [sym_decorator] = STATE(970), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(60), + [sym__simple_statements] = STATE(60), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(60), + [sym_for_statement] = STATE(60), + [sym_while_statement] = STATE(60), + [sym_try_statement] = STATE(60), + [sym_with_statement] = STATE(60), + [sym_match_statement] = STATE(60), + [sym_function_definition] = STATE(60), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(60), + [sym_decorated_definition] = STATE(60), + [sym_decorator] = STATE(961), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(62), - [aux_sym_decorated_definition_repeat1] = STATE(970), - [ts_builtin_sym_end] = ACTIONS(109), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(60), + [aux_sym_decorated_definition_repeat1] = STATE(961), + [sym_identifier] = ACTIONS(109), + [anon_sym_import] = ACTIONS(112), + [anon_sym_from] = ACTIONS(115), + [anon_sym_LPAREN] = ACTIONS(118), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_print] = ACTIONS(124), + [anon_sym_assert] = ACTIONS(127), + [anon_sym_return] = ACTIONS(130), + [anon_sym_del] = ACTIONS(133), + [anon_sym_raise] = ACTIONS(136), + [anon_sym_pass] = ACTIONS(139), + [anon_sym_break] = ACTIONS(142), + [anon_sym_continue] = ACTIONS(145), + [anon_sym_if] = ACTIONS(148), + [anon_sym_async] = ACTIONS(151), + [anon_sym_for] = ACTIONS(154), + [anon_sym_while] = ACTIONS(157), + [anon_sym_try] = ACTIONS(160), + [anon_sym_with] = ACTIONS(163), + [anon_sym_match] = ACTIONS(166), + [anon_sym_DASH] = ACTIONS(169), + [anon_sym_PLUS] = ACTIONS(169), + [anon_sym_LBRACK] = ACTIONS(172), + [anon_sym_LBRACE] = ACTIONS(175), + [anon_sym_STAR_STAR] = ACTIONS(178), + [anon_sym_def] = ACTIONS(181), + [anon_sym_global] = ACTIONS(184), + [anon_sym_nonlocal] = ACTIONS(187), + [anon_sym_exec] = ACTIONS(190), + [anon_sym_type] = ACTIONS(193), + [anon_sym_class] = ACTIONS(196), + [anon_sym_AT] = ACTIONS(199), + [anon_sym_not] = ACTIONS(202), + [anon_sym_TILDE] = ACTIONS(169), + [anon_sym_lambda] = ACTIONS(205), + [anon_sym_yield] = ACTIONS(208), + [sym_ellipsis] = ACTIONS(211), + [sym_integer] = ACTIONS(214), + [sym_float] = ACTIONS(211), + [anon_sym_await] = ACTIONS(217), + [sym_true] = ACTIONS(214), + [sym_false] = ACTIONS(214), + [sym_none] = ACTIONS(214), + [sym_comment] = ACTIONS(3), + [sym__dedent] = ACTIONS(220), + [sym__string_start] = ACTIONS(222), + [sym__template_string_start] = ACTIONS(225), + }, + [61] = { + [sym__statement] = STATE(60), + [sym__simple_statements] = STATE(60), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(60), + [sym_for_statement] = STATE(60), + [sym_while_statement] = STATE(60), + [sym_try_statement] = STATE(60), + [sym_with_statement] = STATE(60), + [sym_match_statement] = STATE(60), + [sym_function_definition] = STATE(60), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(60), + [sym_decorated_definition] = STATE(60), + [sym_decorator] = STATE(961), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), + [sym_string] = STATE(698), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(60), + [aux_sym_decorated_definition_repeat1] = STATE(961), + [sym_identifier] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_from] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_STAR] = ACTIONS(15), + [anon_sym_print] = ACTIONS(17), + [anon_sym_assert] = ACTIONS(19), + [anon_sym_return] = ACTIONS(21), + [anon_sym_del] = ACTIONS(23), + [anon_sym_raise] = ACTIONS(25), + [anon_sym_pass] = ACTIONS(27), + [anon_sym_break] = ACTIONS(29), + [anon_sym_continue] = ACTIONS(31), + [anon_sym_if] = ACTIONS(85), + [anon_sym_async] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_while] = ACTIONS(91), + [anon_sym_try] = ACTIONS(93), + [anon_sym_with] = ACTIONS(95), + [anon_sym_match] = ACTIONS(97), + [anon_sym_DASH] = ACTIONS(47), + [anon_sym_PLUS] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_STAR_STAR] = ACTIONS(53), + [anon_sym_def] = ACTIONS(99), + [anon_sym_global] = ACTIONS(57), + [anon_sym_nonlocal] = ACTIONS(59), + [anon_sym_exec] = ACTIONS(61), + [anon_sym_type] = ACTIONS(63), + [anon_sym_class] = ACTIONS(101), + [anon_sym_AT] = ACTIONS(67), + [anon_sym_not] = ACTIONS(69), + [anon_sym_TILDE] = ACTIONS(47), + [anon_sym_lambda] = ACTIONS(71), + [anon_sym_yield] = ACTIONS(73), + [sym_ellipsis] = ACTIONS(75), + [sym_integer] = ACTIONS(77), + [sym_float] = ACTIONS(75), + [anon_sym_await] = ACTIONS(79), + [sym_true] = ACTIONS(77), + [sym_false] = ACTIONS(77), + [sym_none] = ACTIONS(77), + [sym_comment] = ACTIONS(3), + [sym__dedent] = ACTIONS(228), + [sym__string_start] = ACTIONS(81), + [sym__template_string_start] = ACTIONS(83), + }, + [62] = { + [sym__statement] = STATE(60), + [sym__simple_statements] = STATE(60), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(60), + [sym_for_statement] = STATE(60), + [sym_while_statement] = STATE(60), + [sym_try_statement] = STATE(60), + [sym_with_statement] = STATE(60), + [sym_match_statement] = STATE(60), + [sym_function_definition] = STATE(60), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(60), + [sym_decorated_definition] = STATE(60), + [sym_decorator] = STATE(961), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), + [sym_string] = STATE(698), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(60), + [aux_sym_decorated_definition_repeat1] = STATE(961), + [sym_identifier] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_from] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_STAR] = ACTIONS(15), + [anon_sym_print] = ACTIONS(17), + [anon_sym_assert] = ACTIONS(19), + [anon_sym_return] = ACTIONS(21), + [anon_sym_del] = ACTIONS(23), + [anon_sym_raise] = ACTIONS(25), + [anon_sym_pass] = ACTIONS(27), + [anon_sym_break] = ACTIONS(29), + [anon_sym_continue] = ACTIONS(31), + [anon_sym_if] = ACTIONS(85), + [anon_sym_async] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_while] = ACTIONS(91), + [anon_sym_try] = ACTIONS(93), + [anon_sym_with] = ACTIONS(95), + [anon_sym_match] = ACTIONS(97), + [anon_sym_DASH] = ACTIONS(47), + [anon_sym_PLUS] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_STAR_STAR] = ACTIONS(53), + [anon_sym_def] = ACTIONS(99), + [anon_sym_global] = ACTIONS(57), + [anon_sym_nonlocal] = ACTIONS(59), + [anon_sym_exec] = ACTIONS(61), + [anon_sym_type] = ACTIONS(63), + [anon_sym_class] = ACTIONS(101), + [anon_sym_AT] = ACTIONS(67), + [anon_sym_not] = ACTIONS(69), + [anon_sym_TILDE] = ACTIONS(47), + [anon_sym_lambda] = ACTIONS(71), + [anon_sym_yield] = ACTIONS(73), + [sym_ellipsis] = ACTIONS(75), + [sym_integer] = ACTIONS(77), + [sym_float] = ACTIONS(75), + [anon_sym_await] = ACTIONS(79), + [sym_true] = ACTIONS(77), + [sym_false] = ACTIONS(77), + [sym_none] = ACTIONS(77), + [sym_comment] = ACTIONS(3), + [sym__dedent] = ACTIONS(230), + [sym__string_start] = ACTIONS(81), + [sym__template_string_start] = ACTIONS(83), + }, + [63] = { + [sym__statement] = STATE(60), + [sym__simple_statements] = STATE(60), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_if_statement] = STATE(60), + [sym_for_statement] = STATE(60), + [sym_while_statement] = STATE(60), + [sym_try_statement] = STATE(60), + [sym_with_statement] = STATE(60), + [sym_match_statement] = STATE(60), + [sym_function_definition] = STATE(60), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_class_definition] = STATE(60), + [sym_decorated_definition] = STATE(60), + [sym_decorator] = STATE(961), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), + [sym_string] = STATE(698), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(60), + [aux_sym_decorated_definition_repeat1] = STATE(961), + [sym_identifier] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_from] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_STAR] = ACTIONS(15), + [anon_sym_print] = ACTIONS(17), + [anon_sym_assert] = ACTIONS(19), + [anon_sym_return] = ACTIONS(21), + [anon_sym_del] = ACTIONS(23), + [anon_sym_raise] = ACTIONS(25), + [anon_sym_pass] = ACTIONS(27), + [anon_sym_break] = ACTIONS(29), + [anon_sym_continue] = ACTIONS(31), + [anon_sym_if] = ACTIONS(85), + [anon_sym_async] = ACTIONS(87), + [anon_sym_for] = ACTIONS(89), + [anon_sym_while] = ACTIONS(91), + [anon_sym_try] = ACTIONS(93), + [anon_sym_with] = ACTIONS(95), + [anon_sym_match] = ACTIONS(97), + [anon_sym_DASH] = ACTIONS(47), + [anon_sym_PLUS] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_STAR_STAR] = ACTIONS(53), + [anon_sym_def] = ACTIONS(99), + [anon_sym_global] = ACTIONS(57), + [anon_sym_nonlocal] = ACTIONS(59), + [anon_sym_exec] = ACTIONS(61), + [anon_sym_type] = ACTIONS(63), + [anon_sym_class] = ACTIONS(101), + [anon_sym_AT] = ACTIONS(67), + [anon_sym_not] = ACTIONS(69), + [anon_sym_TILDE] = ACTIONS(47), + [anon_sym_lambda] = ACTIONS(71), + [anon_sym_yield] = ACTIONS(73), + [sym_ellipsis] = ACTIONS(75), + [sym_integer] = ACTIONS(77), + [sym_float] = ACTIONS(75), + [anon_sym_await] = ACTIONS(79), + [sym_true] = ACTIONS(77), + [sym_false] = ACTIONS(77), + [sym_none] = ACTIONS(77), + [sym_comment] = ACTIONS(3), + [sym__dedent] = ACTIONS(232), + [sym__string_start] = ACTIONS(81), + [sym__template_string_start] = ACTIONS(83), + }, + [64] = { + [sym__statement] = STATE(65), + [sym__simple_statements] = STATE(65), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_if_statement] = STATE(65), + [sym_for_statement] = STATE(65), + [sym_while_statement] = STATE(65), + [sym_try_statement] = STATE(65), + [sym_with_statement] = STATE(65), + [sym_match_statement] = STATE(65), + [sym_function_definition] = STATE(65), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_class_definition] = STATE(65), + [sym_decorated_definition] = STATE(65), + [sym_decorator] = STATE(960), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), + [sym_string] = STATE(698), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(65), + [aux_sym_decorated_definition_repeat1] = STATE(960), + [ts_builtin_sym_end] = ACTIONS(234), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -14884,622 +15374,154 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [61] = { - [sym__statement] = STATE(61), - [sym__simple_statements] = STATE(61), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(61), - [sym_for_statement] = STATE(61), - [sym_while_statement] = STATE(61), - [sym_try_statement] = STATE(61), - [sym_with_statement] = STATE(61), - [sym_match_statement] = STATE(61), - [sym_function_definition] = STATE(61), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(61), - [sym_decorated_definition] = STATE(61), - [sym_decorator] = STATE(985), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), - [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(61), - [aux_sym_decorated_definition_repeat1] = STATE(985), - [sym_identifier] = ACTIONS(111), - [anon_sym_import] = ACTIONS(114), - [anon_sym_from] = ACTIONS(117), - [anon_sym_LPAREN] = ACTIONS(120), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_print] = ACTIONS(126), - [anon_sym_assert] = ACTIONS(129), - [anon_sym_return] = ACTIONS(132), - [anon_sym_del] = ACTIONS(135), - [anon_sym_raise] = ACTIONS(138), - [anon_sym_pass] = ACTIONS(141), - [anon_sym_break] = ACTIONS(144), - [anon_sym_continue] = ACTIONS(147), - [anon_sym_if] = ACTIONS(150), - [anon_sym_async] = ACTIONS(153), - [anon_sym_for] = ACTIONS(156), - [anon_sym_while] = ACTIONS(159), - [anon_sym_try] = ACTIONS(162), - [anon_sym_with] = ACTIONS(165), - [anon_sym_match] = ACTIONS(168), - [anon_sym_DASH] = ACTIONS(171), - [anon_sym_PLUS] = ACTIONS(171), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_LBRACE] = ACTIONS(177), - [anon_sym_STAR_STAR] = ACTIONS(180), - [anon_sym_def] = ACTIONS(183), - [anon_sym_global] = ACTIONS(186), - [anon_sym_nonlocal] = ACTIONS(189), - [anon_sym_exec] = ACTIONS(192), - [anon_sym_type] = ACTIONS(195), - [anon_sym_class] = ACTIONS(198), - [anon_sym_AT] = ACTIONS(201), - [anon_sym_not] = ACTIONS(204), - [anon_sym_TILDE] = ACTIONS(171), - [anon_sym_lambda] = ACTIONS(207), - [anon_sym_yield] = ACTIONS(210), - [sym_ellipsis] = ACTIONS(213), - [sym_integer] = ACTIONS(216), - [sym_float] = ACTIONS(213), - [anon_sym_await] = ACTIONS(219), - [sym_true] = ACTIONS(216), - [sym_false] = ACTIONS(216), - [sym_none] = ACTIONS(216), - [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(222), - [sym__string_start] = ACTIONS(224), - [sym__template_string_start] = ACTIONS(227), - }, - [62] = { - [sym__statement] = STATE(62), - [sym__simple_statements] = STATE(62), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_if_statement] = STATE(62), - [sym_for_statement] = STATE(62), - [sym_while_statement] = STATE(62), - [sym_try_statement] = STATE(62), - [sym_with_statement] = STATE(62), - [sym_match_statement] = STATE(62), - [sym_function_definition] = STATE(62), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_class_definition] = STATE(62), - [sym_decorated_definition] = STATE(62), - [sym_decorator] = STATE(970), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), - [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(62), - [aux_sym_decorated_definition_repeat1] = STATE(970), - [ts_builtin_sym_end] = ACTIONS(222), - [sym_identifier] = ACTIONS(111), - [anon_sym_import] = ACTIONS(114), - [anon_sym_from] = ACTIONS(117), - [anon_sym_LPAREN] = ACTIONS(120), - [anon_sym_STAR] = ACTIONS(123), - [anon_sym_print] = ACTIONS(126), - [anon_sym_assert] = ACTIONS(129), - [anon_sym_return] = ACTIONS(132), - [anon_sym_del] = ACTIONS(135), - [anon_sym_raise] = ACTIONS(138), - [anon_sym_pass] = ACTIONS(141), - [anon_sym_break] = ACTIONS(144), - [anon_sym_continue] = ACTIONS(147), - [anon_sym_if] = ACTIONS(230), - [anon_sym_async] = ACTIONS(233), - [anon_sym_for] = ACTIONS(236), - [anon_sym_while] = ACTIONS(239), - [anon_sym_try] = ACTIONS(242), - [anon_sym_with] = ACTIONS(245), - [anon_sym_match] = ACTIONS(248), - [anon_sym_DASH] = ACTIONS(171), - [anon_sym_PLUS] = ACTIONS(171), - [anon_sym_LBRACK] = ACTIONS(174), - [anon_sym_LBRACE] = ACTIONS(177), - [anon_sym_STAR_STAR] = ACTIONS(180), - [anon_sym_def] = ACTIONS(251), - [anon_sym_global] = ACTIONS(186), - [anon_sym_nonlocal] = ACTIONS(189), - [anon_sym_exec] = ACTIONS(192), - [anon_sym_type] = ACTIONS(195), - [anon_sym_class] = ACTIONS(254), - [anon_sym_AT] = ACTIONS(201), - [anon_sym_not] = ACTIONS(204), - [anon_sym_TILDE] = ACTIONS(171), - [anon_sym_lambda] = ACTIONS(207), - [anon_sym_yield] = ACTIONS(210), - [sym_ellipsis] = ACTIONS(213), - [sym_integer] = ACTIONS(216), - [sym_float] = ACTIONS(213), - [anon_sym_await] = ACTIONS(219), - [sym_true] = ACTIONS(216), - [sym_false] = ACTIONS(216), - [sym_none] = ACTIONS(216), - [sym_comment] = ACTIONS(3), - [sym__string_start] = ACTIONS(224), - [sym__template_string_start] = ACTIONS(227), - }, - [63] = { - [sym__statement] = STATE(61), - [sym__simple_statements] = STATE(61), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(61), - [sym_for_statement] = STATE(61), - [sym_while_statement] = STATE(61), - [sym_try_statement] = STATE(61), - [sym_with_statement] = STATE(61), - [sym_match_statement] = STATE(61), - [sym_function_definition] = STATE(61), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(61), - [sym_decorated_definition] = STATE(61), - [sym_decorator] = STATE(985), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), - [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(61), - [aux_sym_decorated_definition_repeat1] = STATE(985), - [sym_identifier] = ACTIONS(7), - [anon_sym_import] = ACTIONS(9), - [anon_sym_from] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_STAR] = ACTIONS(15), - [anon_sym_print] = ACTIONS(17), - [anon_sym_assert] = ACTIONS(19), - [anon_sym_return] = ACTIONS(21), - [anon_sym_del] = ACTIONS(23), - [anon_sym_raise] = ACTIONS(25), - [anon_sym_pass] = ACTIONS(27), - [anon_sym_break] = ACTIONS(29), - [anon_sym_continue] = ACTIONS(31), - [anon_sym_if] = ACTIONS(85), - [anon_sym_async] = ACTIONS(87), - [anon_sym_for] = ACTIONS(89), - [anon_sym_while] = ACTIONS(91), - [anon_sym_try] = ACTIONS(93), - [anon_sym_with] = ACTIONS(95), - [anon_sym_match] = ACTIONS(97), - [anon_sym_DASH] = ACTIONS(47), - [anon_sym_PLUS] = ACTIONS(47), - [anon_sym_LBRACK] = ACTIONS(49), - [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(53), - [anon_sym_def] = ACTIONS(99), - [anon_sym_global] = ACTIONS(57), - [anon_sym_nonlocal] = ACTIONS(59), - [anon_sym_exec] = ACTIONS(61), - [anon_sym_type] = ACTIONS(63), - [anon_sym_class] = ACTIONS(101), - [anon_sym_AT] = ACTIONS(67), - [anon_sym_not] = ACTIONS(69), - [anon_sym_TILDE] = ACTIONS(47), - [anon_sym_lambda] = ACTIONS(71), - [anon_sym_yield] = ACTIONS(73), - [sym_ellipsis] = ACTIONS(75), - [sym_integer] = ACTIONS(77), - [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(79), - [sym_true] = ACTIONS(77), - [sym_false] = ACTIONS(77), - [sym_none] = ACTIONS(77), - [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(257), - [sym__string_start] = ACTIONS(81), - [sym__template_string_start] = ACTIONS(83), - }, - [64] = { - [sym__statement] = STATE(61), - [sym__simple_statements] = STATE(61), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(61), - [sym_for_statement] = STATE(61), - [sym_while_statement] = STATE(61), - [sym_try_statement] = STATE(61), - [sym_with_statement] = STATE(61), - [sym_match_statement] = STATE(61), - [sym_function_definition] = STATE(61), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(61), - [sym_decorated_definition] = STATE(61), - [sym_decorator] = STATE(985), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), - [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(61), - [aux_sym_decorated_definition_repeat1] = STATE(985), - [sym_identifier] = ACTIONS(7), - [anon_sym_import] = ACTIONS(9), - [anon_sym_from] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_STAR] = ACTIONS(15), - [anon_sym_print] = ACTIONS(17), - [anon_sym_assert] = ACTIONS(19), - [anon_sym_return] = ACTIONS(21), - [anon_sym_del] = ACTIONS(23), - [anon_sym_raise] = ACTIONS(25), - [anon_sym_pass] = ACTIONS(27), - [anon_sym_break] = ACTIONS(29), - [anon_sym_continue] = ACTIONS(31), - [anon_sym_if] = ACTIONS(85), - [anon_sym_async] = ACTIONS(87), - [anon_sym_for] = ACTIONS(89), - [anon_sym_while] = ACTIONS(91), - [anon_sym_try] = ACTIONS(93), - [anon_sym_with] = ACTIONS(95), - [anon_sym_match] = ACTIONS(97), - [anon_sym_DASH] = ACTIONS(47), - [anon_sym_PLUS] = ACTIONS(47), - [anon_sym_LBRACK] = ACTIONS(49), - [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(53), - [anon_sym_def] = ACTIONS(99), - [anon_sym_global] = ACTIONS(57), - [anon_sym_nonlocal] = ACTIONS(59), - [anon_sym_exec] = ACTIONS(61), - [anon_sym_type] = ACTIONS(63), - [anon_sym_class] = ACTIONS(101), - [anon_sym_AT] = ACTIONS(67), - [anon_sym_not] = ACTIONS(69), - [anon_sym_TILDE] = ACTIONS(47), - [anon_sym_lambda] = ACTIONS(71), - [anon_sym_yield] = ACTIONS(73), - [sym_ellipsis] = ACTIONS(75), - [sym_integer] = ACTIONS(77), - [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(79), - [sym_true] = ACTIONS(77), - [sym_false] = ACTIONS(77), - [sym_none] = ACTIONS(77), - [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(259), - [sym__string_start] = ACTIONS(81), - [sym__template_string_start] = ACTIONS(83), - }, [65] = { - [sym__statement] = STATE(61), - [sym__simple_statements] = STATE(61), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_if_statement] = STATE(61), - [sym_for_statement] = STATE(61), - [sym_while_statement] = STATE(61), - [sym_try_statement] = STATE(61), - [sym_with_statement] = STATE(61), - [sym_match_statement] = STATE(61), - [sym_function_definition] = STATE(61), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_class_definition] = STATE(61), - [sym_decorated_definition] = STATE(61), - [sym_decorator] = STATE(985), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__statement] = STATE(65), + [sym__simple_statements] = STATE(65), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_if_statement] = STATE(65), + [sym_for_statement] = STATE(65), + [sym_while_statement] = STATE(65), + [sym_try_statement] = STATE(65), + [sym_with_statement] = STATE(65), + [sym_match_statement] = STATE(65), + [sym_function_definition] = STATE(65), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_class_definition] = STATE(65), + [sym_decorated_definition] = STATE(65), + [sym_decorator] = STATE(960), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [aux_sym_module_repeat1] = STATE(61), - [aux_sym_decorated_definition_repeat1] = STATE(985), - [sym_identifier] = ACTIONS(7), - [anon_sym_import] = ACTIONS(9), - [anon_sym_from] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_STAR] = ACTIONS(15), - [anon_sym_print] = ACTIONS(17), - [anon_sym_assert] = ACTIONS(19), - [anon_sym_return] = ACTIONS(21), - [anon_sym_del] = ACTIONS(23), - [anon_sym_raise] = ACTIONS(25), - [anon_sym_pass] = ACTIONS(27), - [anon_sym_break] = ACTIONS(29), - [anon_sym_continue] = ACTIONS(31), - [anon_sym_if] = ACTIONS(85), - [anon_sym_async] = ACTIONS(87), - [anon_sym_for] = ACTIONS(89), - [anon_sym_while] = ACTIONS(91), - [anon_sym_try] = ACTIONS(93), - [anon_sym_with] = ACTIONS(95), - [anon_sym_match] = ACTIONS(97), - [anon_sym_DASH] = ACTIONS(47), - [anon_sym_PLUS] = ACTIONS(47), - [anon_sym_LBRACK] = ACTIONS(49), - [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(53), - [anon_sym_def] = ACTIONS(99), - [anon_sym_global] = ACTIONS(57), - [anon_sym_nonlocal] = ACTIONS(59), - [anon_sym_exec] = ACTIONS(61), - [anon_sym_type] = ACTIONS(63), - [anon_sym_class] = ACTIONS(101), - [anon_sym_AT] = ACTIONS(67), - [anon_sym_not] = ACTIONS(69), - [anon_sym_TILDE] = ACTIONS(47), - [anon_sym_lambda] = ACTIONS(71), - [anon_sym_yield] = ACTIONS(73), - [sym_ellipsis] = ACTIONS(75), - [sym_integer] = ACTIONS(77), - [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(79), - [sym_true] = ACTIONS(77), - [sym_false] = ACTIONS(77), - [sym_none] = ACTIONS(77), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [aux_sym_module_repeat1] = STATE(65), + [aux_sym_decorated_definition_repeat1] = STATE(960), + [ts_builtin_sym_end] = ACTIONS(220), + [sym_identifier] = ACTIONS(109), + [anon_sym_import] = ACTIONS(112), + [anon_sym_from] = ACTIONS(115), + [anon_sym_LPAREN] = ACTIONS(118), + [anon_sym_STAR] = ACTIONS(121), + [anon_sym_print] = ACTIONS(124), + [anon_sym_assert] = ACTIONS(127), + [anon_sym_return] = ACTIONS(130), + [anon_sym_del] = ACTIONS(133), + [anon_sym_raise] = ACTIONS(136), + [anon_sym_pass] = ACTIONS(139), + [anon_sym_break] = ACTIONS(142), + [anon_sym_continue] = ACTIONS(145), + [anon_sym_if] = ACTIONS(236), + [anon_sym_async] = ACTIONS(239), + [anon_sym_for] = ACTIONS(242), + [anon_sym_while] = ACTIONS(245), + [anon_sym_try] = ACTIONS(248), + [anon_sym_with] = ACTIONS(251), + [anon_sym_match] = ACTIONS(254), + [anon_sym_DASH] = ACTIONS(169), + [anon_sym_PLUS] = ACTIONS(169), + [anon_sym_LBRACK] = ACTIONS(172), + [anon_sym_LBRACE] = ACTIONS(175), + [anon_sym_STAR_STAR] = ACTIONS(178), + [anon_sym_def] = ACTIONS(257), + [anon_sym_global] = ACTIONS(184), + [anon_sym_nonlocal] = ACTIONS(187), + [anon_sym_exec] = ACTIONS(190), + [anon_sym_type] = ACTIONS(193), + [anon_sym_class] = ACTIONS(260), + [anon_sym_AT] = ACTIONS(199), + [anon_sym_not] = ACTIONS(202), + [anon_sym_TILDE] = ACTIONS(169), + [anon_sym_lambda] = ACTIONS(205), + [anon_sym_yield] = ACTIONS(208), + [sym_ellipsis] = ACTIONS(211), + [sym_integer] = ACTIONS(214), + [sym_float] = ACTIONS(211), + [anon_sym_await] = ACTIONS(217), + [sym_true] = ACTIONS(214), + [sym_false] = ACTIONS(214), + [sym_none] = ACTIONS(214), [sym_comment] = ACTIONS(3), - [sym__dedent] = ACTIONS(261), - [sym__string_start] = ACTIONS(81), - [sym__template_string_start] = ACTIONS(83), + [sym__string_start] = ACTIONS(222), + [sym__template_string_start] = ACTIONS(225), }, [66] = { - [sym_named_expression] = STATE(876), - [sym_list_splat] = STATE(1365), - [sym_dictionary_splat] = STATE(1365), - [sym_expression_list] = STATE(1427), - [sym_expression] = STATE(1043), - [sym_primary_expression] = STATE(634), - [sym_not_operator] = STATE(876), - [sym_boolean_operator] = STATE(876), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_comparison_operator] = STATE(876), - [sym_lambda] = STATE(876), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_conditional_expression] = STATE(876), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_named_expression] = STATE(880), + [sym_list_splat] = STATE(1375), + [sym_dictionary_splat] = STATE(1375), + [sym_expression_list] = STATE(1430), + [sym_expression] = STATE(1066), + [sym_primary_expression] = STATE(652), + [sym_not_operator] = STATE(880), + [sym_boolean_operator] = STATE(880), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_comparison_operator] = STATE(880), + [sym_lambda] = STATE(880), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_conditional_expression] = STATE(880), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(263), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(267), @@ -15569,36 +15591,36 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [67] = { - [sym_named_expression] = STATE(876), - [sym_list_splat] = STATE(1365), - [sym_dictionary_splat] = STATE(1365), - [sym_expression_list] = STATE(1449), - [sym_expression] = STATE(1050), - [sym_primary_expression] = STATE(634), - [sym_not_operator] = STATE(876), - [sym_boolean_operator] = STATE(876), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_comparison_operator] = STATE(876), - [sym_lambda] = STATE(876), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_conditional_expression] = STATE(876), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_named_expression] = STATE(880), + [sym_list_splat] = STATE(1375), + [sym_dictionary_splat] = STATE(1375), + [sym_expression_list] = STATE(1433), + [sym_expression] = STATE(1052), + [sym_primary_expression] = STATE(652), + [sym_not_operator] = STATE(880), + [sym_boolean_operator] = STATE(880), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_comparison_operator] = STATE(880), + [sym_lambda] = STATE(880), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_conditional_expression] = STATE(880), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(263), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(267), @@ -15668,61 +15690,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [68] = { - [sym__simple_statements] = STATE(428), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(536), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -15765,61 +15787,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [69] = { - [sym__simple_statements] = STATE(309), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(439), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -15862,61 +15884,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [70] = { - [sym__simple_statements] = STATE(530), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(533), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -15959,61 +15981,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [71] = { - [sym__simple_statements] = STATE(410), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(424), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16056,61 +16078,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [72] = { - [sym__simple_statements] = STATE(545), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(418), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16153,61 +16175,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [73] = { - [sym__simple_statements] = STATE(401), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(413), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16250,61 +16272,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [74] = { - [sym__simple_statements] = STATE(1014), - [sym_import_statement] = STATE(1214), - [sym_future_import_statement] = STATE(1214), - [sym_import_from_statement] = STATE(1214), - [sym_print_statement] = STATE(1214), - [sym_assert_statement] = STATE(1214), - [sym_expression_statement] = STATE(1214), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1214), - [sym_delete_statement] = STATE(1214), - [sym_raise_statement] = STATE(1214), - [sym_pass_statement] = STATE(1214), - [sym_break_statement] = STATE(1214), - [sym_continue_statement] = STATE(1214), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1214), - [sym_nonlocal_statement] = STATE(1214), - [sym_exec_statement] = STATE(1214), - [sym_type_alias_statement] = STATE(1214), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(463), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16347,61 +16369,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [75] = { - [sym__simple_statements] = STATE(459), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(437), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16444,61 +16466,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [76] = { - [sym__simple_statements] = STATE(296), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(461), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16541,61 +16563,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [77] = { - [sym__simple_statements] = STATE(473), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(428), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16638,61 +16660,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [78] = { - [sym__simple_statements] = STATE(422), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(455), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16735,61 +16757,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [79] = { - [sym__simple_statements] = STATE(441), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(539), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16832,61 +16854,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [80] = { - [sym__simple_statements] = STATE(426), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(493), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -16929,61 +16951,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [81] = { - [sym__simple_statements] = STATE(555), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(487), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17026,61 +17048,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [82] = { - [sym__simple_statements] = STATE(549), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(393), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17123,61 +17145,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [83] = { - [sym__simple_statements] = STATE(526), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(471), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17220,158 +17242,255 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [84] = { - [sym_chevron] = STATE(1116), - [sym_named_expression] = STATE(977), + [sym__simple_statements] = STATE(550), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), [sym_expression] = STATE(1032), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_attribute] = STATE(795), - [sym_subscript] = STATE(795), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [sym_identifier] = ACTIONS(380), - [anon_sym_DOT] = ACTIONS(265), - [anon_sym_LPAREN] = ACTIONS(298), - [anon_sym_COMMA] = ACTIONS(270), - [anon_sym_STAR] = ACTIONS(265), - [anon_sym_print] = ACTIONS(382), - [anon_sym_GT_GT] = ACTIONS(384), - [anon_sym_COLON_EQ] = ACTIONS(278), - [anon_sym_if] = ACTIONS(265), - [anon_sym_COLON] = ACTIONS(280), - [anon_sym_async] = ACTIONS(382), - [anon_sym_in] = ACTIONS(265), - [anon_sym_match] = ACTIONS(382), - [anon_sym_PIPE] = ACTIONS(265), - [anon_sym_DASH] = ACTIONS(265), - [anon_sym_PLUS] = ACTIONS(265), - [anon_sym_LBRACK] = ACTIONS(298), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [sym_identifier] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_from] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_STAR] = ACTIONS(15), + [anon_sym_print] = ACTIONS(17), + [anon_sym_assert] = ACTIONS(19), + [anon_sym_return] = ACTIONS(21), + [anon_sym_del] = ACTIONS(23), + [anon_sym_raise] = ACTIONS(25), + [anon_sym_pass] = ACTIONS(27), + [anon_sym_break] = ACTIONS(29), + [anon_sym_continue] = ACTIONS(31), + [anon_sym_async] = ACTIONS(314), + [anon_sym_match] = ACTIONS(314), + [anon_sym_DASH] = ACTIONS(47), + [anon_sym_PLUS] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(49), [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(265), - [anon_sym_EQ] = ACTIONS(280), - [anon_sym_exec] = ACTIONS(382), - [anon_sym_type] = ACTIONS(382), - [anon_sym_AT] = ACTIONS(265), - [anon_sym_not] = ACTIONS(265), - [anon_sym_and] = ACTIONS(265), - [anon_sym_or] = ACTIONS(265), - [anon_sym_SLASH] = ACTIONS(265), - [anon_sym_PERCENT] = ACTIONS(265), - [anon_sym_SLASH_SLASH] = ACTIONS(265), - [anon_sym_AMP] = ACTIONS(265), - [anon_sym_CARET] = ACTIONS(265), - [anon_sym_LT_LT] = ACTIONS(265), + [anon_sym_STAR_STAR] = ACTIONS(53), + [anon_sym_global] = ACTIONS(57), + [anon_sym_nonlocal] = ACTIONS(59), + [anon_sym_exec] = ACTIONS(61), + [anon_sym_type] = ACTIONS(63), + [anon_sym_not] = ACTIONS(69), [anon_sym_TILDE] = ACTIONS(47), - [anon_sym_LT] = ACTIONS(265), - [anon_sym_LT_EQ] = ACTIONS(298), - [anon_sym_EQ_EQ] = ACTIONS(298), - [anon_sym_BANG_EQ] = ACTIONS(298), - [anon_sym_GT_EQ] = ACTIONS(298), - [anon_sym_GT] = ACTIONS(265), - [anon_sym_LT_GT] = ACTIONS(298), - [anon_sym_is] = ACTIONS(265), [anon_sym_lambda] = ACTIONS(71), - [anon_sym_PLUS_EQ] = ACTIONS(302), - [anon_sym_DASH_EQ] = ACTIONS(302), - [anon_sym_STAR_EQ] = ACTIONS(302), - [anon_sym_SLASH_EQ] = ACTIONS(302), - [anon_sym_AT_EQ] = ACTIONS(302), - [anon_sym_SLASH_SLASH_EQ] = ACTIONS(302), - [anon_sym_PERCENT_EQ] = ACTIONS(302), - [anon_sym_STAR_STAR_EQ] = ACTIONS(302), - [anon_sym_GT_GT_EQ] = ACTIONS(302), - [anon_sym_LT_LT_EQ] = ACTIONS(302), - [anon_sym_AMP_EQ] = ACTIONS(302), - [anon_sym_CARET_EQ] = ACTIONS(302), - [anon_sym_PIPE_EQ] = ACTIONS(302), + [anon_sym_yield] = ACTIONS(73), [sym_ellipsis] = ACTIONS(75), [sym_integer] = ACTIONS(77), [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(386), + [anon_sym_await] = ACTIONS(79), [sym_true] = ACTIONS(77), [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__semicolon] = ACTIONS(298), - [sym__newline] = ACTIONS(298), + [sym__newline] = ACTIONS(380), + [sym__indent] = ACTIONS(382), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [85] = { - [sym__simple_statements] = STATE(546), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(476), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [sym_identifier] = ACTIONS(7), + [anon_sym_import] = ACTIONS(9), + [anon_sym_from] = ACTIONS(11), + [anon_sym_LPAREN] = ACTIONS(13), + [anon_sym_STAR] = ACTIONS(15), + [anon_sym_print] = ACTIONS(17), + [anon_sym_assert] = ACTIONS(19), + [anon_sym_return] = ACTIONS(21), + [anon_sym_del] = ACTIONS(23), + [anon_sym_raise] = ACTIONS(25), + [anon_sym_pass] = ACTIONS(27), + [anon_sym_break] = ACTIONS(29), + [anon_sym_continue] = ACTIONS(31), + [anon_sym_async] = ACTIONS(314), + [anon_sym_match] = ACTIONS(314), + [anon_sym_DASH] = ACTIONS(47), + [anon_sym_PLUS] = ACTIONS(47), + [anon_sym_LBRACK] = ACTIONS(49), + [anon_sym_LBRACE] = ACTIONS(51), + [anon_sym_STAR_STAR] = ACTIONS(53), + [anon_sym_global] = ACTIONS(57), + [anon_sym_nonlocal] = ACTIONS(59), + [anon_sym_exec] = ACTIONS(61), + [anon_sym_type] = ACTIONS(63), + [anon_sym_not] = ACTIONS(69), + [anon_sym_TILDE] = ACTIONS(47), + [anon_sym_lambda] = ACTIONS(71), + [anon_sym_yield] = ACTIONS(73), + [sym_ellipsis] = ACTIONS(75), + [sym_integer] = ACTIONS(77), + [sym_float] = ACTIONS(75), + [anon_sym_await] = ACTIONS(79), + [sym_true] = ACTIONS(77), + [sym_false] = ACTIONS(77), + [sym_none] = ACTIONS(77), + [sym_comment] = ACTIONS(3), + [sym__newline] = ACTIONS(384), + [sym__indent] = ACTIONS(386), + [sym__string_start] = ACTIONS(81), + [sym__template_string_start] = ACTIONS(83), + }, + [86] = { + [sym__simple_statements] = STATE(495), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), + [sym_pattern_list] = STATE(874), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), + [sym_string] = STATE(698), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17413,62 +17532,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [86] = { - [sym__simple_statements] = STATE(564), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [87] = { + [sym__simple_statements] = STATE(430), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17510,62 +17629,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [87] = { - [sym__simple_statements] = STATE(514), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [88] = { + [sym__simple_statements] = STATE(300), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17607,62 +17726,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [88] = { - [sym__simple_statements] = STATE(566), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [89] = { + [sym__simple_statements] = STATE(420), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17704,62 +17823,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [89] = { - [sym__simple_statements] = STATE(490), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [90] = { + [sym__simple_statements] = STATE(558), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17801,62 +17920,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [90] = { - [sym__simple_statements] = STATE(539), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [91] = { + [sym__simple_statements] = STATE(391), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17898,62 +18017,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [91] = { - [sym__simple_statements] = STATE(558), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [92] = { + [sym__simple_statements] = STATE(500), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -17995,62 +18114,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [92] = { - [sym__simple_statements] = STATE(506), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [93] = { + [sym__simple_statements] = STATE(401), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18092,62 +18211,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [93] = { - [sym__simple_statements] = STATE(415), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [94] = { + [sym__simple_statements] = STATE(396), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18189,62 +18308,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [94] = { - [sym__simple_statements] = STATE(562), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [95] = { + [sym__simple_statements] = STATE(394), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18286,62 +18405,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [95] = { - [sym__simple_statements] = STATE(537), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [96] = { + [sym__simple_statements] = STATE(465), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18383,62 +18502,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [96] = { - [sym__simple_statements] = STATE(503), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [97] = { + [sym__simple_statements] = STATE(525), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18480,62 +18599,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [97] = { - [sym__simple_statements] = STATE(540), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [98] = { + [sym__simple_statements] = STATE(453), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18577,62 +18696,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [98] = { - [sym__simple_statements] = STATE(536), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [99] = { + [sym__simple_statements] = STATE(547), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18674,62 +18793,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [99] = { - [sym__simple_statements] = STATE(412), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [100] = { + [sym__simple_statements] = STATE(567), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18771,62 +18890,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [100] = { - [sym__simple_statements] = STATE(396), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [101] = { + [sym__simple_statements] = STATE(997), + [sym_import_statement] = STATE(1212), + [sym_future_import_statement] = STATE(1212), + [sym_import_from_statement] = STATE(1212), + [sym_print_statement] = STATE(1212), + [sym_assert_statement] = STATE(1212), + [sym_expression_statement] = STATE(1212), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1212), + [sym_delete_statement] = STATE(1212), + [sym_raise_statement] = STATE(1212), + [sym_pass_statement] = STATE(1212), + [sym_break_statement] = STATE(1212), + [sym_continue_statement] = STATE(1212), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1212), + [sym_nonlocal_statement] = STATE(1212), + [sym_exec_statement] = STATE(1212), + [sym_type_alias_statement] = STATE(1212), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18868,62 +18987,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [101] = { - [sym__simple_statements] = STATE(411), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [102] = { + [sym__simple_statements] = STATE(477), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -18965,62 +19084,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [102] = { - [sym__simple_statements] = STATE(451), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [103] = { + [sym__simple_statements] = STATE(472), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19062,62 +19181,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [103] = { - [sym__simple_statements] = STATE(470), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [104] = { + [sym__simple_statements] = STATE(411), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19159,62 +19278,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [104] = { - [sym__simple_statements] = STATE(507), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [105] = { + [sym__simple_statements] = STATE(438), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19256,62 +19375,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [105] = { - [sym__simple_statements] = STATE(425), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [106] = { + [sym__simple_statements] = STATE(518), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19353,62 +19472,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [106] = { - [sym__simple_statements] = STATE(520), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [107] = { + [sym__simple_statements] = STATE(464), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19450,62 +19569,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [107] = { - [sym__simple_statements] = STATE(404), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [108] = { + [sym__simple_statements] = STATE(302), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19547,62 +19666,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [108] = { - [sym__simple_statements] = STATE(395), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [109] = { + [sym__simple_statements] = STATE(509), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19644,62 +19763,62 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [109] = { + [110] = { [sym__simple_statements] = STATE(552), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -19741,256 +19860,159 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [110] = { - [sym__simple_statements] = STATE(493), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), - [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [sym_identifier] = ACTIONS(7), - [anon_sym_import] = ACTIONS(9), - [anon_sym_from] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_STAR] = ACTIONS(15), - [anon_sym_print] = ACTIONS(17), - [anon_sym_assert] = ACTIONS(19), - [anon_sym_return] = ACTIONS(21), - [anon_sym_del] = ACTIONS(23), - [anon_sym_raise] = ACTIONS(25), - [anon_sym_pass] = ACTIONS(27), - [anon_sym_break] = ACTIONS(29), - [anon_sym_continue] = ACTIONS(31), - [anon_sym_async] = ACTIONS(314), - [anon_sym_match] = ACTIONS(314), - [anon_sym_DASH] = ACTIONS(47), - [anon_sym_PLUS] = ACTIONS(47), - [anon_sym_LBRACK] = ACTIONS(49), - [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(53), - [anon_sym_global] = ACTIONS(57), - [anon_sym_nonlocal] = ACTIONS(59), - [anon_sym_exec] = ACTIONS(61), - [anon_sym_type] = ACTIONS(63), - [anon_sym_not] = ACTIONS(69), - [anon_sym_TILDE] = ACTIONS(47), - [anon_sym_lambda] = ACTIONS(71), - [anon_sym_yield] = ACTIONS(73), - [sym_ellipsis] = ACTIONS(75), - [sym_integer] = ACTIONS(77), - [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(79), - [sym_true] = ACTIONS(77), - [sym_false] = ACTIONS(77), - [sym_none] = ACTIONS(77), - [sym_comment] = ACTIONS(3), - [sym__newline] = ACTIONS(488), - [sym__indent] = ACTIONS(490), - [sym__string_start] = ACTIONS(81), - [sym__template_string_start] = ACTIONS(83), - }, [111] = { - [sym__simple_statements] = STATE(403), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), - [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_chevron] = STATE(1109), + [sym_named_expression] = STATE(955), + [sym_expression] = STATE(1012), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_attribute] = STATE(760), + [sym_subscript] = STATE(760), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), - [sym_identifier] = ACTIONS(7), - [anon_sym_import] = ACTIONS(9), - [anon_sym_from] = ACTIONS(11), - [anon_sym_LPAREN] = ACTIONS(13), - [anon_sym_STAR] = ACTIONS(15), - [anon_sym_print] = ACTIONS(17), - [anon_sym_assert] = ACTIONS(19), - [anon_sym_return] = ACTIONS(21), - [anon_sym_del] = ACTIONS(23), - [anon_sym_raise] = ACTIONS(25), - [anon_sym_pass] = ACTIONS(27), - [anon_sym_break] = ACTIONS(29), - [anon_sym_continue] = ACTIONS(31), - [anon_sym_async] = ACTIONS(314), - [anon_sym_match] = ACTIONS(314), - [anon_sym_DASH] = ACTIONS(47), - [anon_sym_PLUS] = ACTIONS(47), - [anon_sym_LBRACK] = ACTIONS(49), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), + [sym_identifier] = ACTIONS(488), + [anon_sym_DOT] = ACTIONS(265), + [anon_sym_LPAREN] = ACTIONS(298), + [anon_sym_COMMA] = ACTIONS(270), + [anon_sym_STAR] = ACTIONS(265), + [anon_sym_print] = ACTIONS(490), + [anon_sym_GT_GT] = ACTIONS(492), + [anon_sym_COLON_EQ] = ACTIONS(278), + [anon_sym_if] = ACTIONS(265), + [anon_sym_COLON] = ACTIONS(280), + [anon_sym_async] = ACTIONS(490), + [anon_sym_in] = ACTIONS(265), + [anon_sym_match] = ACTIONS(490), + [anon_sym_PIPE] = ACTIONS(265), + [anon_sym_DASH] = ACTIONS(265), + [anon_sym_PLUS] = ACTIONS(265), + [anon_sym_LBRACK] = ACTIONS(298), [anon_sym_LBRACE] = ACTIONS(51), - [anon_sym_STAR_STAR] = ACTIONS(53), - [anon_sym_global] = ACTIONS(57), - [anon_sym_nonlocal] = ACTIONS(59), - [anon_sym_exec] = ACTIONS(61), - [anon_sym_type] = ACTIONS(63), - [anon_sym_not] = ACTIONS(69), + [anon_sym_STAR_STAR] = ACTIONS(265), + [anon_sym_EQ] = ACTIONS(280), + [anon_sym_exec] = ACTIONS(490), + [anon_sym_type] = ACTIONS(490), + [anon_sym_AT] = ACTIONS(265), + [anon_sym_not] = ACTIONS(265), + [anon_sym_and] = ACTIONS(265), + [anon_sym_or] = ACTIONS(265), + [anon_sym_SLASH] = ACTIONS(265), + [anon_sym_PERCENT] = ACTIONS(265), + [anon_sym_SLASH_SLASH] = ACTIONS(265), + [anon_sym_AMP] = ACTIONS(265), + [anon_sym_CARET] = ACTIONS(265), + [anon_sym_LT_LT] = ACTIONS(265), [anon_sym_TILDE] = ACTIONS(47), + [anon_sym_LT] = ACTIONS(265), + [anon_sym_LT_EQ] = ACTIONS(298), + [anon_sym_EQ_EQ] = ACTIONS(298), + [anon_sym_BANG_EQ] = ACTIONS(298), + [anon_sym_GT_EQ] = ACTIONS(298), + [anon_sym_GT] = ACTIONS(265), + [anon_sym_LT_GT] = ACTIONS(298), + [anon_sym_is] = ACTIONS(265), [anon_sym_lambda] = ACTIONS(71), - [anon_sym_yield] = ACTIONS(73), + [anon_sym_PLUS_EQ] = ACTIONS(302), + [anon_sym_DASH_EQ] = ACTIONS(302), + [anon_sym_STAR_EQ] = ACTIONS(302), + [anon_sym_SLASH_EQ] = ACTIONS(302), + [anon_sym_AT_EQ] = ACTIONS(302), + [anon_sym_SLASH_SLASH_EQ] = ACTIONS(302), + [anon_sym_PERCENT_EQ] = ACTIONS(302), + [anon_sym_STAR_STAR_EQ] = ACTIONS(302), + [anon_sym_GT_GT_EQ] = ACTIONS(302), + [anon_sym_LT_LT_EQ] = ACTIONS(302), + [anon_sym_AMP_EQ] = ACTIONS(302), + [anon_sym_CARET_EQ] = ACTIONS(302), + [anon_sym_PIPE_EQ] = ACTIONS(302), [sym_ellipsis] = ACTIONS(75), [sym_integer] = ACTIONS(77), [sym_float] = ACTIONS(75), - [anon_sym_await] = ACTIONS(79), + [anon_sym_await] = ACTIONS(494), [sym_true] = ACTIONS(77), [sym_false] = ACTIONS(77), [sym_none] = ACTIONS(77), [sym_comment] = ACTIONS(3), - [sym__newline] = ACTIONS(492), - [sym__indent] = ACTIONS(494), + [sym__semicolon] = ACTIONS(298), + [sym__newline] = ACTIONS(298), [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, [112] = { - [sym__simple_statements] = STATE(550), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(501), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20033,61 +20055,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [113] = { - [sym__simple_statements] = STATE(389), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(486), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20130,61 +20152,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [114] = { - [sym__simple_statements] = STATE(1029), - [sym_import_statement] = STATE(1214), - [sym_future_import_statement] = STATE(1214), - [sym_import_from_statement] = STATE(1214), - [sym_print_statement] = STATE(1214), - [sym_assert_statement] = STATE(1214), - [sym_expression_statement] = STATE(1214), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1214), - [sym_delete_statement] = STATE(1214), - [sym_raise_statement] = STATE(1214), - [sym_pass_statement] = STATE(1214), - [sym_break_statement] = STATE(1214), - [sym_continue_statement] = STATE(1214), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1214), - [sym_nonlocal_statement] = STATE(1214), - [sym_exec_statement] = STATE(1214), - [sym_type_alias_statement] = STATE(1214), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(995), + [sym_import_statement] = STATE(1212), + [sym_future_import_statement] = STATE(1212), + [sym_import_from_statement] = STATE(1212), + [sym_print_statement] = STATE(1212), + [sym_assert_statement] = STATE(1212), + [sym_expression_statement] = STATE(1212), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1212), + [sym_delete_statement] = STATE(1212), + [sym_raise_statement] = STATE(1212), + [sym_pass_statement] = STATE(1212), + [sym_break_statement] = STATE(1212), + [sym_continue_statement] = STATE(1212), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1212), + [sym_nonlocal_statement] = STATE(1212), + [sym_exec_statement] = STATE(1212), + [sym_type_alias_statement] = STATE(1212), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20227,61 +20249,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [115] = { - [sym__simple_statements] = STATE(461), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(404), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20324,61 +20346,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [116] = { - [sym__simple_statements] = STATE(477), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(561), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20421,61 +20443,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [117] = { - [sym__simple_statements] = STATE(466), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(511), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20518,61 +20540,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [118] = { - [sym__simple_statements] = STATE(485), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(468), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20615,61 +20637,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [119] = { - [sym__simple_statements] = STATE(423), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(564), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20712,61 +20734,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [120] = { - [sym__simple_statements] = STATE(393), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(563), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20809,61 +20831,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [121] = { - [sym__simple_statements] = STATE(483), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(515), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -20906,61 +20928,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [122] = { - [sym__simple_statements] = STATE(452), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(557), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21003,61 +21025,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [123] = { - [sym__simple_statements] = STATE(480), - [sym_import_statement] = STATE(1184), - [sym_future_import_statement] = STATE(1184), - [sym_import_from_statement] = STATE(1184), - [sym_print_statement] = STATE(1184), - [sym_assert_statement] = STATE(1184), - [sym_expression_statement] = STATE(1184), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1184), - [sym_delete_statement] = STATE(1184), - [sym_raise_statement] = STATE(1184), - [sym_pass_statement] = STATE(1184), - [sym_break_statement] = STATE(1184), - [sym_continue_statement] = STATE(1184), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1184), - [sym_nonlocal_statement] = STATE(1184), - [sym_exec_statement] = STATE(1184), - [sym_type_alias_statement] = STATE(1184), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(399), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21100,61 +21122,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [124] = { - [sym__simple_statements] = STATE(511), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(410), + [sym_import_statement] = STATE(1227), + [sym_future_import_statement] = STATE(1227), + [sym_import_from_statement] = STATE(1227), + [sym_print_statement] = STATE(1227), + [sym_assert_statement] = STATE(1227), + [sym_expression_statement] = STATE(1227), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1227), + [sym_delete_statement] = STATE(1227), + [sym_raise_statement] = STATE(1227), + [sym_pass_statement] = STATE(1227), + [sym_break_statement] = STATE(1227), + [sym_continue_statement] = STATE(1227), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1227), + [sym_nonlocal_statement] = STATE(1227), + [sym_exec_statement] = STATE(1227), + [sym_type_alias_statement] = STATE(1227), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21197,61 +21219,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [125] = { - [sym__simple_statements] = STATE(449), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(508), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21294,61 +21316,61 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [126] = { - [sym__simple_statements] = STATE(442), - [sym_import_statement] = STATE(1249), - [sym_future_import_statement] = STATE(1249), - [sym_import_from_statement] = STATE(1249), - [sym_print_statement] = STATE(1249), - [sym_assert_statement] = STATE(1249), - [sym_expression_statement] = STATE(1249), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1249), - [sym_delete_statement] = STATE(1249), - [sym_raise_statement] = STATE(1249), - [sym_pass_statement] = STATE(1249), - [sym_break_statement] = STATE(1249), - [sym_continue_statement] = STATE(1249), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1249), - [sym_nonlocal_statement] = STATE(1249), - [sym_exec_statement] = STATE(1249), - [sym_type_alias_statement] = STATE(1249), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym__simple_statements] = STATE(507), + [sym_import_statement] = STATE(1181), + [sym_future_import_statement] = STATE(1181), + [sym_import_from_statement] = STATE(1181), + [sym_print_statement] = STATE(1181), + [sym_assert_statement] = STATE(1181), + [sym_expression_statement] = STATE(1181), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1181), + [sym_delete_statement] = STATE(1181), + [sym_raise_statement] = STATE(1181), + [sym_pass_statement] = STATE(1181), + [sym_break_statement] = STATE(1181), + [sym_continue_statement] = STATE(1181), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1181), + [sym_nonlocal_statement] = STATE(1181), + [sym_exec_statement] = STATE(1181), + [sym_type_alias_statement] = STATE(1181), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21391,60 +21413,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [127] = { - [sym_import_statement] = STATE(1357), - [sym_future_import_statement] = STATE(1357), - [sym_import_from_statement] = STATE(1357), - [sym_print_statement] = STATE(1357), - [sym_assert_statement] = STATE(1357), - [sym_expression_statement] = STATE(1357), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1357), - [sym_delete_statement] = STATE(1357), - [sym_raise_statement] = STATE(1357), - [sym_pass_statement] = STATE(1357), - [sym_break_statement] = STATE(1357), - [sym_continue_statement] = STATE(1357), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1357), - [sym_nonlocal_statement] = STATE(1357), - [sym_exec_statement] = STATE(1357), - [sym_type_alias_statement] = STATE(1357), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1369), + [sym_future_import_statement] = STATE(1369), + [sym_import_from_statement] = STATE(1369), + [sym_print_statement] = STATE(1369), + [sym_assert_statement] = STATE(1369), + [sym_expression_statement] = STATE(1369), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1369), + [sym_delete_statement] = STATE(1369), + [sym_raise_statement] = STATE(1369), + [sym_pass_statement] = STATE(1369), + [sym_break_statement] = STATE(1369), + [sym_continue_statement] = STATE(1369), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1369), + [sym_nonlocal_statement] = STATE(1369), + [sym_exec_statement] = STATE(1369), + [sym_type_alias_statement] = STATE(1369), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21486,60 +21508,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [128] = { - [sym_import_statement] = STATE(1357), - [sym_future_import_statement] = STATE(1357), - [sym_import_from_statement] = STATE(1357), - [sym_print_statement] = STATE(1357), - [sym_assert_statement] = STATE(1357), - [sym_expression_statement] = STATE(1357), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1357), - [sym_delete_statement] = STATE(1357), - [sym_raise_statement] = STATE(1357), - [sym_pass_statement] = STATE(1357), - [sym_break_statement] = STATE(1357), - [sym_continue_statement] = STATE(1357), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1357), - [sym_nonlocal_statement] = STATE(1357), - [sym_exec_statement] = STATE(1357), - [sym_type_alias_statement] = STATE(1357), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1369), + [sym_future_import_statement] = STATE(1369), + [sym_import_from_statement] = STATE(1369), + [sym_print_statement] = STATE(1369), + [sym_assert_statement] = STATE(1369), + [sym_expression_statement] = STATE(1369), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1369), + [sym_delete_statement] = STATE(1369), + [sym_raise_statement] = STATE(1369), + [sym_pass_statement] = STATE(1369), + [sym_break_statement] = STATE(1369), + [sym_continue_statement] = STATE(1369), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1369), + [sym_nonlocal_statement] = STATE(1369), + [sym_exec_statement] = STATE(1369), + [sym_type_alias_statement] = STATE(1369), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21581,60 +21603,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [129] = { - [sym_import_statement] = STATE(1357), - [sym_future_import_statement] = STATE(1357), - [sym_import_from_statement] = STATE(1357), - [sym_print_statement] = STATE(1357), - [sym_assert_statement] = STATE(1357), - [sym_expression_statement] = STATE(1357), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1357), - [sym_delete_statement] = STATE(1357), - [sym_raise_statement] = STATE(1357), - [sym_pass_statement] = STATE(1357), - [sym_break_statement] = STATE(1357), - [sym_continue_statement] = STATE(1357), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1357), - [sym_nonlocal_statement] = STATE(1357), - [sym_exec_statement] = STATE(1357), - [sym_type_alias_statement] = STATE(1357), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1369), + [sym_future_import_statement] = STATE(1369), + [sym_import_from_statement] = STATE(1369), + [sym_print_statement] = STATE(1369), + [sym_assert_statement] = STATE(1369), + [sym_expression_statement] = STATE(1369), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1369), + [sym_delete_statement] = STATE(1369), + [sym_raise_statement] = STATE(1369), + [sym_pass_statement] = STATE(1369), + [sym_break_statement] = STATE(1369), + [sym_continue_statement] = STATE(1369), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1369), + [sym_nonlocal_statement] = STATE(1369), + [sym_exec_statement] = STATE(1369), + [sym_type_alias_statement] = STATE(1369), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21676,60 +21698,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [130] = { - [sym_import_statement] = STATE(1357), - [sym_future_import_statement] = STATE(1357), - [sym_import_from_statement] = STATE(1357), - [sym_print_statement] = STATE(1357), - [sym_assert_statement] = STATE(1357), - [sym_expression_statement] = STATE(1357), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1357), - [sym_delete_statement] = STATE(1357), - [sym_raise_statement] = STATE(1357), - [sym_pass_statement] = STATE(1357), - [sym_break_statement] = STATE(1357), - [sym_continue_statement] = STATE(1357), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1357), - [sym_nonlocal_statement] = STATE(1357), - [sym_exec_statement] = STATE(1357), - [sym_type_alias_statement] = STATE(1357), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1369), + [sym_future_import_statement] = STATE(1369), + [sym_import_from_statement] = STATE(1369), + [sym_print_statement] = STATE(1369), + [sym_assert_statement] = STATE(1369), + [sym_expression_statement] = STATE(1369), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1369), + [sym_delete_statement] = STATE(1369), + [sym_raise_statement] = STATE(1369), + [sym_pass_statement] = STATE(1369), + [sym_break_statement] = STATE(1369), + [sym_continue_statement] = STATE(1369), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1369), + [sym_nonlocal_statement] = STATE(1369), + [sym_exec_statement] = STATE(1369), + [sym_type_alias_statement] = STATE(1369), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21771,60 +21793,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [131] = { - [sym_import_statement] = STATE(1357), - [sym_future_import_statement] = STATE(1357), - [sym_import_from_statement] = STATE(1357), - [sym_print_statement] = STATE(1357), - [sym_assert_statement] = STATE(1357), - [sym_expression_statement] = STATE(1357), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1357), - [sym_delete_statement] = STATE(1357), - [sym_raise_statement] = STATE(1357), - [sym_pass_statement] = STATE(1357), - [sym_break_statement] = STATE(1357), - [sym_continue_statement] = STATE(1357), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1357), - [sym_nonlocal_statement] = STATE(1357), - [sym_exec_statement] = STATE(1357), - [sym_type_alias_statement] = STATE(1357), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1369), + [sym_future_import_statement] = STATE(1369), + [sym_import_from_statement] = STATE(1369), + [sym_print_statement] = STATE(1369), + [sym_assert_statement] = STATE(1369), + [sym_expression_statement] = STATE(1369), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1369), + [sym_delete_statement] = STATE(1369), + [sym_raise_statement] = STATE(1369), + [sym_pass_statement] = STATE(1369), + [sym_break_statement] = STATE(1369), + [sym_continue_statement] = STATE(1369), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1369), + [sym_nonlocal_statement] = STATE(1369), + [sym_exec_statement] = STATE(1369), + [sym_type_alias_statement] = STATE(1369), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21866,60 +21888,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [132] = { - [sym_import_statement] = STATE(1357), - [sym_future_import_statement] = STATE(1357), - [sym_import_from_statement] = STATE(1357), - [sym_print_statement] = STATE(1357), - [sym_assert_statement] = STATE(1357), - [sym_expression_statement] = STATE(1357), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1357), - [sym_delete_statement] = STATE(1357), - [sym_raise_statement] = STATE(1357), - [sym_pass_statement] = STATE(1357), - [sym_break_statement] = STATE(1357), - [sym_continue_statement] = STATE(1357), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1357), - [sym_nonlocal_statement] = STATE(1357), - [sym_exec_statement] = STATE(1357), - [sym_type_alias_statement] = STATE(1357), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1369), + [sym_future_import_statement] = STATE(1369), + [sym_import_from_statement] = STATE(1369), + [sym_print_statement] = STATE(1369), + [sym_assert_statement] = STATE(1369), + [sym_expression_statement] = STATE(1369), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1369), + [sym_delete_statement] = STATE(1369), + [sym_raise_statement] = STATE(1369), + [sym_pass_statement] = STATE(1369), + [sym_break_statement] = STATE(1369), + [sym_continue_statement] = STATE(1369), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1369), + [sym_nonlocal_statement] = STATE(1369), + [sym_exec_statement] = STATE(1369), + [sym_type_alias_statement] = STATE(1369), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -21961,60 +21983,60 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [133] = { - [sym_import_statement] = STATE(1357), - [sym_future_import_statement] = STATE(1357), - [sym_import_from_statement] = STATE(1357), - [sym_print_statement] = STATE(1357), - [sym_assert_statement] = STATE(1357), - [sym_expression_statement] = STATE(1357), - [sym_named_expression] = STATE(977), - [sym_return_statement] = STATE(1357), - [sym_delete_statement] = STATE(1357), - [sym_raise_statement] = STATE(1357), - [sym_pass_statement] = STATE(1357), - [sym_break_statement] = STATE(1357), - [sym_continue_statement] = STATE(1357), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_global_statement] = STATE(1357), - [sym_nonlocal_statement] = STATE(1357), - [sym_exec_statement] = STATE(1357), - [sym_type_alias_statement] = STATE(1357), - [sym_expression_list] = STATE(1333), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(1000), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1333), - [sym_augmented_assignment] = STATE(1333), + [sym_import_statement] = STATE(1369), + [sym_future_import_statement] = STATE(1369), + [sym_import_from_statement] = STATE(1369), + [sym_print_statement] = STATE(1369), + [sym_assert_statement] = STATE(1369), + [sym_expression_statement] = STATE(1369), + [sym_named_expression] = STATE(955), + [sym_return_statement] = STATE(1369), + [sym_delete_statement] = STATE(1369), + [sym_raise_statement] = STATE(1369), + [sym_pass_statement] = STATE(1369), + [sym_break_statement] = STATE(1369), + [sym_continue_statement] = STATE(1369), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_global_statement] = STATE(1369), + [sym_nonlocal_statement] = STATE(1369), + [sym_exec_statement] = STATE(1369), + [sym_type_alias_statement] = STATE(1369), + [sym_expression_list] = STATE(1329), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1032), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1329), + [sym_augmented_assignment] = STATE(1329), [sym_pattern_list] = STATE(874), - [sym_yield] = STATE(1333), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym_yield] = STATE(1329), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_import] = ACTIONS(9), [anon_sym_from] = ACTIONS(11), @@ -22055,26 +22077,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [134] = { - [sym_primary_expression] = STATE(715), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_attribute] = STATE(795), - [sym_subscript] = STATE(795), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_concatenated_string] = STATE(795), + [sym_primary_expression] = STATE(711), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_attribute] = STATE(760), + [sym_subscript] = STATE(760), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(77), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(568), @@ -22143,26 +22165,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [135] = { - [sym_primary_expression] = STATE(671), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(669), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(578), @@ -22231,26 +22253,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [136] = { - [sym_primary_expression] = STATE(671), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(669), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(578), @@ -22309,26 +22331,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [137] = { - [sym_primary_expression] = STATE(671), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(669), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(578), @@ -22386,26 +22408,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [138] = { - [sym_primary_expression] = STATE(666), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(675), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(597), @@ -22463,26 +22485,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [139] = { - [sym_primary_expression] = STATE(666), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(675), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(597), @@ -22539,101 +22561,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [140] = { - [sym_primary_expression] = STATE(671), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), - [sym_identifier] = ACTIONS(306), - [anon_sym_DOT] = ACTIONS(265), - [anon_sym_LPAREN] = ACTIONS(578), - [anon_sym_RPAREN] = ACTIONS(302), - [anon_sym_COMMA] = ACTIONS(302), - [anon_sym_STAR] = ACTIONS(265), - [anon_sym_print] = ACTIONS(583), - [anon_sym_GT_GT] = ACTIONS(265), - [anon_sym_COLON] = ACTIONS(302), - [anon_sym_async] = ACTIONS(583), - [anon_sym_in] = ACTIONS(280), - [anon_sym_match] = ACTIONS(583), - [anon_sym_PIPE] = ACTIONS(265), - [anon_sym_DASH] = ACTIONS(589), - [anon_sym_PLUS] = ACTIONS(589), - [anon_sym_LBRACK] = ACTIONS(591), - [anon_sym_RBRACK] = ACTIONS(302), - [anon_sym_LBRACE] = ACTIONS(288), - [anon_sym_STAR_STAR] = ACTIONS(265), - [anon_sym_EQ] = ACTIONS(302), - [anon_sym_exec] = ACTIONS(583), - [anon_sym_type] = ACTIONS(583), - [anon_sym_AT] = ACTIONS(265), - [anon_sym_SLASH] = ACTIONS(265), - [anon_sym_PERCENT] = ACTIONS(265), - [anon_sym_SLASH_SLASH] = ACTIONS(265), - [anon_sym_AMP] = ACTIONS(265), - [anon_sym_CARET] = ACTIONS(265), - [anon_sym_LT_LT] = ACTIONS(265), - [anon_sym_TILDE] = ACTIONS(296), - [anon_sym_PLUS_EQ] = ACTIONS(302), - [anon_sym_DASH_EQ] = ACTIONS(302), - [anon_sym_STAR_EQ] = ACTIONS(302), - [anon_sym_SLASH_EQ] = ACTIONS(302), - [anon_sym_AT_EQ] = ACTIONS(302), - [anon_sym_SLASH_SLASH_EQ] = ACTIONS(302), - [anon_sym_PERCENT_EQ] = ACTIONS(302), - [anon_sym_STAR_STAR_EQ] = ACTIONS(302), - [anon_sym_GT_GT_EQ] = ACTIONS(302), - [anon_sym_LT_LT_EQ] = ACTIONS(302), - [anon_sym_AMP_EQ] = ACTIONS(302), - [anon_sym_CARET_EQ] = ACTIONS(302), - [anon_sym_PIPE_EQ] = ACTIONS(302), - [sym_ellipsis] = ACTIONS(304), - [sym_integer] = ACTIONS(306), - [sym_float] = ACTIONS(304), - [anon_sym_await] = ACTIONS(595), - [sym_true] = ACTIONS(306), - [sym_false] = ACTIONS(306), - [sym_none] = ACTIONS(306), - [sym_comment] = ACTIONS(3), - [sym__string_start] = ACTIONS(310), - [sym__template_string_start] = ACTIONS(312), - }, - [141] = { - [sym_primary_expression] = STATE(715), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_attribute] = STATE(795), - [sym_subscript] = STATE(795), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_concatenated_string] = STATE(795), + [sym_primary_expression] = STATE(711), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_attribute] = STATE(760), + [sym_subscript] = STATE(760), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(77), [anon_sym_DOT] = ACTIONS(265), [anon_sym_from] = ACTIONS(265), @@ -22688,27 +22635,102 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, + [141] = { + [sym_primary_expression] = STATE(669), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), + [sym_identifier] = ACTIONS(306), + [anon_sym_DOT] = ACTIONS(265), + [anon_sym_LPAREN] = ACTIONS(578), + [anon_sym_RPAREN] = ACTIONS(302), + [anon_sym_COMMA] = ACTIONS(302), + [anon_sym_STAR] = ACTIONS(265), + [anon_sym_print] = ACTIONS(583), + [anon_sym_GT_GT] = ACTIONS(265), + [anon_sym_COLON] = ACTIONS(302), + [anon_sym_async] = ACTIONS(583), + [anon_sym_in] = ACTIONS(280), + [anon_sym_match] = ACTIONS(583), + [anon_sym_PIPE] = ACTIONS(265), + [anon_sym_DASH] = ACTIONS(589), + [anon_sym_PLUS] = ACTIONS(589), + [anon_sym_LBRACK] = ACTIONS(591), + [anon_sym_RBRACK] = ACTIONS(302), + [anon_sym_LBRACE] = ACTIONS(288), + [anon_sym_STAR_STAR] = ACTIONS(265), + [anon_sym_EQ] = ACTIONS(302), + [anon_sym_exec] = ACTIONS(583), + [anon_sym_type] = ACTIONS(583), + [anon_sym_AT] = ACTIONS(265), + [anon_sym_SLASH] = ACTIONS(265), + [anon_sym_PERCENT] = ACTIONS(265), + [anon_sym_SLASH_SLASH] = ACTIONS(265), + [anon_sym_AMP] = ACTIONS(265), + [anon_sym_CARET] = ACTIONS(265), + [anon_sym_LT_LT] = ACTIONS(265), + [anon_sym_TILDE] = ACTIONS(296), + [anon_sym_PLUS_EQ] = ACTIONS(302), + [anon_sym_DASH_EQ] = ACTIONS(302), + [anon_sym_STAR_EQ] = ACTIONS(302), + [anon_sym_SLASH_EQ] = ACTIONS(302), + [anon_sym_AT_EQ] = ACTIONS(302), + [anon_sym_SLASH_SLASH_EQ] = ACTIONS(302), + [anon_sym_PERCENT_EQ] = ACTIONS(302), + [anon_sym_STAR_STAR_EQ] = ACTIONS(302), + [anon_sym_GT_GT_EQ] = ACTIONS(302), + [anon_sym_LT_LT_EQ] = ACTIONS(302), + [anon_sym_AMP_EQ] = ACTIONS(302), + [anon_sym_CARET_EQ] = ACTIONS(302), + [anon_sym_PIPE_EQ] = ACTIONS(302), + [sym_ellipsis] = ACTIONS(304), + [sym_integer] = ACTIONS(306), + [sym_float] = ACTIONS(304), + [anon_sym_await] = ACTIONS(595), + [sym_true] = ACTIONS(306), + [sym_false] = ACTIONS(306), + [sym_none] = ACTIONS(306), + [sym_comment] = ACTIONS(3), + [sym__string_start] = ACTIONS(310), + [sym__template_string_start] = ACTIONS(312), + }, [142] = { - [sym_primary_expression] = STATE(671), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(669), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(578), @@ -22764,26 +22786,174 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [143] = { - [sym_primary_expression] = STATE(715), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_attribute] = STATE(795), - [sym_subscript] = STATE(795), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_concatenated_string] = STATE(795), + [sym_primary_expression] = STATE(748), + [sym_binary_operator] = STATE(809), + [sym_unary_operator] = STATE(809), + [sym_attribute] = STATE(809), + [sym_subscript] = STATE(809), + [sym_call] = STATE(809), + [sym_list] = STATE(809), + [sym_set] = STATE(809), + [sym_tuple] = STATE(809), + [sym_dictionary] = STATE(809), + [sym_list_comprehension] = STATE(809), + [sym_dictionary_comprehension] = STATE(809), + [sym_set_comprehension] = STATE(809), + [sym_generator_expression] = STATE(809), + [sym_parenthesized_expression] = STATE(809), + [sym_concatenated_string] = STATE(809), + [sym_string] = STATE(720), + [sym_concatenated_template_string] = STATE(809), + [sym_template_string] = STATE(722), + [sym_await] = STATE(809), + [sym_identifier] = ACTIONS(607), + [anon_sym_DOT] = ACTIONS(265), + [anon_sym_LPAREN] = ACTIONS(609), + [anon_sym_RPAREN] = ACTIONS(298), + [anon_sym_COMMA] = ACTIONS(298), + [anon_sym_as] = ACTIONS(265), + [anon_sym_STAR] = ACTIONS(265), + [anon_sym_print] = ACTIONS(611), + [anon_sym_GT_GT] = ACTIONS(298), + [anon_sym_COLON_EQ] = ACTIONS(613), + [anon_sym_if] = ACTIONS(265), + [anon_sym_COLON] = ACTIONS(265), + [anon_sym_async] = ACTIONS(611), + [anon_sym_in] = ACTIONS(265), + [anon_sym_match] = ACTIONS(611), + [anon_sym_PIPE] = ACTIONS(298), + [anon_sym_DASH] = ACTIONS(615), + [anon_sym_PLUS] = ACTIONS(615), + [anon_sym_LBRACK] = ACTIONS(617), + [anon_sym_LBRACE] = ACTIONS(619), + [anon_sym_STAR_STAR] = ACTIONS(298), + [anon_sym_exec] = ACTIONS(611), + [anon_sym_type] = ACTIONS(611), + [anon_sym_AT] = ACTIONS(298), + [anon_sym_not] = ACTIONS(265), + [anon_sym_and] = ACTIONS(265), + [anon_sym_or] = ACTIONS(265), + [anon_sym_SLASH] = ACTIONS(265), + [anon_sym_PERCENT] = ACTIONS(298), + [anon_sym_SLASH_SLASH] = ACTIONS(298), + [anon_sym_AMP] = ACTIONS(298), + [anon_sym_CARET] = ACTIONS(298), + [anon_sym_LT_LT] = ACTIONS(298), + [anon_sym_TILDE] = ACTIONS(615), + [anon_sym_LT] = ACTIONS(265), + [anon_sym_LT_EQ] = ACTIONS(298), + [anon_sym_EQ_EQ] = ACTIONS(298), + [anon_sym_BANG_EQ] = ACTIONS(298), + [anon_sym_GT_EQ] = ACTIONS(298), + [anon_sym_GT] = ACTIONS(265), + [anon_sym_LT_GT] = ACTIONS(298), + [anon_sym_is] = ACTIONS(265), + [sym_ellipsis] = ACTIONS(621), + [sym_integer] = ACTIONS(607), + [sym_float] = ACTIONS(621), + [anon_sym_await] = ACTIONS(623), + [sym_true] = ACTIONS(607), + [sym_false] = ACTIONS(607), + [sym_none] = ACTIONS(607), + [sym_comment] = ACTIONS(3), + [sym__string_start] = ACTIONS(625), + [sym__template_string_start] = ACTIONS(627), + }, + [144] = { + [sym_primary_expression] = STATE(675), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), + [sym_identifier] = ACTIONS(306), + [anon_sym_DOT] = ACTIONS(265), + [anon_sym_LPAREN] = ACTIONS(597), + [anon_sym_RPAREN] = ACTIONS(298), + [anon_sym_COMMA] = ACTIONS(298), + [anon_sym_STAR] = ACTIONS(265), + [anon_sym_print] = ACTIONS(583), + [anon_sym_GT_GT] = ACTIONS(298), + [anon_sym_COLON_EQ] = ACTIONS(599), + [anon_sym_if] = ACTIONS(265), + [anon_sym_async] = ACTIONS(583), + [anon_sym_for] = ACTIONS(265), + [anon_sym_in] = ACTIONS(265), + [anon_sym_match] = ACTIONS(583), + [anon_sym_PIPE] = ACTIONS(298), + [anon_sym_DASH] = ACTIONS(601), + [anon_sym_PLUS] = ACTIONS(601), + [anon_sym_LBRACK] = ACTIONS(603), + [anon_sym_LBRACE] = ACTIONS(288), + [anon_sym_STAR_STAR] = ACTIONS(298), + [anon_sym_EQ] = ACTIONS(629), + [anon_sym_exec] = ACTIONS(583), + [anon_sym_type] = ACTIONS(583), + [anon_sym_AT] = ACTIONS(298), + [anon_sym_not] = ACTIONS(265), + [anon_sym_and] = ACTIONS(265), + [anon_sym_or] = ACTIONS(265), + [anon_sym_SLASH] = ACTIONS(265), + [anon_sym_PERCENT] = ACTIONS(298), + [anon_sym_SLASH_SLASH] = ACTIONS(298), + [anon_sym_AMP] = ACTIONS(298), + [anon_sym_CARET] = ACTIONS(298), + [anon_sym_LT_LT] = ACTIONS(298), + [anon_sym_TILDE] = ACTIONS(601), + [anon_sym_LT] = ACTIONS(265), + [anon_sym_LT_EQ] = ACTIONS(298), + [anon_sym_EQ_EQ] = ACTIONS(298), + [anon_sym_BANG_EQ] = ACTIONS(298), + [anon_sym_GT_EQ] = ACTIONS(298), + [anon_sym_GT] = ACTIONS(265), + [anon_sym_LT_GT] = ACTIONS(298), + [anon_sym_is] = ACTIONS(265), + [sym_ellipsis] = ACTIONS(304), + [sym_integer] = ACTIONS(306), + [sym_float] = ACTIONS(304), + [anon_sym_await] = ACTIONS(605), + [sym_true] = ACTIONS(306), + [sym_false] = ACTIONS(306), + [sym_none] = ACTIONS(306), + [sym_comment] = ACTIONS(3), + [sym__string_start] = ACTIONS(310), + [sym__template_string_start] = ACTIONS(312), + }, + [145] = { + [sym_primary_expression] = STATE(711), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_attribute] = STATE(760), + [sym_subscript] = STATE(760), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(77), [anon_sym_DOT] = ACTIONS(265), [anon_sym_from] = ACTIONS(265), @@ -22837,175 +23007,27 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__string_start] = ACTIONS(81), [sym__template_string_start] = ACTIONS(83), }, - [144] = { - [sym_primary_expression] = STATE(666), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), - [sym_identifier] = ACTIONS(306), - [anon_sym_DOT] = ACTIONS(265), - [anon_sym_LPAREN] = ACTIONS(597), - [anon_sym_RPAREN] = ACTIONS(298), - [anon_sym_COMMA] = ACTIONS(298), - [anon_sym_STAR] = ACTIONS(265), - [anon_sym_print] = ACTIONS(583), - [anon_sym_GT_GT] = ACTIONS(298), - [anon_sym_COLON_EQ] = ACTIONS(599), - [anon_sym_if] = ACTIONS(265), - [anon_sym_async] = ACTIONS(583), - [anon_sym_for] = ACTIONS(265), - [anon_sym_in] = ACTIONS(265), - [anon_sym_match] = ACTIONS(583), - [anon_sym_PIPE] = ACTIONS(298), - [anon_sym_DASH] = ACTIONS(601), - [anon_sym_PLUS] = ACTIONS(601), - [anon_sym_LBRACK] = ACTIONS(603), - [anon_sym_LBRACE] = ACTIONS(288), - [anon_sym_STAR_STAR] = ACTIONS(298), - [anon_sym_EQ] = ACTIONS(607), - [anon_sym_exec] = ACTIONS(583), - [anon_sym_type] = ACTIONS(583), - [anon_sym_AT] = ACTIONS(298), - [anon_sym_not] = ACTIONS(265), - [anon_sym_and] = ACTIONS(265), - [anon_sym_or] = ACTIONS(265), - [anon_sym_SLASH] = ACTIONS(265), - [anon_sym_PERCENT] = ACTIONS(298), - [anon_sym_SLASH_SLASH] = ACTIONS(298), - [anon_sym_AMP] = ACTIONS(298), - [anon_sym_CARET] = ACTIONS(298), - [anon_sym_LT_LT] = ACTIONS(298), - [anon_sym_TILDE] = ACTIONS(601), - [anon_sym_LT] = ACTIONS(265), - [anon_sym_LT_EQ] = ACTIONS(298), - [anon_sym_EQ_EQ] = ACTIONS(298), - [anon_sym_BANG_EQ] = ACTIONS(298), - [anon_sym_GT_EQ] = ACTIONS(298), - [anon_sym_GT] = ACTIONS(265), - [anon_sym_LT_GT] = ACTIONS(298), - [anon_sym_is] = ACTIONS(265), - [sym_ellipsis] = ACTIONS(304), - [sym_integer] = ACTIONS(306), - [sym_float] = ACTIONS(304), - [anon_sym_await] = ACTIONS(605), - [sym_true] = ACTIONS(306), - [sym_false] = ACTIONS(306), - [sym_none] = ACTIONS(306), - [sym_comment] = ACTIONS(3), - [sym__string_start] = ACTIONS(310), - [sym__template_string_start] = ACTIONS(312), - }, - [145] = { - [sym_primary_expression] = STATE(723), - [sym_binary_operator] = STATE(805), - [sym_unary_operator] = STATE(805), - [sym_attribute] = STATE(805), - [sym_subscript] = STATE(805), - [sym_call] = STATE(805), - [sym_list] = STATE(805), - [sym_set] = STATE(805), - [sym_tuple] = STATE(805), - [sym_dictionary] = STATE(805), - [sym_list_comprehension] = STATE(805), - [sym_dictionary_comprehension] = STATE(805), - [sym_set_comprehension] = STATE(805), - [sym_generator_expression] = STATE(805), - [sym_parenthesized_expression] = STATE(805), - [sym_concatenated_string] = STATE(805), - [sym_string] = STATE(706), - [sym_concatenated_template_string] = STATE(805), - [sym_template_string] = STATE(704), - [sym_await] = STATE(805), - [sym_identifier] = ACTIONS(609), - [anon_sym_DOT] = ACTIONS(265), - [anon_sym_LPAREN] = ACTIONS(611), - [anon_sym_RPAREN] = ACTIONS(298), - [anon_sym_COMMA] = ACTIONS(298), - [anon_sym_as] = ACTIONS(265), - [anon_sym_STAR] = ACTIONS(265), - [anon_sym_print] = ACTIONS(613), - [anon_sym_GT_GT] = ACTIONS(298), - [anon_sym_COLON_EQ] = ACTIONS(615), - [anon_sym_if] = ACTIONS(265), - [anon_sym_COLON] = ACTIONS(265), - [anon_sym_async] = ACTIONS(613), - [anon_sym_in] = ACTIONS(265), - [anon_sym_match] = ACTIONS(613), - [anon_sym_PIPE] = ACTIONS(298), - [anon_sym_DASH] = ACTIONS(617), - [anon_sym_PLUS] = ACTIONS(617), - [anon_sym_LBRACK] = ACTIONS(619), - [anon_sym_LBRACE] = ACTIONS(621), - [anon_sym_STAR_STAR] = ACTIONS(298), - [anon_sym_exec] = ACTIONS(613), - [anon_sym_type] = ACTIONS(613), - [anon_sym_AT] = ACTIONS(298), - [anon_sym_not] = ACTIONS(265), - [anon_sym_and] = ACTIONS(265), - [anon_sym_or] = ACTIONS(265), - [anon_sym_SLASH] = ACTIONS(265), - [anon_sym_PERCENT] = ACTIONS(298), - [anon_sym_SLASH_SLASH] = ACTIONS(298), - [anon_sym_AMP] = ACTIONS(298), - [anon_sym_CARET] = ACTIONS(298), - [anon_sym_LT_LT] = ACTIONS(298), - [anon_sym_TILDE] = ACTIONS(617), - [anon_sym_LT] = ACTIONS(265), - [anon_sym_LT_EQ] = ACTIONS(298), - [anon_sym_EQ_EQ] = ACTIONS(298), - [anon_sym_BANG_EQ] = ACTIONS(298), - [anon_sym_GT_EQ] = ACTIONS(298), - [anon_sym_GT] = ACTIONS(265), - [anon_sym_LT_GT] = ACTIONS(298), - [anon_sym_is] = ACTIONS(265), - [sym_ellipsis] = ACTIONS(623), - [sym_integer] = ACTIONS(609), - [sym_float] = ACTIONS(623), - [anon_sym_await] = ACTIONS(625), - [sym_true] = ACTIONS(609), - [sym_false] = ACTIONS(609), - [sym_none] = ACTIONS(609), - [sym_comment] = ACTIONS(3), - [sym__string_start] = ACTIONS(627), - [sym__template_string_start] = ACTIONS(629), - }, [146] = { - [sym_primary_expression] = STATE(666), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(675), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(597), @@ -23060,48 +23082,48 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [147] = { - [sym_primary_expression] = STATE(723), - [sym_binary_operator] = STATE(805), - [sym_unary_operator] = STATE(805), - [sym_attribute] = STATE(805), - [sym_subscript] = STATE(805), - [sym_call] = STATE(805), - [sym_list] = STATE(805), - [sym_set] = STATE(805), - [sym_tuple] = STATE(805), - [sym_dictionary] = STATE(805), - [sym_list_comprehension] = STATE(805), - [sym_dictionary_comprehension] = STATE(805), - [sym_set_comprehension] = STATE(805), - [sym_generator_expression] = STATE(805), - [sym_parenthesized_expression] = STATE(805), - [sym_concatenated_string] = STATE(805), - [sym_string] = STATE(706), - [sym_concatenated_template_string] = STATE(805), - [sym_template_string] = STATE(704), - [sym_await] = STATE(805), - [sym_identifier] = ACTIONS(609), + [sym_primary_expression] = STATE(748), + [sym_binary_operator] = STATE(809), + [sym_unary_operator] = STATE(809), + [sym_attribute] = STATE(809), + [sym_subscript] = STATE(809), + [sym_call] = STATE(809), + [sym_list] = STATE(809), + [sym_set] = STATE(809), + [sym_tuple] = STATE(809), + [sym_dictionary] = STATE(809), + [sym_list_comprehension] = STATE(809), + [sym_dictionary_comprehension] = STATE(809), + [sym_set_comprehension] = STATE(809), + [sym_generator_expression] = STATE(809), + [sym_parenthesized_expression] = STATE(809), + [sym_concatenated_string] = STATE(809), + [sym_string] = STATE(720), + [sym_concatenated_template_string] = STATE(809), + [sym_template_string] = STATE(722), + [sym_await] = STATE(809), + [sym_identifier] = ACTIONS(607), [anon_sym_DOT] = ACTIONS(265), - [anon_sym_LPAREN] = ACTIONS(611), + [anon_sym_LPAREN] = ACTIONS(609), [anon_sym_RPAREN] = ACTIONS(298), [anon_sym_COMMA] = ACTIONS(298), [anon_sym_as] = ACTIONS(265), [anon_sym_STAR] = ACTIONS(265), - [anon_sym_print] = ACTIONS(613), + [anon_sym_print] = ACTIONS(611), [anon_sym_GT_GT] = ACTIONS(298), [anon_sym_if] = ACTIONS(265), [anon_sym_COLON] = ACTIONS(298), - [anon_sym_async] = ACTIONS(613), + [anon_sym_async] = ACTIONS(611), [anon_sym_in] = ACTIONS(265), - [anon_sym_match] = ACTIONS(613), + [anon_sym_match] = ACTIONS(611), [anon_sym_PIPE] = ACTIONS(298), - [anon_sym_DASH] = ACTIONS(617), - [anon_sym_PLUS] = ACTIONS(617), - [anon_sym_LBRACK] = ACTIONS(619), - [anon_sym_LBRACE] = ACTIONS(621), + [anon_sym_DASH] = ACTIONS(615), + [anon_sym_PLUS] = ACTIONS(615), + [anon_sym_LBRACK] = ACTIONS(617), + [anon_sym_LBRACE] = ACTIONS(619), [anon_sym_STAR_STAR] = ACTIONS(298), - [anon_sym_exec] = ACTIONS(613), - [anon_sym_type] = ACTIONS(613), + [anon_sym_exec] = ACTIONS(611), + [anon_sym_type] = ACTIONS(611), [anon_sym_AT] = ACTIONS(298), [anon_sym_not] = ACTIONS(265), [anon_sym_and] = ACTIONS(265), @@ -23112,7 +23134,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_AMP] = ACTIONS(298), [anon_sym_CARET] = ACTIONS(298), [anon_sym_LT_LT] = ACTIONS(298), - [anon_sym_TILDE] = ACTIONS(617), + [anon_sym_TILDE] = ACTIONS(615), [anon_sym_LT] = ACTIONS(265), [anon_sym_LT_EQ] = ACTIONS(298), [anon_sym_EQ_EQ] = ACTIONS(298), @@ -23121,38 +23143,38 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_GT] = ACTIONS(265), [anon_sym_LT_GT] = ACTIONS(298), [anon_sym_is] = ACTIONS(265), - [sym_ellipsis] = ACTIONS(623), - [sym_integer] = ACTIONS(609), - [sym_float] = ACTIONS(623), - [anon_sym_await] = ACTIONS(625), - [sym_true] = ACTIONS(609), - [sym_false] = ACTIONS(609), - [sym_none] = ACTIONS(609), + [sym_ellipsis] = ACTIONS(621), + [sym_integer] = ACTIONS(607), + [sym_float] = ACTIONS(621), + [anon_sym_await] = ACTIONS(623), + [sym_true] = ACTIONS(607), + [sym_false] = ACTIONS(607), + [sym_none] = ACTIONS(607), [sym_comment] = ACTIONS(3), - [sym__string_start] = ACTIONS(627), - [sym__template_string_start] = ACTIONS(629), + [sym__string_start] = ACTIONS(625), + [sym__template_string_start] = ACTIONS(627), }, [148] = { - [sym_primary_expression] = STATE(671), - [sym_binary_operator] = STATE(658), - [sym_unary_operator] = STATE(658), - [sym_attribute] = STATE(658), - [sym_subscript] = STATE(658), - [sym_call] = STATE(658), - [sym_list] = STATE(658), - [sym_set] = STATE(658), - [sym_tuple] = STATE(658), - [sym_dictionary] = STATE(658), - [sym_list_comprehension] = STATE(658), - [sym_dictionary_comprehension] = STATE(658), - [sym_set_comprehension] = STATE(658), - [sym_generator_expression] = STATE(658), - [sym_parenthesized_expression] = STATE(658), - [sym_concatenated_string] = STATE(658), - [sym_string] = STATE(573), - [sym_concatenated_template_string] = STATE(658), - [sym_template_string] = STATE(572), - [sym_await] = STATE(658), + [sym_primary_expression] = STATE(669), + [sym_binary_operator] = STATE(649), + [sym_unary_operator] = STATE(649), + [sym_attribute] = STATE(649), + [sym_subscript] = STATE(649), + [sym_call] = STATE(649), + [sym_list] = STATE(649), + [sym_set] = STATE(649), + [sym_tuple] = STATE(649), + [sym_dictionary] = STATE(649), + [sym_list_comprehension] = STATE(649), + [sym_dictionary_comprehension] = STATE(649), + [sym_set_comprehension] = STATE(649), + [sym_generator_expression] = STATE(649), + [sym_parenthesized_expression] = STATE(649), + [sym_concatenated_string] = STATE(649), + [sym_string] = STATE(569), + [sym_concatenated_template_string] = STATE(649), + [sym_template_string] = STATE(570), + [sym_await] = STATE(649), [sym_identifier] = ACTIONS(306), [anon_sym_DOT] = ACTIONS(265), [anon_sym_LPAREN] = ACTIONS(578), @@ -23172,7 +23194,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LBRACK] = ACTIONS(591), [anon_sym_LBRACE] = ACTIONS(288), [anon_sym_STAR_STAR] = ACTIONS(298), - [anon_sym_EQ] = ACTIONS(607), + [anon_sym_EQ] = ACTIONS(629), [anon_sym_exec] = ACTIONS(583), [anon_sym_type] = ACTIONS(583), [anon_sym_AT] = ACTIONS(298), @@ -23206,45 +23228,45 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(312), }, [149] = { - [sym_named_expression] = STATE(977), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_expression_list] = STATE(1340), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(991), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1340), - [sym_augmented_assignment] = STATE(1340), + [sym_named_expression] = STATE(955), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_expression_list] = STATE(1357), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1026), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1357), + [sym_augmented_assignment] = STATE(1357), [sym_pattern_list] = STATE(874), - [sym__right_hand_side] = STATE(1340), - [sym_yield] = STATE(1340), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym__right_hand_side] = STATE(1357), + [sym_yield] = STATE(1357), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_LPAREN] = ACTIONS(13), [anon_sym_STAR] = ACTIONS(15), @@ -23274,45 +23296,45 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [150] = { - [sym_named_expression] = STATE(977), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_expression_list] = STATE(1311), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(991), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1311), - [sym_augmented_assignment] = STATE(1311), + [sym_named_expression] = STATE(955), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_expression_list] = STATE(1356), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1026), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1356), + [sym_augmented_assignment] = STATE(1356), [sym_pattern_list] = STATE(874), - [sym__right_hand_side] = STATE(1311), - [sym_yield] = STATE(1311), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym__right_hand_side] = STATE(1356), + [sym_yield] = STATE(1356), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_LPAREN] = ACTIONS(13), [anon_sym_STAR] = ACTIONS(15), @@ -23342,45 +23364,45 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_string_start] = ACTIONS(83), }, [151] = { - [sym_named_expression] = STATE(977), - [sym_list_splat] = STATE(1329), - [sym_dictionary_splat] = STATE(1329), - [sym_expression_list] = STATE(1309), - [sym_pattern] = STATE(864), - [sym_tuple_pattern] = STATE(855), - [sym_list_pattern] = STATE(855), - [sym_list_splat_pattern] = STATE(855), - [sym_expression] = STATE(991), - [sym_primary_expression] = STATE(697), - [sym_not_operator] = STATE(977), - [sym_boolean_operator] = STATE(977), - [sym_binary_operator] = STATE(795), - [sym_unary_operator] = STATE(795), - [sym_comparison_operator] = STATE(977), - [sym_lambda] = STATE(977), - [sym_assignment] = STATE(1309), - [sym_augmented_assignment] = STATE(1309), + [sym_named_expression] = STATE(955), + [sym_list_splat] = STATE(1328), + [sym_dictionary_splat] = STATE(1328), + [sym_expression_list] = STATE(1365), + [sym_pattern] = STATE(867), + [sym_tuple_pattern] = STATE(853), + [sym_list_pattern] = STATE(853), + [sym_list_splat_pattern] = STATE(853), + [sym_expression] = STATE(1026), + [sym_primary_expression] = STATE(702), + [sym_not_operator] = STATE(955), + [sym_boolean_operator] = STATE(955), + [sym_binary_operator] = STATE(760), + [sym_unary_operator] = STATE(760), + [sym_comparison_operator] = STATE(955), + [sym_lambda] = STATE(955), + [sym_assignment] = STATE(1365), + [sym_augmented_assignment] = STATE(1365), [sym_pattern_list] = STATE(874), - [sym__right_hand_side] = STATE(1309), - [sym_yield] = STATE(1309), - [sym_attribute] = STATE(463), - [sym_subscript] = STATE(463), - [sym_call] = STATE(795), - [sym_list] = STATE(795), - [sym_set] = STATE(795), - [sym_tuple] = STATE(795), - [sym_dictionary] = STATE(795), - [sym_list_comprehension] = STATE(795), - [sym_dictionary_comprehension] = STATE(795), - [sym_set_comprehension] = STATE(795), - [sym_generator_expression] = STATE(795), - [sym_parenthesized_expression] = STATE(795), - [sym_conditional_expression] = STATE(977), - [sym_concatenated_string] = STATE(795), + [sym__right_hand_side] = STATE(1365), + [sym_yield] = STATE(1365), + [sym_attribute] = STATE(459), + [sym_subscript] = STATE(459), + [sym_call] = STATE(760), + [sym_list] = STATE(760), + [sym_set] = STATE(760), + [sym_tuple] = STATE(760), + [sym_dictionary] = STATE(760), + [sym_list_comprehension] = STATE(760), + [sym_dictionary_comprehension] = STATE(760), + [sym_set_comprehension] = STATE(760), + [sym_generator_expression] = STATE(760), + [sym_parenthesized_expression] = STATE(760), + [sym_conditional_expression] = STATE(955), + [sym_concatenated_string] = STATE(760), [sym_string] = STATE(698), - [sym_concatenated_template_string] = STATE(795), - [sym_template_string] = STATE(699), - [sym_await] = STATE(795), + [sym_concatenated_template_string] = STATE(760), + [sym_template_string] = STATE(700), + [sym_await] = STATE(760), [sym_identifier] = ACTIONS(7), [anon_sym_LPAREN] = ACTIONS(13), [anon_sym_STAR] = ACTIONS(15), @@ -23439,20 +23461,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(885), 1, sym_expression, - STATE(1023), 1, + STATE(1001), 1, sym_expression_list, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1365), 2, + STATE(1375), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(296), 3, @@ -23470,7 +23492,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, @@ -23485,7 +23507,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -23530,36 +23552,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_yield, ACTIONS(657), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(932), 1, + STATE(935), 1, sym_expression, - STATE(1123), 1, + STATE(1177), 1, sym_pattern, - STATE(1220), 1, + STATE(1197), 1, sym_yield, STATE(1409), 1, sym__collection_elements, - STATE(1410), 1, + STATE(1416), 1, sym__patterns, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(769), 2, + STATE(770), 2, sym_attribute, sym_subscript, - STATE(1098), 2, + STATE(1095), 2, sym_list_splat, sym_parenthesized_list_splat, ACTIONS(601), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(855), 3, + STATE(853), 3, sym_tuple_pattern, sym_list_pattern, sym_list_splat_pattern, @@ -23574,14 +23596,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 15, + STATE(649), 15, sym_binary_operator, sym_unary_operator, sym_call, @@ -23597,7 +23619,382 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [241] = 23, + [241] = 31, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(639), 1, + sym_identifier, + ACTIONS(641), 1, + anon_sym_LPAREN, + ACTIONS(645), 1, + anon_sym_STAR, + ACTIONS(649), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(657), 1, + anon_sym_await, + ACTIONS(659), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(930), 1, + sym_expression, + STATE(1177), 1, + sym_pattern, + STATE(1218), 1, + sym_yield, + STATE(1303), 1, + sym_parenthesized_list_splat, + STATE(1304), 1, + sym_list_splat, + STATE(1416), 1, + sym__patterns, + STATE(1480), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(770), 2, + sym_attribute, + sym_subscript, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(647), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [367] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(639), 1, + sym_identifier, + ACTIONS(641), 1, + anon_sym_LPAREN, + ACTIONS(645), 1, + anon_sym_STAR, + ACTIONS(649), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(657), 1, + anon_sym_await, + ACTIONS(661), 1, + anon_sym_RBRACK, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(908), 1, + sym_expression, + STATE(1177), 1, + sym_pattern, + STATE(1434), 1, + sym__patterns, + STATE(1438), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(770), 2, + sym_attribute, + sym_subscript, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + STATE(1095), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(647), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [489] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(639), 1, + sym_identifier, + ACTIONS(641), 1, + anon_sym_LPAREN, + ACTIONS(645), 1, + anon_sym_STAR, + ACTIONS(649), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(657), 1, + anon_sym_await, + ACTIONS(663), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(930), 1, + sym_expression, + STATE(1177), 1, + sym_pattern, + STATE(1218), 1, + sym_yield, + STATE(1416), 1, + sym__patterns, + STATE(1480), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(770), 2, + sym_attribute, + sym_subscript, + STATE(1095), 2, + sym_list_splat, + sym_parenthesized_list_splat, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(647), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [613] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(639), 1, + sym_identifier, + ACTIONS(641), 1, + anon_sym_LPAREN, + ACTIONS(645), 1, + anon_sym_STAR, + ACTIONS(649), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(657), 1, + anon_sym_await, + ACTIONS(665), 1, + anon_sym_RBRACK, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(912), 1, + sym_expression, + STATE(1177), 1, + sym_pattern, + STATE(1390), 1, + sym__collection_elements, + STATE(1434), 1, + sym__patterns, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(770), 2, + sym_attribute, + sym_subscript, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + STATE(1095), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(647), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [735] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -23608,25 +24005,25 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(659), 1, + ACTIONS(667), 1, sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(663), 1, - anon_sym_STAR, ACTIONS(669), 1, - anon_sym_in, + anon_sym_LPAREN, ACTIONS(671), 1, + anon_sym_STAR, + ACTIONS(677), 1, + anon_sym_in, + ACTIONS(679), 1, anon_sym_LBRACK, - ACTIONS(673), 1, + ACTIONS(681), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(849), 1, + STATE(570), 1, + sym_template_string, + STATE(854), 1, sym_pattern, - STATE(861), 1, + STATE(862), 1, sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, @@ -23634,10 +24031,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(589), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(742), 2, + STATE(735), 2, sym_attribute, sym_subscript, - STATE(855), 3, + STATE(853), 3, sym_tuple_pattern, sym_list_pattern, sym_list_splat_pattern, @@ -23646,13 +24043,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(665), 5, + ACTIONS(673), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - ACTIONS(667), 15, + ACTIONS(675), 15, anon_sym_COLON, anon_sym_EQ, anon_sym_PLUS_EQ, @@ -23668,7 +24065,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - STATE(658), 15, + STATE(649), 15, sym_binary_operator, sym_unary_operator, sym_call, @@ -23684,7 +24081,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [351] = 30, + [845] = 29, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -23709,293 +24106,104 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_yield, ACTIONS(657), 1, anon_sym_await, - ACTIONS(675), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(928), 1, - sym_expression, - STATE(1123), 1, - sym_pattern, - STATE(1224), 1, - sym_yield, - STATE(1403), 1, - sym__collection_elements, - STATE(1410), 1, - sym__patterns, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(769), 2, - sym_attribute, - sym_subscript, - STATE(1098), 2, - sym_list_splat, - sym_parenthesized_list_splat, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(647), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [475] = 29, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(639), 1, - sym_identifier, - ACTIONS(641), 1, - anon_sym_LPAREN, - ACTIONS(645), 1, - anon_sym_STAR, - ACTIONS(649), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(657), 1, - anon_sym_await, - ACTIONS(677), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(916), 1, - sym_expression, - STATE(1123), 1, - sym_pattern, - STATE(1407), 1, - sym__collection_elements, - STATE(1451), 1, - sym__patterns, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(769), 2, - sym_attribute, - sym_subscript, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - STATE(1098), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(647), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [597] = 31, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(639), 1, - sym_identifier, - ACTIONS(641), 1, - anon_sym_LPAREN, - ACTIONS(645), 1, - anon_sym_STAR, - ACTIONS(649), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(657), 1, - anon_sym_await, - ACTIONS(679), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(932), 1, - sym_expression, - STATE(1123), 1, - sym_pattern, - STATE(1220), 1, - sym_yield, - STATE(1297), 1, - sym_parenthesized_list_splat, - STATE(1298), 1, - sym_list_splat, - STATE(1409), 1, - sym__collection_elements, - STATE(1410), 1, - sym__patterns, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(769), 2, - sym_attribute, - sym_subscript, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(647), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [723] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(296), 1, - anon_sym_TILDE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(663), 1, - anon_sym_STAR, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, ACTIONS(683), 1, - anon_sym_in, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + anon_sym_RBRACK, + STATE(569), 1, sym_string, - STATE(849), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(912), 1, + sym_expression, + STATE(1177), 1, sym_pattern, - STATE(861), 1, + STATE(1390), 1, + sym__collection_elements, + STATE(1434), 1, + sym__patterns, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(770), 2, + sym_attribute, + sym_subscript, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + STATE(1095), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(647), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [967] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(296), 1, + anon_sym_TILDE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(671), 1, + anon_sym_STAR, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(687), 1, + anon_sym_in, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(854), 1, + sym_pattern, + STATE(862), 1, sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, @@ -24003,10 +24211,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(589), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(742), 2, + STATE(735), 2, sym_attribute, sym_subscript, - STATE(855), 3, + STATE(853), 3, sym_tuple_pattern, sym_list_pattern, sym_list_splat_pattern, @@ -24015,13 +24223,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(665), 5, + ACTIONS(673), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - ACTIONS(681), 15, + ACTIONS(685), 15, anon_sym_COLON, anon_sym_EQ, anon_sym_PLUS_EQ, @@ -24037,7 +24245,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - STATE(658), 15, + STATE(649), 15, sym_binary_operator, sym_unary_operator, sym_call, @@ -24053,62 +24261,59 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [833] = 29, + [1077] = 29, ACTIONS(3), 1, sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, ACTIONS(288), 1, anon_sym_LBRACE, ACTIONS(310), 1, sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(639), 1, - sym_identifier, - ACTIONS(641), 1, - anon_sym_LPAREN, - ACTIONS(645), 1, - anon_sym_STAR, - ACTIONS(649), 1, + ACTIONS(603), 1, anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, ACTIONS(651), 1, anon_sym_not, ACTIONS(653), 1, anon_sym_lambda, ACTIONS(655), 1, anon_sym_yield, - ACTIONS(657), 1, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(693), 1, + anon_sym_COMMA, + ACTIONS(697), 1, + anon_sym_RBRACE, + ACTIONS(699), 1, anon_sym_await, - ACTIONS(685), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(916), 1, + STATE(905), 1, sym_expression, - STATE(1123), 1, - sym_pattern, - STATE(1407), 1, + STATE(1017), 1, + sym_pair, + STATE(1259), 1, + sym_dictionary_splat, + STATE(1456), 1, sym__collection_elements, - STATE(1451), 1, - sym__patterns, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(769), 2, - sym_attribute, - sym_subscript, ACTIONS(601), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - STATE(1098), 3, + STATE(1095), 3, sym_list_splat, sym_parenthesized_list_splat, sym_yield, @@ -24117,115 +24322,24 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(647), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 15, + STATE(649), 17, sym_binary_operator, sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [955] = 29, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(639), 1, - sym_identifier, - ACTIONS(641), 1, - anon_sym_LPAREN, - ACTIONS(645), 1, - anon_sym_STAR, - ACTIONS(649), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(657), 1, - anon_sym_await, - ACTIONS(687), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(911), 1, - sym_expression, - STATE(1123), 1, - sym_pattern, - STATE(1451), 1, - sym__patterns, - STATE(1455), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(769), 2, sym_attribute, sym_subscript, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - STATE(1098), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(647), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, sym_call, sym_list, sym_set, @@ -24239,7 +24353,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [1077] = 24, + [1198] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -24264,18 +24378,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(925), 1, + STATE(931), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1002), 2, + STATE(1010), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(296), 3, @@ -24293,14 +24407,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - ACTIONS(689), 7, + ACTIONS(701), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, @@ -24308,99 +24422,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [1188] = 29, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(695), 1, - anon_sym_COMMA, - ACTIONS(699), 1, - anon_sym_RBRACE, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(899), 1, - sym_expression, - STATE(1027), 1, - sym_pair, - STATE(1239), 1, - sym_dictionary_splat, - STATE(1382), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1098), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -24443,18 +24465,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(925), 1, + STATE(931), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1002), 2, + STATE(1010), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(296), 3, @@ -24472,7 +24494,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, @@ -24487,7 +24509,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -24526,29 +24548,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(655), 1, anon_sym_yield, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(693), 1, + ACTIONS(691), 1, anon_sym_LPAREN, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, ACTIONS(705), 1, anon_sym_COMMA, ACTIONS(707), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(901), 1, + STATE(887), 1, sym_expression, - STATE(1015), 1, + STATE(1006), 1, sym_pair, - STATE(1225), 1, + STATE(1215), 1, sym_dictionary_splat, - STATE(1404), 1, + STATE(1396), 1, sym__collection_elements, ACTIONS(304), 2, sym_ellipsis, @@ -24557,7 +24579,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1098), 3, + STATE(1095), 3, sym_list_splat, sym_parenthesized_list_splat, sym_yield, @@ -24566,20 +24588,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -24622,18 +24644,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(925), 1, + STATE(931), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1002), 2, + STATE(1010), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(296), 3, @@ -24651,14 +24673,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - ACTIONS(689), 7, + ACTIONS(703), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, @@ -24666,7 +24688,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -24705,29 +24727,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(655), 1, anon_sym_yield, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(693), 1, + ACTIONS(691), 1, anon_sym_LPAREN, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, ACTIONS(709), 1, anon_sym_COMMA, ACTIONS(711), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(882), 1, + STATE(886), 1, sym_expression, - STATE(1001), 1, + STATE(1025), 1, sym_pair, - STATE(1253), 1, + STATE(1225), 1, sym_dictionary_splat, - STATE(1462), 1, + STATE(1387), 1, sym__collection_elements, ACTIONS(304), 2, sym_ellipsis, @@ -24736,7 +24758,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1098), 3, + STATE(1095), 3, sym_list_splat, sym_parenthesized_list_splat, sym_yield, @@ -24745,20 +24767,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -24801,13 +24823,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1020), 1, + STATE(992), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -24820,7 +24842,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - STATE(1132), 3, + STATE(1118), 3, sym_list_splat, sym_parenthesized_list_splat, sym_yield, @@ -24835,14 +24857,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -24861,138 +24883,52 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_template_string, sym_await, [1881] = 26, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(719), 1, - anon_sym_from, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(956), 1, - sym_expression, - STATE(1258), 1, - sym_expression_list, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(721), 2, - sym__newline, - sym__semicolon, - STATE(1329), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [1993] = 26, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, anon_sym_STAR_STAR, ACTIONS(288), 1, anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, ACTIONS(310), 1, sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(591), 1, + ACTIONS(603), 1, anon_sym_LBRACK, ACTIONS(635), 1, anon_sym_STAR, - ACTIONS(637), 1, + ACTIONS(651), 1, anon_sym_not, - ACTIONS(713), 1, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(691), 1, anon_sym_LPAREN, - ACTIONS(723), 1, + ACTIONS(719), 1, sym_identifier, - ACTIONS(725), 1, + ACTIONS(721), 1, anon_sym_RPAREN, - ACTIONS(727), 1, + ACTIONS(723), 1, anon_sym_COMMA, - ACTIONS(731), 1, + ACTIONS(727), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(1055), 1, + STATE(911), 1, sym_expression, - STATE(1255), 1, + STATE(1261), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, sym_float, - ACTIONS(296), 3, + ACTIONS(601), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1254), 3, + STATE(1260), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -25001,20 +24937,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(725), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25032,91 +24968,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [2105] = 24, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1020), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(733), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - STATE(1132), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [2213] = 27, + [1993] = 27, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -25133,34 +24985,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(655), 1, anon_sym_yield, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(693), 1, + ACTIONS(691), 1, anon_sym_LPAREN, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, ACTIONS(717), 1, anon_sym_STAR, - ACTIONS(735), 1, + ACTIONS(729), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(883), 1, + STATE(903), 1, sym_expression, - STATE(1243), 1, + STATE(1220), 1, sym_yield, - STATE(1268), 1, + STATE(1274), 1, sym_with_item, - STATE(1416), 1, + STATE(1391), 1, sym__collection_elements, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1098), 2, + STATE(1095), 2, sym_list_splat, sym_parenthesized_list_splat, ACTIONS(601), 3, @@ -25172,20 +25024,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25203,179 +25055,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [2327] = 26, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(737), 1, - sym_identifier, - ACTIONS(739), 1, - anon_sym_RPAREN, - ACTIONS(741), 1, - anon_sym_COMMA, - ACTIONS(745), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(912), 1, - sym_expression, - STATE(1231), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1232), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(743), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [2439] = 26, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(737), 1, - sym_identifier, - ACTIONS(745), 1, - anon_sym_await, - ACTIONS(747), 1, - anon_sym_RPAREN, - ACTIONS(749), 1, - anon_sym_COMMA, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(910), 1, - sym_expression, - STATE(1259), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1256), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(743), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [2551] = 24, + [2107] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -25400,13 +25080,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1020), 1, + STATE(992), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -25419,7 +25099,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - STATE(1132), 3, + STATE(1118), 3, sym_list_splat, sym_parenthesized_list_splat, sym_yield, @@ -25434,14 +25114,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25459,7 +25139,93 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [2659] = 25, + [2215] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(721), 1, + anon_sym_RPAREN, + ACTIONS(723), 1, + anon_sym_COMMA, + ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1060), 1, + sym_expression, + STATE(1261), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1260), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(733), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [2327] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -25486,25 +25252,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(655), 1, anon_sym_yield, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(942), 1, + STATE(940), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1365), 2, + STATE(1375), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1092), 3, + STATE(1076), 3, sym_expression_list, sym_yield, sym__f_expression, @@ -25519,14 +25285,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25544,7 +25310,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [2769] = 25, + [2437] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -25571,25 +25337,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(655), 1, anon_sym_yield, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(942), 1, + STATE(940), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1365), 2, + STATE(1375), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1080), 3, + STATE(1088), 3, sym_expression_list, sym_yield, sym__f_expression, @@ -25604,14 +25370,270 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [2547] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(719), 1, + sym_identifier, + ACTIONS(727), 1, + anon_sym_await, + ACTIONS(737), 1, + anon_sym_RPAREN, + ACTIONS(739), 1, + anon_sym_COMMA, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(933), 1, + sym_expression, + STATE(1204), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1205), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(725), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [2659] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(719), 1, + sym_identifier, + ACTIONS(727), 1, + anon_sym_await, + ACTIONS(741), 1, + anon_sym_RPAREN, + ACTIONS(743), 1, + anon_sym_COMMA, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(909), 1, + sym_expression, + STATE(1230), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1223), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(725), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [2771] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(992), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(745), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + STATE(1118), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25632,72 +25654,72 @@ static const uint16_t ts_small_parse_table[] = { [2879] = 26, ACTIONS(3), 1, sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, ACTIONS(53), 1, anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, sym__string_start, - ACTIONS(312), 1, + ACTIONS(83), 1, sym__template_string_start, - ACTIONS(603), 1, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, anon_sym_LBRACK, ACTIONS(635), 1, anon_sym_STAR, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(725), 1, - anon_sym_RPAREN, - ACTIONS(727), 1, - anon_sym_COMMA, - ACTIONS(737), 1, - sym_identifier, - ACTIONS(745), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + ACTIONS(747), 1, + anon_sym_from, + STATE(698), 1, sym_string, - STATE(648), 1, + STATE(700), 1, + sym_template_string, + STATE(702), 1, sym_primary_expression, - STATE(913), 1, + STATE(989), 1, sym_expression, - STATE(1255), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, + STATE(1228), 1, + sym_expression_list, + ACTIONS(75), 2, sym_ellipsis, sym_float, - ACTIONS(601), 3, + ACTIONS(749), 2, + sym__newline, + sym__semicolon, + STATE(1328), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(47), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1254), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, + ACTIONS(77), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(743), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25730,9 +25752,9 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(83), 1, sym__template_string_start, - ACTIONS(380), 1, + ACTIONS(488), 1, sym_identifier, - ACTIONS(386), 1, + ACTIONS(494), 1, anon_sym_await, ACTIONS(568), 1, anon_sym_LPAREN, @@ -25742,15 +25764,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(751), 1, anon_sym_from, - STATE(697), 1, - sym_primary_expression, STATE(698), 1, sym_string, - STATE(699), 1, + STATE(700), 1, sym_template_string, - STATE(1031), 1, + STATE(702), 1, + sym_primary_expression, + STATE(1030), 1, sym_expression, - STATE(1324), 1, + STATE(1330), 1, sym_expression_list, ACTIONS(75), 2, sym_ellipsis, @@ -25758,7 +25780,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(633), 2, sym__newline, sym__semicolon, - STATE(1329), 2, + STATE(1328), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(47), 3, @@ -25770,20 +25792,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25822,21 +25844,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, ACTIONS(753), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -25845,7 +25867,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -25854,20 +25876,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25906,21 +25928,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, ACTIONS(755), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -25929,7 +25951,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -25938,20 +25960,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -25969,596 +25991,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [3321] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(757), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(916), 1, - sym_expression, - STATE(1407), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1098), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [3430] = 26, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(759), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(932), 1, - sym_expression, - STATE(1220), 1, - sym_yield, - STATE(1409), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(1098), 2, - sym_list_splat, - sym_parenthesized_list_splat, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [3541] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(761), 1, - anon_sym_from, - ACTIONS(763), 1, - anon_sym_STAR, - ACTIONS(765), 1, - anon_sym_STAR_STAR, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(997), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(689), 2, - sym__newline, - sym__semicolon, - STATE(1147), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [3650] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, - ACTIONS(731), 1, - anon_sym_await, - ACTIONS(767), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1072), 1, - sym_expression, - STATE(1314), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1326), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(729), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [3759] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(761), 1, - anon_sym_from, - ACTIONS(763), 1, - anon_sym_STAR, - ACTIONS(765), 1, - anon_sym_STAR_STAR, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(997), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(689), 2, - sym__newline, - sym__semicolon, - STATE(1147), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [3868] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(763), 1, - anon_sym_STAR, - ACTIONS(765), 1, - anon_sym_STAR_STAR, - ACTIONS(769), 1, - anon_sym_from, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(997), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(703), 2, - sym__newline, - sym__semicolon, - STATE(1147), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [3977] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, - ACTIONS(731), 1, - anon_sym_await, - ACTIONS(771), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1072), 1, - sym_expression, - STATE(1314), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1326), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(729), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [4086] = 23, + [3321] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -26573,35 +26006,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(651), 1, anon_sym_not, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - ACTIONS(777), 1, + ACTIONS(761), 1, anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(941), 1, + STATE(945), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1013), 2, + STATE(1020), 2, sym__expression_within_for_in_clause, sym_lambda_within_for_in_clause, ACTIONS(601), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(773), 3, + ACTIONS(757), 3, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - ACTIONS(775), 3, + ACTIONS(759), 3, anon_sym_if, anon_sym_async, anon_sym_for, @@ -26610,19 +26043,19 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 4, + ACTIONS(695), 4, anon_sym_print, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -26640,7 +26073,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [4191] = 25, + [3426] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -26661,391 +26094,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, - anon_sym_await, - ACTIONS(779), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1072), 1, - sym_expression, - STATE(1314), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1326), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(729), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [4300] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(723), 1, sym_identifier, - ACTIONS(731), 1, - anon_sym_await, - ACTIONS(781), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1072), 1, - sym_expression, - STATE(1314), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1326), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(729), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [4409] = 26, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(783), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(928), 1, - sym_expression, - STATE(1224), 1, - sym_yield, - STATE(1403), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(1098), 2, - sym_list_splat, - sym_parenthesized_list_splat, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [4520] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(785), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(911), 1, - sym_expression, - STATE(1455), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1098), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [4629] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, ACTIONS(735), 1, + anon_sym_await, + ACTIONS(763), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(932), 1, + STATE(1102), 1, sym_expression, - STATE(1220), 1, - sym_yield, - STATE(1297), 1, + STATE(1368), 1, sym_parenthesized_list_splat, - STATE(1298), 1, - sym_list_splat, - STATE(1409), 1, - sym__collection_elements, ACTIONS(304), 2, sym_ellipsis, sym_float, - ACTIONS(601), 3, + ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, + STATE(1310), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, ACTIONS(306), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27063,7 +26157,764 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [4742] = 23, + [3535] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, + anon_sym_await, + ACTIONS(765), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1102), 1, + sym_expression, + STATE(1368), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1310), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(733), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [3644] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, + anon_sym_await, + ACTIONS(767), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1102), 1, + sym_expression, + STATE(1368), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1310), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(733), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [3753] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, + anon_sym_await, + ACTIONS(769), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1102), 1, + sym_expression, + STATE(1368), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1310), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(733), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [3862] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1031), 1, + sym_expression, + STATE(1377), 1, + sym_expression_list, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(771), 2, + sym__newline, + sym__semicolon, + STATE(1328), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [3971] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, + anon_sym_await, + ACTIONS(773), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1102), 1, + sym_expression, + STATE(1368), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1310), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(733), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [4080] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(775), 1, + anon_sym_from, + ACTIONS(777), 1, + anon_sym_STAR, + ACTIONS(779), 1, + anon_sym_STAR_STAR, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1002), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(703), 2, + sym__newline, + sym__semicolon, + STATE(1168), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [4189] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(781), 1, + anon_sym_RBRACK, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(912), 1, + sym_expression, + STATE(1390), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1095), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [4298] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(775), 1, + anon_sym_from, + ACTIONS(777), 1, + anon_sym_STAR, + ACTIONS(779), 1, + anon_sym_STAR_STAR, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1002), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(703), 2, + sym__newline, + sym__semicolon, + STATE(1168), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [4407] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(729), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(930), 1, + sym_expression, + STATE(1218), 1, + sym_yield, + STATE(1480), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1095), 2, + sym_list_splat, + sym_parenthesized_list_splat, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [4518] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -27078,24 +26929,106 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(651), 1, anon_sym_not, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - ACTIONS(777), 1, + ACTIONS(761), 1, anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(941), 1, + STATE(945), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1013), 2, + STATE(1020), 2, + sym__expression_within_for_in_clause, + sym_lambda_within_for_in_clause, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(783), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + ACTIONS(785), 3, + anon_sym_if, + anon_sym_async, + anon_sym_for, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 4, + anon_sym_print, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [4623] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(761), 1, + anon_sym_lambda, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(945), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1020), 2, sym__expression_within_for_in_clause, sym_lambda_within_for_in_clause, ACTIONS(601), 3, @@ -27115,19 +27048,19 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 4, + ACTIONS(695), 4, anon_sym_print, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27145,176 +27078,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [4847] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(791), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(915), 1, - sym_expression, - STATE(1440), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1098), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [4956] = 26, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(735), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(924), 1, - sym_expression, - STATE(1243), 1, - sym_yield, - STATE(1416), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(1098), 2, - sym_list_splat, - sym_parenthesized_list_splat, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [5067] = 25, + [4728] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -27335,21 +27099,105 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, + anon_sym_await, + ACTIONS(791), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1102), 1, + sym_expression, + STATE(1368), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1310), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(733), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [4837] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, ACTIONS(793), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -27358,7 +27206,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -27367,20 +27215,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27398,175 +27246,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [5176] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, - ACTIONS(731), 1, - anon_sym_await, - ACTIONS(795), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1072), 1, - sym_expression, - STATE(1314), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1326), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(729), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [5285] = 25, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1028), 1, - sym_expression, - STATE(1375), 1, - sym_expression_list, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(797), 2, - sym__newline, - sym__semicolon, - STATE(1329), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [5394] = 23, + [4946] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -27581,35 +27261,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(651), 1, anon_sym_not, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - ACTIONS(777), 1, + ACTIONS(761), 1, anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(941), 1, + STATE(945), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1013), 2, + STATE(1020), 2, sym__expression_within_for_in_clause, sym_lambda_within_for_in_clause, ACTIONS(601), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(799), 3, + ACTIONS(795), 3, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - ACTIONS(801), 3, + ACTIONS(797), 3, anon_sym_if, anon_sym_async, anon_sym_for, @@ -27618,19 +27298,19 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 4, + ACTIONS(695), 4, anon_sym_print, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27648,7 +27328,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [5499] = 25, + [5051] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -27669,21 +27349,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, - ACTIONS(803), 1, + ACTIONS(799), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -27692,7 +27372,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -27701,20 +27381,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27732,7 +27412,91 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [5608] = 25, + [5160] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, + anon_sym_await, + ACTIONS(801), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1102), 1, + sym_expression, + STATE(1368), 1, + sym_parenthesized_list_splat, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1310), 3, + sym_list_splat, + sym_dictionary_splat, + sym_keyword_argument, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(733), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [5269] = 27, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -27749,25 +27513,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(655), 1, anon_sym_yield, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(693), 1, + ACTIONS(691), 1, anon_sym_LPAREN, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, ACTIONS(717), 1, anon_sym_STAR, - ACTIONS(791), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + ACTIONS(803), 1, + anon_sym_RPAREN, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(916), 1, + STATE(930), 1, sym_expression, - STATE(1407), 1, + STATE(1218), 1, + sym_yield, + STATE(1303), 1, + sym_parenthesized_list_splat, + STATE(1304), 1, + sym_list_splat, + STATE(1480), 1, sym__collection_elements, ACTIONS(304), 2, sym_ellipsis, @@ -27776,29 +27546,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1098), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, ACTIONS(306), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27816,7 +27582,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [5717] = 25, + [5382] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -27837,21 +27603,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, ACTIONS(805), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -27860,7 +27626,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -27869,20 +27635,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27900,73 +27666,73 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [5826] = 25, + [5491] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, ACTIONS(288), 1, anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, ACTIONS(310), 1, sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(591), 1, + ACTIONS(603), 1, anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, + ACTIONS(651), 1, anon_sym_not, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(723), 1, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, sym_identifier, - ACTIONS(731), 1, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, ACTIONS(807), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + anon_sym_RBRACK, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(1072), 1, + STATE(908), 1, sym_expression, - STATE(1314), 1, - sym_parenthesized_list_splat, + STATE(1438), 1, + sym__collection_elements, ACTIONS(304), 2, sym_ellipsis, sym_float, - ACTIONS(296), 3, + ACTIONS(601), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1095), 3, sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, + sym_parenthesized_list_splat, + sym_yield, ACTIONS(306), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -27984,7 +27750,176 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [5935] = 25, + [5600] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(729), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(921), 1, + sym_expression, + STATE(1220), 1, + sym_yield, + STATE(1391), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1095), 2, + sym_list_splat, + sym_parenthesized_list_splat, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [5711] = 25, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(781), 1, + anon_sym_RBRACK, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(928), 1, + sym_expression, + STATE(1393), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1095), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [5820] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -28005,21 +27940,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, ACTIONS(809), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -28028,7 +27963,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -28037,20 +27972,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28068,7 +28003,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [6044] = 26, + [5929] = 25, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -28085,225 +28020,312 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(655), 1, anon_sym_yield, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(693), 1, + ACTIONS(691), 1, anon_sym_LPAREN, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, ACTIONS(717), 1, anon_sym_STAR, - ACTIONS(735), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(932), 1, - sym_expression, - STATE(1220), 1, - sym_yield, - STATE(1409), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(1098), 2, - sym_list_splat, - sym_parenthesized_list_splat, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [6155] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(693), 1, - anon_sym_LPAREN, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(759), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(932), 1, - sym_expression, - STATE(1220), 1, - sym_yield, - STATE(1297), 1, - sym_parenthesized_list_splat, - STATE(1298), 1, - sym_list_splat, - STATE(1409), 1, - sym__collection_elements, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [6268] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(777), 1, - anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(941), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(1013), 2, - sym__expression_within_for_in_clause, - sym_lambda_within_for_in_clause, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(811), 3, - anon_sym_RPAREN, + ACTIONS(811), 1, anon_sym_RBRACK, - anon_sym_RBRACE, - ACTIONS(813), 3, - anon_sym_if, - anon_sym_async, - anon_sym_for, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(912), 1, + sym_expression, + STATE(1390), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1095), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, ACTIONS(306), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(697), 4, + ACTIONS(695), 5, anon_sym_print, + anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [6038] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(813), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(935), 1, + sym_expression, + STATE(1197), 1, + sym_yield, + STATE(1409), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1095), 2, + sym_list_splat, + sym_parenthesized_list_splat, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [6149] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(803), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(930), 1, + sym_expression, + STATE(1218), 1, + sym_yield, + STATE(1480), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1095), 2, + sym_list_splat, + sym_parenthesized_list_splat, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [6260] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(691), 1, + anon_sym_LPAREN, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(729), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(930), 1, + sym_expression, + STATE(1218), 1, + sym_yield, + STATE(1303), 1, + sym_parenthesized_list_splat, + STATE(1304), 1, + sym_list_splat, + STATE(1480), 1, + sym__collection_elements, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28342,21 +28364,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, ACTIONS(815), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -28365,7 +28387,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -28374,20 +28396,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28408,70 +28430,70 @@ static const uint16_t ts_small_parse_table[] = { [6482] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(288), 1, + ACTIONS(51), 1, anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, + ACTIONS(69), 1, anon_sym_not, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(723), 1, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, sym_identifier, - ACTIONS(731), 1, + ACTIONS(494), 1, anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_STAR, + ACTIONS(779), 1, + anon_sym_STAR_STAR, ACTIONS(817), 1, - anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + anon_sym_from, + STATE(698), 1, sym_string, - STATE(634), 1, + STATE(700), 1, + sym_template_string, + STATE(702), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1002), 1, sym_expression, - STATE(1314), 1, - sym_parenthesized_list_splat, - ACTIONS(304), 2, + ACTIONS(75), 2, sym_ellipsis, sym_float, - ACTIONS(296), 3, + ACTIONS(701), 2, + sym__newline, + sym__semicolon, + STATE(1168), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(47), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, - sym_list_splat, - sym_dictionary_splat, - sym_keyword_argument, - ACTIONS(306), 4, + ACTIONS(77), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28510,21 +28532,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, ACTIONS(819), 1, anon_sym_RPAREN, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -28533,7 +28555,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -28542,20 +28564,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28594,19 +28616,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(713), 1, anon_sym_LPAREN, - ACTIONS(723), 1, - sym_identifier, ACTIONS(731), 1, + sym_identifier, + ACTIONS(735), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1072), 1, + STATE(1102), 1, sym_expression, - STATE(1314), 1, + STATE(1368), 1, sym_parenthesized_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -28615,7 +28637,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1326), 3, + STATE(1310), 3, sym_list_splat, sym_dictionary_splat, sym_keyword_argument, @@ -28624,20 +28646,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(729), 5, + ACTIONS(733), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28670,25 +28692,25 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(312), 1, sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, ACTIONS(591), 1, anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(715), 1, - anon_sym_RPAREN, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + ACTIONS(821), 1, + anon_sym_COLON, + ACTIONS(823), 1, + anon_sym_RBRACK, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1020), 1, + STATE(1042), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -28697,10 +28719,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1132), 3, + STATE(1371), 3, sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, + sym__index_expression, + sym_slice, ACTIONS(306), 4, sym_integer, sym_true, @@ -28712,14 +28734,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28762,16 +28784,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(821), 1, anon_sym_COLON, - ACTIONS(823), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(1042), 1, sym_expression, + STATE(1454), 1, + sym_index_expression_list, ACTIONS(304), 2, sym_ellipsis, sym_float, @@ -28779,7 +28801,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1373), 3, + STATE(1243), 3, sym_list_splat, sym__index_expression, sym_slice, @@ -28794,14 +28816,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -28820,88 +28842,6 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_template_string, sym_await, [7018] = 24, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(655), 1, - anon_sym_yield, - ACTIONS(713), 1, - anon_sym_LPAREN, - ACTIONS(715), 1, - anon_sym_RPAREN, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1020), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1132), 3, - sym_list_splat, - sym_parenthesized_list_splat, - sym_yield, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [7124] = 24, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -28926,97 +28866,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(821), 1, anon_sym_COLON, - ACTIONS(825), 1, - anon_sym_RBRACK, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(1042), 1, sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(1373), 3, - sym_list_splat, - sym__index_expression, - sym_slice, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [7230] = 24, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - ACTIONS(821), 1, - anon_sym_COLON, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1042), 1, - sym_expression, - STATE(1425), 1, + STATE(1407), 1, sym_index_expression_list, ACTIONS(304), 2, sym_ellipsis, @@ -29025,7 +28883,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1257), 3, + STATE(1203), 3, sym_list_splat, sym__index_expression, sym_slice, @@ -29040,14 +28898,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29065,7 +28923,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [7336] = 18, + [7124] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -29080,11 +28938,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(595), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(671), 1, + STATE(570), 1, + sym_template_string, + STATE(669), 1, sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, @@ -29097,7 +28955,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(827), 3, + ACTIONS(825), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, @@ -29123,7 +28981,171 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_CARET, anon_sym_LT_LT, - STATE(658), 17, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [7218] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(715), 1, + anon_sym_RPAREN, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(992), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1118), 3, + sym_list_splat, + sym_parenthesized_list_splat, + sym_yield, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [7324] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + ACTIONS(821), 1, + anon_sym_COLON, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1042), 1, + sym_expression, + STATE(1469), 1, + sym_index_expression_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(1263), 3, + sym_list_splat, + sym__index_expression, + sym_slice, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29156,26 +29178,26 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, ACTIONS(591), 1, anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, + ACTIONS(655), 1, + anon_sym_yield, + ACTIONS(713), 1, + anon_sym_LPAREN, + ACTIONS(715), 1, + anon_sym_RPAREN, ACTIONS(717), 1, anon_sym_STAR, - ACTIONS(821), 1, - anon_sym_COLON, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1042), 1, + STATE(992), 1, sym_expression, - STATE(1400), 1, - sym_index_expression_list, ACTIONS(304), 2, sym_ellipsis, sym_float, @@ -29183,10 +29205,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1227), 3, + STATE(1118), 3, sym_list_splat, - sym__index_expression, - sym_slice, + sym_parenthesized_list_splat, + sym_yield, ACTIONS(306), 4, sym_integer, sym_true, @@ -29198,14 +29220,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29248,16 +29270,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(821), 1, anon_sym_COLON, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + ACTIONS(827), 1, + anon_sym_RBRACK, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(1042), 1, sym_expression, - STATE(1432), 1, - sym_index_expression_list, ACTIONS(304), 2, sym_ellipsis, sym_float, @@ -29265,7 +29287,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1265), 3, + STATE(1371), 3, sym_list_splat, sym__index_expression, sym_slice, @@ -29280,14 +29302,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29330,20 +29352,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1037), 1, + STATE(1055), 1, sym_expression, - STATE(1413), 1, + STATE(1453), 1, sym_expression_list, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1365), 2, + STATE(1375), 2, sym_list_splat, sym_dictionary_splat, ACTIONS(296), 3, @@ -29361,14 +29383,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29386,7 +29408,169 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [7747] = 23, + [7747] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1065), 1, + sym_expression, + STATE(1490), 1, + sym_expression_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1375), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [7852] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1040), 1, + sym_expression, + STATE(1446), 1, + sym_expression_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1375), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [7957] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -29411,13 +29595,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1020), 1, + STATE(992), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -29426,7 +29610,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1132), 3, + STATE(1118), 3, sym_list_splat, sym_parenthesized_list_splat, sym_yield, @@ -29441,176 +29625,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [7850] = 24, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1049), 1, - sym_expression, - STATE(1447), 1, - sym_expression_list, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(1365), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [7955] = 24, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1024), 1, - sym_expression, - STATE(1344), 1, - sym_expression_list, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - STATE(1329), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29631,67 +29653,67 @@ static const uint16_t ts_small_parse_table[] = { [8060] = 24, ACTIONS(3), 1, sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, ACTIONS(53), 1, anon_sym_STAR_STAR, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, + ACTIONS(81), 1, sym__string_start, - ACTIONS(312), 1, + ACTIONS(83), 1, sym__template_string_start, - ACTIONS(578), 1, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, anon_sym_LPAREN, - ACTIONS(591), 1, + ACTIONS(574), 1, anon_sym_LBRACK, ACTIONS(635), 1, anon_sym_STAR, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(698), 1, sym_string, - STATE(634), 1, + STATE(700), 1, + sym_template_string, + STATE(702), 1, sym_primary_expression, - STATE(1063), 1, + STATE(1005), 1, sym_expression, - STATE(1501), 1, + STATE(1380), 1, sym_expression_list, - ACTIONS(304), 2, + ACTIONS(75), 2, sym_ellipsis, sym_float, - STATE(1365), 2, + STATE(1328), 2, sym_list_splat, sym_dictionary_splat, - ACTIONS(296), 3, + ACTIONS(47), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(306), 4, + ACTIONS(77), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(276), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29709,88 +29731,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [8165] = 24, - ACTIONS(3), 1, - sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1048), 1, - sym_expression, - STATE(1378), 1, - sym_expression_list, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(1365), 2, - sym_list_splat, - sym_dictionary_splat, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [8270] = 23, + [8165] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -29815,11 +29756,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, ACTIONS(821), 1, anon_sym_COLON, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(1042), 1, sym_expression, @@ -29830,7 +29771,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(1373), 3, + STATE(1371), 3, sym_list_splat, sym__index_expression, sym_slice, @@ -29845,14 +29786,95 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [8268] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(53), 1, + anon_sym_STAR_STAR, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1050), 1, + sym_expression, + STATE(1437), 1, + sym_expression_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1375), 2, + sym_list_splat, + sym_dictionary_splat, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29895,18 +29917,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(829), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -29924,14 +29946,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -29974,18 +29996,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(831), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -30003,14 +30025,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30031,65 +30053,65 @@ static const uint16_t ts_small_parse_table[] = { [8577] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(53), 1, - anon_sym_STAR_STAR, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, + ACTIONS(51), 1, anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(635), 1, - anon_sym_STAR, - ACTIONS(637), 1, + ACTIONS(69), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(777), 1, + anon_sym_STAR, + ACTIONS(779), 1, + anon_sym_STAR_STAR, + STATE(698), 1, sym_string, - STATE(634), 1, + STATE(700), 1, + sym_template_string, + STATE(702), 1, sym_primary_expression, - STATE(925), 1, + STATE(1002), 1, sym_expression, - ACTIONS(304), 2, + ACTIONS(75), 2, sym_ellipsis, sym_float, - STATE(1002), 2, + STATE(1168), 2, sym_list_splat, sym_dictionary_splat, - ACTIONS(296), 3, + ACTIONS(47), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(306), 4, + ACTIONS(77), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(276), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30132,18 +30154,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(833), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -30161,14 +30183,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30211,18 +30233,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(835), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -30240,14 +30262,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30290,18 +30312,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(837), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -30319,14 +30341,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30347,65 +30369,65 @@ static const uint16_t ts_small_parse_table[] = { [8985] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(763), 1, - anon_sym_STAR, - ACTIONS(765), 1, + ACTIONS(53), 1, anon_sym_STAR_STAR, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(839), 1, + anon_sym_RBRACE, + STATE(569), 1, sym_string, - STATE(699), 1, + STATE(570), 1, sym_template_string, - STATE(997), 1, + STATE(652), 1, + sym_primary_expression, + STATE(1112), 1, sym_expression, - ACTIONS(75), 2, + ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1147), 2, - sym_list_splat, + STATE(1378), 2, sym_dictionary_splat, - ACTIONS(47), 3, + sym_pair, + ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(77), 4, + ACTIONS(306), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(276), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30444,24 +30466,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(591), 1, anon_sym_LBRACK, + ACTIONS(635), 1, + anon_sym_STAR, ACTIONS(637), 1, anon_sym_not, - ACTIONS(839), 1, - anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(931), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1010), 2, + sym_list_splat, sym_dictionary_splat, - sym_pair, ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, @@ -30477,14 +30499,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30527,18 +30549,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(841), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -30556,14 +30578,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30606,18 +30628,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(843), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -30635,14 +30657,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30685,18 +30707,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(845), 1, anon_sym_RBRACE, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -30714,14 +30736,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30739,85 +30761,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [9495] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1007), 1, - sym_expression, - STATE(1162), 1, - sym_list_splat, - STATE(1452), 1, - sym_type, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [9596] = 9, + [9495] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(851), 1, @@ -30826,17 +30770,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_except, ACTIONS(855), 1, anon_sym_finally, - STATE(432), 1, + STATE(445), 1, sym_else_clause, - STATE(556), 1, + STATE(520), 1, sym_finally_clause, - STATE(303), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - ACTIONS(849), 13, - sym__dedent, + STATE(308), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + ACTIONS(847), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -30847,7 +30791,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(847), 33, + ACTIONS(849), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -30881,6 +30825,84 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, + [9568] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1022), 1, + sym_expression, + STATE(1117), 1, + sym_list_splat, + STATE(1459), 1, + sym_type, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, [9669] = 23, ACTIONS(3), 1, sym_comment, @@ -30904,17 +30926,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1007), 1, + STATE(1022), 1, sym_expression, - STATE(1162), 1, + STATE(1117), 1, sym_list_splat, - STATE(1437), 1, + STATE(1466), 1, sym_type, ACTIONS(304), 2, sym_ellipsis, @@ -30934,14 +30956,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -30959,74 +30981,165 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [9770] = 9, + [9770] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(863), 1, - anon_sym_except, - ACTIONS(865), 1, - anon_sym_finally, - STATE(418), 1, - sym_else_clause, - STATE(560), 1, - sym_finally_clause, - STATE(301), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - ACTIONS(857), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1022), 1, + sym_expression, + STATE(1117), 1, + sym_list_splat, + STATE(1415), 1, + sym_type, + ACTIONS(304), 2, sym_ellipsis, sym_float, - ACTIONS(859), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, sym_integer, - sym_identifier, - anon_sym_await, sym_true, sym_false, sym_none, - [9843] = 3, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [9871] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(869), 17, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(859), 1, + anon_sym_COLON, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1049), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(857), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [9970] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(863), 17, anon_sym_as, anon_sym_STAR, anon_sym_GT_GT, @@ -31044,7 +31157,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_LT, anon_sym_GT, - ACTIONS(867), 36, + ACTIONS(861), 36, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -31081,23 +31194,392 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET_EQ, anon_sym_PIPE_EQ, sym_type_conversion, - [9904] = 9, + [10031] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(851), 1, + ACTIONS(867), 17, + anon_sym_as, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_EQ, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(865), 36, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, anon_sym_else, - ACTIONS(855), 1, - anon_sym_finally, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym_type_conversion, + [10092] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, ACTIONS(871), 1, + anon_sym_COLON, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1071), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(869), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [10191] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1022), 1, + sym_expression, + STATE(1117), 1, + sym_list_splat, + STATE(1465), 1, + sym_type, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [10292] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1022), 1, + sym_expression, + STATE(1117), 1, + sym_list_splat, + STATE(1450), 1, + sym_type, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [10393] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1022), 1, + sym_expression, + STATE(1117), 1, + sym_list_splat, + STATE(1282), 1, + sym_type, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [10494] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + anon_sym_else, + ACTIONS(879), 1, anon_sym_except, - STATE(432), 1, + ACTIONS(881), 1, + anon_sym_finally, + STATE(431), 1, sym_else_clause, - STATE(556), 1, + STATE(498), 1, sym_finally_clause, - STATE(298), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - ACTIONS(849), 13, + STATE(293), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, + ACTIONS(875), 13, sym__dedent, sym__string_start, sym__template_string_start, @@ -31111,7 +31593,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(847), 33, + ACTIONS(873), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -31145,7 +31627,7 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [9977] = 23, + [10567] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -31168,17 +31650,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1007), 1, + STATE(1022), 1, sym_expression, - STATE(1162), 1, + STATE(1117), 1, sym_list_splat, - STATE(1457), 1, + STATE(1121), 1, sym_type, ACTIONS(304), 2, sym_ellipsis, @@ -31198,14 +31680,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -31223,770 +31705,26 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [10078] = 3, + [10668] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(875), 17, - anon_sym_as, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_EQ, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(873), 36, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - sym_type_conversion, - [10139] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1007), 1, - sym_expression, - STATE(1162), 1, - sym_list_splat, - STATE(1458), 1, - sym_type, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [10240] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(865), 1, - anon_sym_finally, ACTIONS(877), 1, - anon_sym_except, - STATE(418), 1, - sym_else_clause, - STATE(560), 1, - sym_finally_clause, - STATE(305), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - ACTIONS(857), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(859), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [10313] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, + anon_sym_else, ACTIONS(881), 1, - anon_sym_COLON, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1061), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(879), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [10412] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1007), 1, - sym_expression, - STATE(1162), 1, - sym_list_splat, - STATE(1460), 1, - sym_type, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [10513] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1007), 1, - sym_expression, - STATE(1162), 1, - sym_list_splat, - STATE(1442), 1, - sym_type, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [10614] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1007), 1, - sym_expression, - STATE(1162), 1, - sym_list_splat, - STATE(1273), 1, - sym_type, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [10715] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1007), 1, - sym_expression, - STATE(1151), 1, - sym_type, - STATE(1162), 1, - sym_list_splat, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [10816] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(885), 1, - anon_sym_COLON, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1045), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(883), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [10915] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(887), 1, - anon_sym_STAR, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1057), 1, - sym_expression, - STATE(1186), 1, - sym_type, - STATE(1192), 1, - sym_list_splat, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [11016] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(865), 1, anon_sym_finally, - ACTIONS(877), 1, + ACTIONS(883), 1, anon_sym_except, - STATE(427), 1, + STATE(431), 1, sym_else_clause, - STATE(517), 1, + STATE(498), 1, sym_finally_clause, - STATE(305), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - ACTIONS(849), 13, + STATE(292), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + ACTIONS(875), 13, + sym__dedent, sym__string_start, sym__template_string_start, - ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -31997,7 +31735,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(847), 33, + ACTIONS(873), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -32031,85 +31769,7 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [11089] = 23, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(717), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1007), 1, - sym_expression, - STATE(1162), 1, - sym_list_splat, - STATE(1454), 1, - sym_type, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [11190] = 22, + [10741] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(53), 1, @@ -32132,18 +31792,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1169), 1, + STATE(1112), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1323), 2, + STATE(1378), 2, sym_dictionary_splat, sym_pair, ACTIONS(296), 3, @@ -32161,14 +31821,376 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [10840] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(885), 1, + anon_sym_STAR, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1063), 1, + sym_expression, + STATE(1185), 1, + sym_list_splat, + STATE(1217), 1, + sym_type, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [10941] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + anon_sym_else, + ACTIONS(879), 1, + anon_sym_except, + ACTIONS(881), 1, + anon_sym_finally, + STATE(425), 1, + sym_else_clause, + STATE(555), 1, + sym_finally_clause, + STATE(293), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, + ACTIONS(847), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(849), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [11014] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1022), 1, + sym_expression, + STATE(1117), 1, + sym_list_splat, + STATE(1461), 1, + sym_type, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [11115] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + anon_sym_else, + ACTIONS(881), 1, + anon_sym_finally, + ACTIONS(883), 1, + anon_sym_except, + STATE(425), 1, + sym_else_clause, + STATE(555), 1, + sym_finally_clause, + STATE(292), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + ACTIONS(847), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(849), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [11188] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(717), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1022), 1, + sym_expression, + STATE(1117), 1, + sym_list_splat, + STATE(1406), 1, + sym_type, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -32191,21 +32213,21 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(851), 1, anon_sym_else, - ACTIONS(853), 1, - anon_sym_except, ACTIONS(855), 1, anon_sym_finally, - STATE(440), 1, + ACTIONS(887), 1, + anon_sym_except, + STATE(445), 1, sym_else_clause, - STATE(489), 1, + STATE(520), 1, sym_finally_clause, - STATE(303), 2, + STATE(289), 2, sym_except_clause, aux_sym_try_statement_repeat1, - ACTIONS(857), 13, - sym__dedent, + ACTIONS(847), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -32216,7 +32238,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(859), 33, + ACTIONS(849), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -32255,21 +32277,21 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(851), 1, anon_sym_else, + ACTIONS(853), 1, + anon_sym_except, ACTIONS(855), 1, anon_sym_finally, - ACTIONS(871), 1, - anon_sym_except, - STATE(440), 1, + STATE(415), 1, sym_else_clause, - STATE(489), 1, + STATE(542), 1, sym_finally_clause, - STATE(298), 2, + STATE(308), 2, sym_except_group_clause, aux_sym_try_statement_repeat2, - ACTIONS(857), 13, - sym__dedent, + ACTIONS(875), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -32280,7 +32302,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(859), 33, + ACTIONS(873), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -32314,7 +32336,227 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [11435] = 23, + [11435] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(851), 1, + anon_sym_else, + ACTIONS(855), 1, + anon_sym_finally, + ACTIONS(887), 1, + anon_sym_except, + STATE(415), 1, + sym_else_clause, + STATE(542), 1, + sym_finally_clause, + STATE(289), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, + ACTIONS(875), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(873), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [11508] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(891), 1, + anon_sym_STAR, + ACTIONS(895), 1, + anon_sym_COLON, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1000), 1, + sym_expression, + STATE(1354), 1, + sym_exception_list, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [11609] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + ACTIONS(903), 1, + anon_sym_STAR, + ACTIONS(905), 1, + anon_sym_COLON, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1034), 1, + sym_expression, + STATE(1346), 1, + sym_exception_list, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [11710] = 23, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -32337,15 +32579,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1007), 1, + STATE(1022), 1, sym_expression, - STATE(1162), 1, + STATE(1117), 1, sym_list_splat, STATE(1431), 1, sym_type, @@ -32367,14 +32609,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -32392,71 +32634,82 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [11536] = 9, + [11811] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(863), 1, - anon_sym_except, - ACTIONS(865), 1, - anon_sym_finally, - STATE(427), 1, - sym_else_clause, - STATE(517), 1, - sym_finally_clause, - STATE(301), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - ACTIONS(849), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, + ACTIONS(51), 1, anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1069), 1, + sym_expression, + ACTIONS(75), 2, sym_ellipsis, sym_float, - ACTIONS(847), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, + ACTIONS(907), 2, + sym__newline, + sym__semicolon, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, sym_integer, - sym_identifier, - anon_sym_await, sym_true, sym_false, sym_none, - [11609] = 21, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [11907] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -32471,24 +32724,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(651), 1, anon_sym_not, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - ACTIONS(777), 1, + ACTIONS(761), 1, anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(941), 1, + STATE(945), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(1013), 2, + STATE(973), 2, sym__expression_within_for_in_clause, sym_lambda_within_for_in_clause, ACTIONS(601), 3, @@ -32500,20 +32753,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -32531,64 +32784,65 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [11705] = 21, + [12003] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, + ACTIONS(609), 1, anon_sym_LPAREN, - ACTIONS(603), 1, + ACTIONS(617), 1, anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(691), 1, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(777), 1, + ACTIONS(895), 1, + anon_sym_COLON, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, sym_primary_expression, - STATE(941), 1, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1000), 1, sym_expression, - ACTIONS(304), 2, + STATE(1354), 1, + sym_exception_list, + ACTIONS(621), 2, sym_ellipsis, sym_float, - STATE(968), 2, - sym__expression_within_for_in_clause, - sym_lambda_within_for_in_clause, - ACTIONS(601), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(306), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -32606,7 +32860,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [11801] = 21, + [12101] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -32627,18 +32881,394 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1085), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(909), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [12197] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + ACTIONS(911), 1, + anon_sym_LPAREN, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(999), 1, + sym_expression, + STATE(1238), 1, + sym_with_item, + STATE(1432), 1, + sym_with_clause, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [12295] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(761), 1, + anon_sym_lambda, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(945), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1020), 2, + sym__expression_within_for_in_clause, + sym_lambda_within_for_in_clause, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [12391] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1069), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(913), 2, + sym__newline, + sym__semicolon, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [12487] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1069), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(915), 2, + sym__newline, + sym__semicolon, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [12583] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(1087), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - ACTIONS(889), 2, + ACTIONS(917), 2, anon_sym_COMMA, anon_sym_RBRACK, ACTIONS(296), 3, @@ -32656,14 +33286,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -32681,762 +33311,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [11897] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(893), 1, - anon_sym_LPAREN, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1016), 1, - sym_expression, - STATE(1276), 1, - sym_with_item, - STATE(1441), 1, - sym_with_clause, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [11995] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1075), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(903), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12091] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(893), 1, - anon_sym_LPAREN, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1016), 1, - sym_expression, - STATE(1276), 1, - sym_with_item, - STATE(1434), 1, - sym_with_clause, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12189] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1053), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(905), 2, - sym__newline, - sym__semicolon, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12285] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1070), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(907), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12381] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1053), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(909), 2, - sym__newline, - sym__semicolon, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12477] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1071), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(911), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12573] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(893), 1, - anon_sym_LPAREN, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1016), 1, - sym_expression, - STATE(1276), 1, - sym_with_item, - STATE(1426), 1, - sym_with_clause, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12671] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(893), 1, - anon_sym_LPAREN, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1016), 1, - sym_expression, - STATE(1276), 1, - sym_with_item, - STATE(1435), 1, - sym_with_clause, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12769] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - ACTIONS(913), 1, - anon_sym_RPAREN, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1016), 1, - sym_expression, - STATE(1305), 1, - sym_with_item, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [12867] = 21, + [12679] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -33451,24 +33326,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(651), 1, anon_sym_not, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - ACTIONS(777), 1, + ACTIONS(761), 1, anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(941), 1, + STATE(945), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(969), 2, + STATE(987), 2, sym__expression_within_for_in_clause, sym_lambda_within_for_in_clause, ACTIONS(601), 3, @@ -33480,20 +33355,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -33511,20 +33386,18 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [12963] = 22, + [12775] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, + ACTIONS(617), 1, anon_sym_LBRACK, - ACTIONS(621), 1, + ACTIONS(619), 1, anon_sym_LBRACE, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, - ACTIONS(891), 1, + ACTIONS(889), 1, sym_identifier, ACTIONS(897), 1, anon_sym_not, @@ -33532,44 +33405,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(901), 1, anon_sym_await, - ACTIONS(915), 1, - anon_sym_RPAREN, - STATE(704), 1, - sym_template_string, - STATE(706), 1, + ACTIONS(911), 1, + anon_sym_LPAREN, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, sym_string, STATE(722), 1, - sym_primary_expression, - STATE(1016), 1, + sym_template_string, + STATE(999), 1, sym_expression, - STATE(1305), 1, + STATE(1238), 1, sym_with_item, - ACTIONS(623), 2, + STATE(1478), 1, + sym_with_clause, + ACTIONS(621), 2, sym_ellipsis, sym_float, - ACTIONS(617), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(609), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(895), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(998), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(805), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -33587,64 +33462,65 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [13061] = 21, + [12873] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, + ACTIONS(617), 1, anon_sym_LBRACK, - STATE(697), 1, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + ACTIONS(911), 1, + anon_sym_LPAREN, + STATE(718), 1, sym_primary_expression, - STATE(698), 1, + STATE(720), 1, sym_string, - STATE(699), 1, + STATE(722), 1, sym_template_string, - STATE(1053), 1, + STATE(999), 1, sym_expression, - ACTIONS(75), 2, + STATE(1238), 1, + sym_with_item, + STATE(1440), 1, + sym_with_clause, + ACTIONS(621), 2, sym_ellipsis, sym_float, - ACTIONS(917), 2, - sym__newline, - sym__semicolon, - ACTIONS(47), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(77), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -33662,64 +33538,65 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [13157] = 21, + [12971] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, + ACTIONS(609), 1, anon_sym_LPAREN, - ACTIONS(574), 1, + ACTIONS(617), 1, anon_sym_LBRACK, - STATE(697), 1, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + ACTIONS(905), 1, + anon_sym_COLON, + STATE(718), 1, sym_primary_expression, - STATE(698), 1, + STATE(720), 1, sym_string, - STATE(699), 1, + STATE(722), 1, sym_template_string, - STATE(1053), 1, + STATE(1034), 1, sym_expression, - ACTIONS(75), 2, + STATE(1346), 1, + sym_exception_list, + ACTIONS(621), 2, sym_ellipsis, sym_float, - ACTIONS(919), 2, - sym__newline, - sym__semicolon, - ACTIONS(47), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(77), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -33737,7 +33614,535 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [13253] = 22, + [13069] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + ACTIONS(919), 1, + anon_sym_RPAREN, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(999), 1, + sym_expression, + STATE(1298), 1, + sym_with_item, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [13167] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(761), 1, + anon_sym_lambda, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(937), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1018), 2, + sym__expression_within_for_in_clause, + sym_lambda_within_for_in_clause, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [13263] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1090), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(921), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [13359] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + ACTIONS(911), 1, + anon_sym_LPAREN, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(999), 1, + sym_expression, + STATE(1238), 1, + sym_with_item, + STATE(1385), 1, + sym_with_clause, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [13457] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + ACTIONS(761), 1, + anon_sym_lambda, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(941), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(1023), 2, + sym__expression_within_for_in_clause, + sym_lambda_within_for_in_clause, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [13553] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + ACTIONS(923), 1, + anon_sym_RPAREN, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(999), 1, + sym_expression, + STATE(1298), 1, + sym_with_item, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [13651] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1100), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(925), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [13747] = 22, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -33760,15 +34165,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(717), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1073), 1, + STATE(1075), 1, sym_expression, - STATE(1345), 1, + STATE(1324), 1, sym_list_splat, ACTIONS(304), 2, sym_ellipsis, @@ -33788,14 +34193,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -33813,64 +34218,64 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [13351] = 21, + [13845] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, + ACTIONS(51), 1, anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, + ACTIONS(69), 1, anon_sym_not, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(777), 1, + ACTIONS(71), 1, anon_sym_lambda, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, sym_string, - STATE(648), 1, + STATE(700), 1, + sym_template_string, + STATE(702), 1, sym_primary_expression, - STATE(944), 1, + STATE(1069), 1, sym_expression, - ACTIONS(304), 2, + ACTIONS(75), 2, sym_ellipsis, sym_float, - STATE(1012), 2, - sym__expression_within_for_in_clause, - sym_lambda_within_for_in_clause, - ACTIONS(601), 3, + ACTIONS(927), 2, + sym__newline, + sym__semicolon, + ACTIONS(47), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(306), 4, + ACTIONS(77), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -33888,20 +34293,20 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [13447] = 22, + [13941] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 1, + ACTIONS(609), 1, anon_sym_LPAREN, - ACTIONS(619), 1, + ACTIONS(617), 1, anon_sym_LBRACK, - ACTIONS(621), 1, + ACTIONS(619), 1, anon_sym_LBRACE, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, - ACTIONS(891), 1, + ACTIONS(889), 1, sym_identifier, ACTIONS(897), 1, anon_sym_not, @@ -33909,44 +34314,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(901), 1, anon_sym_await, - ACTIONS(921), 1, - anon_sym_STAR, - ACTIONS(923), 1, - anon_sym_COLON, - STATE(704), 1, - sym_template_string, - STATE(706), 1, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, sym_string, STATE(722), 1, - sym_primary_expression, - STATE(1054), 1, + sym_template_string, + STATE(1036), 1, sym_expression, - ACTIONS(623), 2, + STATE(1379), 1, + sym_exception_list, + ACTIONS(621), 2, sym_ellipsis, sym_float, - ACTIONS(617), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(609), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(895), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(998), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(805), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -33964,20 +34367,20 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [13545] = 22, + [14036] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 1, + ACTIONS(609), 1, anon_sym_LPAREN, - ACTIONS(619), 1, + ACTIONS(617), 1, anon_sym_LBRACK, - ACTIONS(621), 1, + ACTIONS(619), 1, anon_sym_LBRACE, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, - ACTIONS(891), 1, + ACTIONS(889), 1, sym_identifier, ACTIONS(897), 1, anon_sym_not, @@ -33985,119 +34388,42 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(901), 1, anon_sym_await, - ACTIONS(925), 1, - anon_sym_STAR, - ACTIONS(927), 1, - anon_sym_COLON, - STATE(704), 1, - sym_template_string, - STATE(706), 1, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, sym_string, STATE(722), 1, - sym_primary_expression, - STATE(1038), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [13643] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - ACTIONS(777), 1, - anon_sym_lambda, - STATE(572), 1, sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(935), 1, + STATE(999), 1, sym_expression, - ACTIONS(304), 2, + STATE(1298), 1, + sym_with_item, + ACTIONS(621), 2, sym_ellipsis, sym_float, - STATE(992), 2, - sym__expression_within_for_in_clause, - sym_lambda_within_for_in_clause, - ACTIONS(601), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(306), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -34115,9 +34441,14 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [13739] = 3, + [14131] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(933), 1, + anon_sym_except, + STATE(289), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, ACTIONS(929), 13, sym__string_start, sym__template_string_start, @@ -34132,7 +34463,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(931), 38, + ACTIONS(931), 35, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -34145,17 +34476,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_continue, anon_sym_if, - anon_sym_elif, anon_sym_else, anon_sym_async, anon_sym_for, anon_sym_while, anon_sym_try, - anon_sym_except, anon_sym_finally, anon_sym_with, anon_sym_match, - anon_sym_case, anon_sym_def, anon_sym_global, anon_sym_nonlocal, @@ -34171,684 +34499,23 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [13798] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(935), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(933), 38, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_elif, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [13857] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(270), 1, - anon_sym_COMMA, - ACTIONS(278), 1, - anon_sym_COLON_EQ, - ACTIONS(937), 1, - anon_sym_for, - ACTIONS(939), 1, - anon_sym_with, - ACTIONS(941), 1, - anon_sym_def, - ACTIONS(280), 2, - anon_sym_COLON, - anon_sym_EQ, - ACTIONS(302), 13, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - ACTIONS(265), 15, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(298), 16, - sym__newline, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_if, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [13930] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(947), 1, - anon_sym_elif, - STATE(331), 1, - aux_sym_if_statement_repeat1, - STATE(431), 1, - sym_elif_clause, - STATE(528), 1, - sym_else_clause, - ACTIONS(943), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(945), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [13999] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1016), 1, - sym_expression, - STATE(1305), 1, - sym_with_item, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [14094] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(949), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(951), 38, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_elif, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14153] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(955), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(953), 38, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_elif, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14212] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(947), 1, - anon_sym_elif, - STATE(331), 1, - aux_sym_if_statement_repeat1, - STATE(431), 1, - sym_elif_clause, - STATE(542), 1, - sym_else_clause, - ACTIONS(957), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(959), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14281] = 8, + [14194] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(851), 1, anon_sym_else, - ACTIONS(961), 1, + ACTIONS(940), 1, anon_sym_elif, - STATE(384), 1, + STATE(382), 1, aux_sym_if_statement_repeat1, - STATE(433), 1, - sym_elif_clause, - STATE(529), 1, - sym_else_clause, - ACTIONS(943), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(945), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14350] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(949), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(951), 38, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_elif, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14409] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(965), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(963), 38, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_elif, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14468] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(851), 1, - anon_sym_else, - ACTIONS(961), 1, - anon_sym_elif, - STATE(293), 1, - aux_sym_if_statement_repeat1, - STATE(433), 1, - sym_elif_clause, - STATE(512), 1, - sym_else_clause, - ACTIONS(969), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(967), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14537] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(851), 1, - anon_sym_else, - ACTIONS(961), 1, - anon_sym_elif, - STATE(308), 1, - aux_sym_if_statement_repeat1, - STATE(433), 1, + STATE(417), 1, sym_elif_clause, STATE(524), 1, sym_else_clause, - ACTIONS(973), 13, - sym__dedent, + ACTIONS(936), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -34859,7 +34526,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(971), 33, + ACTIONS(938), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -34893,15 +34560,76 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [14606] = 5, + [14263] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(979), 1, + ACTIONS(851), 1, + anon_sym_else, + ACTIONS(940), 1, + anon_sym_elif, + STATE(309), 1, + aux_sym_if_statement_repeat1, + STATE(417), 1, + sym_elif_clause, + STATE(521), 1, + sym_else_clause, + ACTIONS(942), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(944), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [14332] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(950), 1, anon_sym_except, - STATE(298), 2, + STATE(292), 2, sym_except_group_clause, aux_sym_try_statement_repeat2, - ACTIONS(977), 13, + ACTIONS(948), 13, sym__dedent, sym__string_start, sym__template_string_start, @@ -34915,7 +34643,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(975), 35, + ACTIONS(946), 35, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -34951,9 +34679,14 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [14669] = 3, + [14395] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(953), 1, + anon_sym_except, + STATE(293), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, ACTIONS(929), 13, sym__dedent, sym__string_start, @@ -34968,7 +34701,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(931), 38, + ACTIONS(931), 35, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [14458] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(956), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(958), 38, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -35007,18 +34793,186 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [14728] = 10, + [14517] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(960), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(962), 38, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [14576] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(956), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(958), 38, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [14635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(964), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(966), 38, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [14694] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, anon_sym_COMMA, ACTIONS(278), 1, anon_sym_COLON_EQ, - ACTIONS(982), 1, + ACTIONS(968), 1, anon_sym_for, - ACTIONS(984), 1, + ACTIONS(970), 1, anon_sym_with, - ACTIONS(986), 1, + ACTIONS(972), 1, anon_sym_def, ACTIONS(280), 2, anon_sym_COLON, @@ -35070,129 +35024,83 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [14801] = 5, + [14767] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(988), 1, - anon_sym_except, - STATE(301), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - ACTIONS(977), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(975), 35, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, + ACTIONS(270), 1, + anon_sym_COMMA, + ACTIONS(278), 1, + anon_sym_COLON_EQ, + ACTIONS(974), 1, anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_finally, + ACTIONS(976), 1, anon_sym_with, - anon_sym_match, + ACTIONS(978), 1, anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14864] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(935), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, + ACTIONS(280), 2, + anon_sym_COLON, + anon_sym_EQ, + ACTIONS(302), 13, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(265), 15, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, anon_sym_DASH, anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, anon_sym_STAR_STAR, anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(933), 38, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 16, + sym__newline, + anon_sym_DOT, + anon_sym_LPAREN, anon_sym_if, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [14840] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + anon_sym_else, + ACTIONS(984), 1, anon_sym_elif, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [14923] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(995), 1, - anon_sym_except, - STATE(303), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - ACTIONS(993), 13, + STATE(312), 1, + aux_sym_if_statement_repeat1, + STATE(433), 1, + sym_elif_clause, + STATE(560), 1, + sym_else_clause, + ACTIONS(982), 13, sym__dedent, sym__string_start, sym__template_string_start, @@ -35206,7 +35114,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(991), 35, + ACTIONS(980), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -35219,12 +35127,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_continue, anon_sym_if, - anon_sym_else, anon_sym_async, anon_sym_for, anon_sym_while, anon_sym_try, - anon_sym_finally, anon_sym_with, anon_sym_match, anon_sym_def, @@ -35242,92 +35148,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [14986] = 21, + [14909] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - ACTIONS(927), 1, - anon_sym_COLON, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1038), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [15081] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(998), 1, - anon_sym_except, - STATE(305), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - ACTIONS(993), 13, + ACTIONS(960), 13, + sym__dedent, sym__string_start, sym__template_string_start, - ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -35338,60 +35165,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(991), 35, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [15144] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(965), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(963), 38, + ACTIONS(962), 38, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -35430,81 +35204,155 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [15203] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(947), 1, - anon_sym_elif, - STATE(292), 1, - aux_sym_if_statement_repeat1, - STATE(431), 1, - sym_elif_clause, - STATE(534), 1, - sym_else_clause, - ACTIONS(973), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(971), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [15272] = 8, + [14968] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(851), 1, anon_sym_else, - ACTIONS(961), 1, + ACTIONS(940), 1, anon_sym_elif, - STATE(384), 1, + STATE(290), 1, + aux_sym_if_statement_repeat1, + STATE(417), 1, + sym_elif_clause, + STATE(502), 1, + sym_else_clause, + ACTIONS(982), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(980), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [15037] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1033), 1, + sym_expression, + STATE(1345), 1, + sym_exception_list, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [15132] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + anon_sym_else, + ACTIONS(984), 1, + anon_sym_elif, + STATE(310), 1, aux_sym_if_statement_repeat1, STATE(433), 1, sym_elif_clause, - STATE(472), 1, + STATE(522), 1, sym_else_clause, - ACTIONS(957), 13, + ACTIONS(942), 13, sym__dedent, sym__string_start, sym__template_string_start, @@ -35518,7 +35366,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(959), 33, + ACTIONS(944), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -35552,20 +35400,10 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [15341] = 8, + [15201] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(861), 1, - anon_sym_else, - ACTIONS(947), 1, - anon_sym_elif, - STATE(288), 1, - aux_sym_if_statement_repeat1, - STATE(431), 1, - sym_elif_clause, - STATE(498), 1, - sym_else_clause, - ACTIONS(969), 13, + ACTIONS(986), 13, sym__string_start, sym__template_string_start, ts_builtin_sym_end, @@ -35579,58 +35417,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(967), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [15410] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(955), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(953), 38, + ACTIONS(988), 38, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -35669,1458 +35456,127 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [15469] = 21, + [15260] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, + ACTIONS(986), 13, + sym__dedent, sym__string_start, - ACTIONS(629), 1, sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - ACTIONS(923), 1, - anon_sym_COLON, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1054), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, + anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [15564] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(949), 1, - sym_expression, - ACTIONS(75), 2, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, + ACTIONS(988), 38, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [15656] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1010), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [15748] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(983), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [15840] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1003), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [15932] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1131), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16024] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1005), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16116] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1115), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16208] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1175), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16300] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1138), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16392] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(902), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16484] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(999), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16576] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1140), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16668] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1008), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16760] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1136), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16852] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1009), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [16944] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1084), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17036] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(995), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17128] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1141), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17220] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1052), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17312] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1005), 1, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, anon_sym_elif, - STATE(331), 1, - aux_sym_if_statement_repeat1, - STATE(431), 1, - sym_elif_clause, - ACTIONS(1001), 13, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [15319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(992), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(990), 38, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [15378] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(994), 1, + anon_sym_except, + STATE(308), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + ACTIONS(948), 13, sym__string_start, sym__template_string_start, ts_builtin_sym_end, @@ -37134,7 +35590,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1003), 34, + ACTIONS(946), 35, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -37152,6 +35608,68 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_while, anon_sym_try, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [15441] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(851), 1, + anon_sym_else, + ACTIONS(940), 1, + anon_sym_elif, + STATE(382), 1, + aux_sym_if_statement_repeat1, + STATE(417), 1, + sym_elif_clause, + STATE(491), 1, + sym_else_clause, + ACTIONS(997), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(999), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, anon_sym_with, anon_sym_match, anon_sym_def, @@ -37169,223 +35687,241 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [17376] = 20, + [15510] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, + ACTIONS(877), 1, + anon_sym_else, + ACTIONS(984), 1, + anon_sym_elif, + STATE(369), 1, + aux_sym_if_statement_repeat1, + STATE(433), 1, + sym_elif_clause, + STATE(489), 1, + sym_else_clause, + ACTIONS(997), 13, + sym__dedent, sym__string_start, - ACTIONS(312), 1, sym__template_string_start, - ACTIONS(578), 1, anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1128), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, anon_sym_TILDE, - ACTIONS(306), 4, + sym_ellipsis, + sym_float, + ACTIONS(999), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, sym_integer, + sym_identifier, + anon_sym_await, sym_true, sym_false, sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17468] = 20, + [15579] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, + ACTIONS(992), 13, sym__string_start, - ACTIONS(312), 1, sym__template_string_start, - ACTIONS(578), 1, + ts_builtin_sym_end, anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1159), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, anon_sym_TILDE, - ACTIONS(306), 4, + sym_ellipsis, + sym_float, + ACTIONS(990), 38, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, sym_integer, + sym_identifier, + anon_sym_await, sym_true, sym_false, sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17560] = 20, + [15638] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, + ACTIONS(877), 1, + anon_sym_else, + ACTIONS(984), 1, + anon_sym_elif, + STATE(369), 1, + aux_sym_if_statement_repeat1, + STATE(433), 1, + sym_elif_clause, + STATE(526), 1, + sym_else_clause, + ACTIONS(936), 13, + sym__dedent, sym__string_start, - ACTIONS(312), 1, sym__template_string_start, - ACTIONS(578), 1, anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(881), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, anon_sym_TILDE, - ACTIONS(306), 4, + sym_ellipsis, + sym_float, + ACTIONS(938), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, sym_integer, + sym_identifier, + anon_sym_await, sym_true, sym_false, sym_none, - ACTIONS(276), 5, + [15707] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(964), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(966), 38, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, + anon_sym_else, anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, anon_sym_exec, anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17652] = 20, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [15766] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, @@ -37398,957 +35934,20 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(83), 1, sym__template_string_start, - ACTIONS(380), 1, + ACTIONS(488), 1, sym_identifier, - ACTIONS(386), 1, + ACTIONS(494), 1, anon_sym_await, ACTIONS(568), 1, anon_sym_LPAREN, ACTIONS(574), 1, anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, STATE(698), 1, sym_string, - STATE(699), 1, + STATE(700), 1, sym_template_string, - STATE(1025), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17744] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, + STATE(702), 1, sym_primary_expression, - STATE(1107), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17836] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(878), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [17928] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1089), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18020] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1006), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18112] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(891), 1, - sym_identifier, - ACTIONS(897), 1, - anon_sym_not, - ACTIONS(899), 1, - anon_sym_lambda, - ACTIONS(901), 1, - anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(722), 1, - sym_primary_expression, - STATE(1022), 1, - sym_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(895), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(998), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18204] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(890), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18296] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1068), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18388] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(993), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18480] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(894), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18572] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1030), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18664] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - ACTIONS(1008), 1, - sym_identifier, - ACTIONS(1012), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(918), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(455), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(1010), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18758] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1033), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [18850] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, STATE(953), 1, sym_expression, ACTIONS(75), 2, @@ -38363,20 +35962,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -38394,1364 +35993,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [18942] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(918), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19034] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1039), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19126] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1170), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19218] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1085), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19310] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(270), 1, - anon_sym_COMMA, - ACTIONS(278), 1, - anon_sym_COLON_EQ, - ACTIONS(1014), 1, - sym__string_start, - STATE(1288), 1, - sym_string, - ACTIONS(280), 2, - anon_sym_COLON, - anon_sym_EQ, - ACTIONS(302), 13, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - ACTIONS(265), 15, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(298), 16, - sym__newline, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_if, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [19380] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(888), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19472] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(892), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19564] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(878), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19656] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1056), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19748] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(893), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19840] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(895), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [19932] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1100), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20024] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1155), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20116] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1083), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20208] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(908), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20300] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1079), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20392] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(904), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20484] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(966), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20576] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 1, - sym_identifier, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(300), 1, - anon_sym_lambda, - ACTIONS(308), 1, - anon_sym_await, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(637), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(634), 1, - sym_primary_expression, - STATE(1060), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(276), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [20668] = 20, + [15858] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -39768,17 +36010,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(653), 1, anon_sym_lambda, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(980), 1, + STATE(899), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -39792,20 +36034,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -39823,7 +36065,79 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [20760] = 20, + [15950] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(994), 1, + sym_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16042] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, @@ -39836,20 +36150,452 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(83), 1, sym__template_string_start, - ACTIONS(380), 1, + ACTIONS(488), 1, sym_identifier, - ACTIONS(386), 1, + ACTIONS(494), 1, anon_sym_await, ACTIONS(568), 1, anon_sym_LPAREN, ACTIONS(574), 1, anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, STATE(698), 1, sym_string, - STATE(699), 1, + STATE(700), 1, sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(972), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16134] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1169), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16226] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(890), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16318] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1126), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16410] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(963), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16502] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(898), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16594] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, STATE(1053), 1, sym_expression, ACTIONS(75), 2, @@ -39864,20 +36610,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -39895,7 +36641,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [20852] = 20, + [16686] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -39916,13 +36662,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1122), 1, + STATE(1166), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -39942,14 +36688,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -39967,7 +36713,151 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [20944] = 20, + [16778] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1161), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16870] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(951), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [16962] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -39984,17 +36874,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(653), 1, anon_sym_lambda, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(891), 1, + STATE(904), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -40008,20 +36898,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40039,39 +36929,615 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21036] = 20, + [17054] = 20, ACTIONS(3), 1, sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1094), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17146] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, ACTIONS(288), 1, anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, ACTIONS(310), 1, sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(597), 1, + ACTIONS(578), 1, anon_sym_LPAREN, - ACTIONS(603), 1, + ACTIONS(591), 1, anon_sym_LBRACK, - ACTIONS(651), 1, + ACTIONS(637), 1, anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1154), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17238] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1150), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17330] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1106), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17422] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1092), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17514] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1151), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17606] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1059), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17698] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(985), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [17790] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(889), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - ACTIONS(601), 3, + ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, @@ -40080,20 +37546,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(276), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40111,79 +37577,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21128] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(945), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [21220] = 20, + [17882] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -40204,13 +37598,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(921), 1, + STATE(934), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -40230,14 +37624,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40255,39 +37649,39 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21312] = 20, + [17974] = 20, ACTIONS(3), 1, sym_comment, + ACTIONS(263), 1, + sym_identifier, ACTIONS(288), 1, anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, ACTIONS(310), 1, sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(597), 1, + ACTIONS(578), 1, anon_sym_LPAREN, - ACTIONS(603), 1, + ACTIONS(591), 1, anon_sym_LBRACK, - ACTIONS(651), 1, + ACTIONS(637), 1, anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(900), 1, + STATE(879), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - ACTIONS(601), 3, + ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, @@ -40296,20 +37690,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(276), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40327,7 +37721,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21404] = 20, + [18066] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, @@ -40340,21 +37734,21 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(83), 1, sym__template_string_start, - ACTIONS(380), 1, + ACTIONS(488), 1, sym_identifier, - ACTIONS(386), 1, + ACTIONS(494), 1, anon_sym_await, ACTIONS(568), 1, anon_sym_LPAREN, ACTIONS(574), 1, anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, STATE(698), 1, sym_string, - STATE(699), 1, + STATE(700), 1, sym_template_string, - STATE(948), 1, + STATE(702), 1, + sym_primary_expression, + STATE(1069), 1, sym_expression, ACTIONS(75), 2, sym_ellipsis, @@ -40368,20 +37762,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40399,92 +37793,20 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21496] = 20, + [18158] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, + ACTIONS(609), 1, anon_sym_LPAREN, - ACTIONS(574), 1, + ACTIONS(617), 1, anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(947), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [21588] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, anon_sym_LBRACE, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, - ACTIONS(891), 1, + ACTIONS(889), 1, sym_identifier, ACTIONS(897), 1, anon_sym_not, @@ -40492,40 +37814,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(901), 1, anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, sym_string, STATE(722), 1, - sym_primary_expression, - STATE(1086), 1, + sym_template_string, + STATE(1064), 1, sym_expression, - ACTIONS(623), 2, + ACTIONS(621), 2, sym_ellipsis, sym_float, - ACTIONS(617), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(609), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(895), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(998), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(805), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40543,7 +37865,223 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21680] = 20, + [18250] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(984), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [18342] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1081), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [18434] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1015), 1, + sym_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [18526] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -40564,13 +38102,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1145), 1, + STATE(1158), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -40590,14 +38128,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40615,7 +38153,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21772] = 20, + [18618] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -40636,11 +38174,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, STATE(1142), 1, sym_expression, @@ -40662,14 +38200,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -40687,281 +38225,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [21864] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(1088), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [21956] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_not, - ACTIONS(71), 1, - anon_sym_lambda, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(380), 1, - sym_identifier, - ACTIONS(386), 1, - anon_sym_await, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(978), 1, - sym_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(382), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(977), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [22048] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(651), 1, - anon_sym_not, - ACTIONS(653), 1, - anon_sym_lambda, - ACTIONS(691), 1, - sym_identifier, - ACTIONS(701), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(648), 1, - sym_primary_expression, - STATE(896), 1, - sym_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(697), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(876), 6, - sym_named_expression, - sym_not_operator, - sym_boolean_operator, - sym_comparison_operator, - sym_lambda, - sym_conditional_expression, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [22140] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1016), 1, - anon_sym_elif, - STATE(384), 1, - aux_sym_if_statement_repeat1, - STATE(433), 1, - sym_elif_clause, - ACTIONS(1001), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1003), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [22204] = 20, + [18710] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(263), 1, @@ -40982,13 +38246,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(637), 1, anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(634), 1, + STATE(570), 1, + sym_template_string, + STATE(652), 1, sym_primary_expression, - STATE(1163), 1, + STATE(910), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -41008,14 +38272,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -41033,7 +38297,295 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [22296] = 20, + [18802] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1021), 1, + sym_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [18894] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1024), 1, + sym_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [18986] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1027), 1, + sym_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19078] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1043), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19170] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, @@ -41046,21 +38598,21 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(83), 1, sym__template_string_start, - ACTIONS(380), 1, + ACTIONS(488), 1, sym_identifier, - ACTIONS(386), 1, + ACTIONS(494), 1, anon_sym_await, ACTIONS(568), 1, anon_sym_LPAREN, ACTIONS(574), 1, anon_sym_LBRACK, - STATE(697), 1, - sym_primary_expression, STATE(698), 1, sym_string, - STATE(699), 1, + STATE(700), 1, sym_template_string, - STATE(965), 1, + STATE(702), 1, + sym_primary_expression, + STATE(1140), 1, sym_expression, ACTIONS(75), 2, sym_ellipsis, @@ -41074,20 +38626,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(382), 5, + ACTIONS(490), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(977), 6, + STATE(955), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(795), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -41105,20 +38657,92 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [22388] = 20, + [19262] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, anon_sym_LBRACE, - ACTIONS(627), 1, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(312), 1, sym__template_string_start, - ACTIONS(891), 1, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1058), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19354] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, sym_identifier, ACTIONS(897), 1, anon_sym_not, @@ -41126,40 +38750,40 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_lambda, ACTIONS(901), 1, anon_sym_await, - STATE(704), 1, - sym_template_string, - STATE(706), 1, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, sym_string, STATE(722), 1, - sym_primary_expression, - STATE(1099), 1, + sym_template_string, + STATE(1029), 1, sym_expression, - ACTIONS(623), 2, + ACTIONS(621), 2, sym_ellipsis, sym_float, - ACTIONS(617), 3, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - ACTIONS(609), 4, + ACTIONS(607), 4, sym_integer, sym_true, sym_false, sym_none, - ACTIONS(895), 5, + ACTIONS(893), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(998), 6, + STATE(996), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(805), 17, + STATE(809), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -41177,7 +38801,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [22480] = 20, + [19446] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -41194,17 +38818,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(653), 1, anon_sym_lambda, - ACTIONS(691), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(699), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(648), 1, + STATE(570), 1, + sym_template_string, + STATE(653), 1, sym_primary_expression, - STATE(887), 1, + STATE(897), 1, sym_expression, ACTIONS(304), 2, sym_ellipsis, @@ -41218,20 +38842,20 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(697), 5, + ACTIONS(695), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(876), 6, + STATE(880), 6, sym_named_expression, sym_not_operator, sym_boolean_operator, sym_comparison_operator, sym_lambda, sym_conditional_expression, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -41249,9 +38873,2496 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [22572] = 3, + [19538] = 20, ACTIONS(3), 1, sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(993), 1, + sym_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19630] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1068), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19722] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1170), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19814] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(901), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19906] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(900), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [19998] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1091), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20090] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1160), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20182] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(896), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20274] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(895), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20366] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1003), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20458] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1128), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20550] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(970), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20642] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1164), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20734] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(969), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20826] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1005), 1, + anon_sym_elif, + STATE(369), 1, + aux_sym_if_statement_repeat1, + STATE(433), 1, + sym_elif_clause, + ACTIONS(1003), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1001), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [20890] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(889), 1, + sym_identifier, + ACTIONS(897), 1, + anon_sym_not, + ACTIONS(899), 1, + anon_sym_lambda, + ACTIONS(901), 1, + anon_sym_await, + STATE(718), 1, + sym_primary_expression, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(1019), 1, + sym_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(893), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(996), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [20982] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(879), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21074] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(883), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21166] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1162), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21258] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(884), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21350] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(967), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21442] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1093), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21534] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1008), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21626] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1125), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21718] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(979), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21810] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1073), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [21902] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(270), 1, + anon_sym_COMMA, + ACTIONS(278), 1, + anon_sym_COLON_EQ, + ACTIONS(1008), 1, + sym__string_start, + STATE(1256), 1, + sym_string, + ACTIONS(280), 2, + anon_sym_COLON, + anon_sym_EQ, + ACTIONS(302), 13, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(265), 15, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 16, + sym__newline, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [21972] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1010), 1, + anon_sym_elif, + STATE(382), 1, + aux_sym_if_statement_repeat1, + STATE(417), 1, + sym_elif_clause, + ACTIONS(1003), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1001), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [22036] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(888), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [22128] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(1083), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [22220] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(1007), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [22312] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(263), 1, + sym_identifier, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(308), 1, + anon_sym_await, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(927), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(276), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [22404] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(651), 1, + anon_sym_not, + ACTIONS(653), 1, + anon_sym_lambda, + ACTIONS(689), 1, + sym_identifier, + ACTIONS(699), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(653), 1, + sym_primary_expression, + STATE(893), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(695), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [22496] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_not, + ACTIONS(71), 1, + anon_sym_lambda, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(488), 1, + sym_identifier, + ACTIONS(494), 1, + anon_sym_await, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(702), 1, + sym_primary_expression, + STATE(1009), 1, + sym_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(490), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(955), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [22588] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(300), 1, + anon_sym_lambda, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(637), 1, + anon_sym_not, + ACTIONS(1013), 1, + sym_identifier, + ACTIONS(1017), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(652), 1, + sym_primary_expression, + STATE(934), 1, + sym_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(452), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(1015), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(880), 6, + sym_named_expression, + sym_not_operator, + sym_boolean_operator, + sym_comparison_operator, + sym_lambda, + sym_conditional_expression, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [22682] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1023), 1, + anon_sym_case, + STATE(412), 2, + sym_case_block, + aux_sym_cases_repeat1, ACTIONS(1021), 13, sym__dedent, sym__string_start, @@ -41266,7 +41377,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1019), 36, + ACTIONS(1019), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [22743] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1025), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1027), 36, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -41303,63 +41465,7 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [22629] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1027), 1, - anon_sym_case, - STATE(397), 2, - sym_case_block, - aux_sym_cases_repeat1, - ACTIONS(1023), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1025), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [22690] = 3, + [22800] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1031), 13, @@ -41413,10 +41519,10 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [22747] = 3, + [22857] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1035), 13, + ACTIONS(1025), 13, sym__dedent, sym__string_start, sym__template_string_start, @@ -41430,7 +41536,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1033), 36, + ACTIONS(1027), 36, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -41467,7 +41573,61 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [22804] = 3, + [22914] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1033), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1035), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [22971] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1037), 13, @@ -41521,7 +41681,7 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [22861] = 3, + [23028] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1041), 13, @@ -41575,776 +41735,14 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [22918] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1047), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1045), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [22975] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1049), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1051), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23032] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1057), 1, - anon_sym_case, - STATE(397), 2, - sym_case_block, - aux_sym_cases_repeat1, - ACTIONS(1053), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1055), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23093] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1060), 1, - anon_sym_case, - STATE(398), 2, - sym_case_block, - aux_sym_cases_repeat1, - ACTIONS(1053), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1055), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23154] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1063), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1065), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23211] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1041), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1043), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23268] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1037), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1039), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23325] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1067), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1069), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23382] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1071), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1073), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23439] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1071), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1073), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23496] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1035), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1033), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23553] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1067), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1069), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23610] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1075), 1, - anon_sym_case, - STATE(398), 2, - sym_case_block, - aux_sym_cases_repeat1, - ACTIONS(1023), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1025), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23671] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1031), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1029), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23728] = 8, + [23085] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, anon_sym_COMMA, ACTIONS(278), 1, anon_sym_COLON_EQ, - ACTIONS(1077), 1, + ACTIONS(1045), 1, sym_identifier, ACTIONS(280), 2, anon_sym_COLON, @@ -42396,115 +41794,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, anon_sym_GT, anon_sym_is, - [23795] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1021), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1019), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23852] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1049), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1051), 36, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_except, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [23909] = 3, + [23152] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1047), 13, @@ -42521,7 +41811,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1045), 36, + ACTIONS(1049), 36, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -42558,9 +41848,718 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [23966] = 3, + [23209] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(1051), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1053), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23266] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1055), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1057), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23323] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1041), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1043), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23380] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1037), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1039), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23437] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1055), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1057), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23494] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1051), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1053), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1059), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1061), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23608] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1047), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1049), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23665] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1031), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1029), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23722] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1059), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1061), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23779] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1067), 1, + anon_sym_case, + STATE(409), 2, + sym_case_block, + aux_sym_cases_repeat1, + ACTIONS(1063), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1065), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23840] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1033), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1035), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23897] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1070), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1072), 36, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_except, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [23954] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1074), 1, + anon_sym_case, + STATE(412), 2, + sym_case_block, + aux_sym_cases_repeat1, ACTIONS(1063), 13, sym__dedent, sym__string_start, @@ -42575,7 +42574,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1065), 36, + ACTIONS(1065), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [24015] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1070), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1072), 36, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -42612,71 +42662,15 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24023] = 7, + [24072] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1081), 1, - anon_sym_COMMA, - ACTIONS(1086), 1, - anon_sym_COLON_EQ, - ACTIONS(1088), 2, - anon_sym_COLON, - anon_sym_EQ, - ACTIONS(1090), 13, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - ACTIONS(1084), 15, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 16, - sym__newline, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_if, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [24087] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - STATE(533), 1, - sym_else_clause, - ACTIONS(1092), 13, + ACTIONS(1077), 1, + anon_sym_case, + STATE(409), 2, + sym_case_block, + aux_sym_cases_repeat1, + ACTIONS(1021), 13, sym__string_start, sym__template_string_start, ts_builtin_sym_end, @@ -42690,7 +42684,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1094), 33, + ACTIONS(1019), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -42724,45 +42718,74 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24147] = 3, + [24133] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(869), 16, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, + ACTIONS(855), 1, + anon_sym_finally, + STATE(523), 1, + sym_finally_clause, + ACTIONS(1079), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_EQ, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(867), 32, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1081), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [24193] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1090), 1, + anon_sym_COLON_EQ, + ACTIONS(1092), 2, + anon_sym_COLON, + anon_sym_EQ, + ACTIONS(1085), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(1094), 13, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -42776,14 +42799,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - sym__semicolon, - [24203] = 3, + ACTIONS(1083), 14, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + ACTIONS(1088), 15, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + [24257] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1098), 13, - sym__dedent, + ACTIONS(1096), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -42794,7 +42847,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1096), 35, + ACTIONS(1098), 35, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -42830,72 +42883,17 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24259] = 5, + [24313] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(865), 1, - anon_sym_finally, - STATE(531), 1, - sym_finally_clause, - ACTIONS(1100), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1102), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [24319] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, + ACTIONS(877), 1, anon_sym_else, - STATE(557), 1, + STATE(473), 1, sym_else_clause, - ACTIONS(1104), 13, + ACTIONS(1102), 13, + sym__dedent, sym__string_start, sym__template_string_start, - ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -42906,7 +42904,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1106), 33, + ACTIONS(1100), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -42940,12 +42938,65 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24379] = 5, + [24373] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(861), 1, + ACTIONS(1106), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1104), 35, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, anon_sym_else, - STATE(499), 1, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [24429] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(851), 1, + anon_sym_else, + STATE(513), 1, sym_else_clause, ACTIONS(1108), 13, sym__string_start, @@ -42995,7 +43046,115 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24439] = 22, + [24489] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + anon_sym_else, + STATE(548), 1, + sym_else_clause, + ACTIONS(1114), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1112), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [24549] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(863), 16, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_EQ, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(861), 32, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + sym__semicolon, + [24605] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -43004,39 +43163,38 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(659), 1, + ACTIONS(667), 1, sym_identifier, - ACTIONS(661), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(671), 1, + ACTIONS(679), 1, anon_sym_LBRACK, - ACTIONS(673), 1, + ACTIONS(681), 1, anon_sym_await, - ACTIONS(1112), 1, - anon_sym_RPAREN, - ACTIONS(1114), 1, + ACTIONS(1118), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(861), 1, - sym_primary_expression, - STATE(1123), 1, + STATE(570), 1, + sym_template_string, + STATE(854), 1, sym_pattern, - STATE(1410), 1, - sym__patterns, + STATE(862), 1, + sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(742), 2, + ACTIONS(1116), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + STATE(735), 2, sym_attribute, sym_subscript, ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(855), 3, + STATE(853), 3, sym_tuple_pattern, sym_list_pattern, sym_list_splat_pattern, @@ -43045,13 +43203,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(665), 5, + ACTIONS(673), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 15, + STATE(649), 15, sym_binary_operator, sym_unary_operator, sym_call, @@ -43067,14 +43225,14 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [24533] = 5, + [24697] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(851), 1, + ACTIONS(877), 1, anon_sym_else, - STATE(563), 1, + STATE(481), 1, sym_else_clause, - ACTIONS(1118), 13, + ACTIONS(1122), 13, sym__dedent, sym__string_start, sym__template_string_start, @@ -43088,7 +43246,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1116), 33, + ACTIONS(1120), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -43122,68 +43280,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24593] = 5, + [24757] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(861), 1, - anon_sym_else, - STATE(508), 1, - sym_else_clause, - ACTIONS(1120), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1122), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [24653] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(851), 1, - anon_sym_else, - STATE(518), 1, - sym_else_clause, + ACTIONS(881), 1, + anon_sym_finally, + STATE(499), 1, + sym_finally_clause, ACTIONS(1126), 13, sym__dedent, sym__string_start, @@ -43232,17 +43335,17 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24713] = 5, + [24817] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(851), 1, anon_sym_else, - STATE(494), 1, + STATE(532), 1, sym_else_clause, - ACTIONS(1092), 13, - sym__dedent, + ACTIONS(1114), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -43253,7 +43356,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1094), 33, + ACTIONS(1112), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -43287,9 +43390,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24773] = 3, + [24877] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(877), 1, + anon_sym_else, + STATE(505), 1, + sym_else_clause, ACTIONS(1130), 13, sym__dedent, sym__string_start, @@ -43304,7 +43411,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1128), 35, + ACTIONS(1128), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -43317,8 +43424,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_break, anon_sym_continue, anon_sym_if, - anon_sym_elif, - anon_sym_else, anon_sym_async, anon_sym_for, anon_sym_while, @@ -43340,13 +43445,9 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [24829] = 5, + [24937] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(865), 1, - anon_sym_finally, - STATE(561), 1, - sym_finally_clause, ACTIONS(1132), 13, sym__string_start, sym__template_string_start, @@ -43361,221 +43462,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1134), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [24889] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - STATE(509), 1, - sym_else_clause, - ACTIONS(1118), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1116), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [24949] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(875), 16, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_EQ, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(873), 32, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - sym__semicolon, - [25005] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(851), 1, - anon_sym_else, - STATE(501), 1, - sym_else_clause, - ACTIONS(1104), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1106), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [25065] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1136), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1138), 35, + ACTIONS(1134), 35, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -43611,170 +43498,7 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [25121] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(855), 1, - anon_sym_finally, - STATE(492), 1, - sym_finally_clause, - ACTIONS(1132), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1134), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [25181] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1136), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1138), 35, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_elif, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [25237] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(851), 1, - anon_sym_else, - STATE(475), 1, - sym_else_clause, - ACTIONS(1108), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1110), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [25297] = 7, + [24993] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(270), 1, @@ -43831,10 +43555,124 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [25361] = 3, + [25057] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1098), 13, + ACTIONS(877), 1, + anon_sym_else, + STATE(559), 1, + sym_else_clause, + ACTIONS(1108), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1110), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25117] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(881), 1, + anon_sym_finally, + STATE(479), 1, + sym_finally_clause, + ACTIONS(1079), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1081), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25177] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(851), 1, + anon_sym_else, + STATE(545), 1, + sym_else_clause, + ACTIONS(1136), 13, sym__string_start, sym__template_string_start, ts_builtin_sym_end, @@ -43848,7 +43686,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1096), 35, + ACTIONS(1138), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1096), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1098), 35, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -43884,7 +43773,480 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [25417] = 7, + [25293] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(854), 1, + sym_pattern, + STATE(862), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(1140), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [25385] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(851), 1, + anon_sym_else, + STATE(510), 1, + sym_else_clause, + ACTIONS(1130), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1128), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25445] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + anon_sym_else, + STATE(537), 1, + sym_else_clause, + ACTIONS(1136), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1138), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25505] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(851), 1, + anon_sym_else, + STATE(566), 1, + sym_else_clause, + ACTIONS(1102), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1100), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25565] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(851), 1, + anon_sym_else, + STATE(483), 1, + sym_else_clause, + ACTIONS(1122), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1120), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25625] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1132), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1134), 35, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_elif, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [25681] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1142), 1, + anon_sym_COMMA, + ACTIONS(1145), 1, + anon_sym_COLON_EQ, + ACTIONS(1147), 2, + anon_sym_COLON, + anon_sym_EQ, + ACTIONS(1149), 13, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1088), 15, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 16, + sym__newline, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [25745] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + ACTIONS(1151), 1, + anon_sym_RPAREN, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + STATE(1177), 1, + sym_pattern, + STATE(1416), 1, + sym__patterns, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [25839] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(585), 1, @@ -43941,19 +44303,45 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_LT, anon_sym_GT, - [25481] = 7, + [25903] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1143), 1, - anon_sym_COLON_EQ, - ACTIONS(1145), 2, - anon_sym_COLON, + ACTIONS(867), 16, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, anon_sym_EQ, - ACTIONS(1140), 3, - anon_sym_RPAREN, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(865), 32, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(1147), 13, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -43967,167 +44355,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - ACTIONS(1079), 14, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_if, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - ACTIONS(1084), 15, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - [25545] = 21, + sym__semicolon, + [25959] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(849), 1, - sym_pattern, - STATE(861), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(1149), 2, - anon_sym_RPAREN, - anon_sym_RBRACK, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [25637] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(855), 1, - anon_sym_finally, - STATE(476), 1, - sym_finally_clause, - ACTIONS(1100), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1102), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [25697] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1130), 13, + ACTIONS(1106), 13, sym__string_start, sym__template_string_start, ts_builtin_sym_end, @@ -44141,7 +44373,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1128), 35, + ACTIONS(1104), 35, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -44177,139 +44409,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [25753] = 5, + [26015] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(851), 1, - anon_sym_else, - STATE(497), 1, - sym_else_clause, - ACTIONS(1120), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1122), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [25813] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(849), 1, - sym_pattern, - STATE(861), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(1151), 2, - anon_sym_RPAREN, - anon_sym_RBRACK, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [25905] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(861), 1, - anon_sym_else, - STATE(479), 1, - sym_else_clause, + ACTIONS(855), 1, + anon_sym_finally, + STATE(531), 1, + sym_finally_clause, ACTIONS(1126), 13, sym__string_start, sym__template_string_start, @@ -44358,554 +44464,14 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [25965] = 21, + [26075] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - STATE(1182), 1, - sym_pattern, - STATE(1499), 1, - sym_pattern_list, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [26056] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1153), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1155), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [26111] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - STATE(1301), 1, - sym_pattern, - STATE(1479), 1, - sym_pattern_list, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [26202] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - STATE(1218), 1, - sym_pattern, - STATE(1411), 1, - sym_pattern_list, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [26293] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1159), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1157), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [26348] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1161), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1163), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [26403] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1167), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1165), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [26458] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1167), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1165), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [26513] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - STATE(1274), 1, - sym_pattern, - STATE(1436), 1, - sym_pattern_list, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [26604] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1171), 1, + ACTIONS(1155), 1, anon_sym_COMMA, - ACTIONS(1178), 1, + ACTIONS(1162), 1, anon_sym_EQ, - ACTIONS(1176), 14, + ACTIONS(1160), 14, anon_sym_COLON, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -44920,7 +44486,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - ACTIONS(1174), 15, + ACTIONS(1158), 15, anon_sym_STAR, anon_sym_GT_GT, anon_sym_PIPE, @@ -44936,7 +44502,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_LT, anon_sym_GT, - ACTIONS(1169), 16, + ACTIONS(1153), 16, sym__newline, anon_sym_DOT, anon_sym_LPAREN, @@ -44953,16 +44519,333 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [26665] = 6, + [26136] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(1145), 1, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + STATE(1237), 1, + sym_pattern, + STATE(1443), 1, + sym_pattern_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [26227] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + STATE(1279), 1, + sym_pattern, + STATE(1504), 1, + sym_pattern_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [26318] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + STATE(1306), 1, + sym_pattern, + STATE(1476), 1, + sym_pattern_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [26409] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1164), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1166), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [26464] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1170), 1, + anon_sym_COMMA, + ACTIONS(1177), 1, anon_sym_EQ, - ACTIONS(1140), 3, + ACTIONS(1175), 14, + anon_sym_COLON, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1173), 15, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1168), 16, + sym__newline, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [26525] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1092), 1, + anon_sym_EQ, + ACTIONS(1085), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACK, - ACTIONS(1079), 14, + ACTIONS(1083), 14, anon_sym_DOT, anon_sym_LPAREN, anon_sym_if, @@ -44977,7 +44860,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - ACTIONS(1147), 14, + ACTIONS(1094), 14, anon_sym_COLON, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, @@ -44992,7 +44875,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - ACTIONS(1084), 15, + ACTIONS(1088), 15, anon_sym_STAR, anon_sym_GT_GT, anon_sym_PIPE, @@ -45008,68 +44891,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_LT, anon_sym_GT, - [26726] = 6, + [26586] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1182), 1, - anon_sym_COMMA, - ACTIONS(1189), 1, - anon_sym_EQ, - ACTIONS(1187), 14, - anon_sym_COLON, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - ACTIONS(1185), 15, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1180), 16, - sym__newline, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_if, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [26787] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1193), 13, - sym__dedent, + ACTIONS(1179), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -45080,7 +44908,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1191), 34, + ACTIONS(1181), 34, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -45115,7 +44943,111 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [26842] = 21, + [26641] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1183), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1185), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [26696] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1179), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1181), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [26751] = 21, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -45124,37 +45056,37 @@ static const uint16_t ts_small_parse_table[] = { sym__string_start, ACTIONS(312), 1, sym__template_string_start, - ACTIONS(659), 1, + ACTIONS(667), 1, sym_identifier, - ACTIONS(661), 1, + ACTIONS(669), 1, anon_sym_LPAREN, - ACTIONS(671), 1, + ACTIONS(679), 1, anon_sym_LBRACK, - ACTIONS(673), 1, + ACTIONS(681), 1, anon_sym_await, - ACTIONS(1114), 1, + ACTIONS(1118), 1, anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(861), 1, + STATE(570), 1, + sym_template_string, + STATE(862), 1, sym_primary_expression, - STATE(1270), 1, + STATE(1233), 1, sym_pattern, - STATE(1439), 1, + STATE(1422), 1, sym_pattern_list, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(742), 2, + STATE(735), 2, sym_attribute, sym_subscript, ACTIONS(296), 3, anon_sym_DASH, anon_sym_PLUS, anon_sym_TILDE, - STATE(855), 3, + STATE(853), 3, sym_tuple_pattern, sym_list_pattern, sym_list_splat_pattern, @@ -45163,13 +45095,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - ACTIONS(665), 5, + ACTIONS(673), 5, anon_sym_print, anon_sym_async, anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 15, + STATE(649), 15, sym_binary_operator, sym_unary_operator, sym_call, @@ -45185,7 +45117,392 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [26933] = 3, + [26842] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1187), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1189), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [26897] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + STATE(1291), 1, + sym_pattern, + STATE(1507), 1, + sym_pattern_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [26988] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1142), 1, + anon_sym_COMMA, + ACTIONS(1147), 1, + anon_sym_EQ, + ACTIONS(1149), 14, + anon_sym_COLON, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + ACTIONS(1088), 15, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 16, + sym__newline, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_if, + anon_sym_in, + anon_sym_LBRACK, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [27049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1183), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1185), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27104] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1191), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1193), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27159] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1164), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1166), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_case, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27214] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1191), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1193), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27269] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1197), 13, @@ -45237,340 +45554,7 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [26988] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1193), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1191), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27043] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1159), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1157), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27098] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1161), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1163), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_finally, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27153] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1081), 1, - anon_sym_COMMA, - ACTIONS(1088), 1, - anon_sym_EQ, - ACTIONS(1090), 14, - anon_sym_COLON, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - ACTIONS(1084), 15, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 16, - sym__newline, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_if, - anon_sym_in, - anon_sym_LBRACK, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [27214] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - STATE(1183), 1, - sym_pattern, - STATE(1496), 1, - sym_pattern_list, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [27305] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1153), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1155), 34, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_case, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27360] = 3, + [27324] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1197), 13, @@ -45622,7 +45606,129 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [27415] = 3, + [27379] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1187), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1189), 34, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_finally, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27434] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + STATE(1280), 1, + sym_pattern, + STATE(1428), 1, + sym_pattern_list, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [27525] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1201), 13, @@ -45673,10 +45779,10 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [27469] = 3, + [27579] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1203), 13, + ACTIONS(875), 13, sym__string_start, sym__template_string_start, ts_builtin_sym_end, @@ -45690,7 +45796,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1205), 33, + ACTIONS(873), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -45724,7 +45830,58 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [27523] = 3, + [27633] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1205), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1203), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27687] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1209), 13, @@ -45775,13 +45932,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [27577] = 3, + [27741] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1213), 13, - sym__dedent, + ACTIONS(1211), 13, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -45792,7 +45949,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1211), 33, + ACTIONS(1213), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -45826,7 +45983,4631 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [27631] = 3, + [27795] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1217), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1215), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27849] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1221), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1219), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27903] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1225), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1223), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [27957] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1227), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1229), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28011] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1233), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1231), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28065] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(847), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(849), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28119] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1237), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1235), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28173] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1241), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1239), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28227] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1245), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1243), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28281] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(854), 1, + sym_pattern, + STATE(862), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [28369] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1245), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1243), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1249), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28477] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1251), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1253), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28531] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1257), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1255), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28585] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1257), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1255), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28639] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1261), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1259), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28693] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1265), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1263), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28747] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1261), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1259), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28801] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1265), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1263), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1269), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1267), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1273), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1271), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [28963] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1275), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29017] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1281), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1279), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29071] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1285), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1283), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29125] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1287), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1289), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29179] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1079), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1081), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29233] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1293), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1291), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29287] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1211), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1213), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29341] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1297), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1295), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29395] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1299), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1301), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29449] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1305), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1303), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29503] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(667), 1, + sym_identifier, + ACTIONS(669), 1, + anon_sym_LPAREN, + ACTIONS(679), 1, + anon_sym_LBRACK, + ACTIONS(681), 1, + anon_sym_await, + ACTIONS(1118), 1, + anon_sym_STAR, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + STATE(1307), 1, + sym_pattern, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(735), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + STATE(853), 3, + sym_tuple_pattern, + sym_list_pattern, + sym_list_splat_pattern, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(673), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [29591] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1309), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1307), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29645] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1311), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1313), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1315), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1317), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29753] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1319), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1321), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29807] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1325), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1323), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29861] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1309), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1307), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29915] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1329), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1327), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [29969] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1311), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1313), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30023] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1331), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1333), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30077] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1287), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1289), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30131] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1297), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1295), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30185] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1337), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1335), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30239] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1251), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1253), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30293] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1329), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1327), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30347] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1337), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1335), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30401] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1126), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1124), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30455] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1339), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1341), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30509] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1339), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1341), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30563] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1237), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1235), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30617] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1343), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1345), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30671] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1319), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1321), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30725] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1343), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1345), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30779] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1347), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1349), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30833] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1351), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1353), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30887] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1357), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1355), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30941] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1249), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [30995] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1293), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1291), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31049] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1359), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1361), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31103] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1233), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1231), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31157] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1241), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1239), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31211] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1285), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1283), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31265] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1365), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1363), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1369), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1367), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31373] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1373), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1371), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1377), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1375), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31481] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1225), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1223), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31535] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1357), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1355), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31589] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1079), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1081), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31643] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1351), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1353), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31697] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1305), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1303), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1369), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1367), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31805] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1269), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1267), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31859] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1281), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1279), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31913] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1359), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1361), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [31967] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(847), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(849), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32021] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1227), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1229), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32075] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(875), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(873), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32129] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1325), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1323), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32183] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1347), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1349), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32237] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1221), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1219), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32291] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1126), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1124), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32345] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1205), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1203), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32399] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1377), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1375), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32453] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1273), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1271), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32507] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1331), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1333), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1299), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1301), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32615] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1315), 13, + sym__dedent, + sym__string_start, + sym__template_string_start, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1317), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32669] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1373), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1371), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32723] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1201), 13, @@ -45877,3345 +50658,13 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [27685] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1217), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1215), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27739] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1221), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1219), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27793] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1223), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1225), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27847] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1229), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1227), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27901] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1233), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1231), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [27955] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1235), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1237), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28009] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1239), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1241), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28063] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1243), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1245), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28117] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1213), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1211), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28171] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1247), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1249), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28225] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1203), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1205), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28279] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1253), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1251), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28333] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1257), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1255), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28387] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1261), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1259), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28441] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1265), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1263), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28495] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1269), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1267), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28549] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1273), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1271), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28603] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1100), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1102), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28657] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1277), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1275), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28711] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1247), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1249), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28765] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1281), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1279), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28819] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1285), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1283), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28873] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1289), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1287), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28927] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1293), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1291), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [28981] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1297), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1295), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29035] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1301), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1299), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29089] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1303), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1305), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29143] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1229), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1227), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29197] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(849), 1, - sym_pattern, - STATE(861), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [29285] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1309), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1307), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29339] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1293), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1291), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29393] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1311), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1313), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29447] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1273), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1271), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29501] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1317), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1315), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29555] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1277), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1275), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29609] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1321), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1319), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29663] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1301), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1299), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29717] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1323), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1325), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29771] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1329), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1327), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29825] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1333), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1331), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29879] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1303), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1305), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29933] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1337), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1335), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [29987] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1339), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1341), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30041] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1297), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1295), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30095] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1317), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1315), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30149] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1132), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1134), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30203] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1243), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1245), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30257] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1239), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1241), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30311] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1235), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1237), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30365] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(857), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(859), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30419] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1329), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1327), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30473] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1223), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1225), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30527] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1345), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1343), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30581] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(849), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(847), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30635] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1221), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1219), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30689] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1347), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1349), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30743] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1351), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1353), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30797] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1351), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1353), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30851] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1355), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1357), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30905] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1233), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1231), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [30959] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1269), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1267), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31013] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1289), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1287), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31067] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1345), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1343), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31121] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1337), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1335), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31175] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1361), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1359), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31229] = 3, + [32777] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1365), 13, - sym__dedent, sym__string_start, sym__template_string_start, + ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_DASH, anon_sym_PLUS, @@ -49260,112 +50709,10 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [31283] = 3, + [32831] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1369), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1367), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31337] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1373), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1371), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31391] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1333), 13, + ACTIONS(1277), 13, sym__string_start, sym__template_string_start, ts_builtin_sym_end, @@ -49379,7 +50726,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_TILDE, sym_ellipsis, sym_float, - ACTIONS(1331), 33, + ACTIONS(1275), 33, anon_sym_import, anon_sym_from, anon_sym_STAR, @@ -49413,7 +50760,58 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [31445] = 3, + [32885] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1217), 13, + sym__string_start, + sym__template_string_start, + ts_builtin_sym_end, + anon_sym_LPAREN, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_TILDE, + sym_ellipsis, + sym_float, + ACTIONS(1215), 33, + anon_sym_import, + anon_sym_from, + anon_sym_STAR, + anon_sym_print, + anon_sym_assert, + anon_sym_return, + anon_sym_del, + anon_sym_raise, + anon_sym_pass, + anon_sym_break, + anon_sym_continue, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_while, + anon_sym_try, + anon_sym_with, + anon_sym_match, + anon_sym_def, + anon_sym_global, + anon_sym_nonlocal, + anon_sym_exec, + anon_sym_type, + anon_sym_class, + anon_sym_not, + anon_sym_lambda, + anon_sym_yield, + sym_integer, + sym_identifier, + anon_sym_await, + sym_true, + sym_false, + sym_none, + [32939] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1209), 13, @@ -49464,1299 +50862,7 @@ static const uint16_t ts_small_parse_table[] = { sym_true, sym_false, sym_none, - [31499] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1217), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1215), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31553] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1347), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1349), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31607] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1375), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1377), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31661] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1321), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1319), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31715] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1361), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1359), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31769] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1375), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1377), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31823] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(659), 1, - sym_identifier, - ACTIONS(661), 1, - anon_sym_LPAREN, - ACTIONS(671), 1, - anon_sym_LBRACK, - ACTIONS(673), 1, - anon_sym_await, - ACTIONS(1114), 1, - anon_sym_STAR, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - STATE(1303), 1, - sym_pattern, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(742), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - STATE(855), 3, - sym_tuple_pattern, - sym_list_pattern, - sym_list_splat_pattern, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(665), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [31911] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1355), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1357), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [31965] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1253), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1251), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32019] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1257), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1255), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32073] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1261), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1259), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32127] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(857), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(859), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32181] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1265), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1263), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32235] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1339), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1341), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32289] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1132), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1134), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32343] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1309), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1307), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32397] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1373), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1371), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32451] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(849), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(847), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32505] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1100), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1102), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32559] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1281), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1279), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32613] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1285), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1283), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32667] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1323), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1325), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32721] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1311), 13, - sym__dedent, - sym__string_start, - sym__template_string_start, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1313), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32775] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1369), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1367), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32829] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1365), 13, - sym__string_start, - sym__template_string_start, - ts_builtin_sym_end, - anon_sym_LPAREN, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_LBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_TILDE, - sym_ellipsis, - sym_float, - ACTIONS(1363), 33, - anon_sym_import, - anon_sym_from, - anon_sym_STAR, - anon_sym_print, - anon_sym_assert, - anon_sym_return, - anon_sym_del, - anon_sym_raise, - anon_sym_pass, - anon_sym_break, - anon_sym_continue, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_while, - anon_sym_try, - anon_sym_with, - anon_sym_match, - anon_sym_def, - anon_sym_global, - anon_sym_nonlocal, - anon_sym_exec, - anon_sym_type, - anon_sym_class, - anon_sym_not, - anon_sym_lambda, - anon_sym_yield, - sym_integer, - sym_identifier, - anon_sym_await, - sym_true, - sym_false, - sym_none, - [32883] = 18, + [32993] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -50773,16 +50879,16 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(1385), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(861), 1, + STATE(570), 1, + sym_template_string, + STATE(862), 1, sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, sym_float, - STATE(745), 2, + STATE(740), 2, sym_attribute, sym_subscript, ACTIONS(296), 3, @@ -50804,7 +50910,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 15, + STATE(649), 15, sym_binary_operator, sym_unary_operator, sym_call, @@ -50820,12 +50926,112 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [32965] = 5, + [33075] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(310), 1, + sym__string_start, + STATE(573), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1088), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [33130] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(312), 1, + sym__template_string_start, + STATE(572), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, + ACTIONS(1088), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [33185] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1391), 1, sym__template_string_start, - STATE(568), 2, + STATE(571), 2, sym_template_string, aux_sym_concatenated_template_string_repeat1, ACTIONS(1389), 6, @@ -50870,14 +51076,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [33020] = 5, + [33240] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1398), 1, - sym__string_start, - STATE(569), 2, - sym_string, - aux_sym_concatenated_string_repeat1, + ACTIONS(312), 1, + sym__template_string_start, + STATE(571), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, ACTIONS(1396), 6, anon_sym_as, anon_sym_STAR, @@ -50920,72 +51126,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [33075] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(312), 1, - sym__template_string_start, - STATE(568), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1403), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1401), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [33130] = 5, + [33295] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(310), 1, sym__string_start, - STATE(569), 2, + STATE(574), 2, sym_string, aux_sym_concatenated_string_repeat1, - ACTIONS(1407), 6, + ACTIONS(1400), 6, anon_sym_as, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1405), 34, + ACTIONS(1398), 34, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -51020,107 +51176,177 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [33185] = 5, + [33350] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, + ACTIONS(1406), 1, + sym__string_start, + STATE(574), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1404), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1402), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [33405] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, sym__template_string_start, - STATE(570), 2, + ACTIONS(1409), 1, + anon_sym_not, + STATE(720), 1, + sym_string, + STATE(722), 1, sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1084), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, + STATE(751), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, anon_sym_DASH, anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [33240] = 5, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [33481] = 16, ACTIONS(3), 1, sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, ACTIONS(310), 1, sym__string_start, - STATE(571), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - ACTIONS(1084), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 34, - anon_sym_DOT, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + ACTIONS(1411), 1, + anon_sym_not, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(663), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, anon_sym_DASH, anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [33295] = 16, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [33557] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, @@ -51135,13 +51361,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(576), 1, anon_sym_await, - ACTIONS(1409), 1, + ACTIONS(1413), 1, anon_sym_not, STATE(698), 1, sym_string, - STATE(699), 1, + STATE(700), 1, sym_template_string, - STATE(712), 1, + STATE(717), 1, sym_primary_expression, ACTIONS(75), 2, sym_ellipsis, @@ -51162,7 +51388,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(795), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -51180,67 +51406,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [33371] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - ACTIONS(1411), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(683), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [33447] = 16, + [33633] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -51255,512 +51421,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(595), 1, anon_sym_await, - ACTIONS(1413), 1, - anon_sym_not, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(676), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [33523] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, ACTIONS(1415), 1, anon_sym_not, - STATE(704), 1, - sym_template_string, - STATE(706), 1, + STATE(569), 1, sym_string, - STATE(732), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [33599] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - STATE(572), 1, + STATE(570), 1, sym_template_string, - STATE(573), 1, - sym_string, - STATE(683), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [33672] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(672), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [33745] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(676), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [33818] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1419), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1417), 35, - sym__template_string_start, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [33867] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1423), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1421), 35, - sym__string_start, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [33916] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(679), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [33989] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(665), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34062] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, STATE(667), 1, sym_primary_expression, ACTIONS(304), 2, @@ -51782,7 +51448,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -51800,7 +51466,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [34135] = 15, + [33709] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -51815,11 +51481,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(595), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(670), 1, + STATE(570), 1, + sym_template_string, + STATE(672), 1, sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, @@ -51840,7 +51506,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -51858,7 +51524,215 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [34208] = 3, + [33782] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1419), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1417), 35, + sym__string_start, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [33831] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1423), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1421), 35, + sym__template_string_start, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [33880] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(706), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [33953] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(663), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34026] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1427), 6, @@ -51904,67 +51778,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [34257] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(1429), 1, - sym_identifier, - ACTIONS(1433), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(858), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(1431), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34334] = 15, + [34075] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(51), 1, @@ -51981,181 +51795,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_await, STATE(698), 1, sym_string, - STATE(699), 1, - sym_template_string, - STATE(721), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34407] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(663), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34480] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(714), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34553] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, + STATE(700), 1, sym_template_string, STATE(713), 1, sym_primary_expression, @@ -52178,7 +51818,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(795), 17, + STATE(760), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -52196,7 +51836,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [34626] = 15, + [34148] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -52211,416 +51851,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(605), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(661), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34699] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - STATE(572), 1, + STATE(570), 1, sym_template_string, - STATE(573), 1, - sym_string, - STATE(677), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34772] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(720), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34845] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(668), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34918] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(669), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [34991] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(678), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35064] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(673), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35137] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, STATE(664), 1, sym_primary_expression, ACTIONS(304), 2, @@ -52642,7 +51876,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -52660,7 +51894,65 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [35210] = 15, + [34221] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(739), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34294] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -52675,11 +51967,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(605), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(681), 1, + STATE(570), 1, + sym_template_string, + STATE(673), 1, sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, @@ -52700,7 +51992,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -52718,7 +52010,2041 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [35283] = 3, + [34367] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(712), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34440] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(736), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34513] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(683), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34586] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(734), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34659] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(677), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34732] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(741), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34805] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(1429), 1, + sym_identifier, + ACTIONS(1433), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(859), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(1431), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34882] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(667), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [34955] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(745), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35028] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(751), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35101] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(752), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35174] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(670), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35247] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(753), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35320] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(723), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35393] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(682), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35466] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(721), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35539] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(668), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35612] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(678), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35685] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(717), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35758] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(742), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35831] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(714), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35904] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(674), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [35977] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(707), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36050] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(708), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36123] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(685), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36196] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(662), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36269] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(671), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36342] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(705), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36415] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(746), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36488] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(681), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36561] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(51), 1, + anon_sym_LBRACE, + ACTIONS(81), 1, + sym__string_start, + ACTIONS(83), 1, + sym__template_string_start, + ACTIONS(568), 1, + anon_sym_LPAREN, + ACTIONS(574), 1, + anon_sym_LBRACK, + ACTIONS(576), 1, + anon_sym_await, + STATE(698), 1, + sym_string, + STATE(700), 1, + sym_template_string, + STATE(710), 1, + sym_primary_expression, + ACTIONS(75), 2, + sym_ellipsis, + sym_float, + ACTIONS(47), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(77), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(570), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(760), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36634] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(609), 1, + anon_sym_LPAREN, + ACTIONS(617), 1, + anon_sym_LBRACK, + ACTIONS(619), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_await, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + STATE(720), 1, + sym_string, + STATE(722), 1, + sym_template_string, + STATE(744), 1, + sym_primary_expression, + ACTIONS(621), 2, + sym_ellipsis, + sym_float, + ACTIONS(615), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(607), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(611), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(809), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36707] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(597), 1, + anon_sym_LPAREN, + ACTIONS(603), 1, + anon_sym_LBRACK, + ACTIONS(605), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(679), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(601), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36780] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(680), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36853] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(862), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + STATE(740), 2, + sym_attribute, + sym_subscript, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 4, + sym_integer, + sym_true, + sym_false, + sym_none, + ACTIONS(1383), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 15, + sym_binary_operator, + sym_unary_operator, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [36930] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1437), 6, @@ -52764,7 +54090,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [35332] = 15, + [36979] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(666), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [37052] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -52779,11 +54163,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(605), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, - STATE(682), 1, + STATE(570), 1, + sym_template_string, + STATE(676), 1, sym_primary_expression, ACTIONS(304), 2, sym_ellipsis, @@ -52804,7 +54188,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -52822,7 +54206,65 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [35405] = 15, + [37125] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(288), 1, + anon_sym_LBRACE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(578), 1, + anon_sym_LPAREN, + ACTIONS(591), 1, + anon_sym_LBRACK, + ACTIONS(595), 1, + anon_sym_await, + STATE(569), 1, + sym_string, + STATE(570), 1, + sym_template_string, + STATE(665), 1, + sym_primary_expression, + ACTIONS(304), 2, + sym_ellipsis, + sym_float, + ACTIONS(296), 3, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_TILDE, + ACTIONS(306), 5, + sym_integer, + sym_identifier, + sym_true, + sym_false, + sym_none, + ACTIONS(583), 5, + anon_sym_print, + anon_sym_async, + anon_sym_match, + anon_sym_exec, + anon_sym_type, + STATE(649), 17, + sym_binary_operator, + sym_unary_operator, + sym_attribute, + sym_subscript, + sym_call, + sym_list, + sym_set, + sym_tuple, + sym_dictionary, + sym_list_comprehension, + sym_dictionary_comprehension, + sym_set_comprehension, + sym_generator_expression, + sym_parenthesized_expression, + sym_concatenated_string, + sym_concatenated_template_string, + sym_await, + [37198] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(288), 1, @@ -52837,10 +54279,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(605), 1, anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, + STATE(569), 1, sym_string, + STATE(570), 1, + sym_template_string, STATE(684), 1, sym_primary_expression, ACTIONS(304), 2, @@ -52862,7 +54304,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_match, anon_sym_exec, anon_sym_type, - STATE(658), 17, + STATE(649), 17, sym_binary_operator, sym_unary_operator, sym_attribute, @@ -52880,1343 +54322,7 @@ static const uint16_t ts_small_parse_table[] = { sym_concatenated_string, sym_concatenated_template_string, sym_await, - [35478] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(662), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35551] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(717), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35624] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(675), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35697] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(724), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35770] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(748), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35843] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(712), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35916] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(711), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [35989] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(747), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36062] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(744), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36135] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(597), 1, - anon_sym_LPAREN, - ACTIONS(603), 1, - anon_sym_LBRACK, - ACTIONS(605), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(680), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(601), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36208] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(739), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36281] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(709), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36354] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(705), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36427] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(708), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36500] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(51), 1, - anon_sym_LBRACE, - ACTIONS(81), 1, - sym__string_start, - ACTIONS(83), 1, - sym__template_string_start, - ACTIONS(568), 1, - anon_sym_LPAREN, - ACTIONS(574), 1, - anon_sym_LBRACK, - ACTIONS(576), 1, - anon_sym_await, - STATE(698), 1, - sym_string, - STATE(699), 1, - sym_template_string, - STATE(710), 1, - sym_primary_expression, - ACTIONS(75), 2, - sym_ellipsis, - sym_float, - ACTIONS(47), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(77), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(570), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(795), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36573] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(738), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36646] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(1379), 1, - sym_identifier, - ACTIONS(1385), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(861), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - STATE(745), 2, - sym_attribute, - sym_subscript, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 4, - sym_integer, - sym_true, - sym_false, - sym_none, - ACTIONS(1383), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 15, - sym_binary_operator, - sym_unary_operator, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36723] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(752), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36796] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(754), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36869] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(728), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [36942] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(729), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [37015] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(611), 1, - anon_sym_LPAREN, - ACTIONS(619), 1, - anon_sym_LBRACK, - ACTIONS(621), 1, - anon_sym_LBRACE, - ACTIONS(625), 1, - anon_sym_await, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - STATE(704), 1, - sym_template_string, - STATE(706), 1, - sym_string, - STATE(732), 1, - sym_primary_expression, - ACTIONS(623), 2, - sym_ellipsis, - sym_float, - ACTIONS(617), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(609), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(613), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(805), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [37088] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_LBRACE, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(578), 1, - anon_sym_LPAREN, - ACTIONS(591), 1, - anon_sym_LBRACK, - ACTIONS(595), 1, - anon_sym_await, - STATE(572), 1, - sym_template_string, - STATE(573), 1, - sym_string, - STATE(674), 1, - sym_primary_expression, - ACTIONS(304), 2, - sym_ellipsis, - sym_float, - ACTIONS(296), 3, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_TILDE, - ACTIONS(306), 5, - sym_integer, - sym_identifier, - sym_true, - sym_false, - sym_none, - ACTIONS(583), 5, - anon_sym_print, - anon_sym_async, - anon_sym_match, - anon_sym_exec, - anon_sym_type, - STATE(658), 17, - sym_binary_operator, - sym_unary_operator, - sym_attribute, - sym_subscript, - sym_call, - sym_list, - sym_set, - sym_tuple, - sym_dictionary, - sym_list_comprehension, - sym_dictionary_comprehension, - sym_set_comprehension, - sym_generator_expression, - sym_parenthesized_expression, - sym_concatenated_string, - sym_concatenated_template_string, - sym_await, - [37161] = 3, + [37271] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1441), 6, @@ -54261,7 +54367,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [37209] = 3, + [37319] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1445), 6, @@ -54306,7 +54412,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [37257] = 3, + [37367] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1449), 6, @@ -54351,7 +54457,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [37305] = 3, + [37415] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1453), 6, @@ -54396,52 +54502,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [37353] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1449), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1447), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37401] = 3, + [37463] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1457), 6, @@ -54486,58 +54547,868 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [37449] = 20, + [37511] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1471), 1, - anon_sym_PIPE, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1477), 1, - anon_sym_STAR_STAR, - ACTIONS(1479), 1, + ACTIONS(1461), 6, + anon_sym_as, + anon_sym_STAR, anon_sym_EQ, - ACTIONS(1483), 1, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1459), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, anon_sym_not, - ACTIONS(1485), 1, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, anon_sym_AMP, - ACTIONS(1487), 1, anon_sym_CARET, - ACTIONS(1491), 1, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37559] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1465), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1463), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37607] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1469), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1467), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1473), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1471), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37703] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1477), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1475), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1465), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1463), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37799] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1479), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37847] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1485), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1483), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37895] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1489), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1487), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37943] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1453), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1451), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [37991] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1493), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1491), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38039] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1497), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1495), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38087] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1497), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1495), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38135] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1501), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1499), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38183] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1449), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1447), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38231] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1088), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38279] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1505), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1503), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38327] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1509), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1507), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38375] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1523), 1, + anon_sym_PIPE, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1529), 1, + anon_sym_STAR_STAR, + ACTIONS(1531), 1, + anon_sym_EQ, + ACTIONS(1535), 1, + anon_sym_not, + ACTIONS(1537), 1, + anon_sym_AMP, + ACTIONS(1539), 1, + anon_sym_CARET, + ACTIONS(1543), 1, anon_sym_is, STATE(846), 1, aux_sym_comparison_operator_repeat1, - ACTIONS(1465), 2, + ACTIONS(1517), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1467), 2, + ACTIONS(1519), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1473), 2, + ACTIONS(1525), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(1489), 2, + ACTIONS(1541), 2, anon_sym_LT, anon_sym_GT, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1481), 3, + ACTIONS(1533), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, - ACTIONS(1469), 6, + ACTIONS(1521), 6, anon_sym_in, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_GT, - ACTIONS(1463), 10, + ACTIONS(1515), 10, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_if, @@ -54548,643 +55419,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_and, anon_sym_or, sym_type_conversion, - [37531] = 3, + [38457] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(1495), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1493), 34, + ACTIONS(1511), 1, anon_sym_DOT, + ACTIONS(1513), 1, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, + ACTIONS(1527), 1, anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37579] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1499), 6, + ACTIONS(1531), 1, anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1497), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37627] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1457), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1455), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37675] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1503), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1501), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37723] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1507), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1505), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37771] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1511), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1509), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37819] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1515), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1513), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37867] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1519), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1517), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37915] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1523), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1521), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [37963] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1527), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1525), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38011] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1531), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1529), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38059] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1535), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1533), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38107] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1453), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1451), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38155] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1479), 1, - anon_sym_as, - ACTIONS(1543), 1, - anon_sym_PIPE, - ACTIONS(1547), 1, - anon_sym_STAR_STAR, ACTIONS(1551), 1, - anon_sym_not, - ACTIONS(1553), 1, - anon_sym_AMP, + anon_sym_PIPE, ACTIONS(1555), 1, - anon_sym_CARET, + anon_sym_STAR_STAR, ACTIONS(1559), 1, + anon_sym_not, + ACTIONS(1561), 1, + anon_sym_AMP, + ACTIONS(1563), 1, + anon_sym_CARET, + ACTIONS(1567), 1, anon_sym_is, - STATE(844), 1, + STATE(845), 1, aux_sym_comparison_operator_repeat1, - ACTIONS(1537), 2, + ACTIONS(1545), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1539), 2, + ACTIONS(1547), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1545), 2, + ACTIONS(1553), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(1557), 2, + ACTIONS(1565), 2, anon_sym_LT, anon_sym_GT, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1549), 3, + ACTIONS(1557), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, - ACTIONS(1541), 6, + ACTIONS(1549), 6, anon_sym_in, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_GT, - ACTIONS(1463), 10, + ACTIONS(1515), 10, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_if, @@ -55195,142 +55481,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_and, anon_sym_or, - [38237] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1563), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1561), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38285] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(265), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(298), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38333] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1567), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1565), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38381] = 3, + [38539] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1571), 6, @@ -55375,7 +55526,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [38429] = 3, + [38587] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1575), 6, @@ -55420,7 +55571,52 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [38477] = 3, + [38635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(265), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 34, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [38683] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1579), 6, @@ -55465,7 +55661,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [38525] = 3, + [38731] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1583), 6, @@ -55510,7 +55706,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [38573] = 3, + [38779] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1587), 6, @@ -55555,97 +55751,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [38621] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1515), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1513), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38669] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1084), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 34, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [38717] = 3, + [38827] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1591), 6, @@ -55690,7 +55796,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [38765] = 3, + [38875] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1595), 6, @@ -55735,23 +55841,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [38813] = 8, + [38923] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1547), 1, + ACTIONS(1529), 1, anon_sym_STAR_STAR, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, ACTIONS(1599), 5, - anon_sym_as, anon_sym_STAR, + anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, @@ -55761,130 +55867,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT, anon_sym_if, anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [38870] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1547), 1, - anon_sym_STAR_STAR, - ACTIONS(1555), 1, - anon_sym_CARET, - ACTIONS(1537), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1539), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1545), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1549), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1599), 3, - anon_sym_as, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1597), 20, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [38937] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1477), 1, - anon_sym_STAR_STAR, - ACTIONS(1487), 1, - anon_sym_CARET, - ACTIONS(1465), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1467), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1473), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1481), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1599), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1597), 20, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, anon_sym_else, anon_sym_in, anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, anon_sym_RBRACK, anon_sym_RBRACE, + anon_sym_AT, anon_sym_not, anon_sym_and, anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, @@ -55892,84 +55890,315 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [39004] = 8, + [38980] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1547), 1, + ACTIONS(1551), 1, + anon_sym_PIPE, + ACTIONS(1555), 1, anon_sym_STAR_STAR, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1603), 5, - anon_sym_as, + ACTIONS(1561), 1, + anon_sym_AMP, + ACTIONS(1563), 1, + anon_sym_CARET, + ACTIONS(1545), 2, anon_sym_STAR, anon_sym_SLASH, + ACTIONS(1547), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1553), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1557), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1603), 3, + anon_sym_as, anon_sym_LT, anon_sym_GT, - ACTIONS(1601), 28, + ACTIONS(1601), 18, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_GT_GT, anon_sym_if, anon_sym_COLON, anon_sym_async, anon_sym_for, anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, anon_sym_RBRACK, anon_sym_RBRACE, - anon_sym_AT, anon_sym_not, anon_sym_and, anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [39061] = 12, + [39051] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, + ACTIONS(1551), 1, + anon_sym_PIPE, + ACTIONS(1555), 1, anon_sym_STAR_STAR, - ACTIONS(1465), 2, + ACTIONS(1561), 1, + anon_sym_AMP, + ACTIONS(1563), 1, + anon_sym_CARET, + ACTIONS(1545), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1467), 2, + ACTIONS(1547), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1473), 2, + ACTIONS(1553), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1481), 3, + ACTIONS(1557), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1607), 3, + anon_sym_as, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1605), 18, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [39122] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1523), 1, + anon_sym_PIPE, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1529), 1, + anon_sym_STAR_STAR, + ACTIONS(1537), 1, + anon_sym_AMP, + ACTIONS(1539), 1, + anon_sym_CARET, + ACTIONS(1517), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1519), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1525), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1533), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1607), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1605), 18, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [39193] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1523), 1, + anon_sym_PIPE, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1529), 1, + anon_sym_STAR_STAR, + ACTIONS(1537), 1, + anon_sym_AMP, + ACTIONS(1539), 1, + anon_sym_CARET, + ACTIONS(1517), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1519), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1525), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1533), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1611), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1609), 18, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [39264] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1523), 1, + anon_sym_PIPE, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1529), 1, + anon_sym_STAR_STAR, + ACTIONS(1537), 1, + anon_sym_AMP, + ACTIONS(1539), 1, + anon_sym_CARET, + ACTIONS(1517), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1519), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1525), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1533), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1603), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1601), 18, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [39335] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1555), 1, + anon_sym_STAR_STAR, + ACTIONS(1545), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1547), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1553), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1557), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, ACTIONS(1599), 3, - anon_sym_EQ, + anon_sym_as, anon_sym_LT, anon_sym_GT, ACTIONS(1597), 21, @@ -55977,7 +56206,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_if, anon_sym_COLON, - anon_sym_else, + anon_sym_async, + anon_sym_for, anon_sym_in, anon_sym_PIPE, anon_sym_RBRACK, @@ -55993,28 +56223,76 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - sym_type_conversion, - [39126] = 8, + [39400] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1547), 1, + ACTIONS(1529), 1, anon_sym_STAR_STAR, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1607), 5, + ACTIONS(1615), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1613), 28, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [39457] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1555), 1, + anon_sym_STAR_STAR, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1619), 5, anon_sym_as, anon_sym_STAR, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1605), 28, + ACTIONS(1617), 28, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_GT_GT, @@ -56043,35 +56321,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [39183] = 11, + [39514] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, + ACTIONS(1529), 1, anon_sym_STAR_STAR, - ACTIONS(1465), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1473), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1481), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1599), 3, + ACTIONS(1619), 5, + anon_sym_STAR, anon_sym_EQ, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1597), 23, + ACTIONS(1617), 28, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_GT_GT, @@ -56080,11 +56350,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_else, anon_sym_in, anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, anon_sym_RBRACK, anon_sym_RBRACE, + anon_sym_AT, anon_sym_not, anon_sym_and, anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, anon_sym_AMP, anon_sym_CARET, anon_sym_LT_LT, @@ -56095,18 +56370,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [39246] = 8, + [39571] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, + ACTIONS(1529), 1, anon_sym_STAR_STAR, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, ACTIONS(1599), 5, @@ -56144,185 +56419,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [39303] = 10, + [39628] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, - anon_sym_STAR_STAR, - ACTIONS(1465), 2, - anon_sym_STAR, - anon_sym_SLASH, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1481), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1599), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1597), 25, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_in, + ACTIONS(1551), 1, anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [39364] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1477), 1, - anon_sym_STAR_STAR, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1599), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1597), 28, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [39421] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1477), 1, - anon_sym_STAR_STAR, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1607), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1605), 28, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [39478] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1543), 1, - anon_sym_PIPE, - ACTIONS(1547), 1, - anon_sym_STAR_STAR, - ACTIONS(1553), 1, - anon_sym_AMP, ACTIONS(1555), 1, + anon_sym_STAR_STAR, + ACTIONS(1561), 1, + anon_sym_AMP, + ACTIONS(1563), 1, anon_sym_CARET, - ACTIONS(1537), 2, + ACTIONS(1545), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1539), 2, + ACTIONS(1547), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1545), 2, + ACTIONS(1553), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1549), 3, + ACTIONS(1557), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -56349,34 +56475,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [39549] = 14, + [39699] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, + ACTIONS(1529), 1, anon_sym_STAR_STAR, - ACTIONS(1485), 1, + ACTIONS(1537), 1, anon_sym_AMP, - ACTIONS(1487), 1, + ACTIONS(1539), 1, anon_sym_CARET, - ACTIONS(1465), 2, + ACTIONS(1517), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1467), 2, + ACTIONS(1519), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1473), 2, + ACTIONS(1525), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1481), 3, + ACTIONS(1533), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -56404,33 +56530,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [39618] = 8, + [39768] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, + ACTIONS(1555), 1, anon_sym_STAR_STAR, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1603), 5, + ACTIONS(1615), 5, + anon_sym_as, anon_sym_STAR, - anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1601), 28, + ACTIONS(1613), 28, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_GT_GT, anon_sym_if, anon_sym_COLON, - anon_sym_else, + anon_sym_async, + anon_sym_for, anon_sym_in, anon_sym_PIPE, anon_sym_DASH, @@ -56452,140 +56579,76 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - sym_type_conversion, - [39675] = 15, + [39825] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1471), 1, - anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, + ACTIONS(1555), 1, anon_sym_STAR_STAR, - ACTIONS(1485), 1, - anon_sym_AMP, - ACTIONS(1487), 1, - anon_sym_CARET, - ACTIONS(1465), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1467), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1473), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1481), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1611), 3, - anon_sym_EQ, + ACTIONS(1599), 5, + anon_sym_as, + anon_sym_STAR, + anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1609), 18, + ACTIONS(1597), 28, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_GT_GT, anon_sym_if, anon_sym_COLON, - anon_sym_else, + anon_sym_async, + anon_sym_for, anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, anon_sym_RBRACK, anon_sym_RBRACE, + anon_sym_AT, anon_sym_not, anon_sym_and, anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - sym_type_conversion, - [39746] = 15, + [39882] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1471), 1, - anon_sym_PIPE, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1477), 1, + ACTIONS(1555), 1, anon_sym_STAR_STAR, - ACTIONS(1485), 1, - anon_sym_AMP, - ACTIONS(1487), 1, - anon_sym_CARET, - ACTIONS(1465), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1467), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1473), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1481), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1615), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1613), 18, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [39817] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1547), 1, - anon_sym_STAR_STAR, - ACTIONS(1537), 2, - anon_sym_STAR, - anon_sym_SLASH, ACTIONS(1545), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1553), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1549), 3, + ACTIONS(1557), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -56617,111 +56680,51 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [39880] = 15, + [39945] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1543), 1, - anon_sym_PIPE, - ACTIONS(1547), 1, + ACTIONS(1529), 1, anon_sym_STAR_STAR, - ACTIONS(1553), 1, - anon_sym_AMP, - ACTIONS(1555), 1, - anon_sym_CARET, - ACTIONS(1537), 2, + ACTIONS(1517), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1539), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1545), 2, + ACTIONS(1525), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1549), 3, + ACTIONS(1533), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, - ACTIONS(1619), 3, - anon_sym_as, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1617), 18, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [39951] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1471), 1, - anon_sym_PIPE, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1477), 1, - anon_sym_STAR_STAR, - ACTIONS(1485), 1, - anon_sym_AMP, - ACTIONS(1487), 1, - anon_sym_CARET, - ACTIONS(1465), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1467), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1473), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1481), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1619), 3, + ACTIONS(1599), 3, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - ACTIONS(1617), 18, + ACTIONS(1597), 23, anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_GT_GT, anon_sym_if, anon_sym_COLON, anon_sym_else, anon_sym_in, + anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, anon_sym_not, anon_sym_and, anon_sym_or, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, @@ -56729,30 +56732,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [40022] = 12, + [40008] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1547), 1, + ACTIONS(1555), 1, anon_sym_STAR_STAR, - ACTIONS(1537), 2, + ACTIONS(1563), 1, + anon_sym_CARET, + ACTIONS(1545), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1539), 2, + ACTIONS(1547), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1545), 2, + ACTIONS(1553), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1549), 3, + ACTIONS(1557), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -56760,7 +56765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_as, anon_sym_LT, anon_sym_GT, - ACTIONS(1597), 21, + ACTIONS(1597), 20, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_if, @@ -56775,6 +56780,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_and, anon_sym_or, anon_sym_AMP, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [40075] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1529), 1, + anon_sym_STAR_STAR, + ACTIONS(1517), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1519), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1525), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1533), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1599), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1597), 21, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, anon_sym_CARET, anon_sym_LT_EQ, anon_sym_EQ_EQ, @@ -56782,34 +56838,89 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [40087] = 14, + sym_type_conversion, + [40140] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1547), 1, + ACTIONS(1529), 1, anon_sym_STAR_STAR, - ACTIONS(1553), 1, - anon_sym_AMP, - ACTIONS(1555), 1, + ACTIONS(1539), 1, anon_sym_CARET, - ACTIONS(1537), 2, + ACTIONS(1517), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1539), 2, + ACTIONS(1519), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1545), 2, + ACTIONS(1525), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1549), 3, + ACTIONS(1533), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1599), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1597), 20, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [40207] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1555), 1, + anon_sym_STAR_STAR, + ACTIONS(1561), 1, + anon_sym_AMP, + ACTIONS(1563), 1, + anon_sym_CARET, + ACTIONS(1545), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1547), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1553), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1557), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -56837,24 +56948,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [40156] = 10, + [40276] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1547), 1, + ACTIONS(1555), 1, anon_sym_STAR_STAR, - ACTIONS(1537), 2, + ACTIONS(1545), 2, anon_sym_STAR, anon_sym_SLASH, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1549), 3, + ACTIONS(1557), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -56888,74 +56999,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [40217] = 15, + [40337] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1459), 1, + ACTIONS(1511), 1, anon_sym_DOT, - ACTIONS(1461), 1, + ACTIONS(1513), 1, anon_sym_LPAREN, - ACTIONS(1475), 1, + ACTIONS(1527), 1, anon_sym_LBRACK, - ACTIONS(1543), 1, - anon_sym_PIPE, - ACTIONS(1547), 1, - anon_sym_STAR_STAR, - ACTIONS(1553), 1, - anon_sym_AMP, ACTIONS(1555), 1, - anon_sym_CARET, - ACTIONS(1537), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1539), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1545), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1549), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1615), 3, - anon_sym_as, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1613), 18, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [40288] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1547), 1, anon_sym_STAR_STAR, - STATE(643), 2, + STATE(642), 2, sym_argument_list, sym_generator_expression, ACTIONS(1599), 5, @@ -56993,7 +57048,413 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [40345] = 4, + [40394] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1529), 1, + anon_sym_STAR_STAR, + ACTIONS(1517), 2, + anon_sym_STAR, + anon_sym_SLASH, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1533), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1599), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1597), 25, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [40455] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1621), 1, + sym__template_string_start, + STATE(686), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, + ACTIONS(1389), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1387), 31, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [40505] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1090), 1, + anon_sym_COLON_EQ, + ACTIONS(1088), 6, + anon_sym_STAR, + anon_sym_COLON, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 31, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_else, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [40553] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1624), 1, + sym__string_start, + STATE(688), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1404), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1402), 31, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [40603] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(627), 1, + sym__template_string_start, + STATE(686), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, + ACTIONS(1396), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1394), 31, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [40653] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1153), 33, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym_type_conversion, + [40699] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + STATE(688), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1400), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1398), 31, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [40749] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1627), 1, + anon_sym_COLON_EQ, + ACTIONS(1088), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_COLON, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 31, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [40797] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(599), 1, + anon_sym_COLON_EQ, + ACTIONS(265), 6, + anon_sym_as, + anon_sym_STAR, + anon_sym_COLON, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 31, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [40845] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(585), 1, @@ -57037,61 +57498,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [40393] = 5, + [40893] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, - sym__string_start, - STATE(691), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - ACTIONS(1407), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1405), 31, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [40443] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1185), 5, + ACTIONS(1173), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1180), 33, + ACTIONS(1168), 33, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -57125,599 +57541,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym_type_conversion, - [40489] = 4, + [40939] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1143), 1, - anon_sym_COLON_EQ, - ACTIONS(1084), 6, - anon_sym_STAR, - anon_sym_COLON, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 31, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_else, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [40537] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(629), 1, - sym__template_string_start, - STATE(693), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1403), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1401), 31, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [40587] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(599), 1, - anon_sym_COLON_EQ, - ACTIONS(265), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_COLON, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(298), 31, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [40635] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1621), 1, - sym__string_start, - STATE(691), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - ACTIONS(1396), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1394), 31, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [40685] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1174), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1169), 33, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym_type_conversion, - [40731] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1624), 1, - sym__template_string_start, - STATE(693), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1389), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1387), 31, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [40781] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1627), 1, - anon_sym_COLON_EQ, - ACTIONS(1084), 6, - anon_sym_as, - anon_sym_STAR, - anon_sym_COLON, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 31, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [40829] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(83), 1, - sym__template_string_start, - STATE(701), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1403), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1401), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [40878] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(81), 1, - sym__string_start, - STATE(702), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - ACTIONS(1407), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1405), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [40927] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1479), 1, - anon_sym_EQ, ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1639), 1, - anon_sym_PIPE, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - ACTIONS(1649), 1, - anon_sym_not, - ACTIONS(1651), 1, - anon_sym_AMP, - ACTIONS(1653), 1, - anon_sym_CARET, - ACTIONS(1657), 1, - anon_sym_is, - STATE(857), 1, - aux_sym_comparison_operator_repeat1, - ACTIONS(1633), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1635), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1641), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(1655), 2, - anon_sym_LT, - anon_sym_GT, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1647), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1637), 6, - anon_sym_in, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - ACTIONS(1463), 7, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_and, - anon_sym_or, - sym__semicolon, - [41006] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(81), 1, - sym__string_start, + sym__template_string_start, STATE(696), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - ACTIONS(1084), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [41055] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(83), 1, - sym__template_string_start, - STATE(695), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1084), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [41104] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1185), 5, - anon_sym_as, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1180), 32, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [41149] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1659), 1, - sym__template_string_start, - STATE(701), 2, sym_template_string, aux_sym_concatenated_template_string_repeat1, ACTIONS(1389), 5, @@ -57756,14 +57585,188 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [41198] = 5, + [40988] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1662), 1, + ACTIONS(1158), 5, + anon_sym_as, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1153), 32, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [41033] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(81), 1, sym__string_start, - STATE(702), 2, + STATE(699), 2, sym_string, aux_sym_concatenated_string_repeat1, + ACTIONS(1088), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41082] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(81), 1, + sym__string_start, + STATE(704), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1400), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1398), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41131] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym__template_string_start, + STATE(701), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, + ACTIONS(1088), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41180] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(83), 1, + sym__template_string_start, + STATE(696), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, ACTIONS(1396), 5, anon_sym_STAR, anon_sym_EQ, @@ -57800,16 +57803,75 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [41247] = 3, + [41229] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(1174), 5, + ACTIONS(1531), 1, + anon_sym_EQ, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1642), 1, + anon_sym_PIPE, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + ACTIONS(1652), 1, + anon_sym_not, + ACTIONS(1654), 1, + anon_sym_AMP, + ACTIONS(1656), 1, + anon_sym_CARET, + ACTIONS(1660), 1, + anon_sym_is, + STATE(850), 1, + aux_sym_comparison_operator_repeat1, + ACTIONS(1636), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1638), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1644), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1658), 2, + anon_sym_LT, + anon_sym_GT, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1650), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1640), 6, + anon_sym_in, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + ACTIONS(1515), 7, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_and, + anon_sym_or, + sym__semicolon, + [41308] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1173), 5, anon_sym_as, anon_sym_STAR, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1169), 32, + ACTIONS(1168), 32, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -57842,72 +57904,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [41292] = 5, + [41353] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(629), 1, - sym__template_string_start, - STATE(689), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1084), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [41340] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1599), 5, + ACTIONS(1662), 1, + sym__string_start, + STATE(704), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1404), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1597), 25, + ACTIONS(1402), 29, sym__newline, + anon_sym_DOT, anon_sym_from, + anon_sym_LPAREN, anon_sym_COMMA, anon_sym_GT_GT, anon_sym_if, @@ -57915,6 +57930,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_DASH, anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, anon_sym_AT, anon_sym_not, anon_sym_and, @@ -57931,120 +57948,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [41394] = 5, + [41402] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, - sym__string_start, - STATE(686), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - ACTIONS(1084), 4, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + ACTIONS(1656), 1, + anon_sym_CARET, + ACTIONS(1636), 2, anon_sym_STAR, anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [41442] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1419), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1417), 32, - sym__template_string_start, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [41486] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - ACTIONS(1653), 1, - anon_sym_CARET, - ACTIONS(1633), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1635), 2, + ACTIONS(1638), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1641), 2, + ACTIONS(1644), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(787), 2, + STATE(788), 2, sym_argument_list, sym_generator_expression, ACTIONS(1599), 3, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - ACTIONS(1647), 3, + ACTIONS(1650), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -58066,28 +57999,81 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [41550] = 10, + [41466] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(1629), 1, + ACTIONS(1632), 1, anon_sym_DOT, - ACTIONS(1631), 1, + ACTIONS(1634), 1, anon_sym_LPAREN, - ACTIONS(1643), 1, + ACTIONS(1642), 1, + anon_sym_PIPE, + ACTIONS(1646), 1, anon_sym_LBRACK, - ACTIONS(1645), 1, + ACTIONS(1648), 1, anon_sym_STAR_STAR, - ACTIONS(1633), 2, + ACTIONS(1654), 1, + anon_sym_AMP, + ACTIONS(1656), 1, + anon_sym_CARET, + ACTIONS(1636), 2, anon_sym_STAR, anon_sym_SLASH, - STATE(787), 2, + ACTIONS(1638), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1644), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1607), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1650), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1605), 15, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_in, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41534] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + ACTIONS(1636), 2, + anon_sym_STAR, + anon_sym_SLASH, + STATE(788), 2, sym_argument_list, sym_generator_expression, ACTIONS(1599), 3, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - ACTIONS(1647), 3, + ACTIONS(1650), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, @@ -58114,222 +58100,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [41608] = 12, + [41592] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1629), 1, + ACTIONS(1632), 1, anon_sym_DOT, - ACTIONS(1631), 1, + ACTIONS(1634), 1, anon_sym_LPAREN, - ACTIONS(1643), 1, + ACTIONS(1646), 1, anon_sym_LBRACK, - ACTIONS(1645), 1, + ACTIONS(1648), 1, anon_sym_STAR_STAR, - ACTIONS(1633), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1635), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1641), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1599), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1647), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1597), 18, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [41670] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - ACTIONS(1651), 1, - anon_sym_AMP, - ACTIONS(1653), 1, - anon_sym_CARET, - ACTIONS(1633), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1635), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1641), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1599), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1647), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1597), 16, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [41736] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1639), 1, - anon_sym_PIPE, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - ACTIONS(1651), 1, - anon_sym_AMP, - ACTIONS(1653), 1, - anon_sym_CARET, - ACTIONS(1633), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1635), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1641), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1615), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1647), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1613), 15, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_in, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [41804] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - ACTIONS(1633), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1641), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1599), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1647), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1597), 20, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [41864] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - STATE(787), 2, + STATE(788), 2, sym_argument_list, sym_generator_expression, ACTIONS(1599), 5, @@ -58364,147 +58146,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [41918] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1607), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1605), 25, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [41972] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1437), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1435), 32, - sym__template_string_start, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [42016] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1639), 1, - anon_sym_PIPE, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - ACTIONS(1651), 1, - anon_sym_AMP, - ACTIONS(1653), 1, - anon_sym_CARET, - ACTIONS(1633), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1635), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1641), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1619), 3, - anon_sym_EQ, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1647), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1617), 15, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_in, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [42084] = 3, + [41646] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1427), 4, @@ -58545,7 +58187,254 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [42128] = 3, + [41690] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + ACTIONS(1636), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1638), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1644), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1599), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1650), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1597), 18, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41752] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1615), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1613), 25, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41806] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1619), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1617), 25, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41860] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1642), 1, + anon_sym_PIPE, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + ACTIONS(1654), 1, + anon_sym_AMP, + ACTIONS(1656), 1, + anon_sym_CARET, + ACTIONS(1636), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1638), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1644), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1611), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1650), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1609), 15, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_in, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41928] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + ACTIONS(1654), 1, + anon_sym_AMP, + ACTIONS(1656), 1, + anon_sym_CARET, + ACTIONS(1636), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1638), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1644), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1599), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1650), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1597), 16, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [41994] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1423), 4, @@ -58554,6 +58443,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, anon_sym_GT, ACTIONS(1421), 32, + sym__template_string_start, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [42038] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1419), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1417), 32, sym__string_start, anon_sym_DOT, anon_sym_LPAREN, @@ -58586,44 +58516,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [42172] = 15, + [42082] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(1629), 1, + ACTIONS(1632), 1, anon_sym_DOT, - ACTIONS(1631), 1, + ACTIONS(1634), 1, anon_sym_LPAREN, - ACTIONS(1639), 1, + ACTIONS(1642), 1, anon_sym_PIPE, - ACTIONS(1643), 1, + ACTIONS(1646), 1, anon_sym_LBRACK, - ACTIONS(1645), 1, + ACTIONS(1648), 1, anon_sym_STAR_STAR, - ACTIONS(1651), 1, + ACTIONS(1654), 1, anon_sym_AMP, - ACTIONS(1653), 1, + ACTIONS(1656), 1, anon_sym_CARET, - ACTIONS(1633), 2, + ACTIONS(1636), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1635), 2, + ACTIONS(1638), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(1641), 2, + ACTIONS(1644), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(787), 2, + STATE(788), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1611), 3, + ACTIONS(1603), 3, anon_sym_EQ, anon_sym_LT, anon_sym_GT, - ACTIONS(1647), 3, + ACTIONS(1650), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, - ACTIONS(1609), 15, + ACTIONS(1601), 15, sym__newline, anon_sym_from, anon_sym_COMMA, @@ -58639,53 +58569,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [42240] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1629), 1, - anon_sym_DOT, - ACTIONS(1631), 1, - anon_sym_LPAREN, - ACTIONS(1643), 1, - anon_sym_LBRACK, - ACTIONS(1645), 1, - anon_sym_STAR_STAR, - STATE(787), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1603), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1601), 25, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [42294] = 19, + [42150] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(1665), 1, @@ -58706,7 +58590,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_CARET, ACTIONS(1693), 1, anon_sym_is, - STATE(860), 1, + STATE(863), 1, aux_sym_comparison_operator_repeat1, ACTIONS(1669), 2, anon_sym_STAR, @@ -58720,7 +58604,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(1691), 2, anon_sym_LT, anon_sym_GT, - STATE(812), 2, + STATE(813), 2, sym_argument_list, sym_generator_expression, ACTIONS(1683), 3, @@ -58734,7 +58618,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_GT_EQ, anon_sym_LT_GT, - ACTIONS(1463), 7, + ACTIONS(1515), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -58742,264 +58626,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_and, anon_sym_or, - [42370] = 8, + [42226] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1607), 4, + ACTIONS(1437), 4, anon_sym_STAR, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1605), 25, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [42423] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1675), 1, - anon_sym_PIPE, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - ACTIONS(1687), 1, - anon_sym_AMP, - ACTIONS(1689), 1, - anon_sym_CARET, - ACTIONS(1611), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1669), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1671), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1677), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1683), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1609), 15, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [42490] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, + ACTIONS(1435), 32, sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, - anon_sym_STAR, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - STATE(1195), 2, - sym__match_patterns, - sym_open_sequence_match_pattern, - STATE(1196), 2, - sym__match_pattern, - sym_match_as_pattern, - STATE(1352), 2, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [42571] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1427), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1425), 30, - sym__newline, - sym__string_start, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [42614] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1627), 1, - anon_sym_COLON_EQ, - ACTIONS(1081), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(1084), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 27, anon_sym_DOT, anon_sym_LPAREN, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [42661] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1599), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1597), 25, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -59010,6 +58648,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_DASH, anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_STAR_STAR, anon_sym_AT, anon_sym_not, anon_sym_and, @@ -59025,84 +58667,88 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [42714] = 11, + [42270] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - ACTIONS(1599), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1669), 2, + ACTIONS(625), 1, + sym__string_start, + STATE(691), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1088), 4, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1677), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, anon_sym_DASH, anon_sym_PLUS, - STATE(812), 2, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [42318] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + ACTIONS(1636), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1644), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(788), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1683), 3, + ACTIONS(1599), 3, + anon_sym_EQ, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1650), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, ACTIONS(1597), 20, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [42773] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1423), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1421), 30, sym__newline, - sym__string_start, - anon_sym_DOT, anon_sym_from, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_GT_GT, anon_sym_if, anon_sym_in, anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, anon_sym_not, anon_sym_and, anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, anon_sym_AMP, anon_sym_CARET, anon_sym_LT_LT, @@ -59113,138 +58759,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [42816] = 22, + [42378] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, - anon_sym_STAR, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1715), 1, - anon_sym_if, - ACTIONS(1717), 1, - anon_sym_COLON, - STATE(897), 1, + STATE(689), 2, sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(1081), 4, - sym__match_pattern, - sym_match_as_pattern, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [42897] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1675), 1, - anon_sym_PIPE, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - ACTIONS(1687), 1, - anon_sym_AMP, - ACTIONS(1689), 1, - anon_sym_CARET, - ACTIONS(1615), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1669), 2, + aux_sym_concatenated_template_string_repeat1, + ACTIONS(1088), 4, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(1671), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1677), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1683), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1613), 15, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 29, + anon_sym_DOT, + anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [42964] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1627), 1, - anon_sym_COLON_EQ, - ACTIONS(1719), 1, - anon_sym_EQ, - ACTIONS(1084), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_GT_GT, anon_sym_if, - anon_sym_async, - anon_sym_for, + anon_sym_COLON, anon_sym_in, anon_sym_PIPE, anon_sym_DASH, @@ -59266,21 +58802,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [43011] = 3, + [42426] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1419), 5, + ACTIONS(1632), 1, + anon_sym_DOT, + ACTIONS(1634), 1, + anon_sym_LPAREN, + ACTIONS(1646), 1, + anon_sym_LBRACK, + ACTIONS(1648), 1, + anon_sym_STAR_STAR, + STATE(788), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1599), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1417), 30, + ACTIONS(1597), 25, sym__newline, - sym__template_string_start, - anon_sym_DOT, anon_sym_from, - anon_sym_LPAREN, anon_sym_COMMA, anon_sym_GT_GT, anon_sym_if, @@ -59288,8 +58832,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_DASH, anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, anon_sym_AT, anon_sym_not, anon_sym_and, @@ -59306,7 +58848,48 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [43054] = 3, + [42480] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1153), 3, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_LBRACK, + ACTIONS(1158), 13, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + ACTIONS(1160), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [42525] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1437), 5, @@ -59346,27 +58929,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [43097] = 5, + [42568] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(599), 1, - anon_sym_COLON_EQ, - ACTIONS(607), 1, - anon_sym_EQ, - ACTIONS(265), 4, + ACTIONS(1423), 5, anon_sym_STAR, + anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(298), 29, + ACTIONS(1421), 30, + sym__newline, + sym__template_string_start, anon_sym_DOT, + anon_sym_from, anon_sym_LPAREN, - anon_sym_RPAREN, anon_sym_COMMA, anon_sym_GT_GT, anon_sym_if, - anon_sym_async, - anon_sym_for, anon_sym_in, anon_sym_PIPE, anon_sym_DASH, @@ -59388,7 +58968,108 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [43144] = 5, + sym__semicolon, + [42611] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(278), 1, + anon_sym_COLON_EQ, + ACTIONS(265), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [42656] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + STATE(1183), 2, + sym__match_patterns, + sym_open_sequence_match_pattern, + STATE(1184), 2, + sym__match_pattern, + sym_match_as_pattern, + STATE(1362), 2, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [42737] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(599), 1, @@ -59430,157 +59111,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [43191] = 14, + [42784] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - ACTIONS(1687), 1, - anon_sym_AMP, - ACTIONS(1689), 1, - anon_sym_CARET, - ACTIONS(1599), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1669), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1671), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1677), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1683), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1597), 16, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [43256] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - ACTIONS(1599), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1669), 2, - anon_sym_STAR, - anon_sym_SLASH, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1683), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1597), 22, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [43313] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(298), 3, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_LBRACK, - ACTIONS(265), 13, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - ACTIONS(593), 19, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [43358] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(278), 1, + ACTIONS(1145), 1, anon_sym_COLON_EQ, - ACTIONS(265), 5, + ACTIONS(1088), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(298), 29, + ACTIONS(1083), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -59610,415 +59152,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [43403] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1079), 3, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_LBRACK, - ACTIONS(1084), 13, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - ACTIONS(1090), 19, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [43448] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1086), 1, - anon_sym_COLON_EQ, - ACTIONS(1084), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [43493] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1599), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1597), 25, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [43546] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1079), 3, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_LBRACK, - ACTIONS(1084), 13, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - ACTIONS(1147), 19, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [43591] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, - anon_sym_STAR, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - STATE(1196), 2, - sym__match_pattern, - sym_match_as_pattern, - STATE(1205), 2, - sym__match_patterns, - sym_open_sequence_match_pattern, - STATE(1352), 2, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [43672] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - ACTIONS(1689), 1, - anon_sym_CARET, - ACTIONS(1599), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1669), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1671), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1677), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1683), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1597), 17, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [43735] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1665), 1, - anon_sym_DOT, - ACTIONS(1667), 1, - anon_sym_LPAREN, - ACTIONS(1679), 1, - anon_sym_LBRACK, - ACTIONS(1681), 1, - anon_sym_STAR_STAR, - ACTIONS(1599), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1669), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1671), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1677), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(812), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1683), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - ACTIONS(1597), 18, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [43796] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1180), 3, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_LBRACK, - ACTIONS(1185), 13, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - ACTIONS(1187), 19, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [43841] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1169), 3, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_LBRACK, - ACTIONS(1174), 13, - anon_sym_STAR, - anon_sym_GT_GT, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - ACTIONS(1176), 19, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [43886] = 4, + [42829] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(298), 3, @@ -60059,7 +59193,352 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - [43931] = 8, + [42874] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 3, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_LBRACK, + ACTIONS(265), 13, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + ACTIONS(593), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [42919] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + STATE(1184), 2, + sym__match_pattern, + sym_match_as_pattern, + STATE(1277), 2, + sym__match_patterns, + sym_open_sequence_match_pattern, + STATE(1362), 2, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [43000] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1675), 1, + anon_sym_PIPE, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + ACTIONS(1687), 1, + anon_sym_AMP, + ACTIONS(1689), 1, + anon_sym_CARET, + ACTIONS(1611), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1669), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1671), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1677), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1683), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1609), 15, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43067] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1083), 3, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_LBRACK, + ACTIONS(1088), 13, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + ACTIONS(1149), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [43112] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1675), 1, + anon_sym_PIPE, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + ACTIONS(1687), 1, + anon_sym_AMP, + ACTIONS(1689), 1, + anon_sym_CARET, + ACTIONS(1607), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1669), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1671), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1677), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1683), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1605), 15, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43179] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1715), 1, + anon_sym_if, + ACTIONS(1717), 1, + anon_sym_COLON, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(1089), 4, + sym__match_pattern, + sym_match_as_pattern, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [43260] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1168), 3, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_LBRACK, + ACTIONS(1173), 13, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + ACTIONS(1175), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [43305] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1665), 1, @@ -60070,15 +59549,155 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(1681), 1, anon_sym_STAR_STAR, - STATE(812), 2, + ACTIONS(1599), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1669), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1671), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1677), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(813), 2, sym_argument_list, sym_generator_expression, - ACTIONS(1603), 4, + ACTIONS(1683), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1597), 18, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43366] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1083), 3, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_LBRACK, + ACTIONS(1088), 13, + anon_sym_STAR, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + ACTIONS(1094), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [43411] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + ACTIONS(1689), 1, + anon_sym_CARET, + ACTIONS(1599), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1669), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1671), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1677), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1683), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1597), 17, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43474] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1599), 4, anon_sym_STAR, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1601), 25, + ACTIONS(1597), 25, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -60104,12 +59723,324 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [43984] = 22, + [43527] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, + ACTIONS(1419), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1417), 30, + sym__newline, sym__string_start, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [43570] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + ACTIONS(1599), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1669), 2, + anon_sym_STAR, + anon_sym_SLASH, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1683), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1597), 22, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43627] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + ACTIONS(1687), 1, + anon_sym_AMP, + ACTIONS(1689), 1, + anon_sym_CARET, + ACTIONS(1599), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1669), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1671), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1677), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1683), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1597), 16, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43692] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1619), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1617), 25, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43745] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(599), 1, + anon_sym_COLON_EQ, ACTIONS(629), 1, + anon_sym_EQ, + ACTIONS(265), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43792] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1615), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1613), 25, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43845] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1627), 1, + anon_sym_COLON_EQ, + ACTIONS(1719), 1, + anon_sym_EQ, + ACTIONS(1088), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [43892] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -60133,28 +60064,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, ACTIONS(1723), 1, anon_sym_COLON, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1019), 2, + STATE(1014), 2, sym__match_or_pattern, sym_match_or_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(1081), 4, + STATE(1089), 4, sym__match_pattern, sym_match_as_pattern, sym__match_maybe_star_pattern, sym_match_star_pattern, - STATE(981), 8, + STATE(980), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -60163,7 +60094,7 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [44065] = 15, + [43973] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(1665), 1, @@ -60180,7 +60111,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, ACTIONS(1689), 1, anon_sym_CARET, - ACTIONS(1619), 2, + ACTIONS(1603), 2, anon_sym_LT, anon_sym_GT, ACTIONS(1669), 2, @@ -60192,14 +60123,14 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(1677), 2, anon_sym_DASH, anon_sym_PLUS, - STATE(812), 2, + STATE(813), 2, sym_argument_list, sym_generator_expression, ACTIONS(1683), 3, anon_sym_AT, anon_sym_PERCENT, anon_sym_SLASH_SLASH, - ACTIONS(1617), 15, + ACTIONS(1601), 15, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -60215,16 +60146,231 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [44132] = 3, + [44040] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(1571), 5, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + ACTIONS(1599), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1669), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1677), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1683), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + ACTIONS(1597), 20, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [44099] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_DOT, + ACTIONS(1667), 1, + anon_sym_LPAREN, + ACTIONS(1679), 1, + anon_sym_LBRACK, + ACTIONS(1681), 1, + anon_sym_STAR_STAR, + STATE(813), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1599), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1597), 25, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [44152] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1627), 1, + anon_sym_COLON_EQ, + ACTIONS(1142), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(1088), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 27, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [44199] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1427), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1569), 29, + ACTIONS(1425), 30, + sym__newline, + sym__string_start, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [44242] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1170), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(1173), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1168), 27, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [44286] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1505), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1503), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -60254,16 +60400,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [44174] = 3, + [44328] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1449), 5, + ACTIONS(1465), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1447), 29, + ACTIONS(1463), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -60293,16 +60439,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [44216] = 3, + [44370] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1563), 5, + ACTIONS(265), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1561), 29, + ACTIONS(298), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -60332,16 +60478,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [44258] = 3, + [44412] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1174), 5, + ACTIONS(1088), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1169), 29, + ACTIONS(1083), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -60371,85 +60517,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [44300] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1515), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1513), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [44342] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1575), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1573), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [44384] = 3, + [44454] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1579), 5, @@ -60488,96 +60556,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [44426] = 3, + [44496] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1441), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1439), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [44468] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1587), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1585), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [44510] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1725), 1, + ACTIONS(613), 1, anon_sym_COLON_EQ, - ACTIONS(1084), 5, + ACTIONS(265), 5, anon_sym_STAR, anon_sym_COLON, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1079), 28, + ACTIONS(298), 28, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -60606,16 +60596,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [44554] = 3, + [44540] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1595), 5, + ACTIONS(1575), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1593), 29, + ACTIONS(1573), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -60645,16 +60635,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [44596] = 3, + [44582] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1507), 5, + ACTIONS(1571), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1505), 29, + ACTIONS(1569), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -60684,51 +60674,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [44638] = 3, + [44624] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(1519), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1517), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [44680] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -60748,30 +60699,31 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - ACTIONS(1727), 1, + ACTIONS(1725), 1, anon_sym_RPAREN, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1019), 2, + STATE(1014), 2, sym__match_or_pattern, sym_match_or_pattern, + STATE(1376), 2, + sym__match_pattern, + sym_match_as_pattern, + STATE(1382), 2, + sym__match_maybe_star_pattern, + sym_match_star_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(1081), 4, - sym__match_pattern, - sym_match_as_pattern, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - STATE(981), 8, + STATE(980), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -60780,52 +60732,12 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [44758] = 4, + [44704] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(1081), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(1084), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 27, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [44802] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -60845,30 +60757,30 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - ACTIONS(1727), 1, + ACTIONS(1725), 1, anon_sym_RBRACK, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1019), 2, + STATE(1014), 2, sym__match_or_pattern, sym_match_or_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(1081), 4, + STATE(1206), 4, sym__match_pattern, sym_match_as_pattern, sym__match_maybe_star_pattern, sym_match_star_pattern, - STATE(981), 8, + STATE(980), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -60877,320 +60789,7 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [44880] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(265), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(298), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [44922] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1535), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1533), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [44964] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1583), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1581), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45006] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1511), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1509), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45048] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1499), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1497), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45090] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1185), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1180), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45132] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1182), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(1185), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1180), 27, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [45176] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1495), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1493), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45218] = 3, + [44782] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1449), 5, @@ -61229,18 +60828,481 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [45260] = 4, + [44824] = 21, ACTIONS(3), 1, sym_comment, - ACTIONS(615), 1, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1727), 1, + anon_sym_RBRACK, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(1089), 4, + sym__match_pattern, + sym_match_as_pattern, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [44902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1469), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1467), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [44944] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1142), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(1088), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 27, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [44988] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1727), 1, + anon_sym_RPAREN, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(1089), 4, + sym__match_pattern, + sym_match_as_pattern, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [45066] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1465), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1463), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45108] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1729), 1, + anon_sym_RPAREN, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(1089), 4, + sym__match_pattern, + sym_match_as_pattern, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [45186] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1729), 1, + anon_sym_RBRACK, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(1089), 4, + sym__match_pattern, + sym_match_as_pattern, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [45264] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1497), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1495), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1497), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1495), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45348] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1477), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1475), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45390] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1731), 1, anon_sym_COLON_EQ, - ACTIONS(265), 5, + ACTIONS(1088), 5, anon_sym_STAR, anon_sym_COLON, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(298), 28, + ACTIONS(1083), 28, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -61269,16 +61331,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [45304] = 3, + [45434] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1567), 5, + ACTIONS(1158), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1565), 29, + ACTIONS(1153), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -61308,16 +61370,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [45346] = 3, + [45476] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1457), 5, + ACTIONS(1461), 5, anon_sym_STAR, anon_sym_EQ, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1455), 29, + ACTIONS(1459), 29, sym__newline, anon_sym_DOT, anon_sym_from, @@ -61347,65 +61409,632 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [45388] = 22, + [45518] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, + ACTIONS(1473), 5, anon_sym_STAR, - ACTIONS(1701), 1, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1471), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, + anon_sym_PLUS, anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1729), 1, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45560] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1485), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1483), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45602] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1479), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45644] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1173), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1168), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45686] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1453), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1451), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45728] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1509), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1507), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45770] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1583), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1581), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45812] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1489), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1487), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45854] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1587), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1585), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45896] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1501), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1499), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45938] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1441), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1439), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [45980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1595), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1593), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [46022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1449), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1447), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [46064] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1493), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1491), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [46106] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1453), 5, + anon_sym_STAR, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1451), 29, + sym__newline, + anon_sym_DOT, + anon_sym_from, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + sym__semicolon, + [46148] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1155), 3, anon_sym_RPAREN, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - STATE(1359), 2, - sym__match_pattern, - sym_match_as_pattern, - STATE(1360), 2, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [45468] = 3, + anon_sym_COMMA, + anon_sym_RBRACK, + ACTIONS(1158), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1153), 27, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46192] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1445), 5, @@ -61444,7 +62073,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [45510] = 3, + [46234] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1591), 5, @@ -61483,473 +62112,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [45552] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1453), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1451), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45594] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1523), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1521), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45636] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, - anon_sym_STAR, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1731), 1, - anon_sym_RPAREN, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(1081), 4, - sym__match_pattern, - sym_match_as_pattern, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [45714] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, - anon_sym_STAR, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1729), 1, - anon_sym_RBRACK, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(1180), 4, - sym__match_pattern, - sym_match_as_pattern, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [45792] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1515), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1513), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45834] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1171), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - ACTIONS(1174), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1169), 27, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [45878] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1531), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1529), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45920] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1453), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1451), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [45962] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1503), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1501), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [46004] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1084), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [46046] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1527), 5, - anon_sym_STAR, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1525), 29, - sym__newline, - anon_sym_DOT, - anon_sym_from, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - sym__semicolon, - [46088] = 3, + [46276] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1457), 5, @@ -61988,1244 +62151,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_GT, anon_sym_is, sym__semicolon, - [46130] = 21, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, - anon_sym_STAR, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1731), 1, - anon_sym_RBRACK, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(1081), 4, - sym__match_pattern, - sym_match_as_pattern, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [46208] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1587), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1585), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46249] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1733), 1, - sym_identifier, - ACTIONS(1735), 1, - anon_sym_RPAREN, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1293), 1, - sym_match_keyword_pattern, - STATE(1304), 1, - sym_match_positional_pattern, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - STATE(1316), 2, - sym__match_pattern, - sym_match_as_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [46328] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(585), 1, - anon_sym_COLON_EQ, - ACTIONS(607), 1, - anon_sym_EQ, - ACTIONS(265), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(298), 27, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46373] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1733), 1, - sym_identifier, - ACTIONS(1737), 1, - anon_sym_RPAREN, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1190), 1, - sym_match_keyword_pattern, - STATE(1337), 1, - sym_match_positional_pattern, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - STATE(1316), 2, - sym__match_pattern, - sym_match_as_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [46452] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1143), 1, - anon_sym_COLON_EQ, - ACTIONS(1719), 1, - anon_sym_EQ, - ACTIONS(1084), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 27, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46497] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1449), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1447), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46538] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1084), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1079), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46579] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1495), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1493), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46620] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(265), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(298), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46661] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1449), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1447), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46702] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1453), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1451), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46743] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1503), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1501), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46784] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1571), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1569), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46825] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1523), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1521), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46866] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1527), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1525), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46907] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1453), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1451), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46948] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1531), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1529), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [46989] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1591), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1589), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47030] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1733), 1, - sym_identifier, - ACTIONS(1739), 1, - anon_sym_RPAREN, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1251), 1, - sym_match_keyword_pattern, - STATE(1337), 1, - sym_match_positional_pattern, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - STATE(1316), 2, - sym__match_pattern, - sym_match_as_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [47109] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1445), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1443), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47150] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1457), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1455), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47191] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1583), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1581), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47232] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1535), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1533), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47273] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1575), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1573), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47314] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(869), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(867), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47355] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1457), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1455), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47396] = 20, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - ACTIONS(629), 1, - sym__template_string_start, - ACTIONS(1695), 1, - sym_identifier, - ACTIONS(1697), 1, - anon_sym_LPAREN, - ACTIONS(1699), 1, - anon_sym_STAR, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1703), 1, - sym_match_wildcard_pattern, - ACTIONS(1705), 1, - anon_sym_LBRACK, - ACTIONS(1707), 1, - anon_sym_LBRACE, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - STATE(897), 1, - sym_template_string, - STATE(898), 1, - sym_string, - STATE(1448), 1, - sym_pattern_class_name, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1019), 2, - sym__match_or_pattern, - sym_match_or_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - STATE(1081), 4, - sym__match_pattern, - sym_match_as_pattern, - sym__match_maybe_star_pattern, - sym_match_star_pattern, - STATE(981), 8, - sym__closed_pattern, - sym_match_literal_pattern, - sym_match_capture_pattern, - sym_match_value_pattern, - sym_match_group_pattern, - sym_match_sequence_pattern, - sym_match_mapping_pattern, - sym_match_class_pattern, - [47471] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1567), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1565), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47512] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(875), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(873), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47553] = 3, + [46318] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1595), 4, @@ -63263,15 +62189,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [47594] = 3, + [46359] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1563), 4, + ACTIONS(1575), 4, anon_sym_STAR, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1561), 29, + ACTIONS(1573), 29, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -63301,7 +62227,997 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [47635] = 3, + [46400] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(265), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46441] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(585), 1, + anon_sym_COLON_EQ, + ACTIONS(629), 1, + anon_sym_EQ, + ACTIONS(265), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(298), 27, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46486] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1733), 1, + sym_identifier, + ACTIONS(1735), 1, + anon_sym_RPAREN, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1192), 1, + sym_match_keyword_pattern, + STATE(1200), 1, + sym_match_positional_pattern, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + STATE(1373), 2, + sym__match_pattern, + sym_match_as_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [46565] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1449), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1447), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46606] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1501), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1499), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46647] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1695), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1699), 1, + anon_sym_STAR, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(1089), 4, + sym__match_pattern, + sym_match_as_pattern, + sym__match_maybe_star_pattern, + sym_match_star_pattern, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [46722] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1449), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1447), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46763] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1088), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46804] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1733), 1, + sym_identifier, + ACTIONS(1737), 1, + anon_sym_RPAREN, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1213), 1, + sym_match_keyword_pattern, + STATE(1332), 1, + sym_match_positional_pattern, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + STATE(1373), 2, + sym__match_pattern, + sym_match_as_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [46883] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1509), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1507), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46924] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1453), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1451), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [46965] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1489), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1487), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47006] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1481), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1479), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47047] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1485), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1483), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47088] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1453), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1451), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47129] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1591), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1589), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47170] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1493), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1491), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47211] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1497), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1495), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47252] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1445), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1443), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47293] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1497), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1495), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47334] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(863), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(861), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47375] = 22, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + ACTIONS(627), 1, + sym__template_string_start, + ACTIONS(1697), 1, + anon_sym_LPAREN, + ACTIONS(1701), 1, + anon_sym_DASH, + ACTIONS(1703), 1, + sym_match_wildcard_pattern, + ACTIONS(1705), 1, + anon_sym_LBRACK, + ACTIONS(1707), 1, + anon_sym_LBRACE, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1733), 1, + sym_identifier, + ACTIONS(1739), 1, + anon_sym_RPAREN, + STATE(891), 1, + sym_template_string, + STATE(892), 1, + sym_string, + STATE(1242), 1, + sym_match_keyword_pattern, + STATE(1332), 1, + sym_match_positional_pattern, + STATE(1419), 1, + sym_pattern_class_name, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1014), 2, + sym__match_or_pattern, + sym_match_or_pattern, + STATE(1373), 2, + sym__match_pattern, + sym_match_as_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + STATE(980), 8, + sym__closed_pattern, + sym_match_literal_pattern, + sym_match_capture_pattern, + sym_match_value_pattern, + sym_match_group_pattern, + sym_match_sequence_pattern, + sym_match_mapping_pattern, + sym_match_class_pattern, + [47454] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1571), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1569), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47495] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1090), 1, + anon_sym_COLON_EQ, + ACTIONS(1719), 1, + anon_sym_EQ, + ACTIONS(1088), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1083), 27, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47540] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1579), 4, @@ -63339,15 +63255,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [47676] = 3, + [47581] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1499), 4, + ACTIONS(1465), 4, anon_sym_STAR, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1497), 29, + ACTIONS(1463), 29, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -63377,159 +63293,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [47717] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1507), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1505), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47758] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1511), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1509), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47799] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1515), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1513), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47840] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1515), 4, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1513), 29, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_GT_GT, - anon_sym_if, - anon_sym_COLON, - anon_sym_in, - anon_sym_PIPE, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, - anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_not, - anon_sym_and, - anon_sym_or, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - anon_sym_is, - [47881] = 3, + [47622] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1441), 4, @@ -63567,15 +63331,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [47922] = 3, + [47663] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1519), 4, + ACTIONS(1587), 4, anon_sym_STAR, anon_sym_SLASH, anon_sym_LT, anon_sym_GT, - ACTIONS(1517), 29, + ACTIONS(1585), 29, anon_sym_DOT, anon_sym_LPAREN, anon_sym_RPAREN, @@ -63605,12 +63369,354 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_GT, anon_sym_is, - [47963] = 20, + [47704] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, + ACTIONS(1477), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1475), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47745] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1583), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1581), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1469), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1467), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1465), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1463), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47868] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1461), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1459), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47909] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1457), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1455), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47950] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(867), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(865), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [47991] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1473), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1471), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [48032] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1505), 4, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1503), 29, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_GT_GT, + anon_sym_if, + anon_sym_COLON, + anon_sym_in, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_not, + anon_sym_and, + anon_sym_or, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + anon_sym_is, + [48073] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -63628,28 +63734,28 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1337), 1, + STATE(1332), 1, sym_match_positional_pattern, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1019), 2, + STATE(1014), 2, sym__match_or_pattern, sym_match_or_pattern, - STATE(1316), 2, + STATE(1373), 2, sym__match_pattern, sym_match_as_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(981), 8, + STATE(980), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -63658,12 +63764,12 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [48036] = 19, + [48146] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -63681,26 +63787,26 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1019), 2, + STATE(1014), 2, sym__match_or_pattern, sym_match_or_pattern, - STATE(1372), 2, + STATE(1384), 2, sym__match_pattern, sym_match_as_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(981), 8, + STATE(980), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -63709,12 +63815,12 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [48106] = 19, + [48216] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -63732,26 +63838,26 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1019), 2, + STATE(1014), 2, sym__match_or_pattern, sym_match_or_pattern, - STATE(1335), 2, + STATE(1326), 2, sym__match_pattern, sym_match_as_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(981), 8, + STATE(980), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -63760,12 +63866,12 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [48176] = 17, + [48286] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -63783,20 +63889,20 @@ static const uint16_t ts_small_parse_table[] = { sym_float, ACTIONS(1741), 1, sym_match_wildcard_pattern, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(973), 8, + STATE(956), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -63805,12 +63911,12 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [48238] = 17, + [48348] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(627), 1, + ACTIONS(625), 1, sym__string_start, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__template_string_start, ACTIONS(1695), 1, sym_identifier, @@ -63828,20 +63934,20 @@ static const uint16_t ts_small_parse_table[] = { sym_float, ACTIONS(1743), 1, sym_match_wildcard_pattern, - STATE(897), 1, + STATE(891), 1, sym_template_string, - STATE(898), 1, + STATE(892), 1, sym_string, - STATE(1448), 1, + STATE(1419), 1, sym_pattern_class_name, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - STATE(938), 8, + STATE(939), 8, sym__closed_pattern, sym_match_literal_pattern, sym_match_capture_pattern, @@ -63850,7 +63956,7 @@ static const uint16_t ts_small_parse_table[] = { sym_match_sequence_pattern, sym_match_mapping_pattern, sym_match_class_pattern, - [48300] = 8, + [48410] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1750), 1, @@ -63859,7 +63965,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(1758), 1, anon_sym_is, - STATE(843), 1, + STATE(844), 1, aux_sym_comparison_operator_repeat1, ACTIONS(1755), 2, anon_sym_LT, @@ -63882,21 +63988,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_and, anon_sym_or, sym_type_conversion, - [48340] = 8, + [48450] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1551), 1, - anon_sym_not, ACTIONS(1559), 1, + anon_sym_not, + ACTIONS(1567), 1, anon_sym_is, ACTIONS(1763), 1, anon_sym_as, - STATE(845), 1, + STATE(847), 1, aux_sym_comparison_operator_repeat1, - ACTIONS(1557), 2, + ACTIONS(1565), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(1541), 6, + ACTIONS(1549), 6, anon_sym_in, anon_sym_LT_EQ, anon_sym_EQ_EQ, @@ -63914,7 +64020,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_and, anon_sym_or, - [48380] = 8, + [48490] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1535), 1, + anon_sym_not, + ACTIONS(1543), 1, + anon_sym_is, + ACTIONS(1763), 1, + anon_sym_EQ, + STATE(844), 1, + aux_sym_comparison_operator_repeat1, + ACTIONS(1541), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1521), 6, + anon_sym_in, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + ACTIONS(1761), 10, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_and, + anon_sym_or, + sym_type_conversion, + [48530] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1750), 1, @@ -63923,7 +64061,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(1774), 1, anon_sym_is, - STATE(845), 1, + STATE(847), 1, aux_sym_comparison_operator_repeat1, ACTIONS(1771), 2, anon_sym_LT, @@ -63946,44 +64084,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_and, anon_sym_or, - [48420] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1483), 1, - anon_sym_not, - ACTIONS(1491), 1, - anon_sym_is, - ACTIONS(1763), 1, - anon_sym_EQ, - STATE(843), 1, - aux_sym_comparison_operator_repeat1, - ACTIONS(1489), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1469), 6, - anon_sym_in, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - ACTIONS(1761), 10, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_and, - anon_sym_or, - sym_type_conversion, - [48460] = 4, + [48570] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1779), 1, anon_sym_COMMA, - STATE(847), 1, + STATE(848), 1, aux_sym__patterns_repeat1, ACTIONS(1777), 18, anon_sym_RPAREN, @@ -64004,47 +64110,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - [48490] = 16, + [48600] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(1701), 1, - anon_sym_DASH, - ACTIONS(1709), 1, - sym_integer, - ACTIONS(1711), 1, - sym_float, - ACTIONS(1782), 1, - sym_identifier, - ACTIONS(1784), 1, - anon_sym_RBRACE, - ACTIONS(1786), 1, - anon_sym_STAR_STAR, - STATE(1110), 1, - sym_template_string, - STATE(1112), 1, - sym_string, - STATE(1361), 1, - sym_match_key_value_pattern, - STATE(1364), 1, - sym_match_double_star_pattern, - STATE(987), 2, - sym_concatenated_string, - sym_concatenated_template_string, - STATE(1461), 2, - sym_match_literal_pattern, - sym_match_value_pattern, - ACTIONS(1713), 3, - sym_true, - sym_false, - sym_none, - [48543] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1788), 19, + ACTIONS(1782), 19, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, @@ -64064,7 +64133,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - [48568] = 16, + [48625] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1652), 1, + anon_sym_not, + ACTIONS(1660), 1, + anon_sym_is, + ACTIONS(1763), 1, + anon_sym_EQ, + STATE(856), 1, + aux_sym_comparison_operator_repeat1, + ACTIONS(1658), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1640), 6, + anon_sym_in, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_GT_EQ, + anon_sym_LT_GT, + ACTIONS(1761), 7, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_and, + anon_sym_or, + sym__semicolon, + [48662] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(310), 1, @@ -64077,31 +64175,102 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - ACTIONS(1782), 1, + ACTIONS(1784), 1, sym_identifier, ACTIONS(1786), 1, - anon_sym_STAR_STAR, - ACTIONS(1790), 1, anon_sym_RBRACE, - STATE(1110), 1, + ACTIONS(1788), 1, + anon_sym_STAR_STAR, + STATE(1119), 1, sym_template_string, - STATE(1112), 1, + STATE(1120), 1, sym_string, - STATE(1187), 1, + STATE(1273), 1, sym_match_key_value_pattern, - STATE(1322), 1, + STATE(1337), 1, sym_match_double_star_pattern, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1461), 2, + STATE(1471), 2, sym_match_literal_pattern, sym_match_value_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - [48621] = 16, + [48715] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(265), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(825), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + ACTIONS(298), 14, + anon_sym_DOT, + anon_sym_LPAREN, + anon_sym_GT_GT, + anon_sym_PIPE, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_LBRACK, + anon_sym_STAR_STAR, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT_LT, + [48744] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1149), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [48769] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1790), 19, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_in, + anon_sym_RBRACK, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [48794] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(310), 1, @@ -64114,31 +64283,31 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - ACTIONS(1782), 1, + ACTIONS(1784), 1, sym_identifier, - ACTIONS(1786), 1, + ACTIONS(1788), 1, anon_sym_STAR_STAR, ACTIONS(1792), 1, anon_sym_RBRACE, - STATE(1110), 1, + STATE(1119), 1, sym_template_string, - STATE(1112), 1, + STATE(1120), 1, sym_string, - STATE(1328), 1, + STATE(1339), 1, sym_match_double_star_pattern, - STATE(1361), 1, + STATE(1344), 1, sym_match_key_value_pattern, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1461), 2, + STATE(1471), 2, sym_match_literal_pattern, sym_match_value_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - [48674] = 8, + [48847] = 8, ACTIONS(3), 1, sym_comment, ACTIONS(1750), 1, @@ -64147,7 +64316,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_not, ACTIONS(1803), 1, anon_sym_is, - STATE(852), 1, + STATE(856), 1, aux_sym_comparison_operator_repeat1, ACTIONS(1800), 2, anon_sym_LT, @@ -64167,7 +64336,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_and, anon_sym_or, sym__semicolon, - [48711] = 2, + [48884] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1806), 19, @@ -64190,117 +64359,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - [48736] = 2, + [48909] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(1808), 19, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [48761] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1090), 19, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_in, - anon_sym_RBRACK, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [48786] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(265), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(827), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - ACTIONS(298), 14, - anon_sym_DOT, - anon_sym_LPAREN, - anon_sym_GT_GT, - anon_sym_PIPE, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(1701), 1, anon_sym_DASH, - anon_sym_PLUS, - anon_sym_LBRACK, + ACTIONS(1709), 1, + sym_integer, + ACTIONS(1711), 1, + sym_float, + ACTIONS(1784), 1, + sym_identifier, + ACTIONS(1788), 1, anon_sym_STAR_STAR, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - anon_sym_AMP, - anon_sym_CARET, - anon_sym_LT_LT, - [48815] = 8, + ACTIONS(1808), 1, + anon_sym_RBRACE, + STATE(1119), 1, + sym_template_string, + STATE(1120), 1, + sym_string, + STATE(1313), 1, + sym_match_double_star_pattern, + STATE(1344), 1, + sym_match_key_value_pattern, + STATE(977), 2, + sym_concatenated_string, + sym_concatenated_template_string, + STATE(1471), 2, + sym_match_literal_pattern, + sym_match_value_pattern, + ACTIONS(1713), 3, + sym_true, + sym_false, + sym_none, + [48962] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1649), 1, - anon_sym_not, - ACTIONS(1657), 1, - anon_sym_is, - ACTIONS(1763), 1, - anon_sym_EQ, - STATE(852), 1, - aux_sym_comparison_operator_repeat1, - ACTIONS(1655), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(1637), 6, - anon_sym_in, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_GT_EQ, - anon_sym_LT_GT, - ACTIONS(1761), 7, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_and, - anon_sym_or, - sym__semicolon, - [48852] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1084), 2, + ACTIONS(1088), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(1810), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - ACTIONS(1079), 14, + ACTIONS(1083), 14, anon_sym_DOT, anon_sym_LPAREN, anon_sym_GT_GT, @@ -64315,14 +64421,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_CARET, anon_sym_LT_LT, - [48881] = 7, + [48991] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(1815), 1, anon_sym_not, ACTIONS(1821), 1, anon_sym_is, - STATE(859), 1, + STATE(860), 1, aux_sym_comparison_operator_repeat1, ACTIONS(1818), 2, anon_sym_LT, @@ -64342,14 +64448,71 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_and, anon_sym_or, - [48915] = 7, + [49025] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1824), 1, + anon_sym_COMMA, + STATE(848), 1, + aux_sym__patterns_repeat1, + ACTIONS(1826), 16, + anon_sym_COLON, + anon_sym_in, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_AT_EQ, + anon_sym_SLASH_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_STAR_STAR_EQ, + anon_sym_GT_GT_EQ, + anon_sym_LT_LT_EQ, + anon_sym_AMP_EQ, + anon_sym_CARET_EQ, + anon_sym_PIPE_EQ, + [49053] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1511), 1, + anon_sym_DOT, + ACTIONS(1513), 1, + anon_sym_LPAREN, + ACTIONS(1523), 1, + anon_sym_PIPE, + ACTIONS(1527), 1, + anon_sym_LBRACK, + ACTIONS(1529), 1, + anon_sym_STAR_STAR, + ACTIONS(1537), 1, + anon_sym_AMP, + ACTIONS(1539), 1, + anon_sym_CARET, + ACTIONS(1517), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1519), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(1525), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(642), 2, + sym_argument_list, + sym_generator_expression, + ACTIONS(1533), 3, + anon_sym_AT, + anon_sym_PERCENT, + anon_sym_SLASH_SLASH, + [49099] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(1685), 1, anon_sym_not, ACTIONS(1693), 1, anon_sym_is, - STATE(859), 1, + STATE(860), 1, aux_sym_comparison_operator_repeat1, ACTIONS(1691), 2, anon_sym_LT, @@ -64369,64 +64532,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_and, anon_sym_or, - [48949] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1459), 1, - anon_sym_DOT, - ACTIONS(1461), 1, - anon_sym_LPAREN, - ACTIONS(1471), 1, - anon_sym_PIPE, - ACTIONS(1475), 1, - anon_sym_LBRACK, - ACTIONS(1477), 1, - anon_sym_STAR_STAR, - ACTIONS(1485), 1, - anon_sym_AMP, - ACTIONS(1487), 1, - anon_sym_CARET, - ACTIONS(1465), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(1467), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(1473), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(643), 2, - sym_argument_list, - sym_generator_expression, - ACTIONS(1481), 3, - anon_sym_AT, - anon_sym_PERCENT, - anon_sym_SLASH_SLASH, - [48995] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1824), 1, - anon_sym_COMMA, - STATE(847), 1, - aux_sym__patterns_repeat1, - ACTIONS(1826), 16, - anon_sym_COLON, - anon_sym_in, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_AT_EQ, - anon_sym_SLASH_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_STAR_STAR_EQ, - anon_sym_GT_GT_EQ, - anon_sym_LT_LT_EQ, - anon_sym_AMP_EQ, - anon_sym_CARET_EQ, - anon_sym_PIPE_EQ, - [49023] = 12, + [49133] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1828), 1, @@ -64441,34 +64547,96 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR_STAR, ACTIONS(1838), 1, anon_sym_SLASH, - STATE(1296), 1, + STATE(1276), 1, sym_parameter, - STATE(1433), 1, + STATE(1448), 1, sym_lambda_parameters, - STATE(1476), 1, + STATE(1474), 1, sym__parameters, - STATE(1325), 2, + STATE(1331), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49066] = 6, + [49176] = 12, ACTIONS(3), 1, sym_comment, + ACTIONS(1828), 1, + sym_identifier, + ACTIONS(1830), 1, + anon_sym_LPAREN, + ACTIONS(1832), 1, + anon_sym_STAR, + ACTIONS(1836), 1, + anon_sym_STAR_STAR, + ACTIONS(1838), 1, + anon_sym_SLASH, ACTIONS(1840), 1, - anon_sym_COMMA, + anon_sym_COLON, + STATE(1276), 1, + sym_parameter, + STATE(1435), 1, + sym_lambda_parameters, + STATE(1474), 1, + sym__parameters, + STATE(1331), 2, + sym_list_splat_pattern, + sym_dictionary_splat_pattern, + STATE(1278), 6, + sym_tuple_pattern, + sym_default_parameter, + sym_typed_default_parameter, + sym_typed_parameter, + sym_positional_separator, + sym_keyword_separator, + [49219] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1828), 1, + sym_identifier, + ACTIONS(1830), 1, + anon_sym_LPAREN, + ACTIONS(1832), 1, + anon_sym_STAR, + ACTIONS(1836), 1, + anon_sym_STAR_STAR, + ACTIONS(1838), 1, + anon_sym_SLASH, ACTIONS(1842), 1, anon_sym_COLON, + STATE(1276), 1, + sym_parameter, + STATE(1423), 1, + sym_lambda_parameters, + STATE(1474), 1, + sym__parameters, + STATE(1331), 2, + sym_list_splat_pattern, + sym_dictionary_splat_pattern, + STATE(1278), 6, + sym_tuple_pattern, + sym_default_parameter, + sym_typed_default_parameter, + sym_typed_parameter, + sym_positional_separator, + sym_keyword_separator, + [49262] = 6, + ACTIONS(3), 1, + sym_comment, ACTIONS(1844), 1, + anon_sym_COMMA, + ACTIONS(1846), 1, + anon_sym_COLON, + ACTIONS(1848), 1, anon_sym_EQ, - STATE(862), 1, + STATE(861), 1, aux_sym__patterns_repeat1, - ACTIONS(1846), 13, + ACTIONS(1850), 13, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -64482,69 +64650,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - [49097] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1828), 1, - sym_identifier, - ACTIONS(1830), 1, - anon_sym_LPAREN, - ACTIONS(1832), 1, - anon_sym_STAR, - ACTIONS(1836), 1, - anon_sym_STAR_STAR, - ACTIONS(1838), 1, - anon_sym_SLASH, - ACTIONS(1848), 1, - anon_sym_COLON, - STATE(1296), 1, - sym_parameter, - STATE(1475), 1, - sym_lambda_parameters, - STATE(1476), 1, - sym__parameters, - STATE(1325), 2, - sym_list_splat_pattern, - sym_dictionary_splat_pattern, - STATE(1299), 6, - sym_tuple_pattern, - sym_default_parameter, - sym_typed_default_parameter, - sym_typed_parameter, - sym_positional_separator, - sym_keyword_separator, - [49140] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1828), 1, - sym_identifier, - ACTIONS(1830), 1, - anon_sym_LPAREN, - ACTIONS(1832), 1, - anon_sym_STAR, - ACTIONS(1836), 1, - anon_sym_STAR_STAR, - ACTIONS(1838), 1, - anon_sym_SLASH, - ACTIONS(1850), 1, - anon_sym_COLON, - STATE(1296), 1, - sym_parameter, - STATE(1402), 1, - sym_lambda_parameters, - STATE(1476), 1, - sym__parameters, - STATE(1325), 2, - sym_list_splat_pattern, - sym_dictionary_splat_pattern, - STATE(1299), 6, - sym_tuple_pattern, - sym_default_parameter, - sym_typed_default_parameter, - sym_typed_parameter, - sym_positional_separator, - sym_keyword_separator, - [49183] = 12, + [49293] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1828), 1, @@ -64559,23 +64665,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, ACTIONS(1852), 1, anon_sym_COLON, - STATE(1296), 1, + STATE(1276), 1, sym_parameter, - STATE(1417), 1, + STATE(1397), 1, sym_lambda_parameters, - STATE(1476), 1, + STATE(1474), 1, sym__parameters, - STATE(1325), 2, + STATE(1331), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49226] = 12, + [49336] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(1828), 1, @@ -64590,23 +64696,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, ACTIONS(1854), 1, anon_sym_COLON, - STATE(1296), 1, + STATE(1276), 1, sym_parameter, - STATE(1383), 1, + STATE(1472), 1, sym_lambda_parameters, - STATE(1476), 1, + STATE(1474), 1, sym__parameters, - STATE(1325), 2, + STATE(1331), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49269] = 13, + [49379] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(310), 1, @@ -64619,25 +64725,25 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(1711), 1, sym_float, - ACTIONS(1782), 1, + ACTIONS(1784), 1, sym_identifier, - STATE(1110), 1, + STATE(1119), 1, sym_template_string, - STATE(1112), 1, + STATE(1120), 1, sym_string, - STATE(1361), 1, + STATE(1344), 1, sym_match_key_value_pattern, - STATE(987), 2, + STATE(977), 2, sym_concatenated_string, sym_concatenated_template_string, - STATE(1461), 2, + STATE(1471), 2, sym_match_literal_pattern, sym_match_value_pattern, ACTIONS(1713), 3, sym_true, sym_false, sym_none, - [49313] = 11, + [49423] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1830), 1, @@ -64652,21 +64758,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(1858), 1, anon_sym_RPAREN, - STATE(1228), 1, + STATE(1229), 1, sym_parameter, - STATE(1469), 1, + STATE(1473), 1, sym__parameters, - STATE(1267), 2, + STATE(1222), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49353] = 10, + [49463] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1830), 1, @@ -64681,46 +64787,19 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(1860), 1, anon_sym_RPAREN, - STATE(1282), 1, + STATE(1288), 1, sym_parameter, - STATE(1267), 2, + STATE(1222), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49390] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1828), 1, - sym_identifier, - ACTIONS(1830), 1, - anon_sym_LPAREN, - ACTIONS(1832), 1, - anon_sym_STAR, - ACTIONS(1836), 1, - anon_sym_STAR_STAR, - ACTIONS(1838), 1, - anon_sym_SLASH, - ACTIONS(1862), 1, - anon_sym_COLON, - STATE(1282), 1, - sym_parameter, - STATE(1325), 2, - sym_list_splat_pattern, - sym_dictionary_splat_pattern, - STATE(1299), 6, - sym_tuple_pattern, - sym_default_parameter, - sym_typed_default_parameter, - sym_typed_parameter, - sym_positional_separator, - sym_keyword_separator, - [49427] = 10, + [49500] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1830), 1, @@ -64735,26 +64814,26 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(1862), 1, anon_sym_RPAREN, - STATE(1282), 1, + STATE(1288), 1, sym_parameter, - STATE(1267), 2, + STATE(1222), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49464] = 4, + [49537] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1842), 1, + ACTIONS(1846), 1, anon_sym_COLON, - ACTIONS(1844), 1, + ACTIONS(1848), 1, anon_sym_EQ, - ACTIONS(1846), 13, + ACTIONS(1850), 13, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -64768,7 +64847,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_CARET_EQ, anon_sym_PIPE_EQ, - [49489] = 10, + [49562] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1828), 1, + sym_identifier, + ACTIONS(1830), 1, + anon_sym_LPAREN, + ACTIONS(1832), 1, + anon_sym_STAR, + ACTIONS(1836), 1, + anon_sym_STAR_STAR, + ACTIONS(1838), 1, + anon_sym_SLASH, + ACTIONS(1862), 1, + anon_sym_COLON, + STATE(1288), 1, + sym_parameter, + STATE(1331), 2, + sym_list_splat_pattern, + sym_dictionary_splat_pattern, + STATE(1278), 6, + sym_tuple_pattern, + sym_default_parameter, + sym_typed_default_parameter, + sym_typed_parameter, + sym_positional_separator, + sym_keyword_separator, + [49599] = 10, ACTIONS(3), 1, sym_comment, ACTIONS(1828), 1, @@ -64783,38 +64889,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, ACTIONS(1860), 1, anon_sym_COLON, - STATE(1282), 1, + STATE(1288), 1, sym_parameter, - STATE(1325), 2, + STATE(1331), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49526] = 3, + [49636] = 9, ACTIONS(3), 1, sym_comment, - ACTIONS(1479), 1, - anon_sym_as, - ACTIONS(1463), 13, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - anon_sym_and, - anon_sym_or, - sym_type_conversion, - [49548] = 9, + ACTIONS(1828), 1, + sym_identifier, + ACTIONS(1830), 1, + anon_sym_LPAREN, + ACTIONS(1832), 1, + anon_sym_STAR, + ACTIONS(1836), 1, + anon_sym_STAR_STAR, + ACTIONS(1838), 1, + anon_sym_SLASH, + STATE(1288), 1, + sym_parameter, + STATE(1331), 2, + sym_list_splat_pattern, + sym_dictionary_splat_pattern, + STATE(1278), 6, + sym_tuple_pattern, + sym_default_parameter, + sym_typed_default_parameter, + sym_typed_parameter, + sym_positional_separator, + sym_keyword_separator, + [49670] = 9, ACTIONS(3), 1, sym_comment, ACTIONS(1830), 1, @@ -64827,19 +64939,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SLASH, ACTIONS(1856), 1, sym_identifier, - STATE(1282), 1, + STATE(1288), 1, sym_parameter, - STATE(1267), 2, + STATE(1222), 2, sym_list_splat_pattern, sym_dictionary_splat_pattern, - STATE(1299), 6, + STATE(1278), 6, sym_tuple_pattern, sym_default_parameter, sym_typed_default_parameter, sym_typed_parameter, sym_positional_separator, sym_keyword_separator, - [49582] = 3, + [49704] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(1866), 1, @@ -64858,37 +64970,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_and, anon_sym_or, sym_type_conversion, - [49604] = 9, + [49726] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1828), 1, - sym_identifier, - ACTIONS(1830), 1, - anon_sym_LPAREN, - ACTIONS(1832), 1, - anon_sym_STAR, - ACTIONS(1836), 1, - anon_sym_STAR_STAR, - ACTIONS(1838), 1, - anon_sym_SLASH, - STATE(1282), 1, - sym_parameter, - STATE(1325), 2, - sym_list_splat_pattern, - sym_dictionary_splat_pattern, - STATE(1299), 6, - sym_tuple_pattern, - sym_default_parameter, - sym_typed_default_parameter, - sym_typed_parameter, - sym_positional_separator, - sym_keyword_separator, - [49638] = 4, + ACTIONS(1531), 1, + anon_sym_as, + ACTIONS(1515), 13, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + anon_sym_and, + anon_sym_or, + sym_type_conversion, + [49748] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1870), 1, anon_sym_DOT, - STATE(880), 1, + STATE(881), 1, aux_sym_match_value_pattern_repeat1, ACTIONS(1868), 10, anon_sym_import, @@ -64901,16 +65007,158 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [49660] = 5, + [49770] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(1873), 1, + anon_sym_DOT, ACTIONS(1875), 1, + anon_sym_LPAREN, + STATE(902), 1, + aux_sym_match_value_pattern_repeat1, + ACTIONS(1877), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, anon_sym_if, - ACTIONS(1877), 1, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [49793] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(1883), 1, anon_sym_or, - ACTIONS(1873), 8, + ACTIONS(1879), 9, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + sym_type_conversion, + [49814] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1885), 1, + anon_sym_as, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1879), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [49837] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1893), 1, + anon_sym_COMMA, + ACTIONS(1895), 1, + anon_sym_if, + STATE(982), 1, + aux_sym_expression_list_repeat1, + ACTIONS(1891), 6, + anon_sym_RPAREN, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + sym_type_conversion, + [49864] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1901), 1, + anon_sym_COLON, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1907), 1, + anon_sym_RBRACE, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1455), 1, + sym__comprehension_clauses, + [49901] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1901), 1, + anon_sym_COLON, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1907), 1, + anon_sym_RBRACE, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1403), 1, + sym__comprehension_clauses, + [49938] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1911), 1, + anon_sym_as, + ACTIONS(1909), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [49963] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(1913), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, @@ -64919,57 +65167,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - [49683] = 12, + [49986] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1885), 1, - anon_sym_COLON, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1891), 1, - anon_sym_RBRACE, - ACTIONS(1893), 1, anon_sym_and, - ACTIONS(1895), 1, + ACTIONS(1883), 1, anon_sym_or, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1450), 1, - sym__comprehension_clauses, - [49720] = 12, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(1915), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_else, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + sym_type_conversion, + [50009] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1897), 1, + ACTIONS(627), 1, + sym__template_string_start, + STATE(689), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, + ACTIONS(1917), 8, anon_sym_RPAREN, - ACTIONS(1899), 1, anon_sym_COMMA, - ACTIONS(1902), 1, anon_sym_as, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1387), 1, - sym__comprehension_clauses, - [49757] = 2, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [50030] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(625), 1, + sym__string_start, + STATE(691), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + ACTIONS(1917), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [50051] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1921), 1, + anon_sym_as, + ACTIONS(1919), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [50074] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1868), 11, @@ -64984,36 +65252,138 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [49774] = 7, + [50091] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, + ACTIONS(1881), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(1883), 1, anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - STATE(986), 1, - aux_sym_expression_list_repeat1, - ACTIONS(1904), 6, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(1909), 8, anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_COLON, + anon_sym_else, anon_sym_RBRACK, anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - [49801] = 5, + [50114] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1908), 1, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1919), 9, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + sym_type_conversion, + [50135] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1925), 1, + anon_sym_as, + ACTIONS(1923), 9, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_or, + [50156] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1927), 1, + anon_sym_as, + ACTIONS(1915), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [50181] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1925), 1, + anon_sym_as, + ACTIONS(1923), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [50204] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1923), 10, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + anon_sym_or, + sym_type_conversion, + [50223] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1923), 9, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_else, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + sym_type_conversion, + [50244] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1873), 1, anon_sym_DOT, - ACTIONS(1910), 1, + ACTIONS(1929), 1, anon_sym_LPAREN, - STATE(880), 1, + STATE(881), 1, aux_sym_match_value_pattern_repeat1, - ACTIONS(1912), 8, + ACTIONS(1931), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -65022,340 +65392,76 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [49824] = 5, + [50267] = 12, ACTIONS(3), 1, sym_comment, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1916), 1, - anon_sym_as, - ACTIONS(1914), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [49847] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1918), 9, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [49868] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1920), 1, - anon_sym_as, - ACTIONS(1918), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [49891] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1924), 1, - anon_sym_as, - ACTIONS(1922), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [49916] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1920), 1, - anon_sym_as, - ACTIONS(1918), 9, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_or, - [49937] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1918), 10, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - anon_sym_or, - sym_type_conversion, - [49956] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1926), 9, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_else, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [49977] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1928), 1, - anon_sym_as, - ACTIONS(1873), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [50002] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1930), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_else, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [50025] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1932), 1, - anon_sym_as, - ACTIONS(1926), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [50048] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(629), 1, - sym__template_string_start, - STATE(689), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - ACTIONS(1934), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [50069] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(627), 1, - sym__string_start, - STATE(686), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - ACTIONS(1934), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [50090] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1885), 1, - anon_sym_COLON, ACTIONS(1887), 1, - anon_sym_async, + anon_sym_and, ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1891), 1, - anon_sym_RBRACE, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, anon_sym_or, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1391), 1, - sym__comprehension_clauses, - [50127] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1883), 1, + ACTIONS(1899), 1, anon_sym_if, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1936), 1, - anon_sym_as, - ACTIONS(1930), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, + ACTIONS(1903), 1, anon_sym_async, + ACTIONS(1905), 1, anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [50152] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1885), 1, - anon_sym_COLON, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1891), 1, - anon_sym_RBRACE, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1489), 1, - sym__comprehension_clauses, - [50189] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1922), 8, + ACTIONS(1933), 1, anon_sym_RPAREN, + ACTIONS(1935), 1, anon_sym_COMMA, - anon_sym_COLON, - anon_sym_else, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [50212] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1908), 1, - anon_sym_DOT, ACTIONS(1938), 1, - anon_sym_LPAREN, - STATE(886), 1, - aux_sym_match_value_pattern_repeat1, - ACTIONS(1940), 8, - anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [50235] = 4, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1400), 1, + sym__comprehension_clauses, + [50304] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1877), 1, + ACTIONS(1887), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(1889), 1, anon_sym_or, - ACTIONS(1914), 9, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1940), 1, + anon_sym_as, + ACTIONS(1913), 7, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_if, anon_sym_COLON, - anon_sym_else, + anon_sym_async, + anon_sym_for, anon_sym_RBRACK, anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [50256] = 9, + [50329] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1901), 1, + anon_sym_COLON, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1907), 1, + anon_sym_RBRACE, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1463), 1, + sym__comprehension_clauses, + [50366] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, @@ -65364,70 +65470,95 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(1950), 1, sym__string_end, - STATE(931), 1, + STATE(919), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50286] = 9, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(1952), 1, - anon_sym_LBRACE2, - ACTIONS(1958), 1, - sym__not_escape_sequence, - ACTIONS(1961), 1, - sym__string_end, - STATE(906), 1, - aux_sym_string_repeat1, - STATE(1017), 1, - aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, - sym_string_content, - ACTIONS(1955), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [50316] = 9, + [50396] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, sym__not_escape_sequence, ACTIONS(1948), 1, sym_comment, - ACTIONS(1963), 1, + ACTIONS(1952), 1, sym__string_end, - STATE(906), 1, + STATE(914), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50346] = 5, + [50426] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, + ACTIONS(1887), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(1889), 1, anon_sym_or, - ACTIONS(1965), 7, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1907), 1, + anon_sym_RBRACK, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1467), 1, + sym__comprehension_clauses, + [50460] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1954), 1, + anon_sym_RPAREN, + ACTIONS(1956), 1, + anon_sym_COMMA, + STATE(936), 1, + sym_for_in_clause, + STATE(1264), 1, + aux_sym_argument_list_repeat1, + STATE(1499), 1, + sym__comprehension_clauses, + [50494] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(1958), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, @@ -65435,126 +65566,143 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - [50368] = 9, + [50516] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1960), 1, + anon_sym_RPAREN, + ACTIONS(1962), 1, + anon_sym_COMMA, + STATE(936), 1, + sym_for_in_clause, + STATE(1286), 1, + aux_sym_argument_list_repeat1, + STATE(1426), 1, + sym__comprehension_clauses, + [50550] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1907), 1, + anon_sym_RBRACK, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1441), 1, + sym__comprehension_clauses, + [50584] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, sym__not_escape_sequence, ACTIONS(1948), 1, sym_comment, - ACTIONS(1967), 1, + ACTIONS(1964), 1, sym__string_end, - STATE(933), 1, + STATE(922), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50398] = 11, + [50614] = 9, + ACTIONS(1942), 1, + anon_sym_LBRACE2, + ACTIONS(1946), 1, + sym__not_escape_sequence, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(1966), 1, + sym__string_end, + STATE(918), 1, + aux_sym_string_repeat1, + STATE(1037), 1, + aux_sym_string_content_repeat1, + STATE(1046), 1, + sym_string_content, + STATE(1054), 1, + sym_interpolation, + ACTIONS(1944), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [50644] = 9, + ACTIONS(1942), 1, + anon_sym_LBRACE2, + ACTIONS(1946), 1, + sym__not_escape_sequence, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(1968), 1, + sym__string_end, + STATE(920), 1, + aux_sym_string_repeat1, + STATE(1037), 1, + aux_sym_string_content_repeat1, + STATE(1046), 1, + sym_string_content, + STATE(1054), 1, + sym_interpolation, + ACTIONS(1944), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [50674] = 9, + ACTIONS(1942), 1, + anon_sym_LBRACE2, + ACTIONS(1946), 1, + sym__not_escape_sequence, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(1970), 1, + sym__string_end, + STATE(923), 1, + aux_sym_string_repeat1, + STATE(1037), 1, + aux_sym_string_content_repeat1, + STATE(1046), 1, + sym_string_content, + STATE(1054), 1, + sym_interpolation, + ACTIONS(1944), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [50704] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1969), 1, - anon_sym_RPAREN, - ACTIONS(1971), 1, - anon_sym_COMMA, - STATE(943), 1, - sym_for_in_clause, - STATE(1264), 1, - aux_sym_argument_list_repeat1, - STATE(1472), 1, - sym__comprehension_clauses, - [50432] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1891), 1, - anon_sym_RBRACK, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1422), 1, - sym__comprehension_clauses, - [50466] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1973), 1, - anon_sym_RPAREN, - ACTIONS(1975), 1, - anon_sym_COMMA, - STATE(943), 1, - sym_for_in_clause, - STATE(1221), 1, - aux_sym_argument_list_repeat1, - STATE(1387), 1, - sym__comprehension_clauses, - [50500] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1977), 1, - anon_sym_RPAREN, - ACTIONS(1979), 1, - anon_sym_COMMA, - STATE(943), 1, - sym_for_in_clause, - STATE(1280), 1, - aux_sym_argument_list_repeat1, - STATE(1390), 1, - sym__comprehension_clauses, - [50534] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1983), 2, + ACTIONS(1974), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(1981), 8, + ACTIONS(1972), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -65563,91 +65711,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [50552] = 11, - ACTIONS(3), 1, + [50722] = 9, + ACTIONS(1948), 1, sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1891), 1, - anon_sym_RBRACK, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1388), 1, - sym__comprehension_clauses, - [50586] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1891), 1, - anon_sym_RBRACK, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1381), 1, - sym__comprehension_clauses, - [50620] = 9, + ACTIONS(1976), 1, + anon_sym_LBRACE2, + ACTIONS(1982), 1, + sym__not_escape_sequence, + ACTIONS(1985), 1, + sym__string_end, + STATE(918), 1, + aux_sym_string_repeat1, + STATE(1037), 1, + aux_sym_string_content_repeat1, + STATE(1046), 1, + sym_string_content, + STATE(1054), 1, + sym_interpolation, + ACTIONS(1979), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [50752] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, sym__not_escape_sequence, ACTIONS(1948), 1, sym_comment, - ACTIONS(1985), 1, + ACTIONS(1987), 1, sym__string_end, - STATE(906), 1, + STATE(918), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50650] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1987), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [50672] = 9, + [50782] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, @@ -65656,19 +65762,42 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(1989), 1, sym__string_end, - STATE(930), 1, + STATE(918), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50702] = 9, + [50812] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1933), 1, + anon_sym_RPAREN, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1400), 1, + sym__comprehension_clauses, + [50846] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, @@ -65677,124 +65806,46 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(1991), 1, sym__string_end, - STATE(906), 1, + STATE(918), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50732] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1993), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [50754] = 9, + [50876] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, sym__not_escape_sequence, ACTIONS(1948), 1, sym_comment, - ACTIONS(1995), 1, + ACTIONS(1993), 1, sym__string_end, - STATE(907), 1, + STATE(918), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50784] = 9, - ACTIONS(1942), 1, - anon_sym_LBRACE2, - ACTIONS(1946), 1, - sym__not_escape_sequence, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(1997), 1, - sym__string_end, - STATE(927), 1, - aux_sym_string_repeat1, - STATE(1017), 1, - aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, - sym_string_content, - ACTIONS(1944), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [50814] = 11, + [50906] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(1897), 1, - anon_sym_RPAREN, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1387), 1, - sym__comprehension_clauses, - [50848] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1999), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [50870] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2003), 2, + ACTIONS(1997), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(2001), 8, + ACTIONS(1995), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -65803,7 +65854,89 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [50888] = 9, + [50924] = 9, + ACTIONS(1942), 1, + anon_sym_LBRACE2, + ACTIONS(1946), 1, + sym__not_escape_sequence, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(1999), 1, + sym__string_end, + STATE(918), 1, + aux_sym_string_repeat1, + STATE(1037), 1, + aux_sym_string_content_repeat1, + STATE(1046), 1, + sym_string_content, + STATE(1054), 1, + sym_interpolation, + ACTIONS(1944), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [50954] = 9, + ACTIONS(1942), 1, + anon_sym_LBRACE2, + ACTIONS(1946), 1, + sym__not_escape_sequence, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2001), 1, + sym__string_end, + STATE(929), 1, + aux_sym_string_repeat1, + STATE(1037), 1, + aux_sym_string_content_repeat1, + STATE(1046), 1, + sym_string_content, + STATE(1054), 1, + sym_interpolation, + ACTIONS(1944), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [50984] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2003), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + sym_type_conversion, + [51006] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(1907), 1, + anon_sym_RBRACK, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1401), 1, + sym__comprehension_clauses, + [51040] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, @@ -65812,63 +65945,59 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(2005), 1, sym__string_end, - STATE(906), 1, + STATE(918), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [50918] = 11, + [51070] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(2007), 1, + anon_sym_RPAREN, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1426), 1, + sym__comprehension_clauses, + [51104] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(1883), 1, - anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1893), 1, anon_sym_and, - ACTIONS(1895), 1, + ACTIONS(1883), 1, anon_sym_or, - ACTIONS(2007), 1, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2009), 7, anon_sym_RPAREN, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1472), 1, - sym__comprehension_clauses, - [50952] = 9, - ACTIONS(1942), 1, - anon_sym_LBRACE2, - ACTIONS(1946), 1, - sym__not_escape_sequence, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2009), 1, - sym__string_end, - STATE(920), 1, - aux_sym_string_repeat1, - STATE(1017), 1, - aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, - sym_string_content, - ACTIONS(1944), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [50982] = 9, + anon_sym_COMMA, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_EQ, + sym_type_conversion, + [51126] = 9, ACTIONS(1942), 1, anon_sym_LBRACE2, ACTIONS(1946), 1, @@ -65877,161 +66006,121 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(2011), 1, sym__string_end, - STATE(906), 1, + STATE(925), 1, aux_sym_string_repeat1, - STATE(1017), 1, + STATE(1037), 1, aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, + STATE(1046), 1, sym_string_content, + STATE(1054), 1, + sym_interpolation, ACTIONS(1944), 3, sym__string_content, sym__escape_interpolation, sym_escape_sequence, - [51012] = 9, - ACTIONS(1942), 1, - anon_sym_LBRACE2, - ACTIONS(1946), 1, - sym__not_escape_sequence, - ACTIONS(1948), 1, + [51156] = 11, + ACTIONS(3), 1, sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, ACTIONS(2013), 1, - sym__string_end, - STATE(906), 1, - aux_sym_string_repeat1, - STATE(1017), 1, - aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, - sym_string_content, - ACTIONS(1944), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [51042] = 11, + anon_sym_RPAREN, + ACTIONS(2015), 1, + anon_sym_COMMA, + STATE(936), 1, + sym_for_in_clause, + STATE(1188), 1, + aux_sym_argument_list_repeat1, + STATE(1400), 1, + sym__comprehension_clauses, + [51190] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1881), 1, - anon_sym_COMMA, + anon_sym_and, ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, anon_sym_if, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(2015), 1, - anon_sym_RPAREN, - STATE(943), 1, - sym_for_in_clause, - STATE(1069), 1, - aux_sym__collection_elements_repeat1, - STATE(1390), 1, - sym__comprehension_clauses, - [51076] = 9, - ACTIONS(1942), 1, - anon_sym_LBRACE2, - ACTIONS(1946), 1, - sym__not_escape_sequence, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2017), 1, - sym__string_end, - STATE(906), 1, - aux_sym_string_repeat1, - STATE(1017), 1, - aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, - sym_string_content, - ACTIONS(1944), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [51106] = 9, - ACTIONS(1942), 1, - anon_sym_LBRACE2, - ACTIONS(1946), 1, - sym__not_escape_sequence, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2019), 1, - sym__string_end, - STATE(917), 1, - aux_sym_string_repeat1, - STATE(1017), 1, - aux_sym_string_content_repeat1, - STATE(1058), 1, - sym_interpolation, - STATE(1059), 1, - sym_string_content, - ACTIONS(1944), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [51136] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(2021), 7, + ACTIONS(2017), 7, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_if, - anon_sym_async, - anon_sym_for, + anon_sym_COLON, anon_sym_RBRACK, anon_sym_RBRACE, - [51155] = 6, + anon_sym_EQ, + sym_type_conversion, + [51212] = 11, ACTIONS(3), 1, sym_comment, ACTIONS(1887), 1, - anon_sym_async, + anon_sym_and, ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(2025), 1, + anon_sym_or, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(1899), 1, anon_sym_if, - ACTIONS(2023), 3, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(2019), 1, + anon_sym_RPAREN, + STATE(936), 1, + sym_for_in_clause, + STATE(1079), 1, + aux_sym__collection_elements_repeat1, + STATE(1499), 1, + sym__comprehension_clauses, + [51246] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(2023), 1, + anon_sym_if, + ACTIONS(2021), 3, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - STATE(937), 3, + STATE(943), 3, sym_for_in_clause, sym_if_clause, aux_sym__comprehension_clauses_repeat1, - [51178] = 6, + [51269] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(2025), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51288] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2029), 1, - anon_sym_if, - ACTIONS(2032), 1, - anon_sym_async, - ACTIONS(2035), 1, - anon_sym_for, - ACTIONS(2027), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - STATE(937), 3, - sym_for_in_clause, - sym_if_clause, - aux_sym__comprehension_clauses_repeat1, - [51201] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2040), 1, anon_sym_PIPE, - STATE(940), 1, + STATE(944), 1, aux_sym_match_or_pattern_repeat1, - ACTIONS(2038), 7, + ACTIONS(2027), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -66039,14 +66128,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_RBRACK, anon_sym_RBRACE, - [51220] = 4, + [51307] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2044), 1, + ACTIONS(2029), 1, anon_sym_PIPE, - STATE(939), 1, + STATE(938), 1, aux_sym_match_or_pattern_repeat1, - ACTIONS(2042), 7, + ACTIONS(2031), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -66054,79 +66143,96 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_RBRACK, anon_sym_RBRACE, - [51239] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2040), 1, - anon_sym_PIPE, - STATE(939), 1, - aux_sym_match_or_pattern_repeat1, - ACTIONS(2047), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51258] = 4, + [51326] = 7, ACTIONS(3), 1, sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, ACTIONS(1893), 1, - anon_sym_and, + anon_sym_COMMA, ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(2021), 7, - anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51277] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - STATE(986), 1, + STATE(982), 1, aux_sym_expression_list_repeat1, - ACTIONS(2049), 4, + ACTIONS(2033), 4, anon_sym_COLON, anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - [51302] = 6, + [51351] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(1887), 1, - anon_sym_async, + anon_sym_and, ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(2025), 1, + anon_sym_or, + ACTIONS(2025), 7, + anon_sym_RPAREN, + anon_sym_COMMA, anon_sym_if, - ACTIONS(2051), 3, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51370] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2037), 1, + anon_sym_if, + ACTIONS(2040), 1, + anon_sym_async, + ACTIONS(2043), 1, + anon_sym_for, + ACTIONS(2035), 3, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - STATE(936), 3, + STATE(942), 3, sym_for_in_clause, sym_if_clause, aux_sym__comprehension_clauses_repeat1, - [51325] = 4, + [51393] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1893), 1, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(2023), 1, + anon_sym_if, + ACTIONS(2046), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + STATE(942), 3, + sym_for_in_clause, + sym_if_clause, + aux_sym__comprehension_clauses_repeat1, + [51416] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2050), 1, + anon_sym_PIPE, + STATE(944), 1, + aux_sym_match_or_pattern_repeat1, + ACTIONS(2048), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51435] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, anon_sym_and, - ACTIONS(1895), 1, + ACTIONS(1889), 1, anon_sym_or, - ACTIONS(2021), 7, + ACTIONS(2025), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_if, @@ -66134,21 +66240,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, anon_sym_RBRACK, anon_sym_RBRACE, - [51344] = 4, + [51454] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(1926), 6, - sym__newline, - anon_sym_from, + ACTIONS(2053), 8, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_as, anon_sym_if, - anon_sym_EQ, - sym__semicolon, - [51362] = 2, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51468] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2055), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51482] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2057), 8, @@ -66160,49 +66276,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [51376] = 3, + [51496] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(1918), 7, - sym__newline, - anon_sym_from, + ACTIONS(2059), 8, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_as, anon_sym_if, - anon_sym_EQ, - anon_sym_or, - sym__semicolon, - [51392] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(1918), 6, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_EQ, - sym__semicolon, - [51410] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(1922), 5, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_EQ, - sym__semicolon, - [51430] = 2, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51510] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2061), 8, @@ -66214,45 +66300,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [51444] = 2, + [51524] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2063), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51458] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2065), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51472] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, + ACTIONS(2063), 1, anon_sym_and, - ACTIONS(2055), 1, + ACTIONS(2065), 1, anon_sym_or, - ACTIONS(1914), 6, + ACTIONS(1879), 6, sym__newline, anon_sym_from, anon_sym_COMMA, anon_sym_if, anon_sym_EQ, sym__semicolon, - [51490] = 2, + [51542] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2067), 8, @@ -66264,10 +66326,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [51504] = 2, + [51556] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2069), 8, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(1913), 5, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_EQ, + sym__semicolon, + [51576] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2071), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -66276,42 +66353,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [51518] = 8, + [51590] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2071), 1, - anon_sym_from, - ACTIONS(2073), 1, - anon_sym_COMMA, - STATE(1078), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2075), 2, + ACTIONS(1515), 8, sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_EQ, + anon_sym_and, + anon_sym_or, sym__semicolon, - [51544] = 4, + [51604] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2079), 1, + ACTIONS(2048), 8, + anon_sym_RPAREN, anon_sym_COMMA, - STATE(957), 1, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51618] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2073), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51632] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2077), 1, + anon_sym_COMMA, + STATE(958), 1, aux_sym_expression_list_repeat1, - ACTIONS(2077), 6, + ACTIONS(2075), 6, anon_sym_RPAREN, anon_sym_COLON, anon_sym_RBRACK, anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - [51562] = 2, + [51650] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2082), 8, + ACTIONS(2080), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -66320,57 +66415,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [51576] = 2, + [51664] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(2084), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51590] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2088), 1, - anon_sym_COMMA, - STATE(964), 1, - aux_sym_for_in_clause_repeat1, - ACTIONS(2086), 6, - anon_sym_RPAREN, - anon_sym_if, + ACTIONS(67), 1, + anon_sym_AT, + ACTIONS(2082), 1, anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51608] = 2, + ACTIONS(2084), 1, + anon_sym_def, + ACTIONS(2086), 1, + anon_sym_class, + STATE(527), 2, + sym_function_definition, + sym_class_definition, + STATE(1045), 2, + sym_decorator, + aux_sym_decorated_definition_repeat1, + [51688] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(2090), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51622] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2092), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51636] = 2, + ACTIONS(67), 1, + anon_sym_AT, + ACTIONS(2088), 1, + anon_sym_async, + ACTIONS(2090), 1, + anon_sym_def, + ACTIONS(2092), 1, + anon_sym_class, + STATE(553), 2, + sym_function_definition, + sym_class_definition, + STATE(1045), 2, + sym_decorator, + aux_sym_decorated_definition_repeat1, + [51712] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2094), 8, @@ -66382,36 +66461,123 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [51650] = 4, + [51726] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2098), 1, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(1909), 5, + sym__newline, + anon_sym_from, anon_sym_COMMA, - STATE(964), 1, - aux_sym_for_in_clause_repeat1, - ACTIONS(2096), 6, + anon_sym_EQ, + sym__semicolon, + [51746] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2096), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51760] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2098), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51774] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2100), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51788] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1887), 1, + anon_sym_and, + ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(2102), 6, anon_sym_RPAREN, anon_sym_if, anon_sym_async, anon_sym_for, anon_sym_RBRACK, anon_sym_RBRACE, - [51668] = 5, + [51806] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, + ACTIONS(2104), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, anon_sym_if, - ACTIONS(1987), 5, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51820] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(1923), 6, sym__newline, anon_sym_from, anon_sym_COMMA, + anon_sym_if, anon_sym_EQ, sym__semicolon, - [51688] = 2, + [51838] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(1923), 7, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_if, + anon_sym_EQ, + anon_sym_or, + sym__semicolon, + [51854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2106), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51868] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1864), 8, @@ -66423,211 +66589,146 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_and, anon_sym_or, sym__semicolon, - [51702] = 6, + [51882] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1908), 1, + ACTIONS(2110), 1, + anon_sym_COMMA, + STATE(988), 1, + aux_sym_for_in_clause_repeat1, + ACTIONS(2108), 6, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51900] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2112), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51914] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2114), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51928] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2118), 1, + anon_sym_COMMA, + STATE(976), 1, + aux_sym_for_in_clause_repeat1, + ACTIONS(2116), 6, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51946] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1917), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_PIPE, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51960] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2123), 1, + anon_sym_COMMA, + STATE(976), 1, + aux_sym_for_in_clause_repeat1, + ACTIONS(2121), 6, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [51978] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2017), 5, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + anon_sym_EQ, + sym__semicolon, + [51998] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2127), 1, + anon_sym_PIPE, + ACTIONS(2125), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + [52014] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1873), 1, anon_sym_DOT, - ACTIONS(1938), 1, + ACTIONS(1875), 1, anon_sym_LPAREN, - ACTIONS(2101), 1, + ACTIONS(2129), 1, anon_sym_EQ, - STATE(886), 1, + STATE(902), 1, aux_sym_match_value_pattern_repeat1, - ACTIONS(1940), 4, + ACTIONS(1877), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, anon_sym_PIPE, - [51724] = 4, + [52036] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2105), 1, + ACTIONS(2133), 1, anon_sym_COMMA, - STATE(972), 1, - aux_sym_for_in_clause_repeat1, - ACTIONS(2103), 6, - anon_sym_RPAREN, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51742] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2109), 1, - anon_sym_COMMA, - STATE(960), 1, - aux_sym_for_in_clause_repeat1, - ACTIONS(2107), 6, - anon_sym_RPAREN, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51760] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(67), 1, - anon_sym_AT, - ACTIONS(2111), 1, - anon_sym_async, - ACTIONS(2113), 1, - anon_sym_def, - ACTIONS(2115), 1, - anon_sym_class, - STATE(544), 2, - sym_function_definition, - sym_class_definition, - STATE(1064), 2, - sym_decorator, - aux_sym_decorated_definition_repeat1, - [51784] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2117), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51798] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2121), 1, - anon_sym_COMMA, - STATE(964), 1, - aux_sym_for_in_clause_repeat1, - ACTIONS(2119), 6, - anon_sym_RPAREN, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51816] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2042), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51830] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2123), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51844] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2125), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51858] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2127), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51872] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1463), 8, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_if, - anon_sym_EQ, - anon_sym_and, - anon_sym_or, - sym__semicolon, - [51886] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(1930), 5, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - anon_sym_EQ, - sym__semicolon, - [51906] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2129), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51920] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1893), 1, - anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, + STATE(958), 1, + aux_sym_expression_list_repeat1, ACTIONS(2131), 6, anon_sym_RPAREN, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [51938] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2135), 1, - anon_sym_PIPE, - ACTIONS(2133), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, anon_sym_COLON, anon_sym_RBRACK, anon_sym_RBRACE, - [51954] = 2, + anon_sym_EQ, + sym_type_conversion, + [52054] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2137), 8, + ACTIONS(2135), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -66636,68 +66737,99 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [51968] = 5, + [52068] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, + ACTIONS(2063), 1, anon_sym_and, - ACTIONS(2055), 1, + ACTIONS(2065), 1, anon_sym_or, - ACTIONS(2059), 1, + ACTIONS(1919), 6, + sym__newline, + anon_sym_from, + anon_sym_COMMA, anon_sym_if, - ACTIONS(1873), 5, + anon_sym_EQ, + sym__semicolon, + [52086] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(1915), 5, sym__newline, anon_sym_from, anon_sym_COMMA, anon_sym_EQ, sym__semicolon, - [51988] = 2, + [52106] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2139), 8, - anon_sym_RPAREN, + ACTIONS(2137), 1, anon_sym_COMMA, - anon_sym_as, - anon_sym_if, + STATE(958), 1, + aux_sym_expression_list_repeat1, + ACTIONS(2131), 6, + anon_sym_RPAREN, anon_sym_COLON, - anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [52002] = 7, + anon_sym_EQ, + sym_type_conversion, + [52124] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(67), 1, - anon_sym_AT, ACTIONS(2141), 1, + anon_sym_COMMA, + STATE(978), 1, + aux_sym_for_in_clause_repeat1, + ACTIONS(2139), 6, + anon_sym_RPAREN, + anon_sym_if, anon_sym_async, - ACTIONS(2143), 1, - anon_sym_def, - ACTIONS(2145), 1, - anon_sym_class, - STATE(547), 2, - sym_function_definition, - sym_class_definition, - STATE(1064), 2, - sym_decorator, - aux_sym_decorated_definition_repeat1, - [52026] = 4, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [52142] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(2145), 1, + anon_sym_COMMA, + STATE(976), 1, + aux_sym_for_in_clause_repeat1, + ACTIONS(2143), 6, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [52160] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2147), 1, + anon_sym_from, ACTIONS(2149), 1, anon_sym_COMMA, - STATE(957), 1, + STATE(1082), 1, aux_sym_expression_list_repeat1, - ACTIONS(2147), 6, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [52044] = 2, + ACTIONS(2151), 2, + sym__newline, + sym__semicolon, + [52186] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1934), 8, + ACTIONS(2153), 8, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, @@ -66706,33 +66838,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [52058] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2151), 8, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_PIPE, - anon_sym_RBRACK, - anon_sym_RBRACE, - [52072] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2153), 1, - anon_sym_COMMA, - STATE(957), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2147), 6, - anon_sym_RPAREN, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - anon_sym_EQ, - sym_type_conversion, - [52090] = 2, + [52200] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2155), 8, @@ -66744,168 +66850,139 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_RBRACK, anon_sym_RBRACE, - [52104] = 7, + [52214] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, + ACTIONS(1881), 1, anon_sym_and, - ACTIONS(2055), 1, + ACTIONS(1883), 1, anon_sym_or, - ACTIONS(2059), 1, + ACTIONS(1895), 1, anon_sym_if, - ACTIONS(2073), 1, - anon_sym_COMMA, - STATE(1078), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2157), 2, - sym__newline, - sym__semicolon, - [52127] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2159), 7, + ACTIONS(2157), 4, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_if, - anon_sym_async, - anon_sym_for, anon_sym_RBRACK, anon_sym_RBRACE, - [52140] = 5, + [52233] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1883), 1, + ACTIONS(2159), 1, anon_sym_if, - ACTIONS(1893), 1, + ACTIONS(2161), 1, anon_sym_and, - ACTIONS(1895), 1, - anon_sym_or, - ACTIONS(2161), 4, - anon_sym_COMMA, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACE, - [52159] = 6, - ACTIONS(1948), 1, - sym_comment, ACTIONS(2163), 1, - anon_sym_LBRACE2, - ACTIONS(2168), 1, - sym__not_escape_sequence, + anon_sym_or, + ACTIONS(1915), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_COLON, + [52252] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(1879), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + [52269] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2165), 1, + anon_sym_except, + ACTIONS(2167), 1, + anon_sym_finally, + STATE(549), 1, + sym_finally_clause, + STATE(239), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + STATE(259), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, + [52290] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1515), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_and, + anon_sym_or, + [52303] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2169), 1, + anon_sym_except, ACTIONS(2171), 1, - sym__string_end, - STATE(994), 1, - aux_sym_string_content_repeat1, - ACTIONS(2165), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [52180] = 5, + anon_sym_finally, + STATE(478), 1, + sym_finally_clause, + STATE(255), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, + STATE(257), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + [52324] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(2173), 1, + ACTIONS(2165), 1, + anon_sym_except, + ACTIONS(2167), 1, + anon_sym_finally, + STATE(469), 1, + sym_finally_clause, + STATE(260), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + STATE(261), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, + [52345] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2159), 1, anon_sym_if, - ACTIONS(2175), 1, + ACTIONS(2161), 1, anon_sym_and, - ACTIONS(2177), 1, + ACTIONS(2163), 1, anon_sym_or, - ACTIONS(1922), 4, + ACTIONS(2175), 1, + anon_sym_as, + ACTIONS(2173), 3, anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_as, anon_sym_COLON, - [52199] = 7, + [52366] = 8, ACTIONS(3), 1, sym_comment, + ACTIONS(2159), 1, + anon_sym_if, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(2177), 1, + anon_sym_COMMA, ACTIONS(2179), 1, - sym_identifier, + anon_sym_as, ACTIONS(2181), 1, - anon_sym_DOT, - ACTIONS(2183), 1, - anon_sym___future__, - STATE(1129), 1, - aux_sym_import_prefix_repeat1, - STATE(1215), 1, - sym_import_prefix, - STATE(1414), 2, - sym_relative_import, - sym_dotted_name, - [52222] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(1999), 4, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - sym__semicolon, - [52241] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1463), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, anon_sym_COLON, - anon_sym_and, - anon_sym_or, - [52254] = 5, + STATE(1178), 1, + aux_sym_exception_list_repeat1, + [52391] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2173), 1, - anon_sym_if, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(1873), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_COLON, - [52273] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2073), 1, - anon_sym_COMMA, - STATE(1078), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2185), 2, - sym__newline, - sym__semicolon, - [52296] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, - ACTIONS(2187), 1, - anon_sym_COMMA, - ACTIONS(2189), 1, - anon_sym_RBRACE, - STATE(943), 1, - sym_for_in_clause, - STATE(1240), 1, - aux_sym_dictionary_repeat1, - STATE(1380), 1, - sym__comprehension_clauses, - [52321] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1999), 7, + ACTIONS(1891), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, @@ -66913,272 +66990,254 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, anon_sym_EQ, sym_type_conversion, - [52334] = 4, + [52404] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2175), 1, + ACTIONS(2063), 1, anon_sym_and, - ACTIONS(2177), 1, + ACTIONS(2065), 1, anon_sym_or, - ACTIONS(1918), 5, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, + ACTIONS(2069), 1, anon_sym_if, - anon_sym_COLON, - [52351] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2191), 1, - anon_sym_except, - ACTIONS(2193), 1, - anon_sym_finally, - STATE(521), 1, - sym_finally_clause, - STATE(242), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - STATE(248), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - [52372] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(1918), 6, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - anon_sym_or, - [52387] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2195), 1, - anon_sym_COMMA, - STATE(1160), 1, - aux_sym_assert_statement_repeat1, - ACTIONS(2197), 2, + ACTIONS(2009), 4, sym__newline, + anon_sym_from, + anon_sym_COMMA, sym__semicolon, - [52410] = 5, + [52423] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, + ACTIONS(2063), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(2065), 1, anon_sym_or, - ACTIONS(2199), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_EQ, - [52429] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(1926), 5, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, + ACTIONS(2069), 1, anon_sym_if, - anon_sym_COLON, - [52446] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2173), 1, - anon_sym_if, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(1930), 4, - anon_sym_RPAREN, + ACTIONS(1958), 4, + sym__newline, + anon_sym_from, anon_sym_COMMA, - anon_sym_as, - anon_sym_COLON, - [52465] = 4, + sym__semicolon, + [52442] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(1914), 5, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - anon_sym_if, - anon_sym_COLON, - [52482] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2201), 1, + ACTIONS(2183), 1, sym_identifier, - ACTIONS(2203), 1, + ACTIONS(2185), 1, anon_sym_STAR, - ACTIONS(2205), 1, + ACTIONS(2187), 1, anon_sym_STAR_STAR, - STATE(1353), 4, + STATE(1327), 4, sym_typevar_parameter, sym_typevartuple_parameter, sym_paramspec_parameter, sym__type_parameter, - [52501] = 2, + [52461] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(2207), 7, - anon_sym_RPAREN, - anon_sym_COMMA, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [52514] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2096), 7, - anon_sym_RPAREN, + ACTIONS(2149), 1, anon_sym_COMMA, - anon_sym_if, - anon_sym_async, - anon_sym_for, - anon_sym_RBRACK, - anon_sym_RBRACE, - [52527] = 6, + STATE(1082), 1, + aux_sym_expression_list_repeat1, + ACTIONS(2189), 2, + sym__newline, + sym__semicolon, + [52484] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(2209), 1, - anon_sym_except, - ACTIONS(2211), 1, - anon_sym_finally, - STATE(559), 1, - sym_finally_clause, - STATE(240), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - STATE(244), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - [52548] = 8, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(2191), 1, + anon_sym_COMMA, + ACTIONS(2193), 1, + anon_sym_RBRACE, + STATE(936), 1, + sym_for_in_clause, + STATE(1207), 1, + aux_sym_dictionary_repeat1, + STATE(1404), 1, + sym__comprehension_clauses, + [52509] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(1887), 1, - anon_sym_async, + anon_sym_and, ACTIONS(1889), 1, + anon_sym_or, + ACTIONS(1899), 1, + anon_sym_if, + ACTIONS(2195), 4, + anon_sym_COMMA, + anon_sym_async, anon_sym_for, - ACTIONS(2213), 1, - anon_sym_COMMA, - ACTIONS(2215), 1, anon_sym_RBRACE, - STATE(943), 1, - sym_for_in_clause, - STATE(1245), 1, - aux_sym_dictionary_repeat1, - STATE(1420), 1, - sym__comprehension_clauses, - [52573] = 6, + [52528] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(2173), 1, - anon_sym_if, - ACTIONS(2175), 1, + ACTIONS(2063), 1, anon_sym_and, - ACTIONS(2177), 1, + ACTIONS(2065), 1, anon_sym_or, - ACTIONS(2219), 1, - anon_sym_as, - ACTIONS(2217), 3, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2197), 1, + anon_sym_COMMA, + STATE(1167), 1, + aux_sym_assert_statement_repeat1, + ACTIONS(2199), 2, + sym__newline, + sym__semicolon, + [52551] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2197), 1, + anon_sym_COMMA, + STATE(1134), 1, + aux_sym_assert_statement_repeat1, + ACTIONS(2201), 2, + sym__newline, + sym__semicolon, + [52574] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2009), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - [52594] = 6, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2221), 1, - anon_sym_LBRACE2, - ACTIONS(2225), 1, - sym__not_escape_sequence, - ACTIONS(2227), 1, - sym__string_end, - STATE(994), 1, - aux_sym_string_content_repeat1, - ACTIONS(2223), 3, - sym__string_content, - sym__escape_interpolation, - sym_escape_sequence, - [52615] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2229), 1, - sym_identifier, - ACTIONS(2231), 1, - anon_sym_LPAREN, - ACTIONS(2233), 1, - anon_sym_STAR, - STATE(1095), 1, - sym_dotted_name, - STATE(1146), 1, - sym_aliased_import, - STATE(1330), 1, - sym_wildcard_import, - STATE(1331), 1, - sym__import_list, - [52640] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2237), 1, - anon_sym_as, - ACTIONS(2235), 6, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, anon_sym_RBRACK, anon_sym_RBRACE, - [52655] = 5, + anon_sym_EQ, + sym_type_conversion, + [52587] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, + ACTIONS(2169), 1, + anon_sym_except, + ACTIONS(2171), 1, + anon_sym_finally, + STATE(551), 1, + sym_finally_clause, + STATE(250), 2, + sym_except_clause, + aux_sym_try_statement_repeat1, + STATE(252), 2, + sym_except_group_clause, + aux_sym_try_statement_repeat2, + [52608] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(2065), 1, anon_sym_or, - ACTIONS(2239), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [52674] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2201), 1, - sym_identifier, + ACTIONS(2069), 1, + anon_sym_if, ACTIONS(2203), 1, + anon_sym_COMMA, + STATE(1130), 1, + aux_sym_print_statement_repeat1, + ACTIONS(2205), 2, + sym__newline, + sym__semicolon, + [52631] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2207), 1, + sym_identifier, + ACTIONS(2209), 1, + anon_sym_DOT, + ACTIONS(2211), 1, + anon_sym___future__, + STATE(1171), 1, + aux_sym_import_prefix_repeat1, + STATE(1219), 1, + sym_import_prefix, + STATE(1420), 2, + sym_relative_import, + sym_dotted_name, + [52654] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2215), 1, + anon_sym_as, + ACTIONS(2213), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + [52669] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2159), 1, + anon_sym_if, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(1909), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_COLON, + [52688] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2183), 1, + sym_identifier, + ACTIONS(2185), 1, anon_sym_STAR, - ACTIONS(2205), 1, + ACTIONS(2187), 1, anon_sym_STAR_STAR, - STATE(1286), 4, + STATE(1240), 4, sym_typevar_parameter, sym_typevartuple_parameter, sym_paramspec_parameter, sym__type_parameter, - [52693] = 2, + [52707] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(2217), 1, + anon_sym_COMMA, + ACTIONS(2219), 1, + anon_sym_RBRACE, + STATE(936), 1, + sym_for_in_clause, + STATE(1246), 1, + aux_sym_dictionary_repeat1, + STATE(1445), 1, + sym__comprehension_clauses, + [52732] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2221), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [52745] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1864), 7, @@ -67189,1050 +67248,1124 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_and, anon_sym_or, - [52706] = 2, + [52758] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1904), 7, + ACTIONS(2116), 7, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [52771] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(1919), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + [52788] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2223), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, anon_sym_EQ, - sym_type_conversion, - [52719] = 7, + [52807] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2073), 1, + ACTIONS(2225), 7, + anon_sym_RPAREN, anon_sym_COMMA, - STATE(1078), 1, + anon_sym_if, + anon_sym_async, + anon_sym_for, + anon_sym_RBRACK, + anon_sym_RBRACE, + [52820] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(1923), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + anon_sym_or, + [52835] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1903), 1, + anon_sym_async, + ACTIONS(1905), 1, + anon_sym_for, + ACTIONS(2227), 1, + anon_sym_COMMA, + ACTIONS(2229), 1, + anon_sym_RBRACE, + STATE(936), 1, + sym_for_in_clause, + STATE(1251), 1, + aux_sym_dictionary_repeat1, + STATE(1462), 1, + sym__comprehension_clauses, + [52860] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2149), 1, + anon_sym_COMMA, + STATE(1082), 1, + aux_sym_expression_list_repeat1, + ACTIONS(2231), 2, + sym__newline, + sym__semicolon, + [52883] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(1923), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_if, + anon_sym_COLON, + [52900] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2233), 1, + sym_identifier, + ACTIONS(2235), 1, + anon_sym_LPAREN, + ACTIONS(2237), 1, + anon_sym_STAR, + STATE(1105), 1, + sym_dotted_name, + STATE(1159), 1, + sym_aliased_import, + STATE(1335), 1, + sym_wildcard_import, + STATE(1338), 1, + sym__import_list, + [52925] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2159), 1, + anon_sym_if, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(1913), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + anon_sym_COLON, + [52944] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2149), 1, + anon_sym_COMMA, + STATE(1082), 1, + aux_sym_expression_list_repeat1, + ACTIONS(1891), 2, + sym__newline, + sym__semicolon, + [52967] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2149), 1, + anon_sym_COMMA, + STATE(1082), 1, + aux_sym_expression_list_repeat1, + ACTIONS(2239), 2, + sym__newline, + sym__semicolon, + [52990] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2149), 1, + anon_sym_COMMA, + STATE(1082), 1, aux_sym_expression_list_repeat1, ACTIONS(2241), 2, sym__newline, sym__semicolon, - [52742] = 5, + [53013] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, + ACTIONS(2159), 1, anon_sym_if, - ACTIONS(1965), 4, - sym__newline, - anon_sym_from, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(2177), 1, anon_sym_COMMA, - sym__semicolon, - [52761] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2209), 1, - anon_sym_except, - ACTIONS(2211), 1, - anon_sym_finally, - STATE(553), 1, - sym_finally_clause, - STATE(259), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - STATE(260), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - [52782] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1887), 1, - anon_sym_async, - ACTIONS(1889), 1, - anon_sym_for, ACTIONS(2243), 1, - anon_sym_COMMA, + anon_sym_as, ACTIONS(2245), 1, - anon_sym_RBRACE, - STATE(943), 1, - sym_for_in_clause, - STATE(1234), 1, - aux_sym_dictionary_repeat1, - STATE(1392), 1, - sym__comprehension_clauses, - [52807] = 7, + anon_sym_COLON, + STATE(1178), 1, + aux_sym_exception_list_repeat1, + [53038] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, + ACTIONS(2159), 1, anon_sym_if, - ACTIONS(2073), 1, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(2177), 1, anon_sym_COMMA, - STATE(1078), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2247), 2, - sym__newline, - sym__semicolon, - [52830] = 6, - ACTIONS(3), 1, + ACTIONS(2247), 1, + anon_sym_as, + ACTIONS(2249), 1, + anon_sym_COLON, + STATE(1178), 1, + aux_sym_exception_list_repeat1, + [53063] = 6, + ACTIONS(1948), 1, sym_comment, - ACTIONS(2191), 1, - anon_sym_except, - ACTIONS(2193), 1, - anon_sym_finally, - STATE(525), 1, - sym_finally_clause, - STATE(256), 2, - sym_except_clause, - aux_sym_try_statement_repeat1, - STATE(262), 2, - sym_except_group_clause, - aux_sym_try_statement_repeat2, - [52851] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2195), 1, - anon_sym_COMMA, - STATE(1106), 1, - aux_sym_assert_statement_repeat1, - ACTIONS(2249), 2, - sym__newline, - sym__semicolon, - [52874] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2073), 1, - anon_sym_COMMA, - STATE(1078), 1, - aux_sym_expression_list_repeat1, - ACTIONS(1904), 2, - sym__newline, - sym__semicolon, - [52897] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, ACTIONS(2251), 1, - anon_sym_COMMA, - STATE(1119), 1, - aux_sym_print_statement_repeat1, - ACTIONS(2253), 2, - sym__newline, - sym__semicolon, - [52920] = 5, + anon_sym_LBRACE2, + ACTIONS(2256), 1, + sym__not_escape_sequence, + ACTIONS(2259), 1, + sym__string_end, + STATE(1035), 1, + aux_sym_string_content_repeat1, + ACTIONS(2253), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [53084] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, + ACTIONS(2159), 1, anon_sym_if, - ACTIONS(2255), 3, - sym__newline, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(2177), 1, anon_sym_COMMA, - sym__semicolon, - [52938] = 4, + ACTIONS(2261), 1, + anon_sym_as, + ACTIONS(2263), 1, + anon_sym_COLON, + STATE(1178), 1, + aux_sym_exception_list_repeat1, + [53109] = 6, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2265), 1, + anon_sym_LBRACE2, + ACTIONS(2269), 1, + sym__not_escape_sequence, + ACTIONS(2271), 1, + sym__string_end, + STATE(1035), 1, + aux_sym_string_content_repeat1, + ACTIONS(2267), 3, + sym__string_content, + sym__escape_interpolation, + sym_escape_sequence, + [53130] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2257), 1, + ACTIONS(2273), 1, anon_sym_DOT, - STATE(1034), 1, + STATE(1038), 1, aux_sym_match_value_pattern_repeat1, ACTIONS(1868), 4, sym__newline, anon_sym_COMMA, anon_sym_as, sym__semicolon, - [52954] = 2, + [53146] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2260), 6, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - [52966] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2262), 2, - anon_sym_LBRACE2, - sym__not_escape_sequence, - ACTIONS(2264), 4, - sym__string_content, - sym__string_end, - sym__escape_interpolation, - sym_escape_sequence, - [52980] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - ACTIONS(2266), 1, - anon_sym_COLON, - STATE(986), 1, - aux_sym_expression_list_repeat1, - [53002] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2173), 1, - anon_sym_if, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(2270), 1, - anon_sym_COLON, - ACTIONS(2268), 2, - anon_sym_COMMA, - anon_sym_as, - [53022] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2272), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [53040] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2274), 2, - anon_sym_LBRACE2, - sym__not_escape_sequence, - ACTIONS(2276), 4, - sym__string_content, - sym__string_end, - sym__escape_interpolation, - sym_escape_sequence, - [53054] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1940), 6, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_RBRACK, - anon_sym_RBRACE, - [53066] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2280), 1, - anon_sym_COLON, - ACTIONS(2278), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53086] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - ACTIONS(2282), 1, - anon_sym_COLON, - STATE(986), 1, - aux_sym_expression_list_repeat1, - [53108] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2284), 2, - anon_sym_LBRACE2, - sym__not_escape_sequence, - ACTIONS(2286), 4, - sym__string_content, - sym__string_end, - sym__escape_interpolation, - sym_escape_sequence, - [53122] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2290), 1, - anon_sym_COLON, - ACTIONS(2288), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53142] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1908), 1, + ACTIONS(1873), 1, anon_sym_DOT, STATE(1051), 1, aux_sym_match_value_pattern_repeat1, - ACTIONS(2292), 4, + ACTIONS(2276), 4, anon_sym_import, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_as, - [53158] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2294), 1, - anon_sym_DOT, - STATE(1066), 1, - aux_sym_match_value_pattern_repeat1, - ACTIONS(2292), 4, - sym__newline, - anon_sym_COMMA, - anon_sym_as, - sym__semicolon, - [53174] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - ACTIONS(2296), 1, - anon_sym_COLON, - STATE(986), 1, - aux_sym_expression_list_repeat1, - [53196] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - ACTIONS(2298), 1, - anon_sym_COLON, - STATE(986), 1, - aux_sym_expression_list_repeat1, - [53218] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - ACTIONS(2300), 1, - anon_sym_COLON, - STATE(986), 1, - aux_sym_expression_list_repeat1, - [53240] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1908), 1, - anon_sym_DOT, - STATE(880), 1, - aux_sym_match_value_pattern_repeat1, - ACTIONS(2302), 4, - anon_sym_import, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_as, - [53256] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2304), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [53274] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2306), 3, - sym__newline, - anon_sym_COMMA, - sym__semicolon, - [53292] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2173), 1, - anon_sym_if, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(2310), 1, - anon_sym_COLON, - ACTIONS(2308), 2, - anon_sym_COMMA, - anon_sym_as, - [53312] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1977), 1, - anon_sym_RPAREN, - ACTIONS(1979), 1, - anon_sym_COMMA, - STATE(1280), 1, - aux_sym_argument_list_repeat1, - [53334] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2312), 3, - sym__newline, - anon_sym_COMMA, - sym__semicolon, - [53352] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2199), 3, - sym__newline, - anon_sym_EQ, - sym__semicolon, - [53370] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2314), 2, - anon_sym_LBRACE2, - sym__not_escape_sequence, - ACTIONS(2316), 4, - sym__string_content, - sym__string_end, - sym__escape_interpolation, - sym_escape_sequence, - [53384] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2318), 2, - anon_sym_LBRACE2, - sym__not_escape_sequence, - ACTIONS(2320), 4, - sym__string_content, - sym__string_end, - sym__escape_interpolation, - sym_escape_sequence, - [53398] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2322), 3, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ, - [53416] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2326), 1, - anon_sym_COLON, - ACTIONS(2324), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53436] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2330), 1, - anon_sym_COLON, - ACTIONS(2332), 1, - anon_sym_EQ, - STATE(1154), 1, - sym__type_bound, - STATE(1347), 1, - sym__type_param_default, - ACTIONS(2328), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53456] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(1906), 1, - anon_sym_COMMA, - ACTIONS(2334), 1, - anon_sym_COLON, - STATE(986), 1, - aux_sym_expression_list_repeat1, - [53478] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2338), 1, - anon_sym_AT, - STATE(1064), 2, - sym_decorator, - aux_sym_decorated_definition_repeat1, - ACTIONS(2336), 3, - anon_sym_async, - anon_sym_def, - anon_sym_class, - [53494] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2343), 1, - anon_sym_COMMA, - STATE(1065), 1, - aux_sym_open_sequence_match_pattern_repeat1, - ACTIONS(2341), 4, - anon_sym_RPAREN, - anon_sym_if, - anon_sym_COLON, - anon_sym_RBRACK, - [53510] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2294), 1, - anon_sym_DOT, - STATE(1034), 1, - aux_sym_match_value_pattern_repeat1, - ACTIONS(2302), 4, - sym__newline, - anon_sym_COMMA, - anon_sym_as, - sym__semicolon, - [53526] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2346), 2, - anon_sym_LBRACE2, - sym__not_escape_sequence, - ACTIONS(2348), 4, - sym__string_content, - sym__string_end, - sym__escape_interpolation, - sym_escape_sequence, - [53540] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2161), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [53557] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2352), 1, - anon_sym_COMMA, - STATE(1093), 1, - aux_sym__collection_elements_repeat1, - ACTIONS(2350), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - [53572] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2354), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53589] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2356), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53606] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2358), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [53623] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2360), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53640] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2362), 1, - anon_sym_LPAREN, - ACTIONS(2364), 1, - anon_sym_COLON, - ACTIONS(2366), 1, - anon_sym_LBRACK, - STATE(1212), 1, - sym_type_parameters, - STATE(1430), 1, - sym_argument_list, - [53659] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2368), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53676] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2370), 1, - anon_sym_COMMA, - STATE(1076), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2077), 3, - sym__newline, - anon_sym_from, - sym__semicolon, - [53691] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2373), 1, - anon_sym_COMMA, - STATE(1076), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2147), 3, - sym__newline, - anon_sym_from, - sym__semicolon, - [53706] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2375), 1, - anon_sym_COMMA, - STATE(1076), 1, - aux_sym_expression_list_repeat1, - ACTIONS(2147), 3, - sym__newline, - anon_sym_from, - sym__semicolon, - [53721] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2377), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [53738] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2379), 1, - anon_sym_COLON, - ACTIONS(2381), 1, - anon_sym_RBRACE, - ACTIONS(2383), 1, - anon_sym_EQ, - ACTIONS(2385), 1, - sym_type_conversion, - STATE(1495), 1, - sym_format_specifier, - [53757] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2341), 5, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_RBRACK, - [53768] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2229), 1, - sym_identifier, - STATE(1114), 1, - sym_dotted_name, - STATE(1289), 1, - sym_aliased_import, - ACTIONS(2387), 2, - sym__newline, - sym__semicolon, - [53785] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2389), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [53802] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2391), 2, - sym__newline, - sym__semicolon, - [53819] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2393), 2, - sym__newline, - sym__semicolon, - [53836] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2173), 1, - anon_sym_if, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(2395), 1, - anon_sym_as, - ACTIONS(2397), 1, - anon_sym_COLON, - [53855] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2399), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [53872] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(1993), 2, - sym__newline, - sym__semicolon, - [53889] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2401), 2, - sym__newline, - sym__semicolon, - [53906] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2229), 1, - sym_identifier, - ACTIONS(2403), 1, - anon_sym_LPAREN, - STATE(1095), 1, - sym_dotted_name, - STATE(1146), 1, - sym_aliased_import, - STATE(1336), 1, - sym__import_list, - [53925] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2362), 1, - anon_sym_LPAREN, - ACTIONS(2366), 1, - anon_sym_LBRACK, - ACTIONS(2405), 1, - anon_sym_COLON, - STATE(1197), 1, - sym_type_parameters, - STATE(1438), 1, - sym_argument_list, - [53944] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2379), 1, - anon_sym_COLON, - ACTIONS(2407), 1, - anon_sym_RBRACE, - ACTIONS(2409), 1, - anon_sym_EQ, - ACTIONS(2411), 1, - sym_type_conversion, - STATE(1428), 1, - sym_format_specifier, - [53963] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2415), 1, - anon_sym_COMMA, - STATE(1093), 1, - aux_sym__collection_elements_repeat1, - ACTIONS(2413), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - [53978] = 6, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2418), 1, - anon_sym_RBRACE, - ACTIONS(2420), 1, - anon_sym_LBRACE2, - ACTIONS(2423), 1, - aux_sym_format_specifier_token1, - STATE(1094), 1, - aux_sym_format_specifier_repeat1, - STATE(1283), 1, - sym_interpolation, - [53997] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2426), 1, - anon_sym_COMMA, - ACTIONS(2428), 1, - anon_sym_as, - STATE(1164), 1, - aux_sym__import_list_repeat1, - ACTIONS(2430), 2, - sym__newline, - sym__semicolon, - [54014] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2432), 5, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_if, - anon_sym_COLON, - anon_sym_RBRACK, - [54025] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2434), 1, - anon_sym_COMMA, - STATE(1093), 1, - aux_sym__collection_elements_repeat1, - ACTIONS(2350), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - anon_sym_RBRACE, - [54040] = 4, + [53162] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1893), 1, anon_sym_COMMA, - STATE(1097), 1, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2278), 1, + anon_sym_COLON, + STATE(982), 1, + aux_sym_expression_list_repeat1, + [53184] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2280), 1, + anon_sym_DOT, + STATE(1047), 1, + aux_sym_match_value_pattern_repeat1, + ACTIONS(2276), 4, + sym__newline, + anon_sym_COMMA, + anon_sym_as, + sym__semicolon, + [53200] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2284), 1, + anon_sym_COLON, + ACTIONS(2282), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [53220] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2286), 3, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_EQ, + [53238] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2288), 2, + anon_sym_LBRACE2, + sym__not_escape_sequence, + ACTIONS(2290), 4, + sym__string_content, + sym__string_end, + sym__escape_interpolation, + sym_escape_sequence, + [53252] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2294), 1, + anon_sym_AT, + STATE(1045), 2, + sym_decorator, + aux_sym_decorated_definition_repeat1, + ACTIONS(2292), 3, + anon_sym_async, + anon_sym_def, + anon_sym_class, + [53268] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2297), 2, + anon_sym_LBRACE2, + sym__not_escape_sequence, + ACTIONS(2299), 4, + sym__string_content, + sym__string_end, + sym__escape_interpolation, + sym_escape_sequence, + [53282] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2280), 1, + anon_sym_DOT, + STATE(1038), 1, + aux_sym_match_value_pattern_repeat1, + ACTIONS(2301), 4, + sym__newline, + anon_sym_COMMA, + anon_sym_as, + sym__semicolon, + [53298] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2303), 2, + anon_sym_LBRACE2, + sym__not_escape_sequence, + ACTIONS(2305), 4, + sym__string_content, + sym__string_end, + sym__escape_interpolation, + sym_escape_sequence, + [53312] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2309), 1, + anon_sym_COLON, + ACTIONS(2307), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [53332] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1893), 1, + anon_sym_COMMA, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2311), 1, + anon_sym_COLON, + STATE(982), 1, + aux_sym_expression_list_repeat1, + [53354] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1873), 1, + anon_sym_DOT, + STATE(881), 1, + aux_sym_match_value_pattern_repeat1, + ACTIONS(2301), 4, + anon_sym_import, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_as, + [53370] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1893), 1, + anon_sym_COMMA, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2313), 1, + anon_sym_COLON, + STATE(982), 1, + aux_sym_expression_list_repeat1, + [53392] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2315), 3, + sym__newline, + anon_sym_COMMA, + sym__semicolon, + [53410] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2317), 2, + anon_sym_LBRACE2, + sym__not_escape_sequence, + ACTIONS(2319), 4, + sym__string_content, + sym__string_end, + sym__escape_interpolation, + sym_escape_sequence, + [53424] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1893), 1, + anon_sym_COMMA, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2321), 1, + anon_sym_COLON, + STATE(982), 1, + aux_sym_expression_list_repeat1, + [53446] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2323), 2, + anon_sym_LBRACE2, + sym__not_escape_sequence, + ACTIONS(2325), 4, + sym__string_content, + sym__string_end, + sym__escape_interpolation, + sym_escape_sequence, + [53460] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2329), 1, + anon_sym_COMMA, + STATE(1057), 1, + aux_sym_open_sequence_match_pattern_repeat1, + ACTIONS(2327), 4, + anon_sym_RPAREN, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + [53476] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2332), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + [53494] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2334), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + [53512] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(1960), 1, + anon_sym_RPAREN, + ACTIONS(1962), 1, + anon_sym_COMMA, + STATE(1286), 1, + aux_sym_argument_list_repeat1, + [53534] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2336), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + [53546] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2340), 1, + anon_sym_COLON, + ACTIONS(2342), 1, + anon_sym_EQ, + STATE(1176), 1, + sym__type_bound, + STATE(1364), 1, + sym__type_param_default, + ACTIONS(2338), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [53566] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2223), 3, + sym__newline, + anon_sym_EQ, + sym__semicolon, + [53584] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2159), 1, + anon_sym_if, + ACTIONS(2161), 1, + anon_sym_and, + ACTIONS(2163), 1, + anon_sym_or, + ACTIONS(2344), 3, + anon_sym_COMMA, + anon_sym_as, + anon_sym_COLON, + [53602] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1893), 1, + anon_sym_COMMA, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2346), 1, + anon_sym_COLON, + STATE(982), 1, + aux_sym_expression_list_repeat1, + [53624] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1893), 1, + anon_sym_COMMA, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2348), 1, + anon_sym_COLON, + STATE(982), 1, + aux_sym_expression_list_repeat1, + [53646] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2350), 2, + anon_sym_LBRACE2, + sym__not_escape_sequence, + ACTIONS(2352), 4, + sym__string_content, + sym__string_end, + sym__escape_interpolation, + sym_escape_sequence, + [53660] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2354), 3, + sym__newline, + anon_sym_COMMA, + sym__semicolon, + [53678] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2356), 3, + sym__newline, + anon_sym_COMMA, + sym__semicolon, + [53696] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1877), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + anon_sym_RBRACE, + [53708] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2360), 1, + anon_sym_COLON, + ACTIONS(2358), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [53728] = 6, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2362), 1, + anon_sym_RBRACE, + ACTIONS(2364), 1, + anon_sym_LBRACE2, + ACTIONS(2367), 1, + aux_sym_format_specifier_token1, + STATE(1072), 1, + aux_sym_format_specifier_repeat1, + STATE(1255), 1, + sym_interpolation, + [53747] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2003), 2, + sym__newline, + sym__semicolon, + [53764] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2233), 1, + sym_identifier, + ACTIONS(2370), 1, + anon_sym_LPAREN, + STATE(1105), 1, + sym_dotted_name, + STATE(1159), 1, + sym_aliased_import, + STATE(1343), 1, + sym__import_list, + [53783] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2372), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [53800] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2376), 1, + anon_sym_RBRACE, + ACTIONS(2378), 1, + anon_sym_EQ, + ACTIONS(2380), 1, + sym_type_conversion, + STATE(1460), 1, + sym_format_specifier, + [53819] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2384), 1, + anon_sym_COMMA, + STATE(1099), 1, aux_sym__collection_elements_repeat1, - ACTIONS(1891), 3, + ACTIONS(2382), 3, anon_sym_RPAREN, anon_sym_RBRACK, anon_sym_RBRACE, - [54055] = 6, + [53834] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2173), 1, - anon_sym_if, - ACTIONS(2175), 1, - anon_sym_and, - ACTIONS(2177), 1, - anon_sym_or, - ACTIONS(2436), 1, - anon_sym_as, - ACTIONS(2438), 1, - anon_sym_COLON, - [54074] = 5, + ACTIONS(2386), 1, + anon_sym_COMMA, + STATE(1096), 1, + aux_sym_expression_list_repeat1, + ACTIONS(2131), 3, + sym__newline, + anon_sym_from, + sym__semicolon, + [53849] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2440), 2, + ACTIONS(2388), 1, + anon_sym_COMMA, + STATE(1099), 1, + aux_sym__collection_elements_repeat1, + ACTIONS(2382), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + [53864] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2233), 1, + sym_identifier, + STATE(1132), 1, + sym_dotted_name, + STATE(1289), 1, + sym_aliased_import, + ACTIONS(2390), 2, sym__newline, sym__semicolon, - [54091] = 6, + [53881] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2392), 2, + sym__newline, + sym__semicolon, + [53898] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2394), 1, + anon_sym_COMMA, + STATE(1096), 1, + aux_sym_expression_list_repeat1, + ACTIONS(2131), 3, + sym__newline, + anon_sym_from, + sym__semicolon, + [53913] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2195), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [53930] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2396), 1, + anon_sym_LPAREN, + ACTIONS(2398), 1, + anon_sym_COLON, + ACTIONS(2400), 1, + anon_sym_LBRACK, + STATE(1210), 1, + sym_type_parameters, + STATE(1402), 1, + sym_argument_list, + [53949] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2402), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [53966] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2404), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + [53977] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2406), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [53994] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2408), 1, + anon_sym_RBRACE, + ACTIONS(2410), 1, + anon_sym_EQ, + ACTIONS(2412), 1, + sym_type_conversion, + STATE(1470), 1, + sym_format_specifier, + [54013] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2327), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_if, + anon_sym_COLON, + anon_sym_RBRACK, + [54024] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2414), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [54041] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2416), 2, + sym__newline, + sym__semicolon, + [54058] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2418), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [54075] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2420), 2, + sym__newline, + sym__semicolon, + [54092] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2422), 2, + sym__newline, + sym__semicolon, + [54109] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1897), 1, + anon_sym_COMMA, + STATE(1077), 1, + aux_sym__collection_elements_repeat1, + ACTIONS(1907), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + [54124] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2424), 1, + anon_sym_COMMA, + STATE(1096), 1, + aux_sym_expression_list_repeat1, + ACTIONS(2075), 3, + sym__newline, + anon_sym_from, + sym__semicolon, + [54139] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2233), 1, + sym_identifier, + STATE(1132), 1, + sym_dotted_name, + STATE(1289), 1, + sym_aliased_import, + ACTIONS(2427), 2, + sym__newline, + sym__semicolon, + [54156] = 6, ACTIONS(1948), 1, sym_comment, - ACTIONS(2442), 1, + ACTIONS(2429), 1, anon_sym_RBRACE, - ACTIONS(2444), 1, + ACTIONS(2431), 1, anon_sym_LBRACE2, - ACTIONS(2446), 1, + ACTIONS(2433), 1, aux_sym_format_specifier_token1, STATE(1104), 1, aux_sym_format_specifier_repeat1, - STATE(1283), 1, + STATE(1255), 1, sym_interpolation, - [54110] = 5, + [54175] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2229), 1, + ACTIONS(2437), 1, + anon_sym_COMMA, + STATE(1099), 1, + aux_sym__collection_elements_repeat1, + ACTIONS(2435), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + anon_sym_RBRACE, + [54190] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2440), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [54207] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2233), 1, sym_identifier, - STATE(1114), 1, + STATE(1132), 1, sym_dotted_name, STATE(1289), 1, sym_aliased_import, - ACTIONS(2448), 2, + ACTIONS(2427), 2, sym__newline, sym__semicolon, - [54127] = 5, + [54224] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2229), 1, - sym_identifier, - STATE(1114), 1, - sym_dotted_name, - STATE(1289), 1, - sym_aliased_import, - ACTIONS(2448), 2, - sym__newline, - sym__semicolon, - [54144] = 6, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2442), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [54241] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2396), 1, + anon_sym_LPAREN, + ACTIONS(2400), 1, + anon_sym_LBRACK, + ACTIONS(2444), 1, + anon_sym_COLON, + STATE(1239), 1, + sym_type_parameters, + STATE(1444), 1, + sym_argument_list, + [54260] = 6, ACTIONS(1948), 1, sym_comment, - ACTIONS(2444), 1, + ACTIONS(2431), 1, anon_sym_LBRACE2, - ACTIONS(2450), 1, + ACTIONS(2446), 1, anon_sym_RBRACE, - ACTIONS(2452), 1, + ACTIONS(2448), 1, aux_sym_format_specifier_token1, - STATE(1094), 1, + STATE(1072), 1, aux_sym_format_specifier_repeat1, - STATE(1283), 1, + STATE(1255), 1, sym_interpolation, - [54163] = 2, + [54279] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2450), 1, + anon_sym_COMMA, + ACTIONS(2452), 1, + anon_sym_as, + STATE(1145), 1, + aux_sym__import_list_repeat1, + ACTIONS(2454), 2, + sym__newline, + sym__semicolon, + [54296] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2456), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [54313] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1868), 5, @@ -68241,2941 +68374,2989 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_as, sym__semicolon, - [54174] = 4, + [54324] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2195), 1, - anon_sym_COMMA, - STATE(1161), 1, - aux_sym_assert_statement_repeat1, - ACTIONS(2454), 2, - sym__newline, - sym__semicolon, - [54188] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2456), 1, - anon_sym_else, - [54204] = 4, + ACTIONS(2400), 1, + anon_sym_LBRACK, + ACTIONS(2458), 1, + anon_sym_LPAREN, + STATE(1359), 1, + sym_parameters, + STATE(1367), 1, + sym_type_parameters, + [54340] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2460), 1, anon_sym_COMMA, - STATE(847), 1, - aux_sym__patterns_repeat1, - ACTIONS(2458), 2, - anon_sym_RPAREN, - anon_sym_RBRACK, - [54218] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2462), 1, - sym_identifier, - STATE(1130), 1, - sym_dotted_name, - STATE(1271), 1, - sym_aliased_import, - STATE(1401), 1, - sym__import_list, - [54234] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(312), 1, - sym__template_string_start, - ACTIONS(1934), 1, - anon_sym_COLON, - STATE(570), 2, - sym_template_string, - aux_sym_concatenated_template_string_repeat1, - [54248] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2462), 1, - sym_identifier, - STATE(1130), 1, - sym_dotted_name, - STATE(1271), 1, - sym_aliased_import, - STATE(1395), 1, - sym__import_list, - [54264] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(310), 1, - sym__string_start, - ACTIONS(1934), 1, - anon_sym_COLON, - STATE(571), 2, - sym_string, - aux_sym_concatenated_string_repeat1, - [54278] = 4, + STATE(1124), 1, + aux_sym_print_statement_repeat1, + ACTIONS(2462), 2, + sym__newline, + sym__semicolon, + [54354] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2464), 1, anon_sym_COMMA, - STATE(1113), 1, - aux_sym__import_list_repeat1, - ACTIONS(2467), 2, + STATE(1110), 1, + aux_sym_assert_statement_repeat1, + ACTIONS(2354), 2, sym__newline, sym__semicolon, - [54292] = 3, + [54368] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2428), 1, - anon_sym_as, - ACTIONS(2469), 3, - sym__newline, + ACTIONS(2467), 1, anon_sym_COMMA, - sym__semicolon, - [54304] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2471), 1, - anon_sym_else, - [54320] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2473), 1, - anon_sym_COMMA, - STATE(1118), 1, + STATE(1111), 1, aux_sym_print_statement_repeat1, - ACTIONS(2475), 2, + ACTIONS(2470), 2, sym__newline, sym__semicolon, - [54334] = 4, + [54382] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2479), 1, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2472), 1, anon_sym_COLON, + [54398] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2233), 1, + sym_identifier, + STATE(1105), 1, + sym_dotted_name, + STATE(1159), 1, + sym_aliased_import, + STATE(1352), 1, + sym__import_list, + [54414] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2476), 1, + anon_sym_DOT, + STATE(1114), 1, + aux_sym_import_prefix_repeat1, + ACTIONS(2474), 2, + anon_sym_import, + sym_identifier, + [54428] = 4, + ACTIONS(3), 1, + sym_comment, ACTIONS(2481), 1, - anon_sym_EQ, - ACTIONS(2477), 2, + anon_sym_COMMA, + STATE(1115), 1, + aux_sym_with_clause_repeat1, + ACTIONS(2479), 2, + anon_sym_RPAREN, + anon_sym_COLON, + [54442] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2486), 1, + anon_sym_COMMA, + STATE(848), 1, + aux_sym__patterns_repeat1, + ACTIONS(2484), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + [54456] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2223), 4, anon_sym_RPAREN, anon_sym_COMMA, - [54348] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2483), 1, - anon_sym_COMMA, - STATE(1156), 1, - aux_sym_print_statement_repeat1, - ACTIONS(2485), 2, - sym__newline, - sym__semicolon, - [54362] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2487), 1, - anon_sym_COMMA, - STATE(1156), 1, - aux_sym_print_statement_repeat1, - ACTIONS(2489), 2, - sym__newline, - sym__semicolon, - [54376] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2379), 1, anon_sym_COLON, - ACTIONS(2491), 1, - anon_sym_RBRACE, - ACTIONS(2493), 1, - sym_type_conversion, - STATE(1389), 1, - sym_format_specifier, - [54392] = 4, + anon_sym_EQ, + [54466] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2495), 1, + ACTIONS(2157), 4, + anon_sym_RPAREN, anon_sym_COMMA, - STATE(1121), 1, - aux_sym_global_statement_repeat1, + anon_sym_RBRACK, + anon_sym_RBRACE, + [54476] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(312), 1, + sym__template_string_start, + ACTIONS(1917), 1, + anon_sym_COLON, + STATE(572), 2, + sym_template_string, + aux_sym_concatenated_template_string_repeat1, + [54490] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(310), 1, + sym__string_start, + ACTIONS(1917), 1, + anon_sym_COLON, + STATE(573), 2, + sym_string, + aux_sym_concatenated_string_repeat1, + [54504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2490), 1, + anon_sym_EQ, + ACTIONS(2488), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + [54516] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2492), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [54526] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2494), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_RBRACE, + [54536] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2496), 1, + anon_sym_COMMA, + STATE(1111), 1, + aux_sym_print_statement_repeat1, ACTIONS(2498), 2, sym__newline, sym__semicolon, - [54406] = 5, + [54550] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, + ACTIONS(1881), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(1883), 1, anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, ACTIONS(2500), 1, anon_sym_COLON, - [54422] = 4, + [54566] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2502), 1, + anon_sym_COLON, + [54582] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(2504), 1, - anon_sym_COMMA, - STATE(1108), 1, - aux_sym__patterns_repeat1, - ACTIONS(2502), 2, - anon_sym_RPAREN, - anon_sym_RBRACK, - [54436] = 5, + sym_identifier, + STATE(1172), 1, + sym_dotted_name, + STATE(1182), 1, + sym_aliased_import, + STATE(1447), 1, + sym__import_list, + [54598] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2366), 1, - anon_sym_LBRACK, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, ACTIONS(2506), 1, - anon_sym_LPAREN, - STATE(1307), 1, - sym_type_parameters, - STATE(1376), 1, - sym_parameters, - [54452] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2508), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [54462] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2510), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [54472] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2366), 1, - anon_sym_LBRACK, - ACTIONS(2506), 1, - anon_sym_LPAREN, - STATE(1355), 1, - sym_type_parameters, - STATE(1367), 1, - sym_parameters, - [54488] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2512), 1, anon_sym_COLON, - [54504] = 4, + [54614] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2516), 1, - anon_sym_DOT, - STATE(1148), 1, - aux_sym_import_prefix_repeat1, - ACTIONS(2514), 2, - anon_sym_import, + ACTIONS(2504), 1, sym_identifier, - [54518] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2430), 1, - anon_sym_RPAREN, - ACTIONS(2518), 1, - anon_sym_COMMA, - ACTIONS(2520), 1, - anon_sym_as, - STATE(1201), 1, - aux_sym__import_list_repeat1, - [54534] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2522), 1, - anon_sym_else, - [54550] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2239), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_RBRACE, - [54560] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2524), 1, - anon_sym_case, - STATE(515), 1, - sym_cases, - STATE(390), 2, - sym_case_block, - aux_sym_cases_repeat1, - [54574] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2448), 1, - anon_sym_RPAREN, - ACTIONS(2462), 1, - sym_identifier, - STATE(1262), 1, + STATE(1172), 1, sym_dotted_name, - STATE(1374), 1, + STATE(1182), 1, sym_aliased_import, - [54590] = 4, + STATE(1386), 1, + sym__import_list, + [54630] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2524), 1, - anon_sym_case, - STATE(502), 1, - sym_cases, - STATE(390), 2, - sym_case_block, - aux_sym_cases_repeat1, - [54604] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2526), 1, - anon_sym_COLON, - [54620] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2448), 1, - anon_sym_RPAREN, - ACTIONS(2462), 1, - sym_identifier, - STATE(1262), 1, - sym_dotted_name, - STATE(1374), 1, - sym_aliased_import, - [54636] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2528), 1, - anon_sym_COLON, - [54652] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2379), 1, - anon_sym_COLON, - ACTIONS(2530), 1, - anon_sym_RBRACE, - ACTIONS(2532), 1, - sym_type_conversion, - STATE(1444), 1, - sym_format_specifier, - [54668] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2534), 1, - anon_sym_COLON, - [54684] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2536), 1, - anon_sym_COLON, - [54700] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2538), 1, - anon_sym_COLON, - [54716] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2540), 4, - anon_sym_async, - anon_sym_def, - anon_sym_class, - anon_sym_AT, - [54726] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2387), 1, - anon_sym_RPAREN, - ACTIONS(2462), 1, - sym_identifier, - STATE(1262), 1, - sym_dotted_name, - STATE(1374), 1, - sym_aliased_import, - [54742] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2542), 1, - anon_sym_else, - [54758] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2426), 1, + ACTIONS(2508), 1, anon_sym_COMMA, - STATE(1165), 1, - aux_sym__import_list_repeat1, - ACTIONS(2430), 2, - sym__newline, - sym__semicolon, - [54772] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1999), 4, - sym__newline, - anon_sym_from, - anon_sym_COMMA, - sym__semicolon, - [54782] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2546), 1, - anon_sym_DOT, - STATE(1148), 1, - aux_sym_import_prefix_repeat1, - ACTIONS(2544), 2, - anon_sym_import, - sym_identifier, - [54796] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2332), 1, - anon_sym_EQ, - STATE(1368), 1, - sym__type_param_default, - ACTIONS(2549), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [54810] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2332), 1, - anon_sym_EQ, - STATE(1339), 1, - sym__type_param_default, - ACTIONS(2551), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [54824] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2555), 1, - anon_sym_EQ, - ACTIONS(2553), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [54836] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2557), 1, - anon_sym_case, - STATE(495), 1, - sym_cases, - STATE(407), 2, - sym_case_block, - aux_sym_cases_repeat1, - [54850] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2559), 1, - anon_sym_COMMA, - STATE(1121), 1, - aux_sym_global_statement_repeat1, - ACTIONS(2561), 2, - sym__newline, - sym__semicolon, - [54864] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2332), 1, - anon_sym_EQ, - STATE(1348), 1, - sym__type_param_default, - ACTIONS(2563), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [54878] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2565), 1, - anon_sym_COLON, - [54894] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2567), 1, - anon_sym_COMMA, - STATE(1156), 1, + STATE(1111), 1, aux_sym_print_statement_repeat1, - ACTIONS(2570), 2, + ACTIONS(2510), 2, sym__newline, sym__semicolon, - [54908] = 4, + [54644] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2572), 1, + ACTIONS(2512), 1, anon_sym_COMMA, - STATE(1065), 1, + STATE(1131), 1, + aux_sym__import_list_repeat1, + ACTIONS(2515), 2, + sym__newline, + sym__semicolon, + [54658] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2452), 1, + anon_sym_as, + ACTIONS(2517), 3, + sym__newline, + anon_sym_COMMA, + sym__semicolon, + [54670] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2519), 1, + anon_sym_COMMA, + STATE(1131), 1, + aux_sym__import_list_repeat1, + ACTIONS(2521), 2, + sym__newline, + sym__semicolon, + [54684] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2197), 1, + anon_sym_COMMA, + STATE(1110), 1, + aux_sym_assert_statement_repeat1, + ACTIONS(2523), 2, + sym__newline, + sym__semicolon, + [54698] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2525), 1, + anon_sym_COMMA, + STATE(1135), 1, + aux_sym_global_statement_repeat1, + ACTIONS(2528), 2, + sym__newline, + sym__semicolon, + [54712] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2400), 1, + anon_sym_LBRACK, + ACTIONS(2458), 1, + anon_sym_LPAREN, + STATE(1322), 1, + sym_type_parameters, + STATE(1355), 1, + sym_parameters, + [54728] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2530), 1, + anon_sym_case, + STATE(541), 1, + sym_cases, + STATE(414), 2, + sym_case_block, + aux_sym_cases_repeat1, + [54742] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2530), 1, + anon_sym_case, + STATE(484), 1, + sym_cases, + STATE(414), 2, + sym_case_block, + aux_sym_cases_repeat1, + [54756] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2532), 1, + anon_sym_RBRACE, + ACTIONS(2534), 1, + sym_type_conversion, + STATE(1410), 1, + sym_format_specifier, + [54772] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2063), 1, + anon_sym_and, + ACTIONS(2065), 1, + anon_sym_or, + ACTIONS(2069), 1, + anon_sym_if, + ACTIONS(2536), 1, + sym__newline, + [54788] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2538), 1, + anon_sym_COMMA, + STATE(1057), 1, aux_sym_open_sequence_match_pattern_repeat1, ACTIONS(1723), 2, anon_sym_if, anon_sym_COLON, - [54922] = 5, + [54802] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2229), 1, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2540), 1, + anon_sym_else, + [54818] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2542), 1, + anon_sym_COMMA, + STATE(1156), 1, + aux_sym_global_statement_repeat1, + ACTIONS(2544), 2, + sym__newline, + sym__semicolon, + [54832] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2542), 1, + anon_sym_COMMA, + STATE(1155), 1, + aux_sym_global_statement_repeat1, + ACTIONS(2546), 2, + sym__newline, + sym__semicolon, + [54846] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2548), 1, + anon_sym_COMMA, + STATE(1131), 1, + aux_sym__import_list_repeat1, + ACTIONS(2521), 2, + sym__newline, + sym__semicolon, + [54860] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2390), 1, + anon_sym_RPAREN, + ACTIONS(2504), 1, sym_identifier, - STATE(1095), 1, + STATE(1226), 1, sym_dotted_name, - STATE(1146), 1, - sym_aliased_import, STATE(1358), 1, - sym__import_list, - [54938] = 5, + sym_aliased_import, + [54876] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2574), 1, - anon_sym_COLON, - [54954] = 4, + ACTIONS(2550), 1, + anon_sym_case, + STATE(530), 1, + sym_cases, + STATE(390), 2, + sym_case_block, + aux_sym_cases_repeat1, + [54890] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2195), 1, - anon_sym_COMMA, - STATE(1161), 1, - aux_sym_assert_statement_repeat1, - ACTIONS(2576), 2, - sym__newline, - sym__semicolon, - [54968] = 4, + ACTIONS(2550), 1, + anon_sym_case, + STATE(529), 1, + sym_cases, + STATE(390), 2, + sym_case_block, + aux_sym_cases_repeat1, + [54904] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2578), 1, - anon_sym_COMMA, - STATE(1161), 1, - aux_sym_assert_statement_repeat1, - ACTIONS(2312), 2, - sym__newline, - sym__semicolon, - [54982] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2199), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - anon_sym_EQ, - [54992] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2581), 1, - anon_sym_COLON, - [55008] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2583), 1, - anon_sym_COMMA, - STATE(1113), 1, - aux_sym__import_list_repeat1, - ACTIONS(2585), 2, - sym__newline, - sym__semicolon, - [55022] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2587), 1, - anon_sym_COMMA, - STATE(1113), 1, - aux_sym__import_list_repeat1, - ACTIONS(2585), 2, - sym__newline, - sym__semicolon, - [55036] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2366), 1, + ACTIONS(2400), 1, anon_sym_LBRACK, - ACTIONS(2506), 1, + ACTIONS(2458), 1, anon_sym_LPAREN, - STATE(1320), 1, + STATE(1317), 1, sym_type_parameters, - STATE(1356), 1, + STATE(1349), 1, sym_parameters, - [55052] = 4, + [54920] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2591), 1, - anon_sym_COMMA, - STATE(1167), 1, - aux_sym_with_clause_repeat1, - ACTIONS(2589), 2, - anon_sym_RPAREN, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2552), 1, anon_sym_COLON, - [55066] = 5, + [54936] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2366), 1, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2554), 1, + anon_sym_COLON, + [54952] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2556), 1, + anon_sym_COMMA, + STATE(1152), 1, + aux_sym_exception_list_repeat1, + ACTIONS(2559), 2, + anon_sym_as, + anon_sym_COLON, + [54966] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2400), 1, anon_sym_LBRACK, - ACTIONS(2506), 1, + ACTIONS(2458), 1, anon_sym_LPAREN, STATE(1319), 1, sym_type_parameters, - STATE(1354), 1, + STATE(1350), 1, sym_parameters, - [55082] = 5, + [54982] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, + ACTIONS(1881), 1, anon_sym_and, - ACTIONS(1879), 1, + ACTIONS(1883), 1, anon_sym_or, - ACTIONS(2594), 1, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2561), 1, anon_sym_COLON, - [55098] = 5, + [54998] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2053), 1, - anon_sym_and, - ACTIONS(2055), 1, - anon_sym_or, - ACTIONS(2059), 1, - anon_sym_if, - ACTIONS(2596), 1, - sym__newline, - [55114] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2559), 1, + ACTIONS(2542), 1, anon_sym_COMMA, - STATE(1153), 1, + STATE(1135), 1, aux_sym_global_statement_repeat1, - ACTIONS(2598), 2, + ACTIONS(2563), 2, sym__newline, sym__semicolon, - [55128] = 4, + [55012] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2559), 1, + ACTIONS(2542), 1, anon_sym_COMMA, - STATE(1174), 1, + STATE(1135), 1, aux_sym_global_statement_repeat1, - ACTIONS(2600), 2, + ACTIONS(2565), 2, sym__newline, sym__semicolon, - [55142] = 4, + [55026] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2557), 1, - anon_sym_case, - STATE(496), 1, - sym_cases, - STATE(407), 2, - sym_case_block, - aux_sym_cases_repeat1, - [55156] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2559), 1, - anon_sym_COMMA, - STATE(1121), 1, - aux_sym_global_statement_repeat1, - ACTIONS(2602), 2, - sym__newline, - sym__semicolon, - [55170] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1875), 1, - anon_sym_if, - ACTIONS(1877), 1, - anon_sym_and, - ACTIONS(1879), 1, - anon_sym_or, - ACTIONS(2604), 1, + ACTIONS(2569), 1, anon_sym_COLON, - [55186] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1862), 1, - anon_sym_RPAREN, - ACTIONS(2606), 1, - anon_sym_COMMA, - STATE(1275), 1, - aux_sym__parameters_repeat1, - [55199] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(915), 1, - anon_sym_RPAREN, - ACTIONS(2608), 1, - anon_sym_COMMA, - STATE(1167), 1, - aux_sym_with_clause_repeat1, - [55212] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1737), 1, - anon_sym_RPAREN, - ACTIONS(2610), 1, - sym_identifier, - STATE(1341), 1, - sym_match_keyword_pattern, - [55225] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2262), 1, - anon_sym_RBRACE, - ACTIONS(2264), 2, - anon_sym_LBRACE2, - aux_sym_format_specifier_token1, - [55236] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2612), 1, - anon_sym_COMMA, - ACTIONS(2614), 1, - anon_sym_RBRACK, - STATE(1217), 1, - aux_sym_open_sequence_match_pattern_repeat1, - [55249] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2616), 1, - anon_sym_RPAREN, - ACTIONS(2618), 1, - anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [55262] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1840), 1, - anon_sym_COMMA, - ACTIONS(2621), 1, - anon_sym_in, - STATE(862), 1, - aux_sym__patterns_repeat1, - [55275] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1840), 1, - anon_sym_COMMA, - ACTIONS(2623), 1, - anon_sym_in, - STATE(862), 1, - aux_sym__patterns_repeat1, - [55288] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2625), 1, - sym__semicolon, - ACTIONS(2627), 1, - sym__newline, - STATE(1302), 1, - aux_sym__simple_statements_repeat1, - [55301] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2274), 1, - anon_sym_RBRACE, - ACTIONS(2276), 2, - anon_sym_LBRACE2, - aux_sym_format_specifier_token1, - [55312] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2629), 1, + ACTIONS(2571), 1, anon_sym_EQ, - ACTIONS(2631), 2, + ACTIONS(2567), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [55040] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2573), 1, + anon_sym_COLON, + [55056] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2450), 1, + anon_sym_COMMA, + STATE(1133), 1, + aux_sym__import_list_repeat1, + ACTIONS(2454), 2, sym__newline, sym__semicolon, - [55323] = 4, + [55070] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2633), 1, - anon_sym_COMMA, - ACTIONS(2635), 1, - anon_sym_RBRACE, - STATE(1252), 1, - aux_sym_match_mapping_pattern_repeat1, - [55336] = 4, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2575), 1, + anon_sym_else, + [55086] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1737), 1, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2577), 1, + anon_sym_COLON, + [55102] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2579), 1, + anon_sym_COLON, + [55118] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2427), 1, anon_sym_RPAREN, - ACTIONS(2637), 1, - anon_sym_COMMA, - STATE(1209), 1, - aux_sym_match_class_pattern_repeat2, - [55349] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2462), 1, + ACTIONS(2504), 1, sym_identifier, - STATE(1262), 1, + STATE(1226), 1, sym_dotted_name, - STATE(1374), 1, + STATE(1358), 1, sym_aliased_import, - [55362] = 4, + [55134] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1739), 1, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2581), 1, + anon_sym_else, + [55150] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2427), 1, anon_sym_RPAREN, - ACTIONS(2639), 1, - anon_sym_COMMA, - STATE(1229), 1, - aux_sym_match_class_pattern_repeat2, - [55375] = 4, + ACTIONS(2504), 1, + sym_identifier, + STATE(1226), 1, + sym_dotted_name, + STATE(1358), 1, + sym_aliased_import, + [55166] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(2641), 1, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2583), 1, + anon_sym_COLON, + [55182] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2197), 1, + anon_sym_COMMA, + STATE(1110), 1, + aux_sym_assert_statement_repeat1, + ACTIONS(2585), 2, + sym__newline, + sym__semicolon, + [55196] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2009), 4, + sym__newline, + anon_sym_from, + anon_sym_COMMA, + sym__semicolon, + [55206] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2587), 1, + anon_sym_COLON, + [55222] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1881), 1, + anon_sym_and, + ACTIONS(1883), 1, + anon_sym_or, + ACTIONS(1895), 1, + anon_sym_if, + ACTIONS(2589), 1, + anon_sym_else, + [55238] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2593), 1, + anon_sym_DOT, + STATE(1114), 1, + aux_sym_import_prefix_repeat1, + ACTIONS(2591), 2, + anon_sym_import, + sym_identifier, + [55252] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, anon_sym_RPAREN, - ACTIONS(2643), 1, + ACTIONS(2595), 1, anon_sym_COMMA, - STATE(1191), 1, - aux_sym_match_class_pattern_repeat1, - [55388] = 2, + ACTIONS(2597), 1, + anon_sym_as, + STATE(1305), 1, + aux_sym__import_list_repeat1, + [55268] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2199), 3, + ACTIONS(2599), 4, + anon_sym_async, + anon_sym_def, + anon_sym_class, + anon_sym_AT, + [55278] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2342), 1, + anon_sym_EQ, + STATE(1321), 1, + sym__type_param_default, + ACTIONS(2601), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [55292] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2342), 1, + anon_sym_EQ, + STATE(1323), 1, + sym__type_param_default, + ACTIONS(2603), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [55306] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2342), 1, + anon_sym_EQ, + STATE(1325), 1, + sym__type_param_default, + ACTIONS(2605), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [55320] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2609), 1, + anon_sym_COMMA, + STATE(1116), 1, + aux_sym__patterns_repeat1, + ACTIONS(2607), 2, + anon_sym_RPAREN, + anon_sym_RBRACK, + [55334] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2177), 1, + anon_sym_COMMA, + STATE(1152), 1, + aux_sym_exception_list_repeat1, + ACTIONS(2611), 2, + anon_sym_as, + anon_sym_COLON, + [55348] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2613), 1, + anon_sym_RBRACE, + ACTIONS(2615), 1, + sym_type_conversion, + STATE(1458), 1, + sym_format_specifier, + [55364] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2617), 1, + anon_sym_COMMA, + ACTIONS(2620), 1, + anon_sym_RBRACE, + STATE(1180), 1, + aux_sym_dictionary_repeat1, + [55377] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2622), 1, + sym__semicolon, + ACTIONS(2624), 1, + sym__newline, + STATE(1299), 1, + aux_sym__simple_statements_repeat1, + [55390] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2454), 1, + anon_sym_RPAREN, + ACTIONS(2595), 1, + anon_sym_COMMA, + STATE(1267), 1, + aux_sym__import_list_repeat1, + [55403] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2626), 1, + anon_sym_if, + ACTIONS(2628), 1, + anon_sym_COLON, + STATE(1506), 1, + sym_guard, + [55416] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2630), 1, + anon_sym_COMMA, + ACTIONS(2632), 2, + anon_sym_if, + anon_sym_COLON, + [55427] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2223), 3, sym__newline, anon_sym_EQ, sym__semicolon, - [55397] = 4, + [55436] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2646), 1, - anon_sym_COMMA, - ACTIONS(2648), 1, - anon_sym_RBRACK, - STATE(1199), 1, - aux_sym_type_parameters_repeat1, - [55410] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2650), 3, + ACTIONS(2634), 3, anon_sym_LPAREN, anon_sym_COLON, anon_sym_EQ, - [55419] = 4, + [55445] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2636), 1, + anon_sym_COMMA, + ACTIONS(2638), 1, + anon_sym_RBRACK, + STATE(1248), 1, + aux_sym_type_parameters_repeat1, + [55458] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2640), 1, + anon_sym_RPAREN, + ACTIONS(2642), 1, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [55471] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2644), 1, + anon_sym_RPAREN, + ACTIONS(2646), 1, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [55484] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2504), 1, + sym_identifier, + STATE(1226), 1, + sym_dotted_name, + STATE(1358), 1, + sym_aliased_import, + [55497] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2288), 1, + anon_sym_RBRACE, + ACTIONS(2290), 2, + anon_sym_LBRACE2, + aux_sym_format_specifier_token1, + [55508] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2648), 1, + anon_sym_RPAREN, + ACTIONS(2650), 1, + anon_sym_COMMA, + STATE(1295), 1, + aux_sym_match_class_pattern_repeat2, + [55521] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2652), 1, - anon_sym_if, + anon_sym_RPAREN, ACTIONS(2654), 1, - anon_sym_COLON, - STATE(1456), 1, - sym_guard, - [55432] = 3, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [55534] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2656), 1, - anon_sym_COMMA, - ACTIONS(2658), 2, - anon_sym_if, - anon_sym_COLON, - [55443] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2362), 1, - anon_sym_LPAREN, - ACTIONS(2660), 1, - anon_sym_COLON, - STATE(1445), 1, - sym_argument_list, - [55456] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2662), 3, - anon_sym_LPAREN, - anon_sym_COLON, - anon_sym_EQ, - [55465] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2664), 1, - anon_sym_COMMA, - ACTIONS(2667), 1, - anon_sym_RBRACK, - STATE(1199), 1, - aux_sym_type_parameters_repeat1, - [55478] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1739), 1, anon_sym_RPAREN, - ACTIONS(2610), 1, - sym_identifier, - STATE(1341), 1, - sym_match_keyword_pattern, - [55491] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2585), 1, - anon_sym_RPAREN, - ACTIONS(2669), 1, + ACTIONS(2658), 1, anon_sym_COMMA, - STATE(1263), 1, - aux_sym__import_list_repeat1, - [55504] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2585), 1, - anon_sym_RPAREN, - ACTIONS(2671), 1, - anon_sym_COMMA, - STATE(1263), 1, - aux_sym__import_list_repeat1, - [55517] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1421), 3, - sym__newline, - anon_sym_in, - sym__semicolon, - [55526] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2673), 1, - sym__semicolon, - ACTIONS(2676), 1, - sym__newline, - STATE(1204), 1, - aux_sym__simple_statements_repeat1, - [55539] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2652), 1, - anon_sym_if, - ACTIONS(2678), 1, - anon_sym_COLON, - STATE(1470), 1, - sym_guard, - [55552] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1862), 1, - anon_sym_COLON, - ACTIONS(2680), 1, - anon_sym_COMMA, - STATE(1278), 1, - aux_sym__parameters_repeat1, - [55565] = 2, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [55547] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1425), 3, sym__newline, anon_sym_in, sym__semicolon, - [55574] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2284), 1, - anon_sym_RBRACE, - ACTIONS(2286), 2, - anon_sym_LBRACE2, - aux_sym_format_specifier_token1, - [55585] = 4, + [55556] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2682), 1, - anon_sym_RPAREN, - ACTIONS(2684), 1, - anon_sym_COMMA, - STATE(1209), 1, - aux_sym_match_class_pattern_repeat2, - [55598] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1187), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [55607] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2687), 1, - sym_identifier, - ACTIONS(2689), 1, - sym_match_wildcard_pattern, - STATE(1096), 1, - sym_match_capture_pattern, - [55620] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2362), 1, - anon_sym_LPAREN, - ACTIONS(2691), 1, - anon_sym_COLON, - STATE(1453), 1, - sym_argument_list, - [55633] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1731), 1, - anon_sym_RPAREN, - ACTIONS(2693), 1, - anon_sym_COMMA, - STATE(1065), 1, - aux_sym_open_sequence_match_pattern_repeat1, - [55646] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2695), 1, + ACTIONS(2661), 1, sym__semicolon, - ACTIONS(2697), 1, + ACTIONS(2664), 1, sym__newline, - STATE(1230), 1, + STATE(1196), 1, aux_sym__simple_statements_repeat1, - [55659] = 4, + [55569] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2179), 1, - sym_identifier, - ACTIONS(2699), 1, - anon_sym_import, - STATE(1478), 1, - sym_dotted_name, - [55672] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2701), 1, + ACTIONS(1897), 1, anon_sym_COMMA, - ACTIONS(2704), 1, - anon_sym_RBRACE, - STATE(1216), 1, - aux_sym_match_mapping_pattern_repeat1, - [55685] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1731), 1, - anon_sym_RBRACK, - ACTIONS(2706), 1, - anon_sym_COMMA, - STATE(1065), 1, - aux_sym_open_sequence_match_pattern_repeat1, - [55698] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1840), 1, - anon_sym_COMMA, - ACTIONS(2708), 1, - anon_sym_in, - STATE(862), 1, - aux_sym__patterns_repeat1, - [55711] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1908), 1, - anon_sym_DOT, - ACTIONS(1912), 1, - anon_sym_COLON, - STATE(880), 1, - aux_sym_match_value_pattern_repeat1, - [55724] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(2015), 1, + ACTIONS(2019), 1, anon_sym_RPAREN, - STATE(1287), 1, + STATE(1293), 1, aux_sym__collection_elements_repeat1, - [55737] = 4, + [55582] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1862), 1, + anon_sym_COLON, + ACTIONS(2666), 1, + anon_sym_COMMA, + STATE(1284), 1, + aux_sym__parameters_repeat1, + [55595] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1417), 3, + sym__newline, + anon_sym_in, + sym__semicolon, + [55604] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2648), 1, + anon_sym_RPAREN, + ACTIONS(2668), 1, + anon_sym_COMMA, + STATE(1275), 1, + aux_sym_match_class_pattern_repeat1, + [55617] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2670), 1, + anon_sym_COMMA, + ACTIONS(2673), 1, + anon_sym_RBRACK, + STATE(1201), 1, + aux_sym_index_expression_list_repeat1, + [55630] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2675), 1, + anon_sym_COMMA, + ACTIONS(2678), 1, + anon_sym_RBRACE, + STATE(1202), 1, + aux_sym_match_mapping_pattern_repeat1, + [55643] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2680), 1, + anon_sym_COMMA, + ACTIONS(2682), 1, + anon_sym_RBRACK, + STATE(1257), 1, + aux_sym_index_expression_list_repeat1, + [55656] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2684), 1, + anon_sym_RPAREN, + ACTIONS(2686), 1, + anon_sym_COMMA, + STATE(1189), 1, + aux_sym_argument_list_repeat1, + [55669] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2013), 1, + anon_sym_RPAREN, + ACTIONS(2015), 1, + anon_sym_COMMA, + STATE(1193), 1, + aux_sym_argument_list_repeat1, + [55682] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2688), 1, + anon_sym_COMMA, + ACTIONS(2690), 1, + anon_sym_RBRACK, + STATE(1232), 1, + aux_sym_open_sequence_match_pattern_repeat1, + [55695] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2692), 1, + anon_sym_COMMA, + ACTIONS(2694), 1, + anon_sym_RBRACE, + STATE(1180), 1, + aux_sym_dictionary_repeat1, + [55708] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2696), 1, + anon_sym_COMMA, + ACTIONS(2698), 1, + anon_sym_RBRACE, + STATE(1180), 1, + aux_sym_dictionary_repeat1, + [55721] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1175), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + [55730] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2396), 1, + anon_sym_LPAREN, + ACTIONS(2700), 1, + anon_sym_COLON, + STATE(1413), 1, + sym_argument_list, + [55743] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(556), 1, + sym__newline, + ACTIONS(2702), 1, + sym__semicolon, + STATE(1196), 1, + aux_sym__simple_statements_repeat1, + [55756] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2704), 1, + sym__semicolon, + ACTIONS(2706), 1, + sym__newline, + STATE(1231), 1, + aux_sym__simple_statements_repeat1, + [55769] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1739), 1, + anon_sym_RPAREN, + ACTIONS(2708), 1, + anon_sym_COMMA, + STATE(1249), 1, + aux_sym_match_class_pattern_repeat2, + [55782] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2710), 1, - anon_sym_RPAREN, + sym_identifier, ACTIONS(2712), 1, - anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [55750] = 4, + sym_match_wildcard_pattern, + STATE(1086), 1, + sym_match_capture_pattern, + [55795] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(2191), 1, + anon_sym_COMMA, + ACTIONS(2193), 1, + anon_sym_RBRACE, + STATE(1208), 1, + aux_sym_dictionary_repeat1, + [55808] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2515), 1, + anon_sym_RPAREN, ACTIONS(2714), 1, - anon_sym_RPAREN, - ACTIONS(2716), 1, anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [55763] = 4, + STATE(1216), 1, + aux_sym__import_list_repeat1, + [55821] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(2718), 1, - anon_sym_RPAREN, - ACTIONS(2720), 1, - anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [55776] = 4, + ACTIONS(2717), 1, + anon_sym_EQ, + ACTIONS(2719), 2, + sym__newline, + sym__semicolon, + [55832] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1881), 1, + ACTIONS(1897), 1, anon_sym_COMMA, ACTIONS(2007), 1, anon_sym_RPAREN, - STATE(1287), 1, + STATE(1293), 1, aux_sym__collection_elements_repeat1, - [55789] = 4, + [55845] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2213), 1, - anon_sym_COMMA, - ACTIONS(2215), 1, - anon_sym_RBRACE, - STATE(1241), 1, - aux_sym_dictionary_repeat1, - [55802] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2610), 1, + ACTIONS(2207), 1, sym_identifier, - ACTIONS(2722), 1, - anon_sym_RPAREN, - STATE(1341), 1, - sym_match_keyword_pattern, - [55815] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2724), 1, - anon_sym_COMMA, - ACTIONS(2726), 1, - anon_sym_RBRACK, - STATE(1261), 1, - aux_sym_index_expression_list_repeat1, - [55828] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2728), 1, - anon_sym_RPAREN, - ACTIONS(2730), 1, - anon_sym_COMMA, - STATE(1176), 1, - aux_sym__parameters_repeat1, - [55841] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2722), 1, - anon_sym_RPAREN, - ACTIONS(2732), 1, - anon_sym_COMMA, - STATE(1209), 1, - aux_sym_match_class_pattern_repeat2, - [55854] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(558), 1, - sym__newline, - ACTIONS(2734), 1, - sym__semicolon, - STATE(1204), 1, - aux_sym__simple_statements_repeat1, - [55867] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2736), 1, - anon_sym_RPAREN, - ACTIONS(2738), 1, - anon_sym_COMMA, - STATE(1222), 1, - aux_sym_argument_list_repeat1, - [55880] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1973), 1, - anon_sym_RPAREN, - ACTIONS(1975), 1, - anon_sym_COMMA, - STATE(1223), 1, - aux_sym_argument_list_repeat1, - [55893] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2229), 1, - sym_identifier, - STATE(1114), 1, + ACTIONS(2721), 1, + anon_sym_import, + STATE(1489), 1, sym_dotted_name, - STATE(1289), 1, - sym_aliased_import, - [55906] = 4, + [55858] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2740), 1, + ACTIONS(1897), 1, anon_sym_COMMA, - ACTIONS(2742), 1, - anon_sym_RBRACE, - STATE(1292), 1, - aux_sym_dictionary_repeat1, - [55919] = 4, + ACTIONS(1933), 1, + anon_sym_RPAREN, + STATE(1293), 1, + aux_sym__collection_elements_repeat1, + [55871] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2744), 1, + ACTIONS(2723), 1, + sym_identifier, + ACTIONS(2725), 1, + anon_sym_RPAREN, + STATE(1333), 1, + sym_match_keyword_pattern, + [55884] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2727), 1, + anon_sym_COLON, + ACTIONS(2567), 2, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(2746), 1, - anon_sym_RBRACE, - STATE(1292), 1, - aux_sym_dictionary_repeat1, - [55932] = 4, + [55895] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(560), 1, - sym__newline, - ACTIONS(2748), 1, - sym__semicolon, - STATE(1204), 1, - aux_sym__simple_statements_repeat1, + ACTIONS(1954), 1, + anon_sym_RPAREN, + ACTIONS(1956), 1, + anon_sym_COMMA, + STATE(1296), 1, + aux_sym_argument_list_repeat1, + [55908] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1873), 1, + anon_sym_DOT, + ACTIONS(1931), 1, + anon_sym_COLON, + STATE(881), 1, + aux_sym_match_value_pattern_repeat1, + [55921] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2227), 1, + anon_sym_COMMA, + ACTIONS(2229), 1, + anon_sym_RBRACE, + STATE(1247), 1, + aux_sym_dictionary_repeat1, + [55934] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2597), 1, + anon_sym_as, + ACTIONS(2517), 2, + anon_sym_RPAREN, + anon_sym_COMMA, [55945] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2379), 1, - anon_sym_COLON, - ACTIONS(2750), 1, - anon_sym_RBRACE, - STATE(1465), 1, - sym_format_specifier, + ACTIONS(2729), 1, + sym__semicolon, + ACTIONS(2731), 1, + sym__newline, + STATE(1211), 1, + aux_sym__simple_statements_repeat1, [55958] = 3, - ACTIONS(1948), 1, + ACTIONS(3), 1, sym_comment, - ACTIONS(2346), 1, - anon_sym_RBRACE, - ACTIONS(2348), 2, - anon_sym_LBRACE2, - aux_sym_format_specifier_token1, + ACTIONS(2147), 1, + anon_sym_from, + ACTIONS(2151), 2, + sym__newline, + sym__semicolon, [55969] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2243), 1, + ACTIONS(2733), 1, + anon_sym_RPAREN, + ACTIONS(2735), 1, anon_sym_COMMA, - ACTIONS(2245), 1, - anon_sym_RBRACE, - STATE(1235), 1, - aux_sym_dictionary_repeat1, + STATE(1253), 1, + aux_sym__parameters_repeat1, [55982] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2752), 1, + ACTIONS(2737), 1, + anon_sym_RPAREN, + ACTIONS(2739), 1, anon_sym_COMMA, - ACTIONS(2754), 1, - anon_sym_RBRACE, - STATE(1292), 1, - aux_sym_dictionary_repeat1, + STATE(1265), 1, + aux_sym_argument_list_repeat1, [55995] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2756), 1, - anon_sym_COMMA, - ACTIONS(2758), 1, - anon_sym_RBRACE, - STATE(1292), 1, - aux_sym_dictionary_repeat1, + ACTIONS(562), 1, + sym__newline, + ACTIONS(2741), 1, + sym__semicolon, + STATE(1196), 1, + aux_sym__simple_statements_repeat1, [56008] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1737), 1, - anon_sym_RPAREN, - ACTIONS(2760), 1, + ACTIONS(1727), 1, + anon_sym_RBRACK, + ACTIONS(2743), 1, anon_sym_COMMA, - STATE(1191), 1, - aux_sym_match_class_pattern_repeat1, + STATE(1057), 1, + aux_sym_open_sequence_match_pattern_repeat1, [56021] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1881), 1, + ACTIONS(1844), 1, anon_sym_COMMA, - ACTIONS(1897), 1, - anon_sym_RPAREN, - STATE(1287), 1, - aux_sym__collection_elements_repeat1, + ACTIONS(2745), 1, + anon_sym_in, + STATE(861), 1, + aux_sym__patterns_repeat1, [56034] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2610), 1, - sym_identifier, - ACTIONS(2762), 1, + ACTIONS(1727), 1, anon_sym_RPAREN, - STATE(1341), 1, - sym_match_keyword_pattern, + ACTIONS(2747), 1, + anon_sym_COMMA, + STATE(1057), 1, + aux_sym_open_sequence_match_pattern_repeat1, [56047] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2764), 1, + ACTIONS(2749), 1, + anon_sym_RPAREN, + ACTIONS(2751), 1, anon_sym_COMMA, - ACTIONS(2766), 1, - anon_sym_RBRACE, - STATE(1292), 1, - aux_sym_dictionary_repeat1, + STATE(1302), 1, + aux_sym_match_class_pattern_repeat2, [56060] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2762), 1, + ACTIONS(2723), 1, + sym_identifier, + ACTIONS(2749), 1, anon_sym_RPAREN, - ACTIONS(2768), 1, - anon_sym_COMMA, - STATE(1209), 1, - aux_sym_match_class_pattern_repeat2, + STATE(1333), 1, + sym_match_keyword_pattern, [56073] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2770), 1, + ACTIONS(1844), 1, anon_sym_COMMA, - ACTIONS(2773), 1, - anon_sym_RBRACK, - STATE(1247), 1, - aux_sym_index_expression_list_repeat1, + ACTIONS(2753), 1, + anon_sym_in, + STATE(861), 1, + aux_sym__patterns_repeat1, [56086] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2775), 1, + ACTIONS(2755), 1, anon_sym_COMMA, - ACTIONS(2777), 1, - anon_sym_RBRACE, - STATE(1292), 1, - aux_sym_dictionary_repeat1, + ACTIONS(2757), 1, + anon_sym_COLON, + STATE(1272), 1, + aux_sym_with_clause_repeat1, [56099] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2779), 1, - sym__semicolon, - ACTIONS(2781), 1, - sym__newline, - STATE(1236), 1, - aux_sym__simple_statements_repeat1, + ACTIONS(2396), 1, + anon_sym_LPAREN, + ACTIONS(2759), 1, + anon_sym_COLON, + STATE(1451), 1, + sym_argument_list, [56112] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2610), 1, - sym_identifier, - ACTIONS(2783), 1, - anon_sym_RPAREN, - STATE(1341), 1, - sym_match_keyword_pattern, - [56125] = 4, + ACTIONS(2636), 1, + anon_sym_COMMA, + ACTIONS(2761), 1, + anon_sym_RBRACK, + STATE(1187), 1, + aux_sym_type_parameters_repeat1, + [56125] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2323), 1, + anon_sym_RBRACE, + ACTIONS(2325), 2, + anon_sym_LBRACE2, + aux_sym_format_specifier_token1, + [56136] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2722), 1, + ACTIONS(2763), 1, anon_sym_RPAREN, - ACTIONS(2732), 1, + ACTIONS(2765), 1, anon_sym_COMMA, - STATE(1246), 1, + STATE(1235), 1, aux_sym_match_class_pattern_repeat2, - [56138] = 4, + [56149] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1784), 1, - anon_sym_RBRACE, - ACTIONS(2785), 1, + ACTIONS(2680), 1, anon_sym_COMMA, - STATE(1216), 1, - aux_sym_match_mapping_pattern_repeat1, - [56151] = 4, + ACTIONS(2767), 1, + anon_sym_RBRACK, + STATE(1257), 1, + aux_sym_index_expression_list_repeat1, + [56162] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2187), 1, - anon_sym_COMMA, - ACTIONS(2189), 1, + ACTIONS(2233), 1, + sym_identifier, + STATE(1132), 1, + sym_dotted_name, + STATE(1289), 1, + sym_aliased_import, + [56175] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2303), 1, anon_sym_RBRACE, - STATE(1248), 1, + ACTIONS(2305), 2, + anon_sym_LBRACE2, + aux_sym_format_specifier_token1, + [56186] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2769), 1, + anon_sym_COMMA, + ACTIONS(2771), 1, + anon_sym_RBRACE, + STATE(1180), 1, aux_sym_dictionary_repeat1, - [56164] = 4, + [56199] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1977), 1, - anon_sym_RPAREN, - ACTIONS(1979), 1, + ACTIONS(2773), 1, anon_sym_COMMA, - STATE(1277), 1, - aux_sym_argument_list_repeat1, - [56177] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2787), 1, - anon_sym_RPAREN, - ACTIONS(2789), 1, - anon_sym_COMMA, - STATE(1279), 1, - aux_sym_argument_list_repeat1, - [56190] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1969), 1, - anon_sym_RPAREN, - ACTIONS(1971), 1, - anon_sym_COMMA, - STATE(1272), 1, - aux_sym_argument_list_repeat1, - [56203] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2724), 1, - anon_sym_COMMA, - ACTIONS(2791), 1, - anon_sym_RBRACK, - STATE(1261), 1, - aux_sym_index_expression_list_repeat1, - [56216] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2071), 1, - anon_sym_from, - ACTIONS(2075), 2, - sym__newline, - sym__semicolon, - [56227] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2793), 1, - anon_sym_RPAREN, - ACTIONS(2795), 1, - anon_sym_COMMA, - STATE(1269), 1, - aux_sym_argument_list_repeat1, - [56240] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2379), 1, - anon_sym_COLON, - ACTIONS(2530), 1, + ACTIONS(2775), 1, anon_sym_RBRACE, - STATE(1444), 1, - sym_format_specifier, - [56253] = 4, + STATE(1180), 1, + aux_sym_dictionary_repeat1, + [56212] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2797), 1, + ACTIONS(2777), 1, anon_sym_COMMA, - ACTIONS(2799), 1, + ACTIONS(2780), 1, anon_sym_RBRACK, - STATE(1247), 1, - aux_sym_index_expression_list_repeat1, - [56266] = 3, + STATE(1248), 1, + aux_sym_type_parameters_repeat1, + [56225] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2520), 1, - anon_sym_as, - ACTIONS(2469), 2, + ACTIONS(2763), 1, anon_sym_RPAREN, + ACTIONS(2765), 1, anon_sym_COMMA, + STATE(1302), 1, + aux_sym_match_class_pattern_repeat2, + [56238] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2723), 1, + sym_identifier, + ACTIONS(2763), 1, + anon_sym_RPAREN, + STATE(1333), 1, + sym_match_keyword_pattern, + [56251] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2782), 1, + anon_sym_COMMA, + ACTIONS(2784), 1, + anon_sym_RBRACE, + STATE(1180), 1, + aux_sym_dictionary_repeat1, + [56264] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2786), 1, + anon_sym_RBRACE, + STATE(1408), 1, + sym_format_specifier, [56277] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2467), 1, + ACTIONS(1862), 1, anon_sym_RPAREN, - ACTIONS(2801), 1, + ACTIONS(2788), 1, anon_sym_COMMA, - STATE(1263), 1, - aux_sym__import_list_repeat1, - [56290] = 4, + STATE(1281), 1, + aux_sym__parameters_repeat1, + [56290] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2350), 1, + anon_sym_RBRACE, + ACTIONS(2352), 2, + anon_sym_LBRACE2, + aux_sym_format_specifier_token1, + [56301] = 3, + ACTIONS(1948), 1, + sym_comment, + ACTIONS(2790), 1, + anon_sym_RBRACE, + ACTIONS(2792), 2, + anon_sym_LBRACE2, + aux_sym_format_specifier_token1, + [56312] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2794), 1, + anon_sym_in, + ACTIONS(2796), 2, + sym__newline, + sym__semicolon, + [56323] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2798), 1, + anon_sym_COMMA, + ACTIONS(2800), 1, + anon_sym_RBRACK, + STATE(1201), 1, + aux_sym_index_expression_list_repeat1, + [56336] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2400), 1, + anon_sym_LBRACK, + ACTIONS(2802), 1, + anon_sym_EQ, + STATE(1392), 1, + sym_type_parameters, + [56349] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2217), 1, + anon_sym_COMMA, + ACTIONS(2219), 1, + anon_sym_RBRACE, + STATE(1269), 1, + aux_sym_dictionary_repeat1, + [56362] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1960), 1, + anon_sym_RPAREN, + ACTIONS(1962), 1, + anon_sym_COMMA, + STATE(1283), 1, + aux_sym_argument_list_repeat1, + [56375] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2804), 1, anon_sym_RPAREN, ACTIONS(2806), 1, anon_sym_COMMA, - STATE(1181), 1, + STATE(1285), 1, aux_sym_argument_list_repeat1, - [56303] = 4, + [56388] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2724), 1, + ACTIONS(2528), 3, + sym__newline, + anon_sym_COMMA, + sym__semicolon, + [56397] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2680), 1, anon_sym_COMMA, ACTIONS(2808), 1, anon_sym_RBRACK, - STATE(1261), 1, + STATE(1257), 1, aux_sym_index_expression_list_repeat1, - [56316] = 4, + [56410] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2810), 1, - anon_sym_COMMA, + anon_sym_RPAREN, ACTIONS(2812), 1, - anon_sym_COLON, - STATE(1167), 1, - aux_sym_with_clause_repeat1, - [56329] = 3, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [56423] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2814), 1, - anon_sym_COLON, - ACTIONS(2477), 2, anon_sym_RPAREN, + ACTIONS(2816), 1, anon_sym_COMMA, - [56340] = 4, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [56436] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2816), 1, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2532), 1, + anon_sym_RBRACE, + STATE(1410), 1, + sym_format_specifier, + [56449] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2521), 1, anon_sym_RPAREN, ACTIONS(2818), 1, anon_sym_COMMA, - STATE(1177), 1, - aux_sym_with_clause_repeat1, - [56353] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2820), 1, - anon_sym_RPAREN, - ACTIONS(2822), 1, - anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [56366] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1840), 1, - anon_sym_COMMA, - ACTIONS(2824), 1, - anon_sym_in, - STATE(862), 1, - aux_sym__patterns_repeat1, - [56379] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2430), 1, - anon_sym_RPAREN, - ACTIONS(2518), 1, - anon_sym_COMMA, - STATE(1202), 1, + STATE(1216), 1, aux_sym__import_list_repeat1, - [56392] = 4, + [56462] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2826), 1, - anon_sym_RPAREN, - ACTIONS(2828), 1, - anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [56405] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2553), 3, + ACTIONS(2820), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - [56414] = 4, + [56471] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1840), 1, + ACTIONS(2822), 1, + anon_sym_COMMA, + ACTIONS(2824), 1, + anon_sym_RBRACE, + STATE(1180), 1, + aux_sym_dictionary_repeat1, + [56484] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2613), 1, + anon_sym_RBRACE, + STATE(1458), 1, + sym_format_specifier, + [56497] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2571), 1, + anon_sym_EQ, + ACTIONS(2567), 2, + anon_sym_COMMA, + anon_sym_COLON, + [56508] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2755), 1, + anon_sym_COMMA, + ACTIONS(2826), 1, + anon_sym_COLON, + STATE(1115), 1, + aux_sym_with_clause_repeat1, + [56521] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2828), 1, anon_sym_COMMA, ACTIONS(2830), 1, - anon_sym_in, - STATE(862), 1, - aux_sym__patterns_repeat1, - [56427] = 4, + anon_sym_RBRACE, + STATE(1301), 1, + aux_sym_match_mapping_pattern_repeat1, + [56534] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2832), 1, anon_sym_RPAREN, ACTIONS(2834), 1, anon_sym_COMMA, - STATE(1275), 1, - aux_sym__parameters_repeat1, - [56440] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2810), 1, - anon_sym_COMMA, - ACTIONS(2837), 1, - anon_sym_COLON, - STATE(1266), 1, + STATE(1294), 1, aux_sym_with_clause_repeat1, - [56453] = 4, + [56547] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2839), 1, + ACTIONS(1737), 1, anon_sym_RPAREN, - ACTIONS(2841), 1, + ACTIONS(2836), 1, anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [56466] = 4, + STATE(1309), 1, + aux_sym_match_class_pattern_repeat1, + [56560] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2832), 1, + ACTIONS(2733), 1, anon_sym_COLON, - ACTIONS(2843), 1, + ACTIONS(2838), 1, anon_sym_COMMA, - STATE(1278), 1, + STATE(1198), 1, aux_sym__parameters_repeat1, - [56479] = 4, + [56573] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2626), 1, + anon_sym_if, + ACTIONS(2840), 1, + anon_sym_COLON, + STATE(1464), 1, + sym_guard, + [56586] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2567), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + [56595] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1844), 1, + anon_sym_COMMA, + ACTIONS(2842), 1, + anon_sym_in, + STATE(861), 1, + aux_sym__patterns_repeat1, + [56608] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1844), 1, + anon_sym_COMMA, + ACTIONS(2844), 1, + anon_sym_in, + STATE(861), 1, + aux_sym__patterns_repeat1, + [56621] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(2846), 1, anon_sym_RPAREN, ACTIONS(2848), 1, anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [56492] = 4, + STATE(1281), 1, + aux_sym__parameters_repeat1, + [56634] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2850), 1, - anon_sym_RPAREN, - ACTIONS(2852), 1, - anon_sym_COMMA, - STATE(1181), 1, - aux_sym_argument_list_repeat1, - [56505] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2379), 1, - anon_sym_COLON, - ACTIONS(2854), 1, - anon_sym_RBRACE, - STATE(1477), 1, - sym_format_specifier, - [56518] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2832), 3, + ACTIONS(2488), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - [56527] = 3, - ACTIONS(1948), 1, - sym_comment, - ACTIONS(2856), 1, - anon_sym_RBRACE, - ACTIONS(2858), 2, - anon_sym_LBRACE2, - aux_sym_format_specifier_token1, - [56538] = 4, + [56643] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2379), 1, + ACTIONS(2851), 1, + anon_sym_RPAREN, + ACTIONS(2853), 1, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [56656] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2846), 1, anon_sym_COLON, - ACTIONS(2491), 1, - anon_sym_RBRACE, - STATE(1389), 1, - sym_format_specifier, - [56551] = 2, + ACTIONS(2855), 1, + anon_sym_COMMA, + STATE(1284), 1, + aux_sym__parameters_repeat1, + [56669] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2498), 3, - sym__newline, - anon_sym_COMMA, - sym__semicolon, - [56560] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2646), 1, - anon_sym_COMMA, + ACTIONS(2858), 1, + anon_sym_RPAREN, ACTIONS(2860), 1, - anon_sym_RBRACK, - STATE(1193), 1, - aux_sym_type_parameters_repeat1, - [56573] = 4, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [56682] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2350), 1, - anon_sym_RPAREN, ACTIONS(2862), 1, - anon_sym_COMMA, - STATE(1093), 1, - aux_sym__collection_elements_repeat1, - [56586] = 3, - ACTIONS(3), 1, - sym_comment, + anon_sym_RPAREN, ACTIONS(2864), 1, - anon_sym_in, - ACTIONS(2866), 2, - sym__newline, - sym__semicolon, - [56597] = 2, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [56695] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2469), 3, + ACTIONS(2374), 1, + anon_sym_COLON, + ACTIONS(2866), 1, + anon_sym_RBRACE, + STATE(1497), 1, + sym_format_specifier, + [56708] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2846), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_COLON, + [56717] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2517), 3, sym__newline, anon_sym_COMMA, sym__semicolon, - [56606] = 2, + [56726] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2868), 3, sym__newline, anon_sym_COMMA, sym__semicolon, - [56615] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2366), 1, - anon_sym_LBRACK, - ACTIONS(2870), 1, - anon_sym_EQ, - STATE(1408), 1, - sym_type_parameters, - [56628] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2872), 1, - anon_sym_COMMA, - ACTIONS(2875), 1, - anon_sym_RBRACE, - STATE(1292), 1, - aux_sym_dictionary_repeat1, - [56641] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2877), 1, - anon_sym_RPAREN, - ACTIONS(2879), 1, - anon_sym_COMMA, - STATE(1188), 1, - aux_sym_match_class_pattern_repeat2, - [56654] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2881), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [56663] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2481), 1, - anon_sym_EQ, - ACTIONS(2477), 2, - anon_sym_COMMA, - anon_sym_COLON, - [56674] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2728), 1, - anon_sym_COLON, - ACTIONS(2883), 1, - anon_sym_COMMA, - STATE(1206), 1, - aux_sym__parameters_repeat1, - [56687] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(2885), 1, - anon_sym_RPAREN, - STATE(1300), 1, - aux_sym__collection_elements_repeat1, - [56700] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1881), 1, - anon_sym_COMMA, - ACTIONS(2887), 1, - anon_sym_RPAREN, - STATE(1097), 1, - aux_sym__collection_elements_repeat1, - [56713] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2477), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_COLON, - [56722] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2350), 1, - anon_sym_RPAREN, - ACTIONS(2889), 1, - anon_sym_COMMA, - STATE(1093), 1, - aux_sym__collection_elements_repeat1, [56735] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1840), 1, + ACTIONS(1844), 1, anon_sym_COMMA, - ACTIONS(2891), 1, + ACTIONS(2870), 1, anon_sym_in, - STATE(862), 1, + STATE(861), 1, aux_sym__patterns_repeat1, - [56748] = 4, + [56748] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(556), 1, - sym__newline, - ACTIONS(2893), 1, - sym__semicolon, - STATE(1204), 1, - aux_sym__simple_statements_repeat1, - [56761] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2895), 3, - anon_sym_RPAREN, - anon_sym_COMMA, + ACTIONS(2872), 3, + anon_sym_LPAREN, anon_sym_COLON, + anon_sym_EQ, + [56757] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2382), 1, + anon_sym_RPAREN, + ACTIONS(2874), 1, + anon_sym_COMMA, + STATE(1099), 1, + aux_sym__collection_elements_repeat1, [56770] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2877), 1, + ACTIONS(923), 1, anon_sym_RPAREN, - ACTIONS(2897), 1, + ACTIONS(2876), 1, anon_sym_COMMA, - STATE(1242), 1, - aux_sym_match_class_pattern_repeat1, - [56783] = 2, + STATE(1115), 1, + aux_sym_with_clause_repeat1, + [56783] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2589), 3, + ACTIONS(1737), 1, + anon_sym_RPAREN, + ACTIONS(2878), 1, + anon_sym_COMMA, + STATE(1302), 1, + aux_sym_match_class_pattern_repeat2, + [56796] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2880), 1, + anon_sym_RPAREN, + ACTIONS(2882), 1, + anon_sym_COMMA, + STATE(1194), 1, + aux_sym_argument_list_repeat1, + [56809] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2382), 1, + anon_sym_RPAREN, + ACTIONS(2884), 1, + anon_sym_COMMA, + STATE(1099), 1, + aux_sym__collection_elements_repeat1, + [56822] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2479), 3, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - [56792] = 3, + [56831] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2899), 1, - anon_sym_COLON, - ACTIONS(2901), 1, - anon_sym_DASH_GT, - [56802] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2506), 1, - anon_sym_LPAREN, - STATE(1342), 1, - sym_parameters, - [56812] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2903), 2, + ACTIONS(558), 1, sym__newline, + ACTIONS(2886), 1, sym__semicolon, - [56820] = 2, + STATE(1196), 1, + aux_sym__simple_statements_repeat1, + [56844] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2905), 2, - sym__newline, - sym__semicolon, - [56828] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2907), 1, + ACTIONS(1737), 1, + anon_sym_RPAREN, + ACTIONS(2723), 1, sym_identifier, - STATE(1371), 1, - sym_match_capture_pattern, - [56838] = 2, + STATE(1333), 1, + sym_match_keyword_pattern, + [56857] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2909), 2, - sym__newline, - sym__semicolon, - [56846] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(965), 2, - anon_sym_except, - anon_sym_finally, - [56854] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1908), 1, - anon_sym_DOT, - STATE(1219), 1, - aux_sym_match_value_pattern_repeat1, - [56864] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2911), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [56872] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2913), 2, - sym__newline, - sym__semicolon, - [56880] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2915), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [56888] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2917), 2, - sym__newline, - sym__semicolon, - [56896] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2919), 2, - sym__newline, - sym__semicolon, - [56904] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2506), 1, - anon_sym_LPAREN, - STATE(1350), 1, - sym_parameters, - [56914] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2506), 1, - anon_sym_LPAREN, - STATE(1351), 1, - sym_parameters, - [56924] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(949), 2, - anon_sym_except, - anon_sym_finally, - [56932] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2635), 1, + ACTIONS(1792), 1, anon_sym_RBRACE, - ACTIONS(2921), 1, + ACTIONS(2888), 1, anon_sym_COMMA, - [56942] = 2, + STATE(1202), 1, + aux_sym_match_mapping_pattern_repeat1, + [56870] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2923), 2, + ACTIONS(2890), 1, + anon_sym_RPAREN, + ACTIONS(2892), 1, anon_sym_COMMA, - anon_sym_RBRACE, - [56950] = 2, + STATE(1302), 1, + aux_sym_match_class_pattern_repeat2, + [56883] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1904), 2, - sym__newline, - sym__semicolon, - [56958] = 2, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(2895), 1, + anon_sym_RPAREN, + STATE(1297), 1, + aux_sym__collection_elements_repeat1, + [56896] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2477), 2, + ACTIONS(1897), 1, + anon_sym_COMMA, + ACTIONS(2897), 1, + anon_sym_RPAREN, + STATE(1077), 1, + aux_sym__collection_elements_repeat1, + [56909] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2521), 1, + anon_sym_RPAREN, + ACTIONS(2899), 1, + anon_sym_COMMA, + STATE(1216), 1, + aux_sym__import_list_repeat1, + [56922] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1844), 1, + anon_sym_COMMA, + ACTIONS(2901), 1, + anon_sym_in, + STATE(861), 1, + aux_sym__patterns_repeat1, + [56935] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2903), 3, + anon_sym_RPAREN, anon_sym_COMMA, anon_sym_COLON, - [56966] = 2, + [56944] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(2358), 2, + ACTIONS(1739), 1, + anon_sym_RPAREN, + ACTIONS(2723), 1, + sym_identifier, + STATE(1333), 1, + sym_match_keyword_pattern, + [56957] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2905), 1, + anon_sym_RPAREN, + ACTIONS(2907), 1, + anon_sym_COMMA, + STATE(1309), 1, + aux_sym_match_class_pattern_repeat1, + [56970] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2442), 2, anon_sym_RPAREN, anon_sym_COMMA, - [56974] = 3, + [56978] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2925), 1, - sym_integer, - ACTIONS(2927), 1, - sym_float, - [56984] = 3, + ACTIONS(2910), 2, + sym__newline, + sym__semicolon, + [56986] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2929), 1, - anon_sym_COMMA, - ACTIONS(2931), 1, - anon_sym_RBRACE, + ACTIONS(992), 2, + anon_sym_except, + anon_sym_finally, [56994] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(2073), 1, + ACTIONS(2912), 1, anon_sym_COMMA, - STATE(1077), 1, - aux_sym_expression_list_repeat1, + ACTIONS(2914), 1, + anon_sym_RBRACE, [57004] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2933), 2, + ACTIONS(2916), 2, sym__newline, sym__semicolon, [57012] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2935), 2, + ACTIONS(2918), 2, sym__newline, sym__semicolon, [57020] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2937), 2, + ACTIONS(2920), 2, sym__newline, sym__semicolon, - [57028] = 2, + [57028] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(2185), 2, - sym__newline, - sym__semicolon, - [57036] = 2, + ACTIONS(2458), 1, + anon_sym_LPAREN, + STATE(1347), 1, + sym_parameters, + [57038] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2939), 2, - anon_sym_COLON, - anon_sym_DASH_GT, - [57044] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2941), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [57052] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2943), 2, - sym__newline, - sym__semicolon, - [57060] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2641), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [57068] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(935), 2, + ACTIONS(964), 2, anon_sym_except, anon_sym_finally, - [57076] = 2, + [57046] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(2945), 2, + ACTIONS(2458), 1, + anon_sym_LPAREN, + STATE(1348), 1, + sym_parameters, + [57056] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2922), 1, + anon_sym_COLON, + ACTIONS(2924), 1, + anon_sym_DASH_GT, + [57066] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2926), 2, anon_sym_COMMA, anon_sym_RBRACK, + [57074] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2458), 1, + anon_sym_LPAREN, + STATE(1353), 1, + sym_parameters, [57084] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2947), 2, - sym__newline, - sym__semicolon, + ACTIONS(2928), 2, + anon_sym_COMMA, + anon_sym_RBRACK, [57092] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2682), 2, + ACTIONS(2372), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [57100] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2930), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [57108] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2932), 2, anon_sym_RPAREN, anon_sym_COMMA, - [57100] = 3, + [57116] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2949), 1, - anon_sym_COLON, - ACTIONS(2951), 1, - anon_sym_DASH_GT, - [57110] = 2, + ACTIONS(2934), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [57124] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(929), 2, - anon_sym_except, - anon_sym_finally, - [57118] = 2, + ACTIONS(2149), 1, + anon_sym_COMMA, + STATE(1078), 1, + aux_sym_expression_list_repeat1, + [57134] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2241), 2, sym__newline, sym__semicolon, - [57126] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2360), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [57134] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2953), 2, - sym__newline, - sym__semicolon, [57142] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2955), 2, - anon_sym_COMMA, - anon_sym_RBRACK, + ACTIONS(1891), 2, + sym__newline, + sym__semicolon, [57150] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2957), 2, + ACTIONS(2567), 2, anon_sym_COMMA, - anon_sym_RBRACK, + anon_sym_COLON, [57158] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2959), 2, - anon_sym_COLON, - anon_sym_DASH_GT, - [57166] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2961), 1, - anon_sym_COLON, - ACTIONS(2963), 1, - anon_sym_DASH_GT, - [57176] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2965), 1, - anon_sym_COLON, - ACTIONS(2967), 1, - anon_sym_DASH_GT, - [57186] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2969), 1, - anon_sym_COMMA, - STATE(1157), 1, - aux_sym_open_sequence_match_pattern_repeat1, - [57196] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2971), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [57204] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2973), 1, - anon_sym_COLON, - ACTIONS(2975), 1, - anon_sym_DASH_GT, - [57214] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2506), 1, - anon_sym_LPAREN, - STATE(1306), 1, - sym_parameters, - [57224] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2977), 1, - anon_sym_COLON, - ACTIONS(2979), 1, - anon_sym_DASH_GT, - [57234] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2676), 2, - sym__newline, - sym__semicolon, - [57242] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2981), 2, - sym__newline, - sym__semicolon, - [57250] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2656), 1, - anon_sym_COMMA, - ACTIONS(2983), 1, + ACTIONS(2905), 2, anon_sym_RPAREN, - [57260] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2985), 1, anon_sym_COMMA, - STATE(1213), 1, - aux_sym_open_sequence_match_pattern_repeat1, - [57270] = 2, + [57166] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2704), 2, + ACTIONS(2890), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [57174] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2936), 2, + anon_sym_COLON, + anon_sym_DASH_GT, + [57182] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2938), 2, + sym__newline, + sym__semicolon, + [57190] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2940), 1, + sym_integer, + ACTIONS(2942), 1, + sym_float, + [57200] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2830), 1, + anon_sym_RBRACE, + ACTIONS(2944), 1, + anon_sym_COMMA, + [57210] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2946), 2, + sym__newline, + sym__semicolon, + [57218] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1808), 1, + anon_sym_RBRACE, + ACTIONS(2948), 1, + anon_sym_COMMA, + [57228] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2950), 2, + sym__newline, + sym__semicolon, + [57236] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1873), 1, + anon_sym_DOT, + STATE(1224), 1, + aux_sym_match_value_pattern_repeat1, + [57246] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2952), 1, + sym_identifier, + STATE(1370), 1, + sym_match_capture_pattern, + [57256] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2954), 2, + sym__newline, + sym__semicolon, + [57264] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2678), 2, anon_sym_COMMA, anon_sym_RBRACE, - [57278] = 3, + [57272] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(2987), 1, + ACTIONS(2243), 1, + anon_sym_as, + ACTIONS(2245), 1, + anon_sym_COLON, + [57282] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2247), 1, + anon_sym_as, + ACTIONS(2249), 1, + anon_sym_COLON, + [57292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2956), 1, + anon_sym_COLON, + ACTIONS(2958), 1, + anon_sym_DASH_GT, + [57302] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2960), 1, + anon_sym_COLON, + ACTIONS(2962), 1, + anon_sym_DASH_GT, + [57312] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2964), 1, + anon_sym_COLON, + ACTIONS(2966), 1, + anon_sym_DASH_GT, + [57322] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2968), 1, + anon_sym_COLON, + ACTIONS(2970), 1, + anon_sym_DASH_GT, + [57332] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2723), 1, + sym_identifier, + STATE(1333), 1, + sym_match_keyword_pattern, + [57342] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2972), 2, + sym__newline, + sym__semicolon, + [57350] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2974), 1, + anon_sym_COLON, + ACTIONS(2976), 1, + anon_sym_DASH_GT, + [57360] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2179), 1, + anon_sym_as, + ACTIONS(2181), 1, + anon_sym_COLON, + [57370] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2978), 1, + anon_sym_COLON, + ACTIONS(2980), 1, + anon_sym_DASH_GT, + [57380] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2982), 2, + sym__newline, + sym__semicolon, + [57388] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2984), 2, + sym__newline, + sym__semicolon, + [57396] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2517), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [57404] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2986), 1, + anon_sym_COLON, + ACTIONS(2988), 1, + anon_sym_DASH_GT, + [57414] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(960), 2, + anon_sym_except, + anon_sym_finally, + [57422] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2990), 1, sym_integer, - ACTIONS(2989), 1, + ACTIONS(2992), 1, sym_float, - [57288] = 2, + [57432] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2994), 1, + anon_sym_COMMA, + STATE(1141), 1, + aux_sym_open_sequence_match_pattern_repeat1, + [57442] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2996), 2, + anon_sym_COLON, + anon_sym_DASH_GT, + [57450] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2998), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [57458] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3000), 2, + sym__newline, + sym__semicolon, + [57466] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3002), 1, + sym_integer, + ACTIONS(3004), 1, + sym_float, + [57476] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2458), 1, + anon_sym_LPAREN, + STATE(1320), 1, + sym_parameters, + [57486] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3006), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [57494] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2664), 2, + sym__newline, + sym__semicolon, + [57502] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3008), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [57510] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3010), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [57518] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(956), 2, + anon_sym_except, + anon_sym_finally, + [57526] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3012), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [57534] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2868), 2, anon_sym_RPAREN, anon_sym_COMMA, - [57296] = 3, + [57542] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1893), 1, + anon_sym_COMMA, + STATE(986), 1, + aux_sym_expression_list_repeat1, + [57552] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2630), 1, + anon_sym_COMMA, + ACTIONS(3014), 1, + anon_sym_RPAREN, + [57562] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2239), 2, + sym__newline, + sym__semicolon, + [57570] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3016), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [57578] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2261), 1, + anon_sym_as, + ACTIONS(2263), 1, + anon_sym_COLON, + [57588] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2189), 2, + sym__newline, + sym__semicolon, + [57596] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3018), 2, + sym__newline, + sym__semicolon, + [57604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3020), 1, + anon_sym_COMMA, + STATE(1234), 1, + aux_sym_open_sequence_match_pattern_repeat1, + [57614] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(986), 2, + anon_sym_except, + anon_sym_finally, + [57622] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3022), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + [57630] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3024), 1, + anon_sym_COLON, + [57637] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3026), 1, + anon_sym_RPAREN, + [57644] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3028), 1, + anon_sym_RBRACE, + [57651] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(1792), 1, anon_sym_RBRACE, - ACTIONS(2991), 1, - anon_sym_COMMA, - [57306] = 3, + [57658] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1906), 1, - anon_sym_COMMA, - STATE(989), 1, - aux_sym_expression_list_repeat1, - [57316] = 2, + ACTIONS(3030), 1, + anon_sym_RBRACE, + [57665] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(955), 2, - anon_sym_except, - anon_sym_finally, - [57324] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2993), 1, - anon_sym_COLON, - ACTIONS(2995), 1, - anon_sym_DASH_GT, - [57334] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2997), 2, - anon_sym_COMMA, + ACTIONS(3032), 1, anon_sym_RBRACK, - [57342] = 3, + [57672] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2999), 1, - sym_integer, - ACTIONS(3001), 1, - sym_float, - [57352] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2610), 1, - sym_identifier, - STATE(1341), 1, - sym_match_keyword_pattern, - [57362] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3003), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [57370] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3005), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [57378] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3007), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [57386] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2469), 2, + ACTIONS(3034), 1, anon_sym_RPAREN, - anon_sym_COMMA, - [57394] = 2, + [57679] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2247), 2, - sym__newline, - sym__semicolon, - [57402] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3009), 1, - anon_sym_COLON, - ACTIONS(3011), 1, - anon_sym_DASH_GT, - [57412] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3013), 1, - anon_sym_COLON, - [57419] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2296), 1, - anon_sym_COLON, - [57426] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3015), 1, - anon_sym_RBRACE, - [57433] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3017), 1, - anon_sym_RBRACE, - [57440] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3019), 1, - anon_sym_RBRACK, - [57447] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3021), 1, - anon_sym_RBRACE, - [57454] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3023), 1, - anon_sym_COLON, - [57461] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1784), 1, - anon_sym_RBRACE, - [57468] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3025), 1, - sym_identifier, - [57475] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3027), 1, - anon_sym_in, - [57482] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3029), 1, - anon_sym_RPAREN, - [57489] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3031), 1, - anon_sym_RBRACK, - [57496] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2750), 1, - anon_sym_RBRACE, - [57503] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3033), 1, - anon_sym_RPAREN, - [57510] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3035), 1, - anon_sym_RBRACE, - [57517] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3037), 1, - anon_sym_RBRACE, - [57524] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3039), 1, - sym_identifier, - [57531] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3041), 1, - sym_identifier, - [57538] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3043), 1, - anon_sym_RPAREN, - [57545] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3045), 1, - anon_sym_RPAREN, - [57552] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3047), 1, - anon_sym_in, - [57559] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3049), 1, - sym_identifier, - [57566] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3051), 1, - sym_identifier, - [57573] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2726), 1, - anon_sym_RBRACK, - [57580] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3053), 1, - anon_sym_RPAREN, - [57587] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3055), 1, - anon_sym_COLON, - [57594] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3057), 1, - anon_sym_RPAREN, - [57601] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3059), 1, - anon_sym_RBRACE, - [57608] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3061), 1, - anon_sym_RBRACE, - [57615] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3063), 1, - anon_sym_RBRACE, - [57622] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3065), 1, - anon_sym_RBRACK, - [57629] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3067), 1, + ACTIONS(3036), 1, anon_sym_EQ, - [57636] = 2, + [57686] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3069), 1, - anon_sym_RPAREN, - [57643] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3071), 1, - anon_sym_RPAREN, - [57650] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2708), 1, - anon_sym_in, - [57657] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3073), 1, - anon_sym_COLON, - [57664] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2266), 1, - anon_sym_COLON, - [57671] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3075), 1, - anon_sym_import, - [57678] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3077), 1, - sym_identifier, - [57685] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3079), 1, - anon_sym_RPAREN, - [57692] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3081), 1, - anon_sym_COLON, - [57699] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3083), 1, - anon_sym_in, - [57706] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3085), 1, - anon_sym_RPAREN, - [57713] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3087), 1, - anon_sym_RBRACE, - [57720] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3089), 1, - anon_sym_import, - [57727] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3091), 1, + ACTIONS(3038), 1, anon_sym_RBRACK, - [57734] = 2, + [57693] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3093), 1, - anon_sym_RPAREN, - [57741] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3095), 1, - anon_sym_COLON, - [57748] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2791), 1, - anon_sym_RBRACK, - [57755] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3097), 1, - anon_sym_COLON, - [57762] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3099), 1, - anon_sym_COLON, - [57769] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2530), 1, + ACTIONS(3040), 1, anon_sym_RBRACE, - [57776] = 2, + [57700] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3101), 1, + ACTIONS(3042), 1, + anon_sym_COLON, + [57707] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3044), 1, + anon_sym_RBRACE, + [57714] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3046), 1, + anon_sym_COLON, + [57721] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3048), 1, sym_identifier, - [57783] = 2, + [57728] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3103), 1, - anon_sym_COLON, - [57790] = 2, + ACTIONS(3050), 1, + anon_sym_in, + [57735] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3105), 1, + ACTIONS(3052), 1, + anon_sym_RPAREN, + [57742] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3054), 1, + anon_sym_RBRACK, + [57749] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3056), 1, anon_sym_COLON, - [57797] = 2, + [57756] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3058), 1, + anon_sym_RBRACE, + [57763] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3060), 1, + anon_sym_RBRACE, + [57770] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3062), 1, + anon_sym_RPAREN, + [57777] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3064), 1, + anon_sym_COLON, + [57784] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2682), 1, + anon_sym_RBRACK, + [57791] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3066), 1, + anon_sym_RBRACE, + [57798] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3068), 1, + anon_sym_RPAREN, + [57805] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2866), 1, + anon_sym_RBRACE, + [57812] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3070), 1, + sym_identifier, + [57819] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3072), 1, + sym_identifier, + [57826] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3074), 1, + anon_sym_COLON, + [57833] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3076), 1, + sym_identifier, + [57840] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3078), 1, + anon_sym_COLON, + [57847] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3080), 1, + anon_sym_RPAREN, + [57854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3082), 1, + anon_sym_in, + [57861] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3084), 1, + sym_identifier, + [57868] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3086), 1, + anon_sym_LPAREN, + [57875] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3088), 1, + anon_sym_import, + [57882] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3090), 1, + sym_identifier, + [57889] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2745), 1, + anon_sym_in, + [57896] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3092), 1, + anon_sym_COLON, + [57903] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3094), 1, + anon_sym_in, + [57910] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3096), 1, + anon_sym_COLON, + [57917] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3098), 1, + anon_sym_RPAREN, + [57924] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3100), 1, + anon_sym_import, + [57931] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2844), 1, + anon_sym_in, + [57938] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(891), 1, + anon_sym_STAR, + [57945] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3102), 1, + anon_sym_COLON, + [57952] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3104), 1, + anon_sym_COLON, + [57959] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3106), 1, + anon_sym_COLON, + [57966] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3108), 1, + anon_sym_COLON, + [57973] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3110), 1, + anon_sym_RBRACK, + [57980] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3112), 1, + anon_sym_COLON, + [57987] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3114), 1, + anon_sym_RPAREN, + [57994] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2311), 1, + anon_sym_COLON, + [58001] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3116), 1, + anon_sym_RBRACK, + [58008] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3118), 1, + anon_sym_COLON, + [58015] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3120), 1, + anon_sym_COLON, + [58022] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3122), 1, + anon_sym_RBRACK, + [58029] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3124), 1, + anon_sym_RBRACE, + [58036] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2753), 1, + anon_sym_in, + [58043] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3126), 1, + anon_sym_COLON, + [58050] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3128), 1, + anon_sym_RBRACE, + [58057] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2278), 1, + anon_sym_COLON, + [58064] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3130), 1, + anon_sym_RPAREN, + [58071] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3132), 1, + anon_sym_COLON, + [58078] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3134), 1, + anon_sym_COLON, + [58085] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3136), 1, + anon_sym_COLON, + [58092] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3138), 1, + anon_sym_COLON, + [58099] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3140), 1, + anon_sym_COLON, + [58106] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2321), 1, + anon_sym_COLON, + [58113] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2767), 1, + anon_sym_RBRACK, + [58120] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3142), 1, + anon_sym_RBRACE, + [58127] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3144), 1, + anon_sym_RBRACE, + [58134] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3146), 1, + anon_sym_RBRACE, + [58141] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2786), 1, + anon_sym_RBRACE, + [58148] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3148), 1, + anon_sym_COLON, + [58155] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2613), 1, + anon_sym_RBRACE, + [58162] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3150), 1, + anon_sym_COLON, + [58169] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3152), 1, + anon_sym_RBRACE, + [58176] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3154), 1, + anon_sym_RBRACE, + [58183] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3156), 1, + anon_sym_COLON, + [58190] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3158), 1, + anon_sym_COLON, + [58197] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3160), 1, + anon_sym_COLON, + [58204] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3162), 1, + anon_sym_RBRACK, + [58211] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3164), 1, + anon_sym_RPAREN, + [58218] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(2808), 1, anon_sym_RBRACK, - [57804] = 2, + [58225] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3107), 1, - anon_sym_COLON, - [57811] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3109), 1, - anon_sym_COLON, - [57818] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3111), 1, - anon_sym_COLON, - [57825] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2830), 1, - anon_sym_in, - [57832] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3113), 1, - anon_sym_COLON, - [57839] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3115), 1, - anon_sym_COLON, - [57846] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2824), 1, - anon_sym_in, - [57853] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3117), 1, - anon_sym_RBRACK, - [57860] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3119), 1, - anon_sym_COLON, - [57867] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3121), 1, - anon_sym_COLON, - [57874] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3123), 1, - anon_sym_COLON, - [57881] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2854), 1, + ACTIONS(2532), 1, anon_sym_RBRACE, - [57888] = 2, + [58232] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3125), 1, + ACTIONS(3166), 1, anon_sym_COLON, - [57895] = 2, + [58239] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3127), 1, + ACTIONS(3168), 1, anon_sym_COLON, - [57902] = 2, + [58246] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2298), 1, + ACTIONS(3170), 1, + anon_sym_RPAREN, + [58253] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3172), 1, anon_sym_COLON, - [57909] = 2, + [58260] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3129), 1, - anon_sym_LPAREN, - [57916] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3131), 1, - anon_sym_COLON, - [57923] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3133), 1, - anon_sym_RBRACE, - [57930] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3135), 1, - anon_sym_RBRACK, - [57937] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3137), 1, - anon_sym_COLON, - [57944] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3139), 1, - anon_sym_COLON, - [57951] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3141), 1, - anon_sym_COLON, - [57958] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3143), 1, - anon_sym_RBRACK, - [57965] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3145), 1, - anon_sym_COLON, - [57972] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3147), 1, - anon_sym_COLON, - [57979] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3149), 1, - anon_sym_COLON, - [57986] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3151), 1, - anon_sym_RBRACE, - [57993] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3153), 1, - anon_sym_COLON, - [58000] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3155), 1, - anon_sym_COLON, - [58007] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3157), 1, - anon_sym_RBRACE, - [58014] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(925), 1, - anon_sym_STAR, - [58021] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2101), 1, + ACTIONS(2129), 1, anon_sym_EQ, - [58028] = 2, + [58267] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3159), 1, - anon_sym_RBRACE, - [58035] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3161), 1, - sym_identifier, - [58042] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3163), 1, - sym_identifier, - [58049] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3165), 1, - sym_identifier, - [58056] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3167), 1, - anon_sym_RPAREN, - [58063] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3169), 1, - anon_sym_COLON, - [58070] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3171), 1, - anon_sym_COLON, - [58077] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3173), 1, - anon_sym_RPAREN, - [58084] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3175), 1, - anon_sym_for, - [58091] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3177), 1, - sym_identifier, - [58098] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3179), 1, - anon_sym_COLON, - [58105] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3181), 1, - anon_sym_COLON, - [58112] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3183), 1, - anon_sym_RBRACE, - [58119] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3185), 1, - anon_sym_import, - [58126] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2891), 1, + ACTIONS(2901), 1, anon_sym_in, - [58133] = 2, + [58274] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3187), 1, + ACTIONS(3174), 1, + sym_identifier, + [58281] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3176), 1, + anon_sym_COLON, + [58288] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3178), 1, + anon_sym_COLON, + [58295] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3180), 1, + anon_sym_RPAREN, + [58302] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3182), 1, + sym_identifier, + [58309] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3184), 1, + sym_identifier, + [58316] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3186), 1, + anon_sym_in, + [58323] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3188), 1, + sym_identifier, + [58330] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(978), 1, + anon_sym_def, + [58337] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3190), 1, + sym_identifier, + [58344] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3192), 1, + sym_identifier, + [58351] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3194), 1, ts_builtin_sym_end, - [58140] = 2, + [58358] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3189), 1, + ACTIONS(3196), 1, + anon_sym_import, + [58365] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2346), 1, + anon_sym_COLON, + [58372] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3198), 1, sym_identifier, - [58147] = 2, + [58379] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2931), 1, - anon_sym_RBRACE, - [58154] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3191), 1, + ACTIONS(3200), 1, sym_identifier, - [58161] = 2, + [58386] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3193), 1, + ACTIONS(3202), 1, sym_identifier, - [58168] = 2, + [58393] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3195), 1, + ACTIONS(3204), 1, sym_identifier, - [58175] = 2, + [58400] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3197), 1, - sym_identifier, - [58182] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(921), 1, + ACTIONS(903), 1, anon_sym_STAR, - [58189] = 2, + [58407] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3199), 1, + ACTIONS(3206), 1, anon_sym_COLON, - [58196] = 2, + [58414] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3201), 1, + ACTIONS(3208), 1, anon_sym_RBRACE, - [58203] = 2, + [58421] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3203), 1, + ACTIONS(3210), 1, + anon_sym_for, + [58428] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3212), 1, + anon_sym_RPAREN, + [58435] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3214), 1, sym_identifier, - [58210] = 2, + [58442] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3205), 1, + ACTIONS(3216), 1, + sym_identifier, + [58449] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3218), 1, + sym_identifier, + [58456] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(3220), 1, + anon_sym_COLON, + [58463] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2842), 1, anon_sym_in, - [58217] = 2, + [58470] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(986), 1, + ACTIONS(972), 1, anon_sym_def, - [58224] = 2, + [58477] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3207), 1, - sym_identifier, - [58231] = 2, + ACTIONS(3222), 1, + anon_sym_COLON, + [58484] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(3209), 1, - sym_identifier, - [58238] = 2, + ACTIONS(2870), 1, + anon_sym_in, + [58491] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(2491), 1, + ACTIONS(3224), 1, + anon_sym_COLON, + [58498] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2914), 1, anon_sym_RBRACE, - [58245] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2623), 1, - anon_sym_in, - [58252] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(941), 1, - anon_sym_def, - [58259] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3211), 1, - anon_sym_COLON, - [58266] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2621), 1, - anon_sym_in, - [58273] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(3213), 1, - anon_sym_COLON, - [58280] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(2334), 1, - anon_sym_COLON, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(152)] = 0, [SMALL_STATE(153)] = 117, [SMALL_STATE(154)] = 241, - [SMALL_STATE(155)] = 351, - [SMALL_STATE(156)] = 475, - [SMALL_STATE(157)] = 597, - [SMALL_STATE(158)] = 723, - [SMALL_STATE(159)] = 833, - [SMALL_STATE(160)] = 955, + [SMALL_STATE(155)] = 367, + [SMALL_STATE(156)] = 489, + [SMALL_STATE(157)] = 613, + [SMALL_STATE(158)] = 735, + [SMALL_STATE(159)] = 845, + [SMALL_STATE(160)] = 967, [SMALL_STATE(161)] = 1077, - [SMALL_STATE(162)] = 1188, + [SMALL_STATE(162)] = 1198, [SMALL_STATE(163)] = 1309, [SMALL_STATE(164)] = 1420, [SMALL_STATE(165)] = 1541, @@ -71183,45 +71364,45 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(167)] = 1773, [SMALL_STATE(168)] = 1881, [SMALL_STATE(169)] = 1993, - [SMALL_STATE(170)] = 2105, - [SMALL_STATE(171)] = 2213, + [SMALL_STATE(170)] = 2107, + [SMALL_STATE(171)] = 2215, [SMALL_STATE(172)] = 2327, - [SMALL_STATE(173)] = 2439, - [SMALL_STATE(174)] = 2551, + [SMALL_STATE(173)] = 2437, + [SMALL_STATE(174)] = 2547, [SMALL_STATE(175)] = 2659, - [SMALL_STATE(176)] = 2769, + [SMALL_STATE(176)] = 2771, [SMALL_STATE(177)] = 2879, [SMALL_STATE(178)] = 2991, [SMALL_STATE(179)] = 3103, [SMALL_STATE(180)] = 3212, [SMALL_STATE(181)] = 3321, - [SMALL_STATE(182)] = 3430, - [SMALL_STATE(183)] = 3541, - [SMALL_STATE(184)] = 3650, - [SMALL_STATE(185)] = 3759, - [SMALL_STATE(186)] = 3868, - [SMALL_STATE(187)] = 3977, - [SMALL_STATE(188)] = 4086, - [SMALL_STATE(189)] = 4191, - [SMALL_STATE(190)] = 4300, - [SMALL_STATE(191)] = 4409, - [SMALL_STATE(192)] = 4520, - [SMALL_STATE(193)] = 4629, - [SMALL_STATE(194)] = 4742, - [SMALL_STATE(195)] = 4847, - [SMALL_STATE(196)] = 4956, - [SMALL_STATE(197)] = 5067, - [SMALL_STATE(198)] = 5176, - [SMALL_STATE(199)] = 5285, - [SMALL_STATE(200)] = 5394, - [SMALL_STATE(201)] = 5499, - [SMALL_STATE(202)] = 5608, - [SMALL_STATE(203)] = 5717, - [SMALL_STATE(204)] = 5826, - [SMALL_STATE(205)] = 5935, - [SMALL_STATE(206)] = 6044, - [SMALL_STATE(207)] = 6155, - [SMALL_STATE(208)] = 6268, + [SMALL_STATE(182)] = 3426, + [SMALL_STATE(183)] = 3535, + [SMALL_STATE(184)] = 3644, + [SMALL_STATE(185)] = 3753, + [SMALL_STATE(186)] = 3862, + [SMALL_STATE(187)] = 3971, + [SMALL_STATE(188)] = 4080, + [SMALL_STATE(189)] = 4189, + [SMALL_STATE(190)] = 4298, + [SMALL_STATE(191)] = 4407, + [SMALL_STATE(192)] = 4518, + [SMALL_STATE(193)] = 4623, + [SMALL_STATE(194)] = 4728, + [SMALL_STATE(195)] = 4837, + [SMALL_STATE(196)] = 4946, + [SMALL_STATE(197)] = 5051, + [SMALL_STATE(198)] = 5160, + [SMALL_STATE(199)] = 5269, + [SMALL_STATE(200)] = 5382, + [SMALL_STATE(201)] = 5491, + [SMALL_STATE(202)] = 5600, + [SMALL_STATE(203)] = 5711, + [SMALL_STATE(204)] = 5820, + [SMALL_STATE(205)] = 5929, + [SMALL_STATE(206)] = 6038, + [SMALL_STATE(207)] = 6149, + [SMALL_STATE(208)] = 6260, [SMALL_STATE(209)] = 6373, [SMALL_STATE(210)] = 6482, [SMALL_STATE(211)] = 6591, @@ -71230,17 +71411,17 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(214)] = 6912, [SMALL_STATE(215)] = 7018, [SMALL_STATE(216)] = 7124, - [SMALL_STATE(217)] = 7230, - [SMALL_STATE(218)] = 7336, + [SMALL_STATE(217)] = 7218, + [SMALL_STATE(218)] = 7324, [SMALL_STATE(219)] = 7430, [SMALL_STATE(220)] = 7536, [SMALL_STATE(221)] = 7642, [SMALL_STATE(222)] = 7747, - [SMALL_STATE(223)] = 7850, - [SMALL_STATE(224)] = 7955, + [SMALL_STATE(223)] = 7852, + [SMALL_STATE(224)] = 7957, [SMALL_STATE(225)] = 8060, [SMALL_STATE(226)] = 8165, - [SMALL_STATE(227)] = 8270, + [SMALL_STATE(227)] = 8268, [SMALL_STATE(228)] = 8373, [SMALL_STATE(229)] = 8475, [SMALL_STATE(230)] = 8577, @@ -71253,1268 +71434,1276 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(237)] = 9291, [SMALL_STATE(238)] = 9393, [SMALL_STATE(239)] = 9495, - [SMALL_STATE(240)] = 9596, + [SMALL_STATE(240)] = 9568, [SMALL_STATE(241)] = 9669, [SMALL_STATE(242)] = 9770, - [SMALL_STATE(243)] = 9843, - [SMALL_STATE(244)] = 9904, - [SMALL_STATE(245)] = 9977, - [SMALL_STATE(246)] = 10078, - [SMALL_STATE(247)] = 10139, - [SMALL_STATE(248)] = 10240, - [SMALL_STATE(249)] = 10313, - [SMALL_STATE(250)] = 10412, - [SMALL_STATE(251)] = 10513, - [SMALL_STATE(252)] = 10614, - [SMALL_STATE(253)] = 10715, - [SMALL_STATE(254)] = 10816, - [SMALL_STATE(255)] = 10915, - [SMALL_STATE(256)] = 11016, - [SMALL_STATE(257)] = 11089, - [SMALL_STATE(258)] = 11190, + [SMALL_STATE(243)] = 9871, + [SMALL_STATE(244)] = 9970, + [SMALL_STATE(245)] = 10031, + [SMALL_STATE(246)] = 10092, + [SMALL_STATE(247)] = 10191, + [SMALL_STATE(248)] = 10292, + [SMALL_STATE(249)] = 10393, + [SMALL_STATE(250)] = 10494, + [SMALL_STATE(251)] = 10567, + [SMALL_STATE(252)] = 10668, + [SMALL_STATE(253)] = 10741, + [SMALL_STATE(254)] = 10840, + [SMALL_STATE(255)] = 10941, + [SMALL_STATE(256)] = 11014, + [SMALL_STATE(257)] = 11115, + [SMALL_STATE(258)] = 11188, [SMALL_STATE(259)] = 11289, [SMALL_STATE(260)] = 11362, [SMALL_STATE(261)] = 11435, - [SMALL_STATE(262)] = 11536, + [SMALL_STATE(262)] = 11508, [SMALL_STATE(263)] = 11609, - [SMALL_STATE(264)] = 11705, - [SMALL_STATE(265)] = 11801, - [SMALL_STATE(266)] = 11897, - [SMALL_STATE(267)] = 11995, - [SMALL_STATE(268)] = 12091, - [SMALL_STATE(269)] = 12189, - [SMALL_STATE(270)] = 12285, - [SMALL_STATE(271)] = 12381, - [SMALL_STATE(272)] = 12477, - [SMALL_STATE(273)] = 12573, - [SMALL_STATE(274)] = 12671, - [SMALL_STATE(275)] = 12769, - [SMALL_STATE(276)] = 12867, - [SMALL_STATE(277)] = 12963, - [SMALL_STATE(278)] = 13061, - [SMALL_STATE(279)] = 13157, - [SMALL_STATE(280)] = 13253, - [SMALL_STATE(281)] = 13351, - [SMALL_STATE(282)] = 13447, - [SMALL_STATE(283)] = 13545, - [SMALL_STATE(284)] = 13643, - [SMALL_STATE(285)] = 13739, - [SMALL_STATE(286)] = 13798, - [SMALL_STATE(287)] = 13857, - [SMALL_STATE(288)] = 13930, - [SMALL_STATE(289)] = 13999, - [SMALL_STATE(290)] = 14094, - [SMALL_STATE(291)] = 14153, - [SMALL_STATE(292)] = 14212, - [SMALL_STATE(293)] = 14281, - [SMALL_STATE(294)] = 14350, - [SMALL_STATE(295)] = 14409, - [SMALL_STATE(296)] = 14468, - [SMALL_STATE(297)] = 14537, - [SMALL_STATE(298)] = 14606, - [SMALL_STATE(299)] = 14669, - [SMALL_STATE(300)] = 14728, - [SMALL_STATE(301)] = 14801, - [SMALL_STATE(302)] = 14864, - [SMALL_STATE(303)] = 14923, - [SMALL_STATE(304)] = 14986, - [SMALL_STATE(305)] = 15081, - [SMALL_STATE(306)] = 15144, - [SMALL_STATE(307)] = 15203, - [SMALL_STATE(308)] = 15272, - [SMALL_STATE(309)] = 15341, - [SMALL_STATE(310)] = 15410, - [SMALL_STATE(311)] = 15469, - [SMALL_STATE(312)] = 15564, - [SMALL_STATE(313)] = 15656, - [SMALL_STATE(314)] = 15748, - [SMALL_STATE(315)] = 15840, - [SMALL_STATE(316)] = 15932, - [SMALL_STATE(317)] = 16024, - [SMALL_STATE(318)] = 16116, - [SMALL_STATE(319)] = 16208, - [SMALL_STATE(320)] = 16300, - [SMALL_STATE(321)] = 16392, - [SMALL_STATE(322)] = 16484, - [SMALL_STATE(323)] = 16576, - [SMALL_STATE(324)] = 16668, - [SMALL_STATE(325)] = 16760, - [SMALL_STATE(326)] = 16852, - [SMALL_STATE(327)] = 16944, - [SMALL_STATE(328)] = 17036, - [SMALL_STATE(329)] = 17128, - [SMALL_STATE(330)] = 17220, - [SMALL_STATE(331)] = 17312, - [SMALL_STATE(332)] = 17376, - [SMALL_STATE(333)] = 17468, - [SMALL_STATE(334)] = 17560, - [SMALL_STATE(335)] = 17652, - [SMALL_STATE(336)] = 17744, - [SMALL_STATE(337)] = 17836, - [SMALL_STATE(338)] = 17928, - [SMALL_STATE(339)] = 18020, - [SMALL_STATE(340)] = 18112, - [SMALL_STATE(341)] = 18204, - [SMALL_STATE(342)] = 18296, - [SMALL_STATE(343)] = 18388, - [SMALL_STATE(344)] = 18480, - [SMALL_STATE(345)] = 18572, - [SMALL_STATE(346)] = 18664, - [SMALL_STATE(347)] = 18758, - [SMALL_STATE(348)] = 18850, - [SMALL_STATE(349)] = 18942, - [SMALL_STATE(350)] = 19034, - [SMALL_STATE(351)] = 19126, - [SMALL_STATE(352)] = 19218, - [SMALL_STATE(353)] = 19310, - [SMALL_STATE(354)] = 19380, - [SMALL_STATE(355)] = 19472, - [SMALL_STATE(356)] = 19564, - [SMALL_STATE(357)] = 19656, - [SMALL_STATE(358)] = 19748, - [SMALL_STATE(359)] = 19840, - [SMALL_STATE(360)] = 19932, - [SMALL_STATE(361)] = 20024, - [SMALL_STATE(362)] = 20116, - [SMALL_STATE(363)] = 20208, - [SMALL_STATE(364)] = 20300, - [SMALL_STATE(365)] = 20392, - [SMALL_STATE(366)] = 20484, - [SMALL_STATE(367)] = 20576, - [SMALL_STATE(368)] = 20668, - [SMALL_STATE(369)] = 20760, - [SMALL_STATE(370)] = 20852, - [SMALL_STATE(371)] = 20944, - [SMALL_STATE(372)] = 21036, - [SMALL_STATE(373)] = 21128, - [SMALL_STATE(374)] = 21220, - [SMALL_STATE(375)] = 21312, - [SMALL_STATE(376)] = 21404, - [SMALL_STATE(377)] = 21496, - [SMALL_STATE(378)] = 21588, - [SMALL_STATE(379)] = 21680, - [SMALL_STATE(380)] = 21772, - [SMALL_STATE(381)] = 21864, - [SMALL_STATE(382)] = 21956, - [SMALL_STATE(383)] = 22048, - [SMALL_STATE(384)] = 22140, - [SMALL_STATE(385)] = 22204, - [SMALL_STATE(386)] = 22296, - [SMALL_STATE(387)] = 22388, - [SMALL_STATE(388)] = 22480, - [SMALL_STATE(389)] = 22572, - [SMALL_STATE(390)] = 22629, - [SMALL_STATE(391)] = 22690, - [SMALL_STATE(392)] = 22747, - [SMALL_STATE(393)] = 22804, - [SMALL_STATE(394)] = 22861, - [SMALL_STATE(395)] = 22918, - [SMALL_STATE(396)] = 22975, - [SMALL_STATE(397)] = 23032, - [SMALL_STATE(398)] = 23093, - [SMALL_STATE(399)] = 23154, - [SMALL_STATE(400)] = 23211, - [SMALL_STATE(401)] = 23268, - [SMALL_STATE(402)] = 23325, - [SMALL_STATE(403)] = 23382, - [SMALL_STATE(404)] = 23439, - [SMALL_STATE(405)] = 23496, - [SMALL_STATE(406)] = 23553, - [SMALL_STATE(407)] = 23610, - [SMALL_STATE(408)] = 23671, - [SMALL_STATE(409)] = 23728, - [SMALL_STATE(410)] = 23795, - [SMALL_STATE(411)] = 23852, - [SMALL_STATE(412)] = 23909, - [SMALL_STATE(413)] = 23966, - [SMALL_STATE(414)] = 24023, - [SMALL_STATE(415)] = 24087, - [SMALL_STATE(416)] = 24147, - [SMALL_STATE(417)] = 24203, - [SMALL_STATE(418)] = 24259, - [SMALL_STATE(419)] = 24319, - [SMALL_STATE(420)] = 24379, - [SMALL_STATE(421)] = 24439, - [SMALL_STATE(422)] = 24533, - [SMALL_STATE(423)] = 24593, - [SMALL_STATE(424)] = 24653, - [SMALL_STATE(425)] = 24713, - [SMALL_STATE(426)] = 24773, - [SMALL_STATE(427)] = 24829, - [SMALL_STATE(428)] = 24889, - [SMALL_STATE(429)] = 24949, - [SMALL_STATE(430)] = 25005, - [SMALL_STATE(431)] = 25065, - [SMALL_STATE(432)] = 25121, - [SMALL_STATE(433)] = 25181, - [SMALL_STATE(434)] = 25237, - [SMALL_STATE(435)] = 25297, - [SMALL_STATE(436)] = 25361, - [SMALL_STATE(437)] = 25417, - [SMALL_STATE(438)] = 25481, - [SMALL_STATE(439)] = 25545, - [SMALL_STATE(440)] = 25637, - [SMALL_STATE(441)] = 25697, - [SMALL_STATE(442)] = 25753, - [SMALL_STATE(443)] = 25813, - [SMALL_STATE(444)] = 25905, - [SMALL_STATE(445)] = 25965, - [SMALL_STATE(446)] = 26056, - [SMALL_STATE(447)] = 26111, - [SMALL_STATE(448)] = 26202, - [SMALL_STATE(449)] = 26293, - [SMALL_STATE(450)] = 26348, - [SMALL_STATE(451)] = 26403, - [SMALL_STATE(452)] = 26458, - [SMALL_STATE(453)] = 26513, - [SMALL_STATE(454)] = 26604, - [SMALL_STATE(455)] = 26665, - [SMALL_STATE(456)] = 26726, - [SMALL_STATE(457)] = 26787, - [SMALL_STATE(458)] = 26842, - [SMALL_STATE(459)] = 26933, - [SMALL_STATE(460)] = 26988, - [SMALL_STATE(461)] = 27043, - [SMALL_STATE(462)] = 27098, - [SMALL_STATE(463)] = 27153, - [SMALL_STATE(464)] = 27214, - [SMALL_STATE(465)] = 27305, - [SMALL_STATE(466)] = 27360, - [SMALL_STATE(467)] = 27415, - [SMALL_STATE(468)] = 27469, - [SMALL_STATE(469)] = 27523, - [SMALL_STATE(470)] = 27577, - [SMALL_STATE(471)] = 27631, - [SMALL_STATE(472)] = 27685, - [SMALL_STATE(473)] = 27739, - [SMALL_STATE(474)] = 27793, - [SMALL_STATE(475)] = 27847, - [SMALL_STATE(476)] = 27901, - [SMALL_STATE(477)] = 27955, - [SMALL_STATE(478)] = 28009, - [SMALL_STATE(479)] = 28063, - [SMALL_STATE(480)] = 28117, - [SMALL_STATE(481)] = 28171, - [SMALL_STATE(482)] = 28225, - [SMALL_STATE(483)] = 28279, - [SMALL_STATE(484)] = 28333, - [SMALL_STATE(485)] = 28387, - [SMALL_STATE(486)] = 28441, - [SMALL_STATE(487)] = 28495, - [SMALL_STATE(488)] = 28549, - [SMALL_STATE(489)] = 28603, - [SMALL_STATE(490)] = 28657, - [SMALL_STATE(491)] = 28711, - [SMALL_STATE(492)] = 28765, - [SMALL_STATE(493)] = 28819, - [SMALL_STATE(494)] = 28873, - [SMALL_STATE(495)] = 28927, - [SMALL_STATE(496)] = 28981, - [SMALL_STATE(497)] = 29035, - [SMALL_STATE(498)] = 29089, - [SMALL_STATE(499)] = 29143, - [SMALL_STATE(500)] = 29197, - [SMALL_STATE(501)] = 29285, - [SMALL_STATE(502)] = 29339, - [SMALL_STATE(503)] = 29393, - [SMALL_STATE(504)] = 29447, - [SMALL_STATE(505)] = 29501, - [SMALL_STATE(506)] = 29555, - [SMALL_STATE(507)] = 29609, - [SMALL_STATE(508)] = 29663, - [SMALL_STATE(509)] = 29717, - [SMALL_STATE(510)] = 29771, - [SMALL_STATE(511)] = 29825, - [SMALL_STATE(512)] = 29879, - [SMALL_STATE(513)] = 29933, - [SMALL_STATE(514)] = 29987, - [SMALL_STATE(515)] = 30041, - [SMALL_STATE(516)] = 30095, - [SMALL_STATE(517)] = 30149, - [SMALL_STATE(518)] = 30203, - [SMALL_STATE(519)] = 30257, - [SMALL_STATE(520)] = 30311, - [SMALL_STATE(521)] = 30365, - [SMALL_STATE(522)] = 30419, - [SMALL_STATE(523)] = 30473, - [SMALL_STATE(524)] = 30527, - [SMALL_STATE(525)] = 30581, - [SMALL_STATE(526)] = 30635, - [SMALL_STATE(527)] = 30689, - [SMALL_STATE(528)] = 30743, - [SMALL_STATE(529)] = 30797, - [SMALL_STATE(530)] = 30851, - [SMALL_STATE(531)] = 30905, - [SMALL_STATE(532)] = 30959, - [SMALL_STATE(533)] = 31013, - [SMALL_STATE(534)] = 31067, - [SMALL_STATE(535)] = 31121, - [SMALL_STATE(536)] = 31175, - [SMALL_STATE(537)] = 31229, - [SMALL_STATE(538)] = 31283, - [SMALL_STATE(539)] = 31337, - [SMALL_STATE(540)] = 31391, - [SMALL_STATE(541)] = 31445, - [SMALL_STATE(542)] = 31499, - [SMALL_STATE(543)] = 31553, - [SMALL_STATE(544)] = 31607, - [SMALL_STATE(545)] = 31661, - [SMALL_STATE(546)] = 31715, - [SMALL_STATE(547)] = 31769, - [SMALL_STATE(548)] = 31823, - [SMALL_STATE(549)] = 31911, - [SMALL_STATE(550)] = 31965, - [SMALL_STATE(551)] = 32019, - [SMALL_STATE(552)] = 32073, - [SMALL_STATE(553)] = 32127, - [SMALL_STATE(554)] = 32181, - [SMALL_STATE(555)] = 32235, - [SMALL_STATE(556)] = 32289, - [SMALL_STATE(557)] = 32343, - [SMALL_STATE(558)] = 32397, - [SMALL_STATE(559)] = 32451, - [SMALL_STATE(560)] = 32505, - [SMALL_STATE(561)] = 32559, - [SMALL_STATE(562)] = 32613, - [SMALL_STATE(563)] = 32667, - [SMALL_STATE(564)] = 32721, - [SMALL_STATE(565)] = 32775, - [SMALL_STATE(566)] = 32829, - [SMALL_STATE(567)] = 32883, - [SMALL_STATE(568)] = 32965, - [SMALL_STATE(569)] = 33020, - [SMALL_STATE(570)] = 33075, - [SMALL_STATE(571)] = 33130, - [SMALL_STATE(572)] = 33185, - [SMALL_STATE(573)] = 33240, - [SMALL_STATE(574)] = 33295, - [SMALL_STATE(575)] = 33371, - [SMALL_STATE(576)] = 33447, - [SMALL_STATE(577)] = 33523, - [SMALL_STATE(578)] = 33599, - [SMALL_STATE(579)] = 33672, - [SMALL_STATE(580)] = 33745, - [SMALL_STATE(581)] = 33818, - [SMALL_STATE(582)] = 33867, - [SMALL_STATE(583)] = 33916, - [SMALL_STATE(584)] = 33989, - [SMALL_STATE(585)] = 34062, - [SMALL_STATE(586)] = 34135, - [SMALL_STATE(587)] = 34208, - [SMALL_STATE(588)] = 34257, - [SMALL_STATE(589)] = 34334, - [SMALL_STATE(590)] = 34407, - [SMALL_STATE(591)] = 34480, - [SMALL_STATE(592)] = 34553, - [SMALL_STATE(593)] = 34626, - [SMALL_STATE(594)] = 34699, - [SMALL_STATE(595)] = 34772, - [SMALL_STATE(596)] = 34845, - [SMALL_STATE(597)] = 34918, - [SMALL_STATE(598)] = 34991, - [SMALL_STATE(599)] = 35064, - [SMALL_STATE(600)] = 35137, - [SMALL_STATE(601)] = 35210, - [SMALL_STATE(602)] = 35283, - [SMALL_STATE(603)] = 35332, - [SMALL_STATE(604)] = 35405, - [SMALL_STATE(605)] = 35478, - [SMALL_STATE(606)] = 35551, - [SMALL_STATE(607)] = 35624, - [SMALL_STATE(608)] = 35697, - [SMALL_STATE(609)] = 35770, - [SMALL_STATE(610)] = 35843, - [SMALL_STATE(611)] = 35916, - [SMALL_STATE(612)] = 35989, - [SMALL_STATE(613)] = 36062, - [SMALL_STATE(614)] = 36135, - [SMALL_STATE(615)] = 36208, - [SMALL_STATE(616)] = 36281, - [SMALL_STATE(617)] = 36354, - [SMALL_STATE(618)] = 36427, - [SMALL_STATE(619)] = 36500, - [SMALL_STATE(620)] = 36573, - [SMALL_STATE(621)] = 36646, - [SMALL_STATE(622)] = 36723, - [SMALL_STATE(623)] = 36796, - [SMALL_STATE(624)] = 36869, - [SMALL_STATE(625)] = 36942, - [SMALL_STATE(626)] = 37015, - [SMALL_STATE(627)] = 37088, - [SMALL_STATE(628)] = 37161, - [SMALL_STATE(629)] = 37209, - [SMALL_STATE(630)] = 37257, - [SMALL_STATE(631)] = 37305, - [SMALL_STATE(632)] = 37353, - [SMALL_STATE(633)] = 37401, - [SMALL_STATE(634)] = 37449, - [SMALL_STATE(635)] = 37531, - [SMALL_STATE(636)] = 37579, - [SMALL_STATE(637)] = 37627, - [SMALL_STATE(638)] = 37675, - [SMALL_STATE(639)] = 37723, - [SMALL_STATE(640)] = 37771, - [SMALL_STATE(641)] = 37819, - [SMALL_STATE(642)] = 37867, - [SMALL_STATE(643)] = 37915, - [SMALL_STATE(644)] = 37963, - [SMALL_STATE(645)] = 38011, - [SMALL_STATE(646)] = 38059, - [SMALL_STATE(647)] = 38107, - [SMALL_STATE(648)] = 38155, - [SMALL_STATE(649)] = 38237, - [SMALL_STATE(650)] = 38285, - [SMALL_STATE(651)] = 38333, - [SMALL_STATE(652)] = 38381, - [SMALL_STATE(653)] = 38429, - [SMALL_STATE(654)] = 38477, - [SMALL_STATE(655)] = 38525, - [SMALL_STATE(656)] = 38573, - [SMALL_STATE(657)] = 38621, - [SMALL_STATE(658)] = 38669, - [SMALL_STATE(659)] = 38717, - [SMALL_STATE(660)] = 38765, - [SMALL_STATE(661)] = 38813, - [SMALL_STATE(662)] = 38870, - [SMALL_STATE(663)] = 38937, - [SMALL_STATE(664)] = 39004, - [SMALL_STATE(665)] = 39061, - [SMALL_STATE(666)] = 39126, - [SMALL_STATE(667)] = 39183, - [SMALL_STATE(668)] = 39246, - [SMALL_STATE(669)] = 39303, - [SMALL_STATE(670)] = 39364, - [SMALL_STATE(671)] = 39421, - [SMALL_STATE(672)] = 39478, - [SMALL_STATE(673)] = 39549, - [SMALL_STATE(674)] = 39618, - [SMALL_STATE(675)] = 39675, - [SMALL_STATE(676)] = 39746, - [SMALL_STATE(677)] = 39817, - [SMALL_STATE(678)] = 39880, - [SMALL_STATE(679)] = 39951, - [SMALL_STATE(680)] = 40022, - [SMALL_STATE(681)] = 40087, - [SMALL_STATE(682)] = 40156, - [SMALL_STATE(683)] = 40217, - [SMALL_STATE(684)] = 40288, - [SMALL_STATE(685)] = 40345, - [SMALL_STATE(686)] = 40393, - [SMALL_STATE(687)] = 40443, - [SMALL_STATE(688)] = 40489, - [SMALL_STATE(689)] = 40537, - [SMALL_STATE(690)] = 40587, - [SMALL_STATE(691)] = 40635, - [SMALL_STATE(692)] = 40685, - [SMALL_STATE(693)] = 40731, - [SMALL_STATE(694)] = 40781, - [SMALL_STATE(695)] = 40829, - [SMALL_STATE(696)] = 40878, - [SMALL_STATE(697)] = 40927, - [SMALL_STATE(698)] = 41006, - [SMALL_STATE(699)] = 41055, - [SMALL_STATE(700)] = 41104, - [SMALL_STATE(701)] = 41149, - [SMALL_STATE(702)] = 41198, - [SMALL_STATE(703)] = 41247, - [SMALL_STATE(704)] = 41292, - [SMALL_STATE(705)] = 41340, - [SMALL_STATE(706)] = 41394, - [SMALL_STATE(707)] = 41442, - [SMALL_STATE(708)] = 41486, - [SMALL_STATE(709)] = 41550, - [SMALL_STATE(710)] = 41608, - [SMALL_STATE(711)] = 41670, - [SMALL_STATE(712)] = 41736, - [SMALL_STATE(713)] = 41804, - [SMALL_STATE(714)] = 41864, - [SMALL_STATE(715)] = 41918, - [SMALL_STATE(716)] = 41972, - [SMALL_STATE(717)] = 42016, - [SMALL_STATE(718)] = 42084, - [SMALL_STATE(719)] = 42128, - [SMALL_STATE(720)] = 42172, - [SMALL_STATE(721)] = 42240, - [SMALL_STATE(722)] = 42294, - [SMALL_STATE(723)] = 42370, - [SMALL_STATE(724)] = 42423, - [SMALL_STATE(725)] = 42490, - [SMALL_STATE(726)] = 42571, - [SMALL_STATE(727)] = 42614, - [SMALL_STATE(728)] = 42661, - [SMALL_STATE(729)] = 42714, - [SMALL_STATE(730)] = 42773, - [SMALL_STATE(731)] = 42816, - [SMALL_STATE(732)] = 42897, - [SMALL_STATE(733)] = 42964, - [SMALL_STATE(734)] = 43011, - [SMALL_STATE(735)] = 43054, - [SMALL_STATE(736)] = 43097, - [SMALL_STATE(737)] = 43144, - [SMALL_STATE(738)] = 43191, - [SMALL_STATE(739)] = 43256, - [SMALL_STATE(740)] = 43313, - [SMALL_STATE(741)] = 43358, - [SMALL_STATE(742)] = 43403, - [SMALL_STATE(743)] = 43448, - [SMALL_STATE(744)] = 43493, - [SMALL_STATE(745)] = 43546, - [SMALL_STATE(746)] = 43591, - [SMALL_STATE(747)] = 43672, - [SMALL_STATE(748)] = 43735, - [SMALL_STATE(749)] = 43796, - [SMALL_STATE(750)] = 43841, - [SMALL_STATE(751)] = 43886, - [SMALL_STATE(752)] = 43931, - [SMALL_STATE(753)] = 43984, - [SMALL_STATE(754)] = 44065, - [SMALL_STATE(755)] = 44132, - [SMALL_STATE(756)] = 44174, - [SMALL_STATE(757)] = 44216, - [SMALL_STATE(758)] = 44258, - [SMALL_STATE(759)] = 44300, - [SMALL_STATE(760)] = 44342, - [SMALL_STATE(761)] = 44384, - [SMALL_STATE(762)] = 44426, - [SMALL_STATE(763)] = 44468, - [SMALL_STATE(764)] = 44510, - [SMALL_STATE(765)] = 44554, - [SMALL_STATE(766)] = 44596, - [SMALL_STATE(767)] = 44638, - [SMALL_STATE(768)] = 44680, - [SMALL_STATE(769)] = 44758, - [SMALL_STATE(770)] = 44802, - [SMALL_STATE(771)] = 44880, - [SMALL_STATE(772)] = 44922, - [SMALL_STATE(773)] = 44964, - [SMALL_STATE(774)] = 45006, - [SMALL_STATE(775)] = 45048, - [SMALL_STATE(776)] = 45090, - [SMALL_STATE(777)] = 45132, - [SMALL_STATE(778)] = 45176, - [SMALL_STATE(779)] = 45218, - [SMALL_STATE(780)] = 45260, - [SMALL_STATE(781)] = 45304, - [SMALL_STATE(782)] = 45346, - [SMALL_STATE(783)] = 45388, - [SMALL_STATE(784)] = 45468, - [SMALL_STATE(785)] = 45510, - [SMALL_STATE(786)] = 45552, - [SMALL_STATE(787)] = 45594, - [SMALL_STATE(788)] = 45636, - [SMALL_STATE(789)] = 45714, - [SMALL_STATE(790)] = 45792, - [SMALL_STATE(791)] = 45834, - [SMALL_STATE(792)] = 45878, - [SMALL_STATE(793)] = 45920, - [SMALL_STATE(794)] = 45962, - [SMALL_STATE(795)] = 46004, - [SMALL_STATE(796)] = 46046, - [SMALL_STATE(797)] = 46088, - [SMALL_STATE(798)] = 46130, - [SMALL_STATE(799)] = 46208, - [SMALL_STATE(800)] = 46249, - [SMALL_STATE(801)] = 46328, - [SMALL_STATE(802)] = 46373, - [SMALL_STATE(803)] = 46452, - [SMALL_STATE(804)] = 46497, - [SMALL_STATE(805)] = 46538, - [SMALL_STATE(806)] = 46579, - [SMALL_STATE(807)] = 46620, - [SMALL_STATE(808)] = 46661, - [SMALL_STATE(809)] = 46702, - [SMALL_STATE(810)] = 46743, - [SMALL_STATE(811)] = 46784, - [SMALL_STATE(812)] = 46825, - [SMALL_STATE(813)] = 46866, - [SMALL_STATE(814)] = 46907, - [SMALL_STATE(815)] = 46948, - [SMALL_STATE(816)] = 46989, - [SMALL_STATE(817)] = 47030, - [SMALL_STATE(818)] = 47109, - [SMALL_STATE(819)] = 47150, - [SMALL_STATE(820)] = 47191, - [SMALL_STATE(821)] = 47232, - [SMALL_STATE(822)] = 47273, - [SMALL_STATE(823)] = 47314, - [SMALL_STATE(824)] = 47355, - [SMALL_STATE(825)] = 47396, - [SMALL_STATE(826)] = 47471, - [SMALL_STATE(827)] = 47512, - [SMALL_STATE(828)] = 47553, - [SMALL_STATE(829)] = 47594, - [SMALL_STATE(830)] = 47635, - [SMALL_STATE(831)] = 47676, - [SMALL_STATE(832)] = 47717, - [SMALL_STATE(833)] = 47758, - [SMALL_STATE(834)] = 47799, - [SMALL_STATE(835)] = 47840, - [SMALL_STATE(836)] = 47881, - [SMALL_STATE(837)] = 47922, - [SMALL_STATE(838)] = 47963, - [SMALL_STATE(839)] = 48036, - [SMALL_STATE(840)] = 48106, - [SMALL_STATE(841)] = 48176, - [SMALL_STATE(842)] = 48238, - [SMALL_STATE(843)] = 48300, - [SMALL_STATE(844)] = 48340, - [SMALL_STATE(845)] = 48380, - [SMALL_STATE(846)] = 48420, - [SMALL_STATE(847)] = 48460, - [SMALL_STATE(848)] = 48490, - [SMALL_STATE(849)] = 48543, - [SMALL_STATE(850)] = 48568, - [SMALL_STATE(851)] = 48621, - [SMALL_STATE(852)] = 48674, - [SMALL_STATE(853)] = 48711, - [SMALL_STATE(854)] = 48736, - [SMALL_STATE(855)] = 48761, - [SMALL_STATE(856)] = 48786, - [SMALL_STATE(857)] = 48815, - [SMALL_STATE(858)] = 48852, - [SMALL_STATE(859)] = 48881, - [SMALL_STATE(860)] = 48915, - [SMALL_STATE(861)] = 48949, - [SMALL_STATE(862)] = 48995, - [SMALL_STATE(863)] = 49023, - [SMALL_STATE(864)] = 49066, - [SMALL_STATE(865)] = 49097, - [SMALL_STATE(866)] = 49140, - [SMALL_STATE(867)] = 49183, - [SMALL_STATE(868)] = 49226, - [SMALL_STATE(869)] = 49269, - [SMALL_STATE(870)] = 49313, - [SMALL_STATE(871)] = 49353, - [SMALL_STATE(872)] = 49390, - [SMALL_STATE(873)] = 49427, - [SMALL_STATE(874)] = 49464, - [SMALL_STATE(875)] = 49489, - [SMALL_STATE(876)] = 49526, - [SMALL_STATE(877)] = 49548, - [SMALL_STATE(878)] = 49582, - [SMALL_STATE(879)] = 49604, - [SMALL_STATE(880)] = 49638, - [SMALL_STATE(881)] = 49660, - [SMALL_STATE(882)] = 49683, - [SMALL_STATE(883)] = 49720, - [SMALL_STATE(884)] = 49757, - [SMALL_STATE(885)] = 49774, - [SMALL_STATE(886)] = 49801, - [SMALL_STATE(887)] = 49824, - [SMALL_STATE(888)] = 49847, - [SMALL_STATE(889)] = 49868, - [SMALL_STATE(890)] = 49891, - [SMALL_STATE(891)] = 49916, - [SMALL_STATE(892)] = 49937, - [SMALL_STATE(893)] = 49956, - [SMALL_STATE(894)] = 49977, - [SMALL_STATE(895)] = 50002, - [SMALL_STATE(896)] = 50025, - [SMALL_STATE(897)] = 50048, - [SMALL_STATE(898)] = 50069, - [SMALL_STATE(899)] = 50090, - [SMALL_STATE(900)] = 50127, - [SMALL_STATE(901)] = 50152, - [SMALL_STATE(902)] = 50189, - [SMALL_STATE(903)] = 50212, - [SMALL_STATE(904)] = 50235, - [SMALL_STATE(905)] = 50256, - [SMALL_STATE(906)] = 50286, - [SMALL_STATE(907)] = 50316, - [SMALL_STATE(908)] = 50346, - [SMALL_STATE(909)] = 50368, - [SMALL_STATE(910)] = 50398, - [SMALL_STATE(911)] = 50432, - [SMALL_STATE(912)] = 50466, - [SMALL_STATE(913)] = 50500, - [SMALL_STATE(914)] = 50534, - [SMALL_STATE(915)] = 50552, - [SMALL_STATE(916)] = 50586, - [SMALL_STATE(917)] = 50620, - [SMALL_STATE(918)] = 50650, - [SMALL_STATE(919)] = 50672, - [SMALL_STATE(920)] = 50702, - [SMALL_STATE(921)] = 50732, - [SMALL_STATE(922)] = 50754, - [SMALL_STATE(923)] = 50784, - [SMALL_STATE(924)] = 50814, - [SMALL_STATE(925)] = 50848, - [SMALL_STATE(926)] = 50870, - [SMALL_STATE(927)] = 50888, - [SMALL_STATE(928)] = 50918, - [SMALL_STATE(929)] = 50952, - [SMALL_STATE(930)] = 50982, - [SMALL_STATE(931)] = 51012, - [SMALL_STATE(932)] = 51042, - [SMALL_STATE(933)] = 51076, - [SMALL_STATE(934)] = 51106, - [SMALL_STATE(935)] = 51136, - [SMALL_STATE(936)] = 51155, - [SMALL_STATE(937)] = 51178, - [SMALL_STATE(938)] = 51201, - [SMALL_STATE(939)] = 51220, - [SMALL_STATE(940)] = 51239, - [SMALL_STATE(941)] = 51258, - [SMALL_STATE(942)] = 51277, - [SMALL_STATE(943)] = 51302, - [SMALL_STATE(944)] = 51325, - [SMALL_STATE(945)] = 51344, - [SMALL_STATE(946)] = 51362, - [SMALL_STATE(947)] = 51376, - [SMALL_STATE(948)] = 51392, - [SMALL_STATE(949)] = 51410, - [SMALL_STATE(950)] = 51430, - [SMALL_STATE(951)] = 51444, - [SMALL_STATE(952)] = 51458, - [SMALL_STATE(953)] = 51472, - [SMALL_STATE(954)] = 51490, - [SMALL_STATE(955)] = 51504, - [SMALL_STATE(956)] = 51518, - [SMALL_STATE(957)] = 51544, - [SMALL_STATE(958)] = 51562, - [SMALL_STATE(959)] = 51576, - [SMALL_STATE(960)] = 51590, - [SMALL_STATE(961)] = 51608, - [SMALL_STATE(962)] = 51622, - [SMALL_STATE(963)] = 51636, - [SMALL_STATE(964)] = 51650, - [SMALL_STATE(965)] = 51668, - [SMALL_STATE(966)] = 51688, - [SMALL_STATE(967)] = 51702, - [SMALL_STATE(968)] = 51724, - [SMALL_STATE(969)] = 51742, - [SMALL_STATE(970)] = 51760, - [SMALL_STATE(971)] = 51784, - [SMALL_STATE(972)] = 51798, - [SMALL_STATE(973)] = 51816, - [SMALL_STATE(974)] = 51830, - [SMALL_STATE(975)] = 51844, - [SMALL_STATE(976)] = 51858, - [SMALL_STATE(977)] = 51872, - [SMALL_STATE(978)] = 51886, - [SMALL_STATE(979)] = 51906, - [SMALL_STATE(980)] = 51920, - [SMALL_STATE(981)] = 51938, - [SMALL_STATE(982)] = 51954, - [SMALL_STATE(983)] = 51968, - [SMALL_STATE(984)] = 51988, - [SMALL_STATE(985)] = 52002, - [SMALL_STATE(986)] = 52026, - [SMALL_STATE(987)] = 52044, - [SMALL_STATE(988)] = 52058, - [SMALL_STATE(989)] = 52072, - [SMALL_STATE(990)] = 52090, - [SMALL_STATE(991)] = 52104, - [SMALL_STATE(992)] = 52127, - [SMALL_STATE(993)] = 52140, - [SMALL_STATE(994)] = 52159, - [SMALL_STATE(995)] = 52180, - [SMALL_STATE(996)] = 52199, - [SMALL_STATE(997)] = 52222, - [SMALL_STATE(998)] = 52241, - [SMALL_STATE(999)] = 52254, - [SMALL_STATE(1000)] = 52273, - [SMALL_STATE(1001)] = 52296, - [SMALL_STATE(1002)] = 52321, - [SMALL_STATE(1003)] = 52334, - [SMALL_STATE(1004)] = 52351, - [SMALL_STATE(1005)] = 52372, - [SMALL_STATE(1006)] = 52387, - [SMALL_STATE(1007)] = 52410, - [SMALL_STATE(1008)] = 52429, - [SMALL_STATE(1009)] = 52446, - [SMALL_STATE(1010)] = 52465, - [SMALL_STATE(1011)] = 52482, - [SMALL_STATE(1012)] = 52501, - [SMALL_STATE(1013)] = 52514, - [SMALL_STATE(1014)] = 52527, - [SMALL_STATE(1015)] = 52548, - [SMALL_STATE(1016)] = 52573, - [SMALL_STATE(1017)] = 52594, - [SMALL_STATE(1018)] = 52615, - [SMALL_STATE(1019)] = 52640, - [SMALL_STATE(1020)] = 52655, - [SMALL_STATE(1021)] = 52674, - [SMALL_STATE(1022)] = 52693, - [SMALL_STATE(1023)] = 52706, - [SMALL_STATE(1024)] = 52719, - [SMALL_STATE(1025)] = 52742, - [SMALL_STATE(1026)] = 52761, - [SMALL_STATE(1027)] = 52782, - [SMALL_STATE(1028)] = 52807, - [SMALL_STATE(1029)] = 52830, - [SMALL_STATE(1030)] = 52851, - [SMALL_STATE(1031)] = 52874, - [SMALL_STATE(1032)] = 52897, - [SMALL_STATE(1033)] = 52920, - [SMALL_STATE(1034)] = 52938, - [SMALL_STATE(1035)] = 52954, - [SMALL_STATE(1036)] = 52966, - [SMALL_STATE(1037)] = 52980, - [SMALL_STATE(1038)] = 53002, - [SMALL_STATE(1039)] = 53022, - [SMALL_STATE(1040)] = 53040, - [SMALL_STATE(1041)] = 53054, - [SMALL_STATE(1042)] = 53066, - [SMALL_STATE(1043)] = 53086, - [SMALL_STATE(1044)] = 53108, - [SMALL_STATE(1045)] = 53122, - [SMALL_STATE(1046)] = 53142, - [SMALL_STATE(1047)] = 53158, - [SMALL_STATE(1048)] = 53174, - [SMALL_STATE(1049)] = 53196, - [SMALL_STATE(1050)] = 53218, - [SMALL_STATE(1051)] = 53240, - [SMALL_STATE(1052)] = 53256, - [SMALL_STATE(1053)] = 53274, - [SMALL_STATE(1054)] = 53292, - [SMALL_STATE(1055)] = 53312, - [SMALL_STATE(1056)] = 53334, - [SMALL_STATE(1057)] = 53352, - [SMALL_STATE(1058)] = 53370, - [SMALL_STATE(1059)] = 53384, - [SMALL_STATE(1060)] = 53398, - [SMALL_STATE(1061)] = 53416, - [SMALL_STATE(1062)] = 53436, - [SMALL_STATE(1063)] = 53456, - [SMALL_STATE(1064)] = 53478, - [SMALL_STATE(1065)] = 53494, - [SMALL_STATE(1066)] = 53510, - [SMALL_STATE(1067)] = 53526, - [SMALL_STATE(1068)] = 53540, - [SMALL_STATE(1069)] = 53557, - [SMALL_STATE(1070)] = 53572, - [SMALL_STATE(1071)] = 53589, - [SMALL_STATE(1072)] = 53606, - [SMALL_STATE(1073)] = 53623, - [SMALL_STATE(1074)] = 53640, - [SMALL_STATE(1075)] = 53659, - [SMALL_STATE(1076)] = 53676, - [SMALL_STATE(1077)] = 53691, - [SMALL_STATE(1078)] = 53706, - [SMALL_STATE(1079)] = 53721, - [SMALL_STATE(1080)] = 53738, - [SMALL_STATE(1081)] = 53757, - [SMALL_STATE(1082)] = 53768, - [SMALL_STATE(1083)] = 53785, - [SMALL_STATE(1084)] = 53802, - [SMALL_STATE(1085)] = 53819, - [SMALL_STATE(1086)] = 53836, - [SMALL_STATE(1087)] = 53855, - [SMALL_STATE(1088)] = 53872, - [SMALL_STATE(1089)] = 53889, - [SMALL_STATE(1090)] = 53906, - [SMALL_STATE(1091)] = 53925, - [SMALL_STATE(1092)] = 53944, - [SMALL_STATE(1093)] = 53963, - [SMALL_STATE(1094)] = 53978, - [SMALL_STATE(1095)] = 53997, - [SMALL_STATE(1096)] = 54014, - [SMALL_STATE(1097)] = 54025, - [SMALL_STATE(1098)] = 54040, - [SMALL_STATE(1099)] = 54055, - [SMALL_STATE(1100)] = 54074, - [SMALL_STATE(1101)] = 54091, - [SMALL_STATE(1102)] = 54110, - [SMALL_STATE(1103)] = 54127, - [SMALL_STATE(1104)] = 54144, - [SMALL_STATE(1105)] = 54163, - [SMALL_STATE(1106)] = 54174, - [SMALL_STATE(1107)] = 54188, - [SMALL_STATE(1108)] = 54204, - [SMALL_STATE(1109)] = 54218, - [SMALL_STATE(1110)] = 54234, - [SMALL_STATE(1111)] = 54248, - [SMALL_STATE(1112)] = 54264, - [SMALL_STATE(1113)] = 54278, - [SMALL_STATE(1114)] = 54292, - [SMALL_STATE(1115)] = 54304, - [SMALL_STATE(1116)] = 54320, - [SMALL_STATE(1117)] = 54334, - [SMALL_STATE(1118)] = 54348, - [SMALL_STATE(1119)] = 54362, - [SMALL_STATE(1120)] = 54376, - [SMALL_STATE(1121)] = 54392, - [SMALL_STATE(1122)] = 54406, - [SMALL_STATE(1123)] = 54422, - [SMALL_STATE(1124)] = 54436, - [SMALL_STATE(1125)] = 54452, - [SMALL_STATE(1126)] = 54462, - [SMALL_STATE(1127)] = 54472, - [SMALL_STATE(1128)] = 54488, - [SMALL_STATE(1129)] = 54504, - [SMALL_STATE(1130)] = 54518, - [SMALL_STATE(1131)] = 54534, - [SMALL_STATE(1132)] = 54550, - [SMALL_STATE(1133)] = 54560, - [SMALL_STATE(1134)] = 54574, - [SMALL_STATE(1135)] = 54590, - [SMALL_STATE(1136)] = 54604, - [SMALL_STATE(1137)] = 54620, - [SMALL_STATE(1138)] = 54636, - [SMALL_STATE(1139)] = 54652, - [SMALL_STATE(1140)] = 54668, - [SMALL_STATE(1141)] = 54684, - [SMALL_STATE(1142)] = 54700, - [SMALL_STATE(1143)] = 54716, - [SMALL_STATE(1144)] = 54726, - [SMALL_STATE(1145)] = 54742, - [SMALL_STATE(1146)] = 54758, - [SMALL_STATE(1147)] = 54772, - [SMALL_STATE(1148)] = 54782, - [SMALL_STATE(1149)] = 54796, - [SMALL_STATE(1150)] = 54810, - [SMALL_STATE(1151)] = 54824, - [SMALL_STATE(1152)] = 54836, - [SMALL_STATE(1153)] = 54850, - [SMALL_STATE(1154)] = 54864, - [SMALL_STATE(1155)] = 54878, - [SMALL_STATE(1156)] = 54894, - [SMALL_STATE(1157)] = 54908, - [SMALL_STATE(1158)] = 54922, - [SMALL_STATE(1159)] = 54938, - [SMALL_STATE(1160)] = 54954, - [SMALL_STATE(1161)] = 54968, - [SMALL_STATE(1162)] = 54982, - [SMALL_STATE(1163)] = 54992, - [SMALL_STATE(1164)] = 55008, - [SMALL_STATE(1165)] = 55022, - [SMALL_STATE(1166)] = 55036, - [SMALL_STATE(1167)] = 55052, - [SMALL_STATE(1168)] = 55066, - [SMALL_STATE(1169)] = 55082, - [SMALL_STATE(1170)] = 55098, - [SMALL_STATE(1171)] = 55114, - [SMALL_STATE(1172)] = 55128, - [SMALL_STATE(1173)] = 55142, - [SMALL_STATE(1174)] = 55156, - [SMALL_STATE(1175)] = 55170, - [SMALL_STATE(1176)] = 55186, - [SMALL_STATE(1177)] = 55199, - [SMALL_STATE(1178)] = 55212, - [SMALL_STATE(1179)] = 55225, - [SMALL_STATE(1180)] = 55236, - [SMALL_STATE(1181)] = 55249, - [SMALL_STATE(1182)] = 55262, - [SMALL_STATE(1183)] = 55275, - [SMALL_STATE(1184)] = 55288, - [SMALL_STATE(1185)] = 55301, - [SMALL_STATE(1186)] = 55312, - [SMALL_STATE(1187)] = 55323, - [SMALL_STATE(1188)] = 55336, - [SMALL_STATE(1189)] = 55349, - [SMALL_STATE(1190)] = 55362, - [SMALL_STATE(1191)] = 55375, - [SMALL_STATE(1192)] = 55388, - [SMALL_STATE(1193)] = 55397, - [SMALL_STATE(1194)] = 55410, - [SMALL_STATE(1195)] = 55419, - [SMALL_STATE(1196)] = 55432, - [SMALL_STATE(1197)] = 55443, - [SMALL_STATE(1198)] = 55456, - [SMALL_STATE(1199)] = 55465, - [SMALL_STATE(1200)] = 55478, - [SMALL_STATE(1201)] = 55491, - [SMALL_STATE(1202)] = 55504, - [SMALL_STATE(1203)] = 55517, - [SMALL_STATE(1204)] = 55526, - [SMALL_STATE(1205)] = 55539, - [SMALL_STATE(1206)] = 55552, - [SMALL_STATE(1207)] = 55565, - [SMALL_STATE(1208)] = 55574, - [SMALL_STATE(1209)] = 55585, - [SMALL_STATE(1210)] = 55598, - [SMALL_STATE(1211)] = 55607, - [SMALL_STATE(1212)] = 55620, - [SMALL_STATE(1213)] = 55633, - [SMALL_STATE(1214)] = 55646, - [SMALL_STATE(1215)] = 55659, - [SMALL_STATE(1216)] = 55672, - [SMALL_STATE(1217)] = 55685, - [SMALL_STATE(1218)] = 55698, - [SMALL_STATE(1219)] = 55711, - [SMALL_STATE(1220)] = 55724, - [SMALL_STATE(1221)] = 55737, - [SMALL_STATE(1222)] = 55750, - [SMALL_STATE(1223)] = 55763, - [SMALL_STATE(1224)] = 55776, - [SMALL_STATE(1225)] = 55789, - [SMALL_STATE(1226)] = 55802, - [SMALL_STATE(1227)] = 55815, - [SMALL_STATE(1228)] = 55828, - [SMALL_STATE(1229)] = 55841, - [SMALL_STATE(1230)] = 55854, - [SMALL_STATE(1231)] = 55867, - [SMALL_STATE(1232)] = 55880, - [SMALL_STATE(1233)] = 55893, - [SMALL_STATE(1234)] = 55906, - [SMALL_STATE(1235)] = 55919, - [SMALL_STATE(1236)] = 55932, - [SMALL_STATE(1237)] = 55945, - [SMALL_STATE(1238)] = 55958, - [SMALL_STATE(1239)] = 55969, - [SMALL_STATE(1240)] = 55982, - [SMALL_STATE(1241)] = 55995, - [SMALL_STATE(1242)] = 56008, - [SMALL_STATE(1243)] = 56021, - [SMALL_STATE(1244)] = 56034, - [SMALL_STATE(1245)] = 56047, - [SMALL_STATE(1246)] = 56060, - [SMALL_STATE(1247)] = 56073, - [SMALL_STATE(1248)] = 56086, - [SMALL_STATE(1249)] = 56099, - [SMALL_STATE(1250)] = 56112, - [SMALL_STATE(1251)] = 56125, - [SMALL_STATE(1252)] = 56138, - [SMALL_STATE(1253)] = 56151, - [SMALL_STATE(1254)] = 56164, - [SMALL_STATE(1255)] = 56177, - [SMALL_STATE(1256)] = 56190, - [SMALL_STATE(1257)] = 56203, - [SMALL_STATE(1258)] = 56216, - [SMALL_STATE(1259)] = 56227, - [SMALL_STATE(1260)] = 56240, - [SMALL_STATE(1261)] = 56253, - [SMALL_STATE(1262)] = 56266, - [SMALL_STATE(1263)] = 56277, - [SMALL_STATE(1264)] = 56290, - [SMALL_STATE(1265)] = 56303, - [SMALL_STATE(1266)] = 56316, - [SMALL_STATE(1267)] = 56329, - [SMALL_STATE(1268)] = 56340, - [SMALL_STATE(1269)] = 56353, - [SMALL_STATE(1270)] = 56366, - [SMALL_STATE(1271)] = 56379, - [SMALL_STATE(1272)] = 56392, - [SMALL_STATE(1273)] = 56405, - [SMALL_STATE(1274)] = 56414, - [SMALL_STATE(1275)] = 56427, - [SMALL_STATE(1276)] = 56440, - [SMALL_STATE(1277)] = 56453, - [SMALL_STATE(1278)] = 56466, - [SMALL_STATE(1279)] = 56479, - [SMALL_STATE(1280)] = 56492, - [SMALL_STATE(1281)] = 56505, - [SMALL_STATE(1282)] = 56518, - [SMALL_STATE(1283)] = 56527, - [SMALL_STATE(1284)] = 56538, - [SMALL_STATE(1285)] = 56551, - [SMALL_STATE(1286)] = 56560, - [SMALL_STATE(1287)] = 56573, - [SMALL_STATE(1288)] = 56586, - [SMALL_STATE(1289)] = 56597, - [SMALL_STATE(1290)] = 56606, - [SMALL_STATE(1291)] = 56615, - [SMALL_STATE(1292)] = 56628, - [SMALL_STATE(1293)] = 56641, - [SMALL_STATE(1294)] = 56654, - [SMALL_STATE(1295)] = 56663, - [SMALL_STATE(1296)] = 56674, - [SMALL_STATE(1297)] = 56687, - [SMALL_STATE(1298)] = 56700, - [SMALL_STATE(1299)] = 56713, - [SMALL_STATE(1300)] = 56722, - [SMALL_STATE(1301)] = 56735, - [SMALL_STATE(1302)] = 56748, - [SMALL_STATE(1303)] = 56761, - [SMALL_STATE(1304)] = 56770, - [SMALL_STATE(1305)] = 56783, - [SMALL_STATE(1306)] = 56792, - [SMALL_STATE(1307)] = 56802, - [SMALL_STATE(1308)] = 56812, - [SMALL_STATE(1309)] = 56820, - [SMALL_STATE(1310)] = 56828, - [SMALL_STATE(1311)] = 56838, - [SMALL_STATE(1312)] = 56846, - [SMALL_STATE(1313)] = 56854, - [SMALL_STATE(1314)] = 56864, - [SMALL_STATE(1315)] = 56872, - [SMALL_STATE(1316)] = 56880, - [SMALL_STATE(1317)] = 56888, - [SMALL_STATE(1318)] = 56896, - [SMALL_STATE(1319)] = 56904, - [SMALL_STATE(1320)] = 56914, - [SMALL_STATE(1321)] = 56924, - [SMALL_STATE(1322)] = 56932, - [SMALL_STATE(1323)] = 56942, - [SMALL_STATE(1324)] = 56950, - [SMALL_STATE(1325)] = 56958, - [SMALL_STATE(1326)] = 56966, - [SMALL_STATE(1327)] = 56974, - [SMALL_STATE(1328)] = 56984, - [SMALL_STATE(1329)] = 56994, - [SMALL_STATE(1330)] = 57004, - [SMALL_STATE(1331)] = 57012, - [SMALL_STATE(1332)] = 57020, - [SMALL_STATE(1333)] = 57028, - [SMALL_STATE(1334)] = 57036, - [SMALL_STATE(1335)] = 57044, - [SMALL_STATE(1336)] = 57052, - [SMALL_STATE(1337)] = 57060, - [SMALL_STATE(1338)] = 57068, - [SMALL_STATE(1339)] = 57076, - [SMALL_STATE(1340)] = 57084, - [SMALL_STATE(1341)] = 57092, - [SMALL_STATE(1342)] = 57100, - [SMALL_STATE(1343)] = 57110, - [SMALL_STATE(1344)] = 57118, - [SMALL_STATE(1345)] = 57126, - [SMALL_STATE(1346)] = 57134, - [SMALL_STATE(1347)] = 57142, - [SMALL_STATE(1348)] = 57150, - [SMALL_STATE(1349)] = 57158, - [SMALL_STATE(1350)] = 57166, - [SMALL_STATE(1351)] = 57176, - [SMALL_STATE(1352)] = 57186, - [SMALL_STATE(1353)] = 57196, - [SMALL_STATE(1354)] = 57204, - [SMALL_STATE(1355)] = 57214, - [SMALL_STATE(1356)] = 57224, - [SMALL_STATE(1357)] = 57234, - [SMALL_STATE(1358)] = 57242, - [SMALL_STATE(1359)] = 57250, - [SMALL_STATE(1360)] = 57260, - [SMALL_STATE(1361)] = 57270, - [SMALL_STATE(1362)] = 57278, - [SMALL_STATE(1363)] = 57288, - [SMALL_STATE(1364)] = 57296, - [SMALL_STATE(1365)] = 57306, - [SMALL_STATE(1366)] = 57316, - [SMALL_STATE(1367)] = 57324, - [SMALL_STATE(1368)] = 57334, - [SMALL_STATE(1369)] = 57342, - [SMALL_STATE(1370)] = 57352, - [SMALL_STATE(1371)] = 57362, - [SMALL_STATE(1372)] = 57370, - [SMALL_STATE(1373)] = 57378, - [SMALL_STATE(1374)] = 57386, - [SMALL_STATE(1375)] = 57394, - [SMALL_STATE(1376)] = 57402, - [SMALL_STATE(1377)] = 57412, - [SMALL_STATE(1378)] = 57419, - [SMALL_STATE(1379)] = 57426, - [SMALL_STATE(1380)] = 57433, - [SMALL_STATE(1381)] = 57440, - [SMALL_STATE(1382)] = 57447, - [SMALL_STATE(1383)] = 57454, - [SMALL_STATE(1384)] = 57461, - [SMALL_STATE(1385)] = 57468, - [SMALL_STATE(1386)] = 57475, - [SMALL_STATE(1387)] = 57482, - [SMALL_STATE(1388)] = 57489, - [SMALL_STATE(1389)] = 57496, - [SMALL_STATE(1390)] = 57503, - [SMALL_STATE(1391)] = 57510, - [SMALL_STATE(1392)] = 57517, - [SMALL_STATE(1393)] = 57524, - [SMALL_STATE(1394)] = 57531, - [SMALL_STATE(1395)] = 57538, - [SMALL_STATE(1396)] = 57545, - [SMALL_STATE(1397)] = 57552, - [SMALL_STATE(1398)] = 57559, - [SMALL_STATE(1399)] = 57566, - [SMALL_STATE(1400)] = 57573, - [SMALL_STATE(1401)] = 57580, - [SMALL_STATE(1402)] = 57587, - [SMALL_STATE(1403)] = 57594, - [SMALL_STATE(1404)] = 57601, - [SMALL_STATE(1405)] = 57608, - [SMALL_STATE(1406)] = 57615, - [SMALL_STATE(1407)] = 57622, - [SMALL_STATE(1408)] = 57629, - [SMALL_STATE(1409)] = 57636, - [SMALL_STATE(1410)] = 57643, - [SMALL_STATE(1411)] = 57650, - [SMALL_STATE(1412)] = 57657, - [SMALL_STATE(1413)] = 57664, - [SMALL_STATE(1414)] = 57671, - [SMALL_STATE(1415)] = 57678, - [SMALL_STATE(1416)] = 57685, - [SMALL_STATE(1417)] = 57692, - [SMALL_STATE(1418)] = 57699, - [SMALL_STATE(1419)] = 57706, - [SMALL_STATE(1420)] = 57713, - [SMALL_STATE(1421)] = 57720, - [SMALL_STATE(1422)] = 57727, - [SMALL_STATE(1423)] = 57734, - [SMALL_STATE(1424)] = 57741, - [SMALL_STATE(1425)] = 57748, - [SMALL_STATE(1426)] = 57755, - [SMALL_STATE(1427)] = 57762, - [SMALL_STATE(1428)] = 57769, - [SMALL_STATE(1429)] = 57776, - [SMALL_STATE(1430)] = 57783, - [SMALL_STATE(1431)] = 57790, - [SMALL_STATE(1432)] = 57797, - [SMALL_STATE(1433)] = 57804, - [SMALL_STATE(1434)] = 57811, - [SMALL_STATE(1435)] = 57818, - [SMALL_STATE(1436)] = 57825, - [SMALL_STATE(1437)] = 57832, - [SMALL_STATE(1438)] = 57839, - [SMALL_STATE(1439)] = 57846, - [SMALL_STATE(1440)] = 57853, - [SMALL_STATE(1441)] = 57860, - [SMALL_STATE(1442)] = 57867, - [SMALL_STATE(1443)] = 57874, - [SMALL_STATE(1444)] = 57881, - [SMALL_STATE(1445)] = 57888, - [SMALL_STATE(1446)] = 57895, - [SMALL_STATE(1447)] = 57902, - [SMALL_STATE(1448)] = 57909, - [SMALL_STATE(1449)] = 57916, - [SMALL_STATE(1450)] = 57923, - [SMALL_STATE(1451)] = 57930, - [SMALL_STATE(1452)] = 57937, - [SMALL_STATE(1453)] = 57944, - [SMALL_STATE(1454)] = 57951, - [SMALL_STATE(1455)] = 57958, - [SMALL_STATE(1456)] = 57965, - [SMALL_STATE(1457)] = 57972, - [SMALL_STATE(1458)] = 57979, - [SMALL_STATE(1459)] = 57986, - [SMALL_STATE(1460)] = 57993, - [SMALL_STATE(1461)] = 58000, - [SMALL_STATE(1462)] = 58007, - [SMALL_STATE(1463)] = 58014, - [SMALL_STATE(1464)] = 58021, - [SMALL_STATE(1465)] = 58028, - [SMALL_STATE(1466)] = 58035, - [SMALL_STATE(1467)] = 58042, - [SMALL_STATE(1468)] = 58049, - [SMALL_STATE(1469)] = 58056, - [SMALL_STATE(1470)] = 58063, - [SMALL_STATE(1471)] = 58070, - [SMALL_STATE(1472)] = 58077, - [SMALL_STATE(1473)] = 58084, - [SMALL_STATE(1474)] = 58091, - [SMALL_STATE(1475)] = 58098, - [SMALL_STATE(1476)] = 58105, - [SMALL_STATE(1477)] = 58112, - [SMALL_STATE(1478)] = 58119, - [SMALL_STATE(1479)] = 58126, - [SMALL_STATE(1480)] = 58133, - [SMALL_STATE(1481)] = 58140, - [SMALL_STATE(1482)] = 58147, - [SMALL_STATE(1483)] = 58154, - [SMALL_STATE(1484)] = 58161, - [SMALL_STATE(1485)] = 58168, - [SMALL_STATE(1486)] = 58175, - [SMALL_STATE(1487)] = 58182, - [SMALL_STATE(1488)] = 58189, - [SMALL_STATE(1489)] = 58196, - [SMALL_STATE(1490)] = 58203, - [SMALL_STATE(1491)] = 58210, - [SMALL_STATE(1492)] = 58217, - [SMALL_STATE(1493)] = 58224, - [SMALL_STATE(1494)] = 58231, - [SMALL_STATE(1495)] = 58238, - [SMALL_STATE(1496)] = 58245, - [SMALL_STATE(1497)] = 58252, - [SMALL_STATE(1498)] = 58259, - [SMALL_STATE(1499)] = 58266, - [SMALL_STATE(1500)] = 58273, - [SMALL_STATE(1501)] = 58280, + [SMALL_STATE(264)] = 11710, + [SMALL_STATE(265)] = 11811, + [SMALL_STATE(266)] = 11907, + [SMALL_STATE(267)] = 12003, + [SMALL_STATE(268)] = 12101, + [SMALL_STATE(269)] = 12197, + [SMALL_STATE(270)] = 12295, + [SMALL_STATE(271)] = 12391, + [SMALL_STATE(272)] = 12487, + [SMALL_STATE(273)] = 12583, + [SMALL_STATE(274)] = 12679, + [SMALL_STATE(275)] = 12775, + [SMALL_STATE(276)] = 12873, + [SMALL_STATE(277)] = 12971, + [SMALL_STATE(278)] = 13069, + [SMALL_STATE(279)] = 13167, + [SMALL_STATE(280)] = 13263, + [SMALL_STATE(281)] = 13359, + [SMALL_STATE(282)] = 13457, + [SMALL_STATE(283)] = 13553, + [SMALL_STATE(284)] = 13651, + [SMALL_STATE(285)] = 13747, + [SMALL_STATE(286)] = 13845, + [SMALL_STATE(287)] = 13941, + [SMALL_STATE(288)] = 14036, + [SMALL_STATE(289)] = 14131, + [SMALL_STATE(290)] = 14194, + [SMALL_STATE(291)] = 14263, + [SMALL_STATE(292)] = 14332, + [SMALL_STATE(293)] = 14395, + [SMALL_STATE(294)] = 14458, + [SMALL_STATE(295)] = 14517, + [SMALL_STATE(296)] = 14576, + [SMALL_STATE(297)] = 14635, + [SMALL_STATE(298)] = 14694, + [SMALL_STATE(299)] = 14767, + [SMALL_STATE(300)] = 14840, + [SMALL_STATE(301)] = 14909, + [SMALL_STATE(302)] = 14968, + [SMALL_STATE(303)] = 15037, + [SMALL_STATE(304)] = 15132, + [SMALL_STATE(305)] = 15201, + [SMALL_STATE(306)] = 15260, + [SMALL_STATE(307)] = 15319, + [SMALL_STATE(308)] = 15378, + [SMALL_STATE(309)] = 15441, + [SMALL_STATE(310)] = 15510, + [SMALL_STATE(311)] = 15579, + [SMALL_STATE(312)] = 15638, + [SMALL_STATE(313)] = 15707, + [SMALL_STATE(314)] = 15766, + [SMALL_STATE(315)] = 15858, + [SMALL_STATE(316)] = 15950, + [SMALL_STATE(317)] = 16042, + [SMALL_STATE(318)] = 16134, + [SMALL_STATE(319)] = 16226, + [SMALL_STATE(320)] = 16318, + [SMALL_STATE(321)] = 16410, + [SMALL_STATE(322)] = 16502, + [SMALL_STATE(323)] = 16594, + [SMALL_STATE(324)] = 16686, + [SMALL_STATE(325)] = 16778, + [SMALL_STATE(326)] = 16870, + [SMALL_STATE(327)] = 16962, + [SMALL_STATE(328)] = 17054, + [SMALL_STATE(329)] = 17146, + [SMALL_STATE(330)] = 17238, + [SMALL_STATE(331)] = 17330, + [SMALL_STATE(332)] = 17422, + [SMALL_STATE(333)] = 17514, + [SMALL_STATE(334)] = 17606, + [SMALL_STATE(335)] = 17698, + [SMALL_STATE(336)] = 17790, + [SMALL_STATE(337)] = 17882, + [SMALL_STATE(338)] = 17974, + [SMALL_STATE(339)] = 18066, + [SMALL_STATE(340)] = 18158, + [SMALL_STATE(341)] = 18250, + [SMALL_STATE(342)] = 18342, + [SMALL_STATE(343)] = 18434, + [SMALL_STATE(344)] = 18526, + [SMALL_STATE(345)] = 18618, + [SMALL_STATE(346)] = 18710, + [SMALL_STATE(347)] = 18802, + [SMALL_STATE(348)] = 18894, + [SMALL_STATE(349)] = 18986, + [SMALL_STATE(350)] = 19078, + [SMALL_STATE(351)] = 19170, + [SMALL_STATE(352)] = 19262, + [SMALL_STATE(353)] = 19354, + [SMALL_STATE(354)] = 19446, + [SMALL_STATE(355)] = 19538, + [SMALL_STATE(356)] = 19630, + [SMALL_STATE(357)] = 19722, + [SMALL_STATE(358)] = 19814, + [SMALL_STATE(359)] = 19906, + [SMALL_STATE(360)] = 19998, + [SMALL_STATE(361)] = 20090, + [SMALL_STATE(362)] = 20182, + [SMALL_STATE(363)] = 20274, + [SMALL_STATE(364)] = 20366, + [SMALL_STATE(365)] = 20458, + [SMALL_STATE(366)] = 20550, + [SMALL_STATE(367)] = 20642, + [SMALL_STATE(368)] = 20734, + [SMALL_STATE(369)] = 20826, + [SMALL_STATE(370)] = 20890, + [SMALL_STATE(371)] = 20982, + [SMALL_STATE(372)] = 21074, + [SMALL_STATE(373)] = 21166, + [SMALL_STATE(374)] = 21258, + [SMALL_STATE(375)] = 21350, + [SMALL_STATE(376)] = 21442, + [SMALL_STATE(377)] = 21534, + [SMALL_STATE(378)] = 21626, + [SMALL_STATE(379)] = 21718, + [SMALL_STATE(380)] = 21810, + [SMALL_STATE(381)] = 21902, + [SMALL_STATE(382)] = 21972, + [SMALL_STATE(383)] = 22036, + [SMALL_STATE(384)] = 22128, + [SMALL_STATE(385)] = 22220, + [SMALL_STATE(386)] = 22312, + [SMALL_STATE(387)] = 22404, + [SMALL_STATE(388)] = 22496, + [SMALL_STATE(389)] = 22588, + [SMALL_STATE(390)] = 22682, + [SMALL_STATE(391)] = 22743, + [SMALL_STATE(392)] = 22800, + [SMALL_STATE(393)] = 22857, + [SMALL_STATE(394)] = 22914, + [SMALL_STATE(395)] = 22971, + [SMALL_STATE(396)] = 23028, + [SMALL_STATE(397)] = 23085, + [SMALL_STATE(398)] = 23152, + [SMALL_STATE(399)] = 23209, + [SMALL_STATE(400)] = 23266, + [SMALL_STATE(401)] = 23323, + [SMALL_STATE(402)] = 23380, + [SMALL_STATE(403)] = 23437, + [SMALL_STATE(404)] = 23494, + [SMALL_STATE(405)] = 23551, + [SMALL_STATE(406)] = 23608, + [SMALL_STATE(407)] = 23665, + [SMALL_STATE(408)] = 23722, + [SMALL_STATE(409)] = 23779, + [SMALL_STATE(410)] = 23840, + [SMALL_STATE(411)] = 23897, + [SMALL_STATE(412)] = 23954, + [SMALL_STATE(413)] = 24015, + [SMALL_STATE(414)] = 24072, + [SMALL_STATE(415)] = 24133, + [SMALL_STATE(416)] = 24193, + [SMALL_STATE(417)] = 24257, + [SMALL_STATE(418)] = 24313, + [SMALL_STATE(419)] = 24373, + [SMALL_STATE(420)] = 24429, + [SMALL_STATE(421)] = 24489, + [SMALL_STATE(422)] = 24549, + [SMALL_STATE(423)] = 24605, + [SMALL_STATE(424)] = 24697, + [SMALL_STATE(425)] = 24757, + [SMALL_STATE(426)] = 24817, + [SMALL_STATE(427)] = 24877, + [SMALL_STATE(428)] = 24937, + [SMALL_STATE(429)] = 24993, + [SMALL_STATE(430)] = 25057, + [SMALL_STATE(431)] = 25117, + [SMALL_STATE(432)] = 25177, + [SMALL_STATE(433)] = 25237, + [SMALL_STATE(434)] = 25293, + [SMALL_STATE(435)] = 25385, + [SMALL_STATE(436)] = 25445, + [SMALL_STATE(437)] = 25505, + [SMALL_STATE(438)] = 25565, + [SMALL_STATE(439)] = 25625, + [SMALL_STATE(440)] = 25681, + [SMALL_STATE(441)] = 25745, + [SMALL_STATE(442)] = 25839, + [SMALL_STATE(443)] = 25903, + [SMALL_STATE(444)] = 25959, + [SMALL_STATE(445)] = 26015, + [SMALL_STATE(446)] = 26075, + [SMALL_STATE(447)] = 26136, + [SMALL_STATE(448)] = 26227, + [SMALL_STATE(449)] = 26318, + [SMALL_STATE(450)] = 26409, + [SMALL_STATE(451)] = 26464, + [SMALL_STATE(452)] = 26525, + [SMALL_STATE(453)] = 26586, + [SMALL_STATE(454)] = 26641, + [SMALL_STATE(455)] = 26696, + [SMALL_STATE(456)] = 26751, + [SMALL_STATE(457)] = 26842, + [SMALL_STATE(458)] = 26897, + [SMALL_STATE(459)] = 26988, + [SMALL_STATE(460)] = 27049, + [SMALL_STATE(461)] = 27104, + [SMALL_STATE(462)] = 27159, + [SMALL_STATE(463)] = 27214, + [SMALL_STATE(464)] = 27269, + [SMALL_STATE(465)] = 27324, + [SMALL_STATE(466)] = 27379, + [SMALL_STATE(467)] = 27434, + [SMALL_STATE(468)] = 27525, + [SMALL_STATE(469)] = 27579, + [SMALL_STATE(470)] = 27633, + [SMALL_STATE(471)] = 27687, + [SMALL_STATE(472)] = 27741, + [SMALL_STATE(473)] = 27795, + [SMALL_STATE(474)] = 27849, + [SMALL_STATE(475)] = 27903, + [SMALL_STATE(476)] = 27957, + [SMALL_STATE(477)] = 28011, + [SMALL_STATE(478)] = 28065, + [SMALL_STATE(479)] = 28119, + [SMALL_STATE(480)] = 28173, + [SMALL_STATE(481)] = 28227, + [SMALL_STATE(482)] = 28281, + [SMALL_STATE(483)] = 28369, + [SMALL_STATE(484)] = 28423, + [SMALL_STATE(485)] = 28477, + [SMALL_STATE(486)] = 28531, + [SMALL_STATE(487)] = 28585, + [SMALL_STATE(488)] = 28639, + [SMALL_STATE(489)] = 28693, + [SMALL_STATE(490)] = 28747, + [SMALL_STATE(491)] = 28801, + [SMALL_STATE(492)] = 28855, + [SMALL_STATE(493)] = 28909, + [SMALL_STATE(494)] = 28963, + [SMALL_STATE(495)] = 29017, + [SMALL_STATE(496)] = 29071, + [SMALL_STATE(497)] = 29125, + [SMALL_STATE(498)] = 29179, + [SMALL_STATE(499)] = 29233, + [SMALL_STATE(500)] = 29287, + [SMALL_STATE(501)] = 29341, + [SMALL_STATE(502)] = 29395, + [SMALL_STATE(503)] = 29449, + [SMALL_STATE(504)] = 29503, + [SMALL_STATE(505)] = 29591, + [SMALL_STATE(506)] = 29645, + [SMALL_STATE(507)] = 29699, + [SMALL_STATE(508)] = 29753, + [SMALL_STATE(509)] = 29807, + [SMALL_STATE(510)] = 29861, + [SMALL_STATE(511)] = 29915, + [SMALL_STATE(512)] = 29969, + [SMALL_STATE(513)] = 30023, + [SMALL_STATE(514)] = 30077, + [SMALL_STATE(515)] = 30131, + [SMALL_STATE(516)] = 30185, + [SMALL_STATE(517)] = 30239, + [SMALL_STATE(518)] = 30293, + [SMALL_STATE(519)] = 30347, + [SMALL_STATE(520)] = 30401, + [SMALL_STATE(521)] = 30455, + [SMALL_STATE(522)] = 30509, + [SMALL_STATE(523)] = 30563, + [SMALL_STATE(524)] = 30617, + [SMALL_STATE(525)] = 30671, + [SMALL_STATE(526)] = 30725, + [SMALL_STATE(527)] = 30779, + [SMALL_STATE(528)] = 30833, + [SMALL_STATE(529)] = 30887, + [SMALL_STATE(530)] = 30941, + [SMALL_STATE(531)] = 30995, + [SMALL_STATE(532)] = 31049, + [SMALL_STATE(533)] = 31103, + [SMALL_STATE(534)] = 31157, + [SMALL_STATE(535)] = 31211, + [SMALL_STATE(536)] = 31265, + [SMALL_STATE(537)] = 31319, + [SMALL_STATE(538)] = 31373, + [SMALL_STATE(539)] = 31427, + [SMALL_STATE(540)] = 31481, + [SMALL_STATE(541)] = 31535, + [SMALL_STATE(542)] = 31589, + [SMALL_STATE(543)] = 31643, + [SMALL_STATE(544)] = 31697, + [SMALL_STATE(545)] = 31751, + [SMALL_STATE(546)] = 31805, + [SMALL_STATE(547)] = 31859, + [SMALL_STATE(548)] = 31913, + [SMALL_STATE(549)] = 31967, + [SMALL_STATE(550)] = 32021, + [SMALL_STATE(551)] = 32075, + [SMALL_STATE(552)] = 32129, + [SMALL_STATE(553)] = 32183, + [SMALL_STATE(554)] = 32237, + [SMALL_STATE(555)] = 32291, + [SMALL_STATE(556)] = 32345, + [SMALL_STATE(557)] = 32399, + [SMALL_STATE(558)] = 32453, + [SMALL_STATE(559)] = 32507, + [SMALL_STATE(560)] = 32561, + [SMALL_STATE(561)] = 32615, + [SMALL_STATE(562)] = 32669, + [SMALL_STATE(563)] = 32723, + [SMALL_STATE(564)] = 32777, + [SMALL_STATE(565)] = 32831, + [SMALL_STATE(566)] = 32885, + [SMALL_STATE(567)] = 32939, + [SMALL_STATE(568)] = 32993, + [SMALL_STATE(569)] = 33075, + [SMALL_STATE(570)] = 33130, + [SMALL_STATE(571)] = 33185, + [SMALL_STATE(572)] = 33240, + [SMALL_STATE(573)] = 33295, + [SMALL_STATE(574)] = 33350, + [SMALL_STATE(575)] = 33405, + [SMALL_STATE(576)] = 33481, + [SMALL_STATE(577)] = 33557, + [SMALL_STATE(578)] = 33633, + [SMALL_STATE(579)] = 33709, + [SMALL_STATE(580)] = 33782, + [SMALL_STATE(581)] = 33831, + [SMALL_STATE(582)] = 33880, + [SMALL_STATE(583)] = 33953, + [SMALL_STATE(584)] = 34026, + [SMALL_STATE(585)] = 34075, + [SMALL_STATE(586)] = 34148, + [SMALL_STATE(587)] = 34221, + [SMALL_STATE(588)] = 34294, + [SMALL_STATE(589)] = 34367, + [SMALL_STATE(590)] = 34440, + [SMALL_STATE(591)] = 34513, + [SMALL_STATE(592)] = 34586, + [SMALL_STATE(593)] = 34659, + [SMALL_STATE(594)] = 34732, + [SMALL_STATE(595)] = 34805, + [SMALL_STATE(596)] = 34882, + [SMALL_STATE(597)] = 34955, + [SMALL_STATE(598)] = 35028, + [SMALL_STATE(599)] = 35101, + [SMALL_STATE(600)] = 35174, + [SMALL_STATE(601)] = 35247, + [SMALL_STATE(602)] = 35320, + [SMALL_STATE(603)] = 35393, + [SMALL_STATE(604)] = 35466, + [SMALL_STATE(605)] = 35539, + [SMALL_STATE(606)] = 35612, + [SMALL_STATE(607)] = 35685, + [SMALL_STATE(608)] = 35758, + [SMALL_STATE(609)] = 35831, + [SMALL_STATE(610)] = 35904, + [SMALL_STATE(611)] = 35977, + [SMALL_STATE(612)] = 36050, + [SMALL_STATE(613)] = 36123, + [SMALL_STATE(614)] = 36196, + [SMALL_STATE(615)] = 36269, + [SMALL_STATE(616)] = 36342, + [SMALL_STATE(617)] = 36415, + [SMALL_STATE(618)] = 36488, + [SMALL_STATE(619)] = 36561, + [SMALL_STATE(620)] = 36634, + [SMALL_STATE(621)] = 36707, + [SMALL_STATE(622)] = 36780, + [SMALL_STATE(623)] = 36853, + [SMALL_STATE(624)] = 36930, + [SMALL_STATE(625)] = 36979, + [SMALL_STATE(626)] = 37052, + [SMALL_STATE(627)] = 37125, + [SMALL_STATE(628)] = 37198, + [SMALL_STATE(629)] = 37271, + [SMALL_STATE(630)] = 37319, + [SMALL_STATE(631)] = 37367, + [SMALL_STATE(632)] = 37415, + [SMALL_STATE(633)] = 37463, + [SMALL_STATE(634)] = 37511, + [SMALL_STATE(635)] = 37559, + [SMALL_STATE(636)] = 37607, + [SMALL_STATE(637)] = 37655, + [SMALL_STATE(638)] = 37703, + [SMALL_STATE(639)] = 37751, + [SMALL_STATE(640)] = 37799, + [SMALL_STATE(641)] = 37847, + [SMALL_STATE(642)] = 37895, + [SMALL_STATE(643)] = 37943, + [SMALL_STATE(644)] = 37991, + [SMALL_STATE(645)] = 38039, + [SMALL_STATE(646)] = 38087, + [SMALL_STATE(647)] = 38135, + [SMALL_STATE(648)] = 38183, + [SMALL_STATE(649)] = 38231, + [SMALL_STATE(650)] = 38279, + [SMALL_STATE(651)] = 38327, + [SMALL_STATE(652)] = 38375, + [SMALL_STATE(653)] = 38457, + [SMALL_STATE(654)] = 38539, + [SMALL_STATE(655)] = 38587, + [SMALL_STATE(656)] = 38635, + [SMALL_STATE(657)] = 38683, + [SMALL_STATE(658)] = 38731, + [SMALL_STATE(659)] = 38779, + [SMALL_STATE(660)] = 38827, + [SMALL_STATE(661)] = 38875, + [SMALL_STATE(662)] = 38923, + [SMALL_STATE(663)] = 38980, + [SMALL_STATE(664)] = 39051, + [SMALL_STATE(665)] = 39122, + [SMALL_STATE(666)] = 39193, + [SMALL_STATE(667)] = 39264, + [SMALL_STATE(668)] = 39335, + [SMALL_STATE(669)] = 39400, + [SMALL_STATE(670)] = 39457, + [SMALL_STATE(671)] = 39514, + [SMALL_STATE(672)] = 39571, + [SMALL_STATE(673)] = 39628, + [SMALL_STATE(674)] = 39699, + [SMALL_STATE(675)] = 39768, + [SMALL_STATE(676)] = 39825, + [SMALL_STATE(677)] = 39882, + [SMALL_STATE(678)] = 39945, + [SMALL_STATE(679)] = 40008, + [SMALL_STATE(680)] = 40075, + [SMALL_STATE(681)] = 40140, + [SMALL_STATE(682)] = 40207, + [SMALL_STATE(683)] = 40276, + [SMALL_STATE(684)] = 40337, + [SMALL_STATE(685)] = 40394, + [SMALL_STATE(686)] = 40455, + [SMALL_STATE(687)] = 40505, + [SMALL_STATE(688)] = 40553, + [SMALL_STATE(689)] = 40603, + [SMALL_STATE(690)] = 40653, + [SMALL_STATE(691)] = 40699, + [SMALL_STATE(692)] = 40749, + [SMALL_STATE(693)] = 40797, + [SMALL_STATE(694)] = 40845, + [SMALL_STATE(695)] = 40893, + [SMALL_STATE(696)] = 40939, + [SMALL_STATE(697)] = 40988, + [SMALL_STATE(698)] = 41033, + [SMALL_STATE(699)] = 41082, + [SMALL_STATE(700)] = 41131, + [SMALL_STATE(701)] = 41180, + [SMALL_STATE(702)] = 41229, + [SMALL_STATE(703)] = 41308, + [SMALL_STATE(704)] = 41353, + [SMALL_STATE(705)] = 41402, + [SMALL_STATE(706)] = 41466, + [SMALL_STATE(707)] = 41534, + [SMALL_STATE(708)] = 41592, + [SMALL_STATE(709)] = 41646, + [SMALL_STATE(710)] = 41690, + [SMALL_STATE(711)] = 41752, + [SMALL_STATE(712)] = 41806, + [SMALL_STATE(713)] = 41860, + [SMALL_STATE(714)] = 41928, + [SMALL_STATE(715)] = 41994, + [SMALL_STATE(716)] = 42038, + [SMALL_STATE(717)] = 42082, + [SMALL_STATE(718)] = 42150, + [SMALL_STATE(719)] = 42226, + [SMALL_STATE(720)] = 42270, + [SMALL_STATE(721)] = 42318, + [SMALL_STATE(722)] = 42378, + [SMALL_STATE(723)] = 42426, + [SMALL_STATE(724)] = 42480, + [SMALL_STATE(725)] = 42525, + [SMALL_STATE(726)] = 42568, + [SMALL_STATE(727)] = 42611, + [SMALL_STATE(728)] = 42656, + [SMALL_STATE(729)] = 42737, + [SMALL_STATE(730)] = 42784, + [SMALL_STATE(731)] = 42829, + [SMALL_STATE(732)] = 42874, + [SMALL_STATE(733)] = 42919, + [SMALL_STATE(734)] = 43000, + [SMALL_STATE(735)] = 43067, + [SMALL_STATE(736)] = 43112, + [SMALL_STATE(737)] = 43179, + [SMALL_STATE(738)] = 43260, + [SMALL_STATE(739)] = 43305, + [SMALL_STATE(740)] = 43366, + [SMALL_STATE(741)] = 43411, + [SMALL_STATE(742)] = 43474, + [SMALL_STATE(743)] = 43527, + [SMALL_STATE(744)] = 43570, + [SMALL_STATE(745)] = 43627, + [SMALL_STATE(746)] = 43692, + [SMALL_STATE(747)] = 43745, + [SMALL_STATE(748)] = 43792, + [SMALL_STATE(749)] = 43845, + [SMALL_STATE(750)] = 43892, + [SMALL_STATE(751)] = 43973, + [SMALL_STATE(752)] = 44040, + [SMALL_STATE(753)] = 44099, + [SMALL_STATE(754)] = 44152, + [SMALL_STATE(755)] = 44199, + [SMALL_STATE(756)] = 44242, + [SMALL_STATE(757)] = 44286, + [SMALL_STATE(758)] = 44328, + [SMALL_STATE(759)] = 44370, + [SMALL_STATE(760)] = 44412, + [SMALL_STATE(761)] = 44454, + [SMALL_STATE(762)] = 44496, + [SMALL_STATE(763)] = 44540, + [SMALL_STATE(764)] = 44582, + [SMALL_STATE(765)] = 44624, + [SMALL_STATE(766)] = 44704, + [SMALL_STATE(767)] = 44782, + [SMALL_STATE(768)] = 44824, + [SMALL_STATE(769)] = 44902, + [SMALL_STATE(770)] = 44944, + [SMALL_STATE(771)] = 44988, + [SMALL_STATE(772)] = 45066, + [SMALL_STATE(773)] = 45108, + [SMALL_STATE(774)] = 45186, + [SMALL_STATE(775)] = 45264, + [SMALL_STATE(776)] = 45306, + [SMALL_STATE(777)] = 45348, + [SMALL_STATE(778)] = 45390, + [SMALL_STATE(779)] = 45434, + [SMALL_STATE(780)] = 45476, + [SMALL_STATE(781)] = 45518, + [SMALL_STATE(782)] = 45560, + [SMALL_STATE(783)] = 45602, + [SMALL_STATE(784)] = 45644, + [SMALL_STATE(785)] = 45686, + [SMALL_STATE(786)] = 45728, + [SMALL_STATE(787)] = 45770, + [SMALL_STATE(788)] = 45812, + [SMALL_STATE(789)] = 45854, + [SMALL_STATE(790)] = 45896, + [SMALL_STATE(791)] = 45938, + [SMALL_STATE(792)] = 45980, + [SMALL_STATE(793)] = 46022, + [SMALL_STATE(794)] = 46064, + [SMALL_STATE(795)] = 46106, + [SMALL_STATE(796)] = 46148, + [SMALL_STATE(797)] = 46192, + [SMALL_STATE(798)] = 46234, + [SMALL_STATE(799)] = 46276, + [SMALL_STATE(800)] = 46318, + [SMALL_STATE(801)] = 46359, + [SMALL_STATE(802)] = 46400, + [SMALL_STATE(803)] = 46441, + [SMALL_STATE(804)] = 46486, + [SMALL_STATE(805)] = 46565, + [SMALL_STATE(806)] = 46606, + [SMALL_STATE(807)] = 46647, + [SMALL_STATE(808)] = 46722, + [SMALL_STATE(809)] = 46763, + [SMALL_STATE(810)] = 46804, + [SMALL_STATE(811)] = 46883, + [SMALL_STATE(812)] = 46924, + [SMALL_STATE(813)] = 46965, + [SMALL_STATE(814)] = 47006, + [SMALL_STATE(815)] = 47047, + [SMALL_STATE(816)] = 47088, + [SMALL_STATE(817)] = 47129, + [SMALL_STATE(818)] = 47170, + [SMALL_STATE(819)] = 47211, + [SMALL_STATE(820)] = 47252, + [SMALL_STATE(821)] = 47293, + [SMALL_STATE(822)] = 47334, + [SMALL_STATE(823)] = 47375, + [SMALL_STATE(824)] = 47454, + [SMALL_STATE(825)] = 47495, + [SMALL_STATE(826)] = 47540, + [SMALL_STATE(827)] = 47581, + [SMALL_STATE(828)] = 47622, + [SMALL_STATE(829)] = 47663, + [SMALL_STATE(830)] = 47704, + [SMALL_STATE(831)] = 47745, + [SMALL_STATE(832)] = 47786, + [SMALL_STATE(833)] = 47827, + [SMALL_STATE(834)] = 47868, + [SMALL_STATE(835)] = 47909, + [SMALL_STATE(836)] = 47950, + [SMALL_STATE(837)] = 47991, + [SMALL_STATE(838)] = 48032, + [SMALL_STATE(839)] = 48073, + [SMALL_STATE(840)] = 48146, + [SMALL_STATE(841)] = 48216, + [SMALL_STATE(842)] = 48286, + [SMALL_STATE(843)] = 48348, + [SMALL_STATE(844)] = 48410, + [SMALL_STATE(845)] = 48450, + [SMALL_STATE(846)] = 48490, + [SMALL_STATE(847)] = 48530, + [SMALL_STATE(848)] = 48570, + [SMALL_STATE(849)] = 48600, + [SMALL_STATE(850)] = 48625, + [SMALL_STATE(851)] = 48662, + [SMALL_STATE(852)] = 48715, + [SMALL_STATE(853)] = 48744, + [SMALL_STATE(854)] = 48769, + [SMALL_STATE(855)] = 48794, + [SMALL_STATE(856)] = 48847, + [SMALL_STATE(857)] = 48884, + [SMALL_STATE(858)] = 48909, + [SMALL_STATE(859)] = 48962, + [SMALL_STATE(860)] = 48991, + [SMALL_STATE(861)] = 49025, + [SMALL_STATE(862)] = 49053, + [SMALL_STATE(863)] = 49099, + [SMALL_STATE(864)] = 49133, + [SMALL_STATE(865)] = 49176, + [SMALL_STATE(866)] = 49219, + [SMALL_STATE(867)] = 49262, + [SMALL_STATE(868)] = 49293, + [SMALL_STATE(869)] = 49336, + [SMALL_STATE(870)] = 49379, + [SMALL_STATE(871)] = 49423, + [SMALL_STATE(872)] = 49463, + [SMALL_STATE(873)] = 49500, + [SMALL_STATE(874)] = 49537, + [SMALL_STATE(875)] = 49562, + [SMALL_STATE(876)] = 49599, + [SMALL_STATE(877)] = 49636, + [SMALL_STATE(878)] = 49670, + [SMALL_STATE(879)] = 49704, + [SMALL_STATE(880)] = 49726, + [SMALL_STATE(881)] = 49748, + [SMALL_STATE(882)] = 49770, + [SMALL_STATE(883)] = 49793, + [SMALL_STATE(884)] = 49814, + [SMALL_STATE(885)] = 49837, + [SMALL_STATE(886)] = 49864, + [SMALL_STATE(887)] = 49901, + [SMALL_STATE(888)] = 49938, + [SMALL_STATE(889)] = 49963, + [SMALL_STATE(890)] = 49986, + [SMALL_STATE(891)] = 50009, + [SMALL_STATE(892)] = 50030, + [SMALL_STATE(893)] = 50051, + [SMALL_STATE(894)] = 50074, + [SMALL_STATE(895)] = 50091, + [SMALL_STATE(896)] = 50114, + [SMALL_STATE(897)] = 50135, + [SMALL_STATE(898)] = 50156, + [SMALL_STATE(899)] = 50181, + [SMALL_STATE(900)] = 50204, + [SMALL_STATE(901)] = 50223, + [SMALL_STATE(902)] = 50244, + [SMALL_STATE(903)] = 50267, + [SMALL_STATE(904)] = 50304, + [SMALL_STATE(905)] = 50329, + [SMALL_STATE(906)] = 50366, + [SMALL_STATE(907)] = 50396, + [SMALL_STATE(908)] = 50426, + [SMALL_STATE(909)] = 50460, + [SMALL_STATE(910)] = 50494, + [SMALL_STATE(911)] = 50516, + [SMALL_STATE(912)] = 50550, + [SMALL_STATE(913)] = 50584, + [SMALL_STATE(914)] = 50614, + [SMALL_STATE(915)] = 50644, + [SMALL_STATE(916)] = 50674, + [SMALL_STATE(917)] = 50704, + [SMALL_STATE(918)] = 50722, + [SMALL_STATE(919)] = 50752, + [SMALL_STATE(920)] = 50782, + [SMALL_STATE(921)] = 50812, + [SMALL_STATE(922)] = 50846, + [SMALL_STATE(923)] = 50876, + [SMALL_STATE(924)] = 50906, + [SMALL_STATE(925)] = 50924, + [SMALL_STATE(926)] = 50954, + [SMALL_STATE(927)] = 50984, + [SMALL_STATE(928)] = 51006, + [SMALL_STATE(929)] = 51040, + [SMALL_STATE(930)] = 51070, + [SMALL_STATE(931)] = 51104, + [SMALL_STATE(932)] = 51126, + [SMALL_STATE(933)] = 51156, + [SMALL_STATE(934)] = 51190, + [SMALL_STATE(935)] = 51212, + [SMALL_STATE(936)] = 51246, + [SMALL_STATE(937)] = 51269, + [SMALL_STATE(938)] = 51288, + [SMALL_STATE(939)] = 51307, + [SMALL_STATE(940)] = 51326, + [SMALL_STATE(941)] = 51351, + [SMALL_STATE(942)] = 51370, + [SMALL_STATE(943)] = 51393, + [SMALL_STATE(944)] = 51416, + [SMALL_STATE(945)] = 51435, + [SMALL_STATE(946)] = 51454, + [SMALL_STATE(947)] = 51468, + [SMALL_STATE(948)] = 51482, + [SMALL_STATE(949)] = 51496, + [SMALL_STATE(950)] = 51510, + [SMALL_STATE(951)] = 51524, + [SMALL_STATE(952)] = 51542, + [SMALL_STATE(953)] = 51556, + [SMALL_STATE(954)] = 51576, + [SMALL_STATE(955)] = 51590, + [SMALL_STATE(956)] = 51604, + [SMALL_STATE(957)] = 51618, + [SMALL_STATE(958)] = 51632, + [SMALL_STATE(959)] = 51650, + [SMALL_STATE(960)] = 51664, + [SMALL_STATE(961)] = 51688, + [SMALL_STATE(962)] = 51712, + [SMALL_STATE(963)] = 51726, + [SMALL_STATE(964)] = 51746, + [SMALL_STATE(965)] = 51760, + [SMALL_STATE(966)] = 51774, + [SMALL_STATE(967)] = 51788, + [SMALL_STATE(968)] = 51806, + [SMALL_STATE(969)] = 51820, + [SMALL_STATE(970)] = 51838, + [SMALL_STATE(971)] = 51854, + [SMALL_STATE(972)] = 51868, + [SMALL_STATE(973)] = 51882, + [SMALL_STATE(974)] = 51900, + [SMALL_STATE(975)] = 51914, + [SMALL_STATE(976)] = 51928, + [SMALL_STATE(977)] = 51946, + [SMALL_STATE(978)] = 51960, + [SMALL_STATE(979)] = 51978, + [SMALL_STATE(980)] = 51998, + [SMALL_STATE(981)] = 52014, + [SMALL_STATE(982)] = 52036, + [SMALL_STATE(983)] = 52054, + [SMALL_STATE(984)] = 52068, + [SMALL_STATE(985)] = 52086, + [SMALL_STATE(986)] = 52106, + [SMALL_STATE(987)] = 52124, + [SMALL_STATE(988)] = 52142, + [SMALL_STATE(989)] = 52160, + [SMALL_STATE(990)] = 52186, + [SMALL_STATE(991)] = 52200, + [SMALL_STATE(992)] = 52214, + [SMALL_STATE(993)] = 52233, + [SMALL_STATE(994)] = 52252, + [SMALL_STATE(995)] = 52269, + [SMALL_STATE(996)] = 52290, + [SMALL_STATE(997)] = 52303, + [SMALL_STATE(998)] = 52324, + [SMALL_STATE(999)] = 52345, + [SMALL_STATE(1000)] = 52366, + [SMALL_STATE(1001)] = 52391, + [SMALL_STATE(1002)] = 52404, + [SMALL_STATE(1003)] = 52423, + [SMALL_STATE(1004)] = 52442, + [SMALL_STATE(1005)] = 52461, + [SMALL_STATE(1006)] = 52484, + [SMALL_STATE(1007)] = 52509, + [SMALL_STATE(1008)] = 52528, + [SMALL_STATE(1009)] = 52551, + [SMALL_STATE(1010)] = 52574, + [SMALL_STATE(1011)] = 52587, + [SMALL_STATE(1012)] = 52608, + [SMALL_STATE(1013)] = 52631, + [SMALL_STATE(1014)] = 52654, + [SMALL_STATE(1015)] = 52669, + [SMALL_STATE(1016)] = 52688, + [SMALL_STATE(1017)] = 52707, + [SMALL_STATE(1018)] = 52732, + [SMALL_STATE(1019)] = 52745, + [SMALL_STATE(1020)] = 52758, + [SMALL_STATE(1021)] = 52771, + [SMALL_STATE(1022)] = 52788, + [SMALL_STATE(1023)] = 52807, + [SMALL_STATE(1024)] = 52820, + [SMALL_STATE(1025)] = 52835, + [SMALL_STATE(1026)] = 52860, + [SMALL_STATE(1027)] = 52883, + [SMALL_STATE(1028)] = 52900, + [SMALL_STATE(1029)] = 52925, + [SMALL_STATE(1030)] = 52944, + [SMALL_STATE(1031)] = 52967, + [SMALL_STATE(1032)] = 52990, + [SMALL_STATE(1033)] = 53013, + [SMALL_STATE(1034)] = 53038, + [SMALL_STATE(1035)] = 53063, + [SMALL_STATE(1036)] = 53084, + [SMALL_STATE(1037)] = 53109, + [SMALL_STATE(1038)] = 53130, + [SMALL_STATE(1039)] = 53146, + [SMALL_STATE(1040)] = 53162, + [SMALL_STATE(1041)] = 53184, + [SMALL_STATE(1042)] = 53200, + [SMALL_STATE(1043)] = 53220, + [SMALL_STATE(1044)] = 53238, + [SMALL_STATE(1045)] = 53252, + [SMALL_STATE(1046)] = 53268, + [SMALL_STATE(1047)] = 53282, + [SMALL_STATE(1048)] = 53298, + [SMALL_STATE(1049)] = 53312, + [SMALL_STATE(1050)] = 53332, + [SMALL_STATE(1051)] = 53354, + [SMALL_STATE(1052)] = 53370, + [SMALL_STATE(1053)] = 53392, + [SMALL_STATE(1054)] = 53410, + [SMALL_STATE(1055)] = 53424, + [SMALL_STATE(1056)] = 53446, + [SMALL_STATE(1057)] = 53460, + [SMALL_STATE(1058)] = 53476, + [SMALL_STATE(1059)] = 53494, + [SMALL_STATE(1060)] = 53512, + [SMALL_STATE(1061)] = 53534, + [SMALL_STATE(1062)] = 53546, + [SMALL_STATE(1063)] = 53566, + [SMALL_STATE(1064)] = 53584, + [SMALL_STATE(1065)] = 53602, + [SMALL_STATE(1066)] = 53624, + [SMALL_STATE(1067)] = 53646, + [SMALL_STATE(1068)] = 53660, + [SMALL_STATE(1069)] = 53678, + [SMALL_STATE(1070)] = 53696, + [SMALL_STATE(1071)] = 53708, + [SMALL_STATE(1072)] = 53728, + [SMALL_STATE(1073)] = 53747, + [SMALL_STATE(1074)] = 53764, + [SMALL_STATE(1075)] = 53783, + [SMALL_STATE(1076)] = 53800, + [SMALL_STATE(1077)] = 53819, + [SMALL_STATE(1078)] = 53834, + [SMALL_STATE(1079)] = 53849, + [SMALL_STATE(1080)] = 53864, + [SMALL_STATE(1081)] = 53881, + [SMALL_STATE(1082)] = 53898, + [SMALL_STATE(1083)] = 53913, + [SMALL_STATE(1084)] = 53930, + [SMALL_STATE(1085)] = 53949, + [SMALL_STATE(1086)] = 53966, + [SMALL_STATE(1087)] = 53977, + [SMALL_STATE(1088)] = 53994, + [SMALL_STATE(1089)] = 54013, + [SMALL_STATE(1090)] = 54024, + [SMALL_STATE(1091)] = 54041, + [SMALL_STATE(1092)] = 54058, + [SMALL_STATE(1093)] = 54075, + [SMALL_STATE(1094)] = 54092, + [SMALL_STATE(1095)] = 54109, + [SMALL_STATE(1096)] = 54124, + [SMALL_STATE(1097)] = 54139, + [SMALL_STATE(1098)] = 54156, + [SMALL_STATE(1099)] = 54175, + [SMALL_STATE(1100)] = 54190, + [SMALL_STATE(1101)] = 54207, + [SMALL_STATE(1102)] = 54224, + [SMALL_STATE(1103)] = 54241, + [SMALL_STATE(1104)] = 54260, + [SMALL_STATE(1105)] = 54279, + [SMALL_STATE(1106)] = 54296, + [SMALL_STATE(1107)] = 54313, + [SMALL_STATE(1108)] = 54324, + [SMALL_STATE(1109)] = 54340, + [SMALL_STATE(1110)] = 54354, + [SMALL_STATE(1111)] = 54368, + [SMALL_STATE(1112)] = 54382, + [SMALL_STATE(1113)] = 54398, + [SMALL_STATE(1114)] = 54414, + [SMALL_STATE(1115)] = 54428, + [SMALL_STATE(1116)] = 54442, + [SMALL_STATE(1117)] = 54456, + [SMALL_STATE(1118)] = 54466, + [SMALL_STATE(1119)] = 54476, + [SMALL_STATE(1120)] = 54490, + [SMALL_STATE(1121)] = 54504, + [SMALL_STATE(1122)] = 54516, + [SMALL_STATE(1123)] = 54526, + [SMALL_STATE(1124)] = 54536, + [SMALL_STATE(1125)] = 54550, + [SMALL_STATE(1126)] = 54566, + [SMALL_STATE(1127)] = 54582, + [SMALL_STATE(1128)] = 54598, + [SMALL_STATE(1129)] = 54614, + [SMALL_STATE(1130)] = 54630, + [SMALL_STATE(1131)] = 54644, + [SMALL_STATE(1132)] = 54658, + [SMALL_STATE(1133)] = 54670, + [SMALL_STATE(1134)] = 54684, + [SMALL_STATE(1135)] = 54698, + [SMALL_STATE(1136)] = 54712, + [SMALL_STATE(1137)] = 54728, + [SMALL_STATE(1138)] = 54742, + [SMALL_STATE(1139)] = 54756, + [SMALL_STATE(1140)] = 54772, + [SMALL_STATE(1141)] = 54788, + [SMALL_STATE(1142)] = 54802, + [SMALL_STATE(1143)] = 54818, + [SMALL_STATE(1144)] = 54832, + [SMALL_STATE(1145)] = 54846, + [SMALL_STATE(1146)] = 54860, + [SMALL_STATE(1147)] = 54876, + [SMALL_STATE(1148)] = 54890, + [SMALL_STATE(1149)] = 54904, + [SMALL_STATE(1150)] = 54920, + [SMALL_STATE(1151)] = 54936, + [SMALL_STATE(1152)] = 54952, + [SMALL_STATE(1153)] = 54966, + [SMALL_STATE(1154)] = 54982, + [SMALL_STATE(1155)] = 54998, + [SMALL_STATE(1156)] = 55012, + [SMALL_STATE(1157)] = 55026, + [SMALL_STATE(1158)] = 55040, + [SMALL_STATE(1159)] = 55056, + [SMALL_STATE(1160)] = 55070, + [SMALL_STATE(1161)] = 55086, + [SMALL_STATE(1162)] = 55102, + [SMALL_STATE(1163)] = 55118, + [SMALL_STATE(1164)] = 55134, + [SMALL_STATE(1165)] = 55150, + [SMALL_STATE(1166)] = 55166, + [SMALL_STATE(1167)] = 55182, + [SMALL_STATE(1168)] = 55196, + [SMALL_STATE(1169)] = 55206, + [SMALL_STATE(1170)] = 55222, + [SMALL_STATE(1171)] = 55238, + [SMALL_STATE(1172)] = 55252, + [SMALL_STATE(1173)] = 55268, + [SMALL_STATE(1174)] = 55278, + [SMALL_STATE(1175)] = 55292, + [SMALL_STATE(1176)] = 55306, + [SMALL_STATE(1177)] = 55320, + [SMALL_STATE(1178)] = 55334, + [SMALL_STATE(1179)] = 55348, + [SMALL_STATE(1180)] = 55364, + [SMALL_STATE(1181)] = 55377, + [SMALL_STATE(1182)] = 55390, + [SMALL_STATE(1183)] = 55403, + [SMALL_STATE(1184)] = 55416, + [SMALL_STATE(1185)] = 55427, + [SMALL_STATE(1186)] = 55436, + [SMALL_STATE(1187)] = 55445, + [SMALL_STATE(1188)] = 55458, + [SMALL_STATE(1189)] = 55471, + [SMALL_STATE(1190)] = 55484, + [SMALL_STATE(1191)] = 55497, + [SMALL_STATE(1192)] = 55508, + [SMALL_STATE(1193)] = 55521, + [SMALL_STATE(1194)] = 55534, + [SMALL_STATE(1195)] = 55547, + [SMALL_STATE(1196)] = 55556, + [SMALL_STATE(1197)] = 55569, + [SMALL_STATE(1198)] = 55582, + [SMALL_STATE(1199)] = 55595, + [SMALL_STATE(1200)] = 55604, + [SMALL_STATE(1201)] = 55617, + [SMALL_STATE(1202)] = 55630, + [SMALL_STATE(1203)] = 55643, + [SMALL_STATE(1204)] = 55656, + [SMALL_STATE(1205)] = 55669, + [SMALL_STATE(1206)] = 55682, + [SMALL_STATE(1207)] = 55695, + [SMALL_STATE(1208)] = 55708, + [SMALL_STATE(1209)] = 55721, + [SMALL_STATE(1210)] = 55730, + [SMALL_STATE(1211)] = 55743, + [SMALL_STATE(1212)] = 55756, + [SMALL_STATE(1213)] = 55769, + [SMALL_STATE(1214)] = 55782, + [SMALL_STATE(1215)] = 55795, + [SMALL_STATE(1216)] = 55808, + [SMALL_STATE(1217)] = 55821, + [SMALL_STATE(1218)] = 55832, + [SMALL_STATE(1219)] = 55845, + [SMALL_STATE(1220)] = 55858, + [SMALL_STATE(1221)] = 55871, + [SMALL_STATE(1222)] = 55884, + [SMALL_STATE(1223)] = 55895, + [SMALL_STATE(1224)] = 55908, + [SMALL_STATE(1225)] = 55921, + [SMALL_STATE(1226)] = 55934, + [SMALL_STATE(1227)] = 55945, + [SMALL_STATE(1228)] = 55958, + [SMALL_STATE(1229)] = 55969, + [SMALL_STATE(1230)] = 55982, + [SMALL_STATE(1231)] = 55995, + [SMALL_STATE(1232)] = 56008, + [SMALL_STATE(1233)] = 56021, + [SMALL_STATE(1234)] = 56034, + [SMALL_STATE(1235)] = 56047, + [SMALL_STATE(1236)] = 56060, + [SMALL_STATE(1237)] = 56073, + [SMALL_STATE(1238)] = 56086, + [SMALL_STATE(1239)] = 56099, + [SMALL_STATE(1240)] = 56112, + [SMALL_STATE(1241)] = 56125, + [SMALL_STATE(1242)] = 56136, + [SMALL_STATE(1243)] = 56149, + [SMALL_STATE(1244)] = 56162, + [SMALL_STATE(1245)] = 56175, + [SMALL_STATE(1246)] = 56186, + [SMALL_STATE(1247)] = 56199, + [SMALL_STATE(1248)] = 56212, + [SMALL_STATE(1249)] = 56225, + [SMALL_STATE(1250)] = 56238, + [SMALL_STATE(1251)] = 56251, + [SMALL_STATE(1252)] = 56264, + [SMALL_STATE(1253)] = 56277, + [SMALL_STATE(1254)] = 56290, + [SMALL_STATE(1255)] = 56301, + [SMALL_STATE(1256)] = 56312, + [SMALL_STATE(1257)] = 56323, + [SMALL_STATE(1258)] = 56336, + [SMALL_STATE(1259)] = 56349, + [SMALL_STATE(1260)] = 56362, + [SMALL_STATE(1261)] = 56375, + [SMALL_STATE(1262)] = 56388, + [SMALL_STATE(1263)] = 56397, + [SMALL_STATE(1264)] = 56410, + [SMALL_STATE(1265)] = 56423, + [SMALL_STATE(1266)] = 56436, + [SMALL_STATE(1267)] = 56449, + [SMALL_STATE(1268)] = 56462, + [SMALL_STATE(1269)] = 56471, + [SMALL_STATE(1270)] = 56484, + [SMALL_STATE(1271)] = 56497, + [SMALL_STATE(1272)] = 56508, + [SMALL_STATE(1273)] = 56521, + [SMALL_STATE(1274)] = 56534, + [SMALL_STATE(1275)] = 56547, + [SMALL_STATE(1276)] = 56560, + [SMALL_STATE(1277)] = 56573, + [SMALL_STATE(1278)] = 56586, + [SMALL_STATE(1279)] = 56595, + [SMALL_STATE(1280)] = 56608, + [SMALL_STATE(1281)] = 56621, + [SMALL_STATE(1282)] = 56634, + [SMALL_STATE(1283)] = 56643, + [SMALL_STATE(1284)] = 56656, + [SMALL_STATE(1285)] = 56669, + [SMALL_STATE(1286)] = 56682, + [SMALL_STATE(1287)] = 56695, + [SMALL_STATE(1288)] = 56708, + [SMALL_STATE(1289)] = 56717, + [SMALL_STATE(1290)] = 56726, + [SMALL_STATE(1291)] = 56735, + [SMALL_STATE(1292)] = 56748, + [SMALL_STATE(1293)] = 56757, + [SMALL_STATE(1294)] = 56770, + [SMALL_STATE(1295)] = 56783, + [SMALL_STATE(1296)] = 56796, + [SMALL_STATE(1297)] = 56809, + [SMALL_STATE(1298)] = 56822, + [SMALL_STATE(1299)] = 56831, + [SMALL_STATE(1300)] = 56844, + [SMALL_STATE(1301)] = 56857, + [SMALL_STATE(1302)] = 56870, + [SMALL_STATE(1303)] = 56883, + [SMALL_STATE(1304)] = 56896, + [SMALL_STATE(1305)] = 56909, + [SMALL_STATE(1306)] = 56922, + [SMALL_STATE(1307)] = 56935, + [SMALL_STATE(1308)] = 56944, + [SMALL_STATE(1309)] = 56957, + [SMALL_STATE(1310)] = 56970, + [SMALL_STATE(1311)] = 56978, + [SMALL_STATE(1312)] = 56986, + [SMALL_STATE(1313)] = 56994, + [SMALL_STATE(1314)] = 57004, + [SMALL_STATE(1315)] = 57012, + [SMALL_STATE(1316)] = 57020, + [SMALL_STATE(1317)] = 57028, + [SMALL_STATE(1318)] = 57038, + [SMALL_STATE(1319)] = 57046, + [SMALL_STATE(1320)] = 57056, + [SMALL_STATE(1321)] = 57066, + [SMALL_STATE(1322)] = 57074, + [SMALL_STATE(1323)] = 57084, + [SMALL_STATE(1324)] = 57092, + [SMALL_STATE(1325)] = 57100, + [SMALL_STATE(1326)] = 57108, + [SMALL_STATE(1327)] = 57116, + [SMALL_STATE(1328)] = 57124, + [SMALL_STATE(1329)] = 57134, + [SMALL_STATE(1330)] = 57142, + [SMALL_STATE(1331)] = 57150, + [SMALL_STATE(1332)] = 57158, + [SMALL_STATE(1333)] = 57166, + [SMALL_STATE(1334)] = 57174, + [SMALL_STATE(1335)] = 57182, + [SMALL_STATE(1336)] = 57190, + [SMALL_STATE(1337)] = 57200, + [SMALL_STATE(1338)] = 57210, + [SMALL_STATE(1339)] = 57218, + [SMALL_STATE(1340)] = 57228, + [SMALL_STATE(1341)] = 57236, + [SMALL_STATE(1342)] = 57246, + [SMALL_STATE(1343)] = 57256, + [SMALL_STATE(1344)] = 57264, + [SMALL_STATE(1345)] = 57272, + [SMALL_STATE(1346)] = 57282, + [SMALL_STATE(1347)] = 57292, + [SMALL_STATE(1348)] = 57302, + [SMALL_STATE(1349)] = 57312, + [SMALL_STATE(1350)] = 57322, + [SMALL_STATE(1351)] = 57332, + [SMALL_STATE(1352)] = 57342, + [SMALL_STATE(1353)] = 57350, + [SMALL_STATE(1354)] = 57360, + [SMALL_STATE(1355)] = 57370, + [SMALL_STATE(1356)] = 57380, + [SMALL_STATE(1357)] = 57388, + [SMALL_STATE(1358)] = 57396, + [SMALL_STATE(1359)] = 57404, + [SMALL_STATE(1360)] = 57414, + [SMALL_STATE(1361)] = 57422, + [SMALL_STATE(1362)] = 57432, + [SMALL_STATE(1363)] = 57442, + [SMALL_STATE(1364)] = 57450, + [SMALL_STATE(1365)] = 57458, + [SMALL_STATE(1366)] = 57466, + [SMALL_STATE(1367)] = 57476, + [SMALL_STATE(1368)] = 57486, + [SMALL_STATE(1369)] = 57494, + [SMALL_STATE(1370)] = 57502, + [SMALL_STATE(1371)] = 57510, + [SMALL_STATE(1372)] = 57518, + [SMALL_STATE(1373)] = 57526, + [SMALL_STATE(1374)] = 57534, + [SMALL_STATE(1375)] = 57542, + [SMALL_STATE(1376)] = 57552, + [SMALL_STATE(1377)] = 57562, + [SMALL_STATE(1378)] = 57570, + [SMALL_STATE(1379)] = 57578, + [SMALL_STATE(1380)] = 57588, + [SMALL_STATE(1381)] = 57596, + [SMALL_STATE(1382)] = 57604, + [SMALL_STATE(1383)] = 57614, + [SMALL_STATE(1384)] = 57622, + [SMALL_STATE(1385)] = 57630, + [SMALL_STATE(1386)] = 57637, + [SMALL_STATE(1387)] = 57644, + [SMALL_STATE(1388)] = 57651, + [SMALL_STATE(1389)] = 57658, + [SMALL_STATE(1390)] = 57665, + [SMALL_STATE(1391)] = 57672, + [SMALL_STATE(1392)] = 57679, + [SMALL_STATE(1393)] = 57686, + [SMALL_STATE(1394)] = 57693, + [SMALL_STATE(1395)] = 57700, + [SMALL_STATE(1396)] = 57707, + [SMALL_STATE(1397)] = 57714, + [SMALL_STATE(1398)] = 57721, + [SMALL_STATE(1399)] = 57728, + [SMALL_STATE(1400)] = 57735, + [SMALL_STATE(1401)] = 57742, + [SMALL_STATE(1402)] = 57749, + [SMALL_STATE(1403)] = 57756, + [SMALL_STATE(1404)] = 57763, + [SMALL_STATE(1405)] = 57770, + [SMALL_STATE(1406)] = 57777, + [SMALL_STATE(1407)] = 57784, + [SMALL_STATE(1408)] = 57791, + [SMALL_STATE(1409)] = 57798, + [SMALL_STATE(1410)] = 57805, + [SMALL_STATE(1411)] = 57812, + [SMALL_STATE(1412)] = 57819, + [SMALL_STATE(1413)] = 57826, + [SMALL_STATE(1414)] = 57833, + [SMALL_STATE(1415)] = 57840, + [SMALL_STATE(1416)] = 57847, + [SMALL_STATE(1417)] = 57854, + [SMALL_STATE(1418)] = 57861, + [SMALL_STATE(1419)] = 57868, + [SMALL_STATE(1420)] = 57875, + [SMALL_STATE(1421)] = 57882, + [SMALL_STATE(1422)] = 57889, + [SMALL_STATE(1423)] = 57896, + [SMALL_STATE(1424)] = 57903, + [SMALL_STATE(1425)] = 57910, + [SMALL_STATE(1426)] = 57917, + [SMALL_STATE(1427)] = 57924, + [SMALL_STATE(1428)] = 57931, + [SMALL_STATE(1429)] = 57938, + [SMALL_STATE(1430)] = 57945, + [SMALL_STATE(1431)] = 57952, + [SMALL_STATE(1432)] = 57959, + [SMALL_STATE(1433)] = 57966, + [SMALL_STATE(1434)] = 57973, + [SMALL_STATE(1435)] = 57980, + [SMALL_STATE(1436)] = 57987, + [SMALL_STATE(1437)] = 57994, + [SMALL_STATE(1438)] = 58001, + [SMALL_STATE(1439)] = 58008, + [SMALL_STATE(1440)] = 58015, + [SMALL_STATE(1441)] = 58022, + [SMALL_STATE(1442)] = 58029, + [SMALL_STATE(1443)] = 58036, + [SMALL_STATE(1444)] = 58043, + [SMALL_STATE(1445)] = 58050, + [SMALL_STATE(1446)] = 58057, + [SMALL_STATE(1447)] = 58064, + [SMALL_STATE(1448)] = 58071, + [SMALL_STATE(1449)] = 58078, + [SMALL_STATE(1450)] = 58085, + [SMALL_STATE(1451)] = 58092, + [SMALL_STATE(1452)] = 58099, + [SMALL_STATE(1453)] = 58106, + [SMALL_STATE(1454)] = 58113, + [SMALL_STATE(1455)] = 58120, + [SMALL_STATE(1456)] = 58127, + [SMALL_STATE(1457)] = 58134, + [SMALL_STATE(1458)] = 58141, + [SMALL_STATE(1459)] = 58148, + [SMALL_STATE(1460)] = 58155, + [SMALL_STATE(1461)] = 58162, + [SMALL_STATE(1462)] = 58169, + [SMALL_STATE(1463)] = 58176, + [SMALL_STATE(1464)] = 58183, + [SMALL_STATE(1465)] = 58190, + [SMALL_STATE(1466)] = 58197, + [SMALL_STATE(1467)] = 58204, + [SMALL_STATE(1468)] = 58211, + [SMALL_STATE(1469)] = 58218, + [SMALL_STATE(1470)] = 58225, + [SMALL_STATE(1471)] = 58232, + [SMALL_STATE(1472)] = 58239, + [SMALL_STATE(1473)] = 58246, + [SMALL_STATE(1474)] = 58253, + [SMALL_STATE(1475)] = 58260, + [SMALL_STATE(1476)] = 58267, + [SMALL_STATE(1477)] = 58274, + [SMALL_STATE(1478)] = 58281, + [SMALL_STATE(1479)] = 58288, + [SMALL_STATE(1480)] = 58295, + [SMALL_STATE(1481)] = 58302, + [SMALL_STATE(1482)] = 58309, + [SMALL_STATE(1483)] = 58316, + [SMALL_STATE(1484)] = 58323, + [SMALL_STATE(1485)] = 58330, + [SMALL_STATE(1486)] = 58337, + [SMALL_STATE(1487)] = 58344, + [SMALL_STATE(1488)] = 58351, + [SMALL_STATE(1489)] = 58358, + [SMALL_STATE(1490)] = 58365, + [SMALL_STATE(1491)] = 58372, + [SMALL_STATE(1492)] = 58379, + [SMALL_STATE(1493)] = 58386, + [SMALL_STATE(1494)] = 58393, + [SMALL_STATE(1495)] = 58400, + [SMALL_STATE(1496)] = 58407, + [SMALL_STATE(1497)] = 58414, + [SMALL_STATE(1498)] = 58421, + [SMALL_STATE(1499)] = 58428, + [SMALL_STATE(1500)] = 58435, + [SMALL_STATE(1501)] = 58442, + [SMALL_STATE(1502)] = 58449, + [SMALL_STATE(1503)] = 58456, + [SMALL_STATE(1504)] = 58463, + [SMALL_STATE(1505)] = 58470, + [SMALL_STATE(1506)] = 58477, + [SMALL_STATE(1507)] = 58484, + [SMALL_STATE(1508)] = 58491, + [SMALL_STATE(1509)] = 58498, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -72522,1546 +72711,1551 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 0), - [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1158), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(996), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(346), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(345), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(224), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), - [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1315), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1317), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1318), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(440), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1113), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1013), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(389), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(388), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(225), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1314), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1315), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1316), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(329), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(300), - [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1488), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(456), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(333), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1496), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), - [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1486), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1485), - [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1484), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(353), - [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1483), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1494), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1493), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1492), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), + [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(397), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1491), [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366), - [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(865), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(869), [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(795), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(760), [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(134), - [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929), - [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(287), - [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464), - [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), - [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1471), - [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(273), - [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1493), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1474), - [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(926), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(907), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(448), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1479), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1501), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1482), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1312), - [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1), - [111] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(414), - [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1158), - [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(996), - [120] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(155), - [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(346), - [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(84), - [129] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(345), - [132] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(199), - [135] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(224), - [138] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(168), - [141] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1315), - [144] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1317), - [147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1318), - [150] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(320), - [153] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(287), - [156] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(464), - [159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(323), - [162] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1471), - [165] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(273), - [168] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(66), - [171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(589), - [174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(160), - [177] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(166), - [180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(363), - [183] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1493), - [186] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1485), - [189] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1484), - [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(353), - [195] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(409), - [198] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1474), - [201] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(351), - [204] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(366), - [207] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(865), - [210] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(178), - [213] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(795), - [216] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(795), - [219] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(134), - [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), - [224] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(922), - [227] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(929), - [230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(329), - [233] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(300), - [236] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(458), - [239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(380), - [242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1488), - [245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(266), - [248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(67), - [251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1486), - [254] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1483), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(688), + [109] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(440), + [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1113), + [115] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1013), + [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(153), + [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(389), + [124] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(111), + [127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(388), + [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(186), + [133] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(225), + [136] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(177), + [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1314), + [142] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1315), + [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1316), + [148] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(373), + [151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(298), + [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(448), + [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(325), + [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1479), + [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(269), + [166] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(67), + [169] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(589), + [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(155), + [175] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(161), + [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(346), + [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1501), + [184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1493), + [187] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1492), + [190] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(381), + [193] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(397), + [196] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1482), + [199] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(351), + [202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(317), + [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(869), + [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(178), + [211] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(760), + [214] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(760), + [217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(134), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), + [222] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(926), + [225] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(907), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1360), + [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module, 1), + [236] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(329), + [239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(299), + [242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(456), + [245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(333), + [248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1496), + [251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(281), + [254] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(66), + [257] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1494), + [260] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_module_repeat1, 2), SHIFT_REPEAT(1491), + [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(687), [265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), - [267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(206), + [267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(191), [270] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_pattern, 1, .production_id = 1), REDUCE(sym_primary_expression, 1, .production_id = 1), - [273] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(349), - [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(685), - [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [273] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(337), + [276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(694), + [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 1, .production_id = 1), - [282] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(627), - [285] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(202), - [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(363), - [293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(356), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627), + [282] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(615), + [285] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(189), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(346), + [293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, .production_id = 1), SHIFT(338), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1, .production_id = 1), [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(868), [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1, .production_id = 1), - [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658), - [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(658), + [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), + [306] = {.entry = {.count = 1, .reusable = false}}, SHIFT(649), [308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), - [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(919), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(905), - [314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), - [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1014), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), - [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), - [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(743), - [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(741), - [384] = {.entry = {.count = 1, .reusable = false}}, SHIFT(347), - [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), - [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), - [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), - [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(913), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(916), + [314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(429), + [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(487), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), + [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(997), + [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), - [490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), - [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), - [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1029), - [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), - [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), - [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), - [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), - [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), - [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), - [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), - [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1343), - [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1321), - [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(771), + [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(730), + [490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(727), + [492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), + [494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(486), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(995), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), + [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), + [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1318), + [564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1383), + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(759), [572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(589), - [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), - [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), [580] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, .production_id = 1), REDUCE(sym_list_splat_pattern, 2, .production_id = 8), - [583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(650), - [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(656), + [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_splat_pattern, 2, .production_id = 8), - [589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(627), - [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [589] = {.entry = {.count = 1, .reusable = false}}, SHIFT(615), + [591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_splat_pattern, 2, .production_id = 8), [595] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), - [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), [601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), - [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), [605] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), - [607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(362), - [609] = {.entry = {.count = 1, .reusable = false}}, SHIFT(805), - [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [613] = {.entry = {.count = 1, .reusable = false}}, SHIFT(807), - [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), - [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805), - [625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(909), - [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(923), - [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [607] = {.entry = {.count = 1, .reusable = false}}, SHIFT(809), + [609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [611] = {.entry = {.count = 1, .reusable = false}}, SHIFT(802), + [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(809), + [623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), + [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(906), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(915), + [629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(332), + [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386), [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 1), - [635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(349), - [637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(356), - [639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(727), - [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(749), - [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(737), - [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [651] = {.entry = {.count = 1, .reusable = false}}, SHIFT(337), - [653] = {.entry = {.count = 1, .reusable = false}}, SHIFT(866), + [635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(337), + [637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(338), + [639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(754), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729), + [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [651] = {.entry = {.count = 1, .reusable = false}}, SHIFT(371), + [653] = {.entry = {.count = 1, .reusable = false}}, SHIFT(864), [655] = {.entry = {.count = 1, .reusable = false}}, SHIFT(152), [657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), - [659] = {.entry = {.count = 1, .reusable = false}}, SHIFT(742), - [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [663] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621), - [665] = {.entry = {.count = 1, .reusable = false}}, SHIFT(751), - [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_list, 3, .production_id = 16), - [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_list, 3, .production_id = 16), - [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [673] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), - [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(777), - [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_list, 2, .production_id = 7), - [683] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_list, 2, .production_id = 7), - [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), - [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, .production_id = 16), - [691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(694), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1379), - [697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(690), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811), - [701] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), - [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, .production_id = 7), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1405), - [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652), - [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1459), - [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(756), + [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(738), + [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(796), + [667] = {.entry = {.count = 1, .reusable = false}}, SHIFT(735), + [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [671] = {.entry = {.count = 1, .reusable = false}}, SHIFT(623), + [673] = {.entry = {.count = 1, .reusable = false}}, SHIFT(731), + [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_list, 3, .production_id = 16), + [677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_list, 3, .production_id = 16), + [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [681] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724), + [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_list, 2, .production_id = 7), + [687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern_list, 2, .production_id = 7), + [689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(692), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1442), + [695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(693), + [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786), + [699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), + [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, .production_id = 7), + [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, .production_id = 16), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1394), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811), + [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1389), + [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), + [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__collection_elements, 3, .production_id = 50), - [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), - [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(360), - [721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 1), - [723] = {.entry = {.count = 1, .reusable = false}}, SHIFT(803), - [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1423), - [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(801), - [731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__collection_elements, 2, .production_id = 24), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), - [737] = {.entry = {.count = 1, .reusable = false}}, SHIFT(733), - [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826), - [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1396), - [743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(736), - [745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), - [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781), - [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1419), - [751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), - [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(813), - [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(700), - [761] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 3, .production_id = 16), - [763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792), - [769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 2, .production_id = 7), - [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(796), - [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 7, .production_id = 141), - [775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 7, .production_id = 141), - [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(863), - [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645), - [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(756), - [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776), - [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(758), - [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 6, .production_id = 123), - [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 6, .production_id = 123), - [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692), - [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778), - [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(804), - [797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1), - [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 5, .production_id = 98), - [801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 5, .production_id = 98), - [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(806), - [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), - [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632), - [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815), - [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 6, .production_id = 122), - [813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 6, .production_id = 122), - [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779), - [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), - [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635), - [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(749), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1468), + [725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(747), + [727] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(695), + [731] = {.entry = {.count = 1, .reusable = false}}, SHIFT(825), + [733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(803), + [735] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(838), + [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1405), + [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1436), + [745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__collection_elements, 2, .production_id = 24), + [747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342), + [749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 1), + [751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), + [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 7, .production_id = 141), + [759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 7, .production_id = 141), + [761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(865), + [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(793), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), + [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767), + [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1), + [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641), + [775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 3, .production_id = 16), + [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379), + [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(690), + [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 6, .production_id = 123), + [785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 6, .production_id = 123), + [787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 6, .production_id = 122), + [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 6, .production_id = 122), + [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(818), + [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815), + [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 5, .production_id = 98), + [797] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_in_clause, 5, .production_id = 98), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794), + [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(806), + [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703), + [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805), + [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779), + [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), + [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(648), + [817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 2, .production_id = 7), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), [823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression_list, 3, .production_id = 16), - [825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression_list, 2, .production_id = 7), - [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_splat_pattern, 2, .production_id = 33), - [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), - [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633), - [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774), - [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(819), - [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824), - [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), - [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(833), - [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), - [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782), - [847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4, .production_id = 56), - [849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4, .production_id = 56), - [851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1446), - [853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), - [855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1443), - [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 5, .production_id = 81), - [859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 5, .production_id = 81), - [861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1412), - [863] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1463), - [865] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1500), - [867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 40), - [869] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 3, .production_id = 40), - [871] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1487), - [873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript, 4, .production_id = 70), - [875] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript, 4, .production_id = 70), - [877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304), - [879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 2, .production_id = 69), - [881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 1), - [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), - [889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 68), - [891] = {.entry = {.count = 1, .reusable = false}}, SHIFT(764), - [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [895] = {.entry = {.count = 1, .reusable = false}}, SHIFT(780), - [897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(340), - [899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(867), - [901] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), - [903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 69), - [905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 4, .production_id = 28), - [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 4, .production_id = 95), - [909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 4, .production_id = 29), - [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 2), - [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1377), - [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1424), - [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3), - [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3, .production_id = 10), - [921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), - [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), - [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), - [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_statements, 3), - [931] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_statements, 3), - [933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_statements, 2), - [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_statements, 2), - [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), - [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1494), - [943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 76), - [945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 76), - [947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370), - [949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_statements, 4), - [951] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_statements, 4), - [953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), - [957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 102), - [959] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 102), - [961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(361), - [963] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1), - [965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1), - [967] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 54), - [969] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 54), - [971] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 77), - [973] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 77), - [975] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat2, 2), - [977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat2, 2), - [979] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat2, 2), SHIFT_REPEAT(1487), - [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), - [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1429), - [988] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat2, 2), SHIFT_REPEAT(1463), - [991] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), - [993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2), - [995] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(311), - [998] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(304), - [1001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), - [1003] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), - [1005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), SHIFT_REPEAT(370), - [1008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(438), - [1010] = {.entry = {.count = 1, .reusable = false}}, SHIFT(437), - [1012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934), - [1016] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), SHIFT_REPEAT(361), - [1019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 7, .production_id = 163), - [1021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 7, .production_id = 163), - [1023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cases, 1), - [1025] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cases, 1), - [1027] = {.entry = {.count = 1, .reusable = false}}, SHIFT(746), - [1029] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 8, .production_id = 165), - [1031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 8, .production_id = 165), - [1033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 7, .production_id = 164), - [1035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 7, .production_id = 164), - [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 4, .production_id = 130), - [1039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 4, .production_id = 130), - [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 4, .production_id = 81), - [1043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 4, .production_id = 81), - [1045] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 3, .production_id = 56), - [1047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 3, .production_id = 56), - [1049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 5, .production_id = 147), - [1051] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 5, .production_id = 147), - [1053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_cases_repeat1, 2), - [1055] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_cases_repeat1, 2), - [1057] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_cases_repeat1, 2), SHIFT_REPEAT(746), - [1060] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_cases_repeat1, 2), SHIFT_REPEAT(725), - [1063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 5, .production_id = 148), - [1065] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 5, .production_id = 148), - [1067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 6, .production_id = 157), - [1069] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 6, .production_id = 157), - [1071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 6, .production_id = 158), - [1073] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 6, .production_id = 158), - [1075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(725), - [1077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1291), - [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1), - [1081] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_pattern, 1), REDUCE(sym_primary_expression, 1), - [1084] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1), - [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), - [1088] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 1), - [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1), - [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, .production_id = 105), - [1094] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, .production_id = 105), - [1096] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elif_clause, 5, .production_id = 77), - [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_clause, 5, .production_id = 77), - [1100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 6, .production_id = 81), - [1102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 6, .production_id = 81), - [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 80), - [1106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 80), - [1108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 129), - [1110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 129), - [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1210), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(621), - [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, .production_id = 55), - [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, .production_id = 55), - [1120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 125), - [1122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 125), - [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 143), - [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 143), - [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elif_clause, 4, .production_id = 54), - [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_clause, 4, .production_id = 54), - [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 5, .production_id = 56), - [1134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 5, .production_id = 56), - [1136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 74), - [1138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 74), - [1140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1), REDUCE(sym_list_splat_pattern, 2, .production_id = 9), - [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), - [1145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_splat_pattern, 2, .production_id = 9), - [1147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_splat_pattern, 2, .production_id = 9), - [1149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 2, .production_id = 24), - [1151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 3, .production_id = 50), - [1153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_block, 5, .production_id = 150), - [1155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_block, 5, .production_id = 150), - [1157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 3, .production_id = 56), - [1159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 3, .production_id = 56), - [1161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 4, .production_id = 81), - [1163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 4, .production_id = 81), - [1165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_block, 5, .production_id = 151), - [1167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_block, 5, .production_id = 151), - [1169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), - [1171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_list_pattern, 2), REDUCE(sym_list, 2), - [1174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), - [1176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 2), - [1178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 2), - [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), - [1182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_tuple_pattern, 2), REDUCE(sym_tuple, 2), - [1185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), - [1187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 2), - [1189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 2), - [1191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_block, 6, .production_id = 159), - [1193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_block, 6, .production_id = 159), + [825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_splat_pattern, 2, .production_id = 33), + [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression_list, 2, .production_id = 7), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(834), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(819), + [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(821), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(780), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775), + [847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4, .production_id = 56), + [849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4, .production_id = 56), + [851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1439), + [853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1429), + [855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1503), + [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 1), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_subscript, 4, .production_id = 70), + [863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_subscript, 4, .production_id = 70), + [865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 40), + [867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute, 3, .production_id = 40), + [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 2, .production_id = 69), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [873] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 5, .production_id = 81), + [875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 5, .production_id = 81), + [877] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1452), + [879] = {.entry = {.count = 1, .reusable = false}}, SHIFT(277), + [881] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1449), + [883] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1495), + [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(267), + [889] = {.entry = {.count = 1, .reusable = false}}, SHIFT(778), + [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [893] = {.entry = {.count = 1, .reusable = false}}, SHIFT(762), + [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [897] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370), + [899] = {.entry = {.count = 1, .reusable = false}}, SHIFT(866), + [901] = {.entry = {.count = 1, .reusable = false}}, SHIFT(143), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3, .production_id = 10), + [909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 68), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 4, .production_id = 29), + [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 4, .production_id = 28), + [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 69), + [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1395), + [921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 4, .production_id = 95), + [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1425), + [925] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 2), + [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3), + [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat1, 2), + [931] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), + [933] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(267), + [936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 76), + [938] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 76), + [940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(318), + [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 77), + [944] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 77), + [946] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat2, 2), + [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_try_statement_repeat2, 2), + [950] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat2, 2), SHIFT_REPEAT(1495), + [953] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat1, 2), SHIFT_REPEAT(277), + [956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_statements, 2), + [958] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_statements, 2), + [960] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [962] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), + [964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_statements, 3), + [966] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_statements, 3), + [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1502), + [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1414), + [980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, .production_id = 54), + [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, .production_id = 54), + [984] = {.entry = {.count = 1, .reusable = false}}, SHIFT(365), + [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_statements, 4), + [988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_statements, 4), + [990] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1), + [992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1), + [994] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_try_statement_repeat2, 2), SHIFT_REPEAT(1429), + [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 102), + [999] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 102), + [1001] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), + [1003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), + [1005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), SHIFT_REPEAT(365), + [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(932), + [1010] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, .production_id = 100), SHIFT_REPEAT(318), + [1013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416), + [1015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), + [1017] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [1019] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cases, 1), + [1021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cases, 1), + [1023] = {.entry = {.count = 1, .reusable = false}}, SHIFT(733), + [1025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 7, .production_id = 163), + [1027] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 7, .production_id = 163), + [1029] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 7, .production_id = 164), + [1031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 7, .production_id = 164), + [1033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 4, .production_id = 130), + [1035] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 4, .production_id = 130), + [1037] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 5, .production_id = 148), + [1039] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 5, .production_id = 148), + [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 5, .production_id = 147), + [1043] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 5, .production_id = 147), + [1045] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1258), + [1047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 6, .production_id = 157), + [1049] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 6, .production_id = 157), + [1051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 6, .production_id = 158), + [1053] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 6, .production_id = 158), + [1055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_group_clause, 8, .production_id = 165), + [1057] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_group_clause, 8, .production_id = 165), + [1059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 4, .production_id = 81), + [1061] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 4, .production_id = 81), + [1063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_cases_repeat1, 2), + [1065] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_cases_repeat1, 2), + [1067] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_cases_repeat1, 2), SHIFT_REPEAT(728), + [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_except_clause, 3, .production_id = 56), + [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_except_clause, 3, .production_id = 56), + [1074] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_cases_repeat1, 2), SHIFT_REPEAT(733), + [1077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(728), + [1079] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 6, .production_id = 81), + [1081] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 6, .production_id = 81), + [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1), + [1085] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1), REDUCE(sym_list_splat_pattern, 2, .production_id = 9), + [1088] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1), + [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1092] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_splat_pattern, 2, .production_id = 9), + [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_splat_pattern, 2, .production_id = 9), + [1096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 74), + [1098] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 1, .production_id = 74), + [1100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 125), + [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 125), + [1104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elif_clause, 5, .production_id = 77), + [1106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_clause, 5, .production_id = 77), + [1108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, .production_id = 55), + [1110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, .production_id = 55), + [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 129), + [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 129), + [1116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 3, .production_id = 50), + [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623), + [1120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 6, .production_id = 105), + [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 6, .production_id = 105), + [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 5, .production_id = 56), + [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 5, .production_id = 56), + [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 80), + [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 80), + [1132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elif_clause, 4, .production_id = 54), + [1134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elif_clause, 4, .production_id = 54), + [1136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 143), + [1138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 143), + [1140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 2, .production_id = 24), + [1142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_pattern, 1), REDUCE(sym_primary_expression, 1), + [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [1147] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pattern, 1), + [1149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern, 1), + [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1209), + [1153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), + [1155] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_list_pattern, 2), REDUCE(sym_list, 2), + [1158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), + [1160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 2), + [1162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_pattern, 2), + [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_block, 6, .production_id = 159), + [1166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_block, 6, .production_id = 159), + [1168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), + [1170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_tuple_pattern, 2), REDUCE(sym_tuple, 2), + [1173] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), + [1175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 2), + [1177] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 2), + [1179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_block, 5, .production_id = 151), + [1181] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_block, 5, .production_id = 151), + [1183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_block, 5, .production_id = 150), + [1185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_block, 5, .production_id = 150), + [1187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 4, .production_id = 81), + [1189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 4, .production_id = 81), + [1191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 3, .production_id = 56), + [1193] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 3, .production_id = 56), [1195] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_case_block, 4, .production_id = 134), [1197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_block, 4, .production_id = 134), - [1199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 10, .production_id = 162), - [1201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 10, .production_id = 162), - [1203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 118), - [1205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 6, .production_id = 118), - [1207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 126), - [1209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 126), - [1211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 153), - [1213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 153), - [1215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, .production_id = 124), - [1217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, .production_id = 124), - [1219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 137), - [1221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 137), - [1223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, .production_id = 161), - [1225] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, .production_id = 161), - [1227] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 146), - [1229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 146), - [1231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 7, .production_id = 81), - [1233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 7, .production_id = 81), - [1235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, .production_id = 156), - [1237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, .production_id = 156), - [1239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, .production_id = 155), - [1241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, .production_id = 155), - [1243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 154), - [1245] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 154), - [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 152), - [1249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 152), - [1251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 6, .production_id = 117), - [1253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 117), - [1255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 6, .production_id = 116), - [1257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 116), - [1259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 115), - [1261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 115), - [1263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 114), - [1265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 114), - [1267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_finally_clause, 4, .production_id = 81), - [1269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_finally_clause, 4, .production_id = 81), - [1271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 145), - [1273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 145), - [1275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 144), - [1277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 144), - [1279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 6, .production_id = 56), - [1281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 6, .production_id = 56), - [1283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_finally_clause, 3, .production_id = 56), - [1285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_finally_clause, 3, .production_id = 56), - [1287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 128), - [1289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 128), - [1291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 4, .production_id = 60), - [1293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 4, .production_id = 60), - [1295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 4, .production_id = 59), - [1297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 4, .production_id = 59), - [1299] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 142), - [1301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 142), - [1303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 75), - [1305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 75), + [1199] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 90), + [1201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 90), + [1203] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 145), + [1205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 145), + [1207] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 144), + [1209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 144), + [1211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_finally_clause, 3, .production_id = 56), + [1213] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_finally_clause, 3, .production_id = 56), + [1215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 142), + [1217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 142), + [1219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 7, .production_id = 139), + [1221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 139), + [1223] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 138), + [1225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 138), + [1227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 4, .production_id = 64), + [1229] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 4, .production_id = 64), + [1231] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 137), + [1233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 137), + [1235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 7, .production_id = 81), + [1237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 7, .production_id = 81), + [1239] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_finally_clause, 4, .production_id = 81), + [1241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_finally_clause, 4, .production_id = 81), + [1243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 7, .production_id = 128), + [1245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 7, .production_id = 128), + [1247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 4, .production_id = 60), + [1249] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 4, .production_id = 60), + [1251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 10, .production_id = 162), + [1253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 10, .production_id = 162), + [1255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 127), + [1257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 127), + [1259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 126), + [1261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 126), + [1263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, .production_id = 124), + [1265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, .production_id = 124), + [1267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 6, .production_id = 118), + [1269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 118), + [1271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 6, .production_id = 117), + [1273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 117), + [1275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 6, .production_id = 116), + [1277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, .production_id = 116), + [1279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 115), + [1281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 115), + [1283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 114), + [1285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 114), + [1287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, .production_id = 161), + [1289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, .production_id = 161), + [1291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 6, .production_id = 56), + [1293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 6, .production_id = 56), + [1295] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, .production_id = 156), + [1297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, .production_id = 156), + [1299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, .production_id = 75), + [1301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, .production_id = 75), + [1303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, .production_id = 155), + [1305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, .production_id = 155), [1307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 6, .production_id = 106), [1309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 6, .production_id = 106), - [1311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 5, .production_id = 78), - [1313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 5, .production_id = 78), - [1315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 7, .production_id = 139), - [1317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, .production_id = 139), - [1319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 104), - [1321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 104), - [1323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 79), - [1325] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 79), - [1327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 138), - [1329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 138), - [1331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, .production_id = 127), - [1333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, .production_id = 127), + [1311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 152), + [1313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 152), + [1315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 5, .production_id = 78), + [1317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 5, .production_id = 78), + [1319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 4, .production_id = 57), + [1321] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 4, .production_id = 57), + [1323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, .production_id = 153), + [1325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, .production_id = 153), + [1327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, .production_id = 104), + [1329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, .production_id = 104), + [1331] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, .production_id = 79), + [1333] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, .production_id = 79), [1335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 6, .production_id = 103), [1337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 6, .production_id = 103), - [1339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 4, .production_id = 57), - [1341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 4, .production_id = 57), - [1343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 101), - [1345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 101), - [1347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 5, .production_id = 82), - [1349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 5, .production_id = 82), - [1351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 99), - [1353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 99), - [1355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 4, .production_id = 64), - [1357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 4, .production_id = 64), - [1359] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 91), - [1361] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 91), - [1363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 90), - [1365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 90), - [1367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 89), - [1369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 89), - [1371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 87), - [1373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 87), - [1375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorated_definition, 2, .production_id = 19), - [1377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decorated_definition, 2, .production_id = 19), - [1379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(745), + [1339] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 101), + [1341] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 101), + [1343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, .production_id = 99), + [1345] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, .production_id = 99), + [1347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorated_definition, 2, .production_id = 19), + [1349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decorated_definition, 2, .production_id = 19), + [1351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 5, .production_id = 82), + [1353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 5, .production_id = 82), + [1355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 4, .production_id = 59), + [1357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 4, .production_id = 59), + [1359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, .production_id = 146), + [1361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, .production_id = 146), + [1363] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 91), + [1365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 91), + [1367] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, .production_id = 154), + [1369] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, .production_id = 154), + [1371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_class_definition, 5, .production_id = 89), + [1373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, .production_id = 89), + [1375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, .production_id = 87), + [1377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, .production_id = 87), + [1379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(740), [1381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_separator, 1), - [1383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(740), + [1383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(732), [1385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(142), [1387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), [1389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), - [1391] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), SHIFT_REPEAT(905), - [1394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), - [1396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), - [1398] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(919), - [1401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_template_string, 2), - [1403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_template_string, 2), - [1405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2), - [1407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2), - [1409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(595), - [1411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(579), - [1413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(607), - [1415] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608), - [1417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_string, 2, .production_id = 2), - [1419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_string, 2, .production_id = 2), - [1421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, .production_id = 2), - [1423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, .production_id = 2), - [1425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, .production_id = 20), - [1427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, .production_id = 20), - [1429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(858), - [1431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(856), - [1433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), - [1435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_string, 3, .production_id = 20), - [1437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_string, 3, .production_id = 20), - [1439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_comprehension, 4, .production_id = 51), - [1441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_comprehension, 4, .production_id = 51), + [1391] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), SHIFT_REPEAT(916), + [1394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_template_string, 2), + [1396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_template_string, 2), + [1398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_concatenated_string, 2), + [1400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_concatenated_string, 2), + [1402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), + [1404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), + [1406] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(913), + [1409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592), + [1411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(588), + [1413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(585), + [1415] = {.entry = {.count = 1, .reusable = false}}, SHIFT(625), + [1417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, .production_id = 20), + [1419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, .production_id = 20), + [1421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_string, 3, .production_id = 20), + [1423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_string, 3, .production_id = 20), + [1425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, .production_id = 2), + [1427] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, .production_id = 2), + [1429] = {.entry = {.count = 1, .reusable = false}}, SHIFT(859), + [1431] = {.entry = {.count = 1, .reusable = false}}, SHIFT(852), + [1433] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216), + [1435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_string, 2, .production_id = 2), + [1437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_string, 2, .production_id = 2), + [1439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 3), + [1441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 3), [1443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3, .production_id = 25), [1445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3, .production_id = 25), [1447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, .production_id = 61), [1449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, .production_id = 61), [1451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, .production_id = 61), [1453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, .production_id = 61), - [1455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 5, .production_id = 61), - [1457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 5, .production_id = 61), - [1459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1398), - [1461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [1463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [1465] = {.entry = {.count = 1, .reusable = false}}, SHIFT(586), - [1467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), - [1469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), - [1471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), - [1473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), - [1475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [1477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), - [1479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [1481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), - [1483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1386), - [1485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), - [1487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), - [1489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(580), - [1491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), - [1493] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, .production_id = 93), - [1495] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, .production_id = 93), - [1497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_expression, 4, .production_id = 51), - [1499] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_expression, 4, .production_id = 51), - [1501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, .production_id = 93), - [1503] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, .production_id = 93), - [1505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_comprehension, 4, .production_id = 51), - [1507] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_comprehension, 4, .production_id = 51), - [1509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 4, .production_id = 31), - [1511] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 4, .production_id = 31), - [1513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 4, .production_id = 61), - [1515] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 4, .production_id = 61), - [1517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 4, .production_id = 51), - [1519] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 4, .production_id = 51), - [1521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2, .production_id = 17), - [1523] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2, .production_id = 17), - [1525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, .production_id = 67), - [1527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, .production_id = 67), - [1529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, .production_id = 31), - [1531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, .production_id = 31), - [1533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 3, .production_id = 31), - [1535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 3, .production_id = 31), - [1537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(593), - [1539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), - [1541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), - [1543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), - [1545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), - [1547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604), - [1549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), - [1551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1397), - [1553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), - [1555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614), - [1557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578), - [1559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), - [1561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, .production_id = 31), - [1563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, .production_id = 31), - [1565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2), - [1567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2), - [1569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 2), - [1571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 2), - [1573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 3, .production_id = 25), - [1575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set, 3, .production_id = 25), + [1455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_comprehension, 4, .production_id = 51), + [1457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list_comprehension, 4, .production_id = 51), + [1459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 4, .production_id = 31), + [1461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 4, .production_id = 31), + [1463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 4, .production_id = 61), + [1465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 4, .production_id = 61), + [1467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set_comprehension, 4, .production_id = 51), + [1469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set_comprehension, 4, .production_id = 51), + [1471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generator_expression, 4, .production_id = 51), + [1473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generator_expression, 4, .production_id = 51), + [1475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_comprehension, 4, .production_id = 51), + [1477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary_comprehension, 4, .production_id = 51), + [1479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, .production_id = 93), + [1481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, .production_id = 93), + [1483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, .production_id = 67), + [1485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, .production_id = 67), + [1487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call, 2, .production_id = 17), + [1489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call, 2, .production_id = 17), + [1491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, .production_id = 31), + [1493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, .production_id = 31), + [1495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 5, .production_id = 61), + [1497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 5, .production_id = 61), + [1499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, .production_id = 93), + [1501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, .production_id = 93), + [1503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2), + [1505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2), + [1507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 2), + [1509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 2), + [1511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1412), + [1513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [1515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [1517] = {.entry = {.count = 1, .reusable = false}}, SHIFT(579), + [1519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [1521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [1523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [1525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(613), + [1527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [1529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614), + [1531] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [1533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), + [1535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399), + [1537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [1539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), + [1541] = {.entry = {.count = 1, .reusable = false}}, SHIFT(596), + [1543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [1545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(626), + [1547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [1549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), + [1551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [1553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), + [1555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(628), + [1557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), + [1559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1417), + [1561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(621), + [1563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), + [1565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583), + [1567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [1569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, .production_id = 67), + [1571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, .production_id = 67), + [1573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, .production_id = 31), + [1575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, .production_id = 31), [1577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3), [1579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3), - [1581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 3), - [1583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 3), - [1585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, .production_id = 25), - [1587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3, .production_id = 25), + [1581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 3, .production_id = 25), + [1583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_set, 3, .production_id = 25), + [1585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary, 3, .production_id = 31), + [1587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dictionary, 3, .production_id = 31), [1589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 26), [1591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, .production_id = 26), - [1593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, .production_id = 67), - [1595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, .production_id = 67), + [1593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3, .production_id = 25), + [1595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3, .production_id = 25), [1597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operator, 3, .production_id = 39), [1599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operator, 3, .production_id = 39), - [1601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operator, 2, .production_id = 13), - [1603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_operator, 2, .production_id = 13), - [1605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await, 2), - [1607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_await, 2), + [1601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 41), + [1603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 41), + [1605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 3, .production_id = 71), + [1607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 3, .production_id = 71), [1609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 3, .production_id = 72), [1611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 3, .production_id = 72), - [1613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 41), - [1615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 41), - [1617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 3, .production_id = 71), - [1619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 3, .production_id = 71), - [1621] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(909), - [1624] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), SHIFT_REPEAT(923), - [1627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [1629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1490), - [1631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [1633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(591), - [1635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), - [1637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), - [1639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), - [1641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616), - [1643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [1645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), - [1647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), - [1649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1491), - [1651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), - [1653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619), - [1655] = {.entry = {.count = 1, .reusable = false}}, SHIFT(610), - [1657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), - [1659] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), SHIFT_REPEAT(929), - [1662] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(922), - [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1385), - [1667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [1669] = {.entry = {.count = 1, .reusable = false}}, SHIFT(624), - [1671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), - [1673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), - [1675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), - [1677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), - [1679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [1681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(613), - [1683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), - [1685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1418), - [1687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), - [1689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), - [1691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(626), - [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), - [1695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(903), - [1697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783), - [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1211), - [1701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1362), - [1703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981), - [1705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789), - [1707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(850), - [1709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(914), - [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(914), - [1713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(987), + [1613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await, 2), + [1615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_await, 2), + [1617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operator, 2, .production_id = 13), + [1619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_operator, 2, .production_id = 13), + [1621] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), SHIFT_REPEAT(915), + [1624] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(906), + [1627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [1629] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_template_string_repeat1, 2), SHIFT_REPEAT(907), + [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1481), + [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [1636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(602), + [1638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(604), + [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [1642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(612), + [1650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [1652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1483), + [1654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616), + [1656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619), + [1658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(607), + [1660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(577), + [1662] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_concatenated_string_repeat1, 2), SHIFT_REPEAT(926), + [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1398), + [1667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1669] = {.entry = {.count = 1, .reusable = false}}, SHIFT(601), + [1671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), + [1673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [1675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [1677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [1679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [1681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), + [1683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [1685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1424), + [1687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [1689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), + [1691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(598), + [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [1695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(882), + [1697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(765), + [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1214), + [1701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1361), + [1703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(980), + [1705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), + [1707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), + [1709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(917), + [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917), + [1713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(977), [1715] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_sequence_match_pattern, 3), [1717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_sequence_match_pattern, 3), - [1719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(364), + [1719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), [1721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_open_sequence_match_pattern, 2), [1723] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_open_sequence_match_pattern, 2), - [1725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [1727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(979), - [1729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962), - [1731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(963), - [1733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(967), - [1735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974), - [1737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(971), - [1739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950), - [1741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(973), - [1743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(938), + [1725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(965), + [1727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949), + [1729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952), + [1731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1733] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981), + [1735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946), + [1737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(957), + [1739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(966), + [1741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(956), + [1743] = {.entry = {.count = 1, .reusable = false}}, SHIFT(939), [1745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), - [1747] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(580), + [1747] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(596), [1750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), - [1752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1386), - [1755] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(580), - [1758] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(576), + [1752] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1399), + [1755] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(596), + [1758] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(578), [1761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison_operator, 2, .production_id = 18), [1763] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison_operator, 2, .production_id = 18), - [1765] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(578), - [1768] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1397), - [1771] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(578), - [1774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(575), + [1765] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(583), + [1768] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1417), + [1771] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(583), + [1774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(576), [1777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__patterns_repeat1, 2, .production_id = 36), - [1779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__patterns_repeat1, 2, .production_id = 36), SHIFT_REPEAT(500), - [1782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1313), - [1784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959), - [1786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1310), - [1788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__patterns_repeat1, 2, .production_id = 31), - [1790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946), - [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(976), - [1794] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(610), - [1797] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1491), - [1800] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(610), - [1803] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(574), - [1806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, .production_id = 25), - [1808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 3, .production_id = 25), + [1779] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__patterns_repeat1, 2, .production_id = 36), SHIFT_REPEAT(482), + [1782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, .production_id = 25), + [1784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1341), + [1786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948), + [1788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1342), + [1790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__patterns_repeat1, 2, .production_id = 31), + [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962), + [1794] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(607), + [1797] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1483), + [1800] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(607), + [1803] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(577), + [1806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_pattern, 3, .production_id = 25), + [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954), [1810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_splat_pattern, 2, .production_id = 34), - [1812] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(626), - [1815] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1418), - [1818] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(626), - [1821] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(577), - [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [1812] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(598), + [1815] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(1424), + [1818] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(598), + [1821] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_operator_repeat1, 2, .production_id = 42), SHIFT_REPEAT(575), + [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), [1826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_list, 2, .production_id = 16), - [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1295), - [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), - [1832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(567), - [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), - [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294), - [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [1842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [1844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [1846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [1848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), - [1850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), - [1852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [1854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), - [1856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1117), + [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1271), + [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [1832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(568), + [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1268), + [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [1842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), + [1844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [1848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [1850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [1856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157), [1858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1334), [1860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 3), [1862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 2), [1864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_not_operator, 2, .production_id = 10), [1866] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_not_operator, 2, .production_id = 10), [1868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_value_pattern_repeat1, 2), - [1870] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_value_pattern_repeat1, 2), SHIFT_REPEAT(1394), - [1873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda, 4, .production_id = 66), - [1875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [1877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), - [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), - [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), - [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), - [1887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1473), - [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), - [1891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__collection_elements, 1, .production_id = 7), - [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), - [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), - [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(816), - [1899] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_with_item, 1, .dynamic_precedence = -1, .production_id = 12), SHIFT(170), - [1902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548), - [1904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 2), - [1906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [1908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1394), - [1910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_class_name, 2), - [1912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_value_pattern, 2), - [1914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_expression, 3, .production_id = 27), - [1916] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_expression, 3, .production_id = 27), - [1918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_operator, 3, .production_id = 39), - [1920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_operator, 3, .production_id = 39), - [1922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5), - [1924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5), - [1926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_expression, 3, .production_id = 35), - [1928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda, 4, .production_id = 66), - [1930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda, 3, .production_id = 32), - [1932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_expression, 3, .production_id = 35), - [1934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 1), - [1936] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda, 3, .production_id = 32), - [1938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_class_name, 1), - [1940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_capture_pattern, 1), - [1942] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), - [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1017), - [1946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1017), + [1870] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_value_pattern_repeat1, 2), SHIFT_REPEAT(1418), + [1873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1418), + [1875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_class_name, 1), + [1877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_capture_pattern, 1), + [1879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_expression, 3, .production_id = 27), + [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [1885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_expression, 3, .production_id = 27), + [1887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [1891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 2), + [1893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [1897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [1899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [1901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [1903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1498), + [1905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [1907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__collection_elements, 1, .production_id = 7), + [1909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda, 3, .production_id = 32), + [1911] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda, 3, .production_id = 32), + [1913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda, 4, .production_id = 66), + [1915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional_expression, 5), + [1917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 1), + [1919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_expression, 3, .production_id = 35), + [1921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_named_expression, 3, .production_id = 35), + [1923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_operator, 3, .production_id = 39), + [1925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_operator, 3, .production_id = 39), + [1927] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional_expression, 5), + [1929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pattern_class_name, 2), + [1931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_value_pattern, 2), + [1933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(817), + [1935] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_with_item, 1, .dynamic_precedence = -1, .production_id = 12), SHIFT(176), + [1938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(504), + [1940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda, 4, .production_id = 66), + [1942] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1037), + [1946] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1037), [1948] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), - [1952] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), SHIFT_REPEAT(176), - [1955] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), SHIFT_REPEAT(1017), - [1958] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), SHIFT_REPEAT(1017), - [1961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), - [1963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726), - [1965] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_splat, 2, .production_id = 14), - [1967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719), - [1969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), - [1971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [1973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829), - [1975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [1977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), - [1979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [1981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 1, .production_id = 83), - [1983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1327), - [1985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1207), - [1987] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_splat, 2), - [1989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), - [1991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(735), - [1993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), - [1995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730), - [1997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(707), - [1999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 31), - [2001] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 2, .production_id = 107), - [2003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1369), - [2005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), - [2007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785), - [2009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(734), - [2011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), - [2013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), - [2015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), - [2017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), - [2019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1203), - [2021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_within_for_in_clause, 1), - [2023] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comprehension_clauses, 2), - [2025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [2027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), - [2029] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), SHIFT_REPEAT(368), - [2032] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), SHIFT_REPEAT(1473), - [2035] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), SHIFT_REPEAT(447), - [2038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_or_pattern, 3), - [2040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841), - [2042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_or_pattern_repeat1, 2), - [2044] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_or_pattern_repeat1, 2), SHIFT_REPEAT(841), - [2047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_or_pattern, 4), - [2049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__f_expression, 1), - [2051] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comprehension_clauses, 1), - [2053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), - [2055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [1952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(725), + [1954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(763), + [1956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [1958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dictionary_splat, 2, .production_id = 14), + [1960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(655), + [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [1964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(726), + [1968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719), + [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), + [1972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 1, .production_id = 83), + [1974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1336), + [1976] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), SHIFT_REPEAT(172), + [1979] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), SHIFT_REPEAT(1037), + [1982] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), SHIFT_REPEAT(1037), + [1985] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, .production_id = 21), + [1987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), + [1989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715), + [1991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [1993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), + [1995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 2, .production_id = 107), + [1997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366), + [1999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1199), + [2001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755), + [2003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), + [2005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(743), + [2007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660), + [2009] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 31), + [2011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1195), + [2013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(801), + [2015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [2017] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list_splat, 2), + [2019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(798), + [2021] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comprehension_clauses, 1), + [2023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [2025] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_within_for_in_clause, 1), + [2027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_or_pattern, 4), + [2029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(842), + [2031] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_or_pattern, 3), + [2033] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__f_expression, 1), + [2035] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), + [2037] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), SHIFT_REPEAT(375), + [2040] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), SHIFT_REPEAT(1498), + [2043] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__comprehension_clauses_repeat1, 2), SHIFT_REPEAT(449), + [2046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comprehension_clauses, 2), + [2048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_or_pattern_repeat1, 2), + [2050] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_or_pattern_repeat1, 2), SHIFT_REPEAT(842), + [2053] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 3, .production_id = 136), + [2055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_group_pattern, 3, .production_id = 131), [2057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 2), - [2059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), - [2061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 6, .production_id = 136), - [2063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 7), - [2065] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 6), - [2067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 7, .production_id = 136), - [2069] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 8, .production_id = 136), - [2071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [2073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [2075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 2), - [2077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 36), - [2079] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(230), - [2082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 9, .production_id = 136), - [2084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 4), - [2086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 6, .production_id = 141), - [2088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [2090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 4, .production_id = 149), - [2092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 2), - [2094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 4), - [2096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_for_in_clause_repeat1, 2), - [2098] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_for_in_clause_repeat1, 2), SHIFT_REPEAT(263), - [2101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(840), - [2103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 4, .production_id = 98), - [2105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [2107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 5, .production_id = 122), - [2109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [2111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1492), - [2113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1486), - [2115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1483), - [2117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 5, .production_id = 136), - [2119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 5, .production_id = 123), - [2121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [2123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 3, .production_id = 136), - [2125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_group_pattern, 3, .production_id = 131), - [2127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 5), - [2129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 5), - [2131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_clause, 2), - [2133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_or_pattern, 1), - [2135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(842), - [2137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 4, .production_id = 136), - [2139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 3), - [2141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1497), - [2143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1493), - [2145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1474), - [2147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, .production_id = 16), - [2149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [2151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 3), - [2153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [2155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 3, .production_id = 132), - [2157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__right_hand_side, 1), - [2159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_within_for_in_clause, 4, .production_id = 66), - [2161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pair, 3, .production_id = 62), - [2163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), - [2165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(994), - [2168] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(994), - [2171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), - [2173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [2175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), - [2177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [2179] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1046), - [2181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1129), - [2183] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1421), - [2185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1), - [2187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [2189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772), - [2191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [2193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1500), - [2195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), - [2197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exec_statement, 4, .production_id = 15), - [2199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [2201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1062), - [2203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1467), - [2205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1466), - [2207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_within_for_in_clause, 3, .production_id = 32), - [2209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), - [2211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1443), - [2213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [2215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646), - [2217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_item, 1, .dynamic_precedence = -1, .production_id = 12), - [2219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), - [2221] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), - [2223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(994), - [2225] = {.entry = {.count = 1, .reusable = false}}, SHIFT(994), - [2227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_content, 1), - [2229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1047), - [2231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1109), - [2233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1332), - [2235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_pattern, 1), - [2237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1468), - [2239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__collection_elements_repeat1, 2, .production_id = 31), - [2241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_statement, 2, .production_id = 11), - [2243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [2245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(821), - [2247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2), - [2249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 2), - [2251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [2253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 2, .production_id = 10), - [2255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chevron, 2), - [2257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_value_pattern_repeat1, 2), SHIFT_REPEAT(1415), - [2260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_as_pattern, 3, .production_id = 135), - [2262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 3, .production_id = 43), - [2264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 3, .production_id = 43), - [2266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [2268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [2270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [2272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_default_parameter, 5, .production_id = 119), - [2274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 4, .production_id = 43), - [2276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 4, .production_id = 43), - [2278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__index_expression, 1), - [2280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [2282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1152), - [2284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 5, .production_id = 43), - [2286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 5, .production_id = 43), - [2288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 2, .production_id = 68), - [2290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [2292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_name, 1), - [2294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1415), - [2296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [2298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [2300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1135), - [2302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_name, 2), - [2304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_parameter, 3, .production_id = 35), - [2306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_print_statement_repeat1, 2, .production_id = 10), - [2308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [2310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [2312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_assert_statement_repeat1, 2), - [2314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 4), - [2316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 4), - [2318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 3), - [2320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 3), - [2322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_bound, 2, .production_id = 109), - [2324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 95), - [2326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [2328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 1, .production_id = 6), - [2330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [2332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [2334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [2336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_decorated_definition_repeat1, 2), - [2338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decorated_definition_repeat1, 2), SHIFT_REPEAT(351), - [2341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_sequence_match_pattern_repeat1, 2), - [2343] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_sequence_match_pattern_repeat1, 2), SHIFT_REPEAT(825), - [2346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 6, .production_id = 43), - [2348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 6, .production_id = 43), - [2350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__collection_elements, 2, .production_id = 16), - [2352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [2354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 5, .production_id = 140), - [2356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 94), - [2358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 31), - [2360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_param_default, 2, .production_id = 110), - [2362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [2364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [2366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1021), - [2368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 4, .production_id = 121), - [2370] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(234), - [2373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [2375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [2377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_argument, 3, .production_id = 35), - [2379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1101), - [2381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1036), - [2383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1120), - [2385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1284), - [2387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 2, .production_id = 6), - [2389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_argument, 3, .production_id = 27), - [2391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_statement, 5, .production_id = 88), - [2393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 4, .production_id = 53), - [2395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), - [2397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [2399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 4, .production_id = 120), - [2401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_statement, 4, .production_id = 63), - [2403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1111), - [2405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [2407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1179), - [2409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1139), - [2411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1260), - [2413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__collection_elements_repeat1, 2, .production_id = 36), - [2415] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__collection_elements_repeat1, 2, .production_id = 36), SHIFT_REPEAT(222), - [2418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_format_specifier_repeat1, 2), - [2420] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_format_specifier_repeat1, 2), SHIFT_REPEAT(175), - [2423] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_format_specifier_repeat1, 2), SHIFT_REPEAT(1094), - [2426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1082), - [2428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1481), - [2430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 1, .production_id = 6), - [2432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_star_pattern, 2, .production_id = 11), - [2434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [2436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), - [2438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [2440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 3, .production_id = 30), - [2442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_format_specifier, 1), - [2444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [2446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1104), - [2448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 3, .production_id = 22), - [2450] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_format_specifier, 2), - [2452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1094), - [2454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 3), - [2456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [2458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 2, .production_id = 16), - [2460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), - [2462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1046), - [2464] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 44), SHIFT_REPEAT(1233), - [2467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 44), - [2469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 23), - [2471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [2473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [2475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 2), - [2477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), - [2479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), - [2481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [2483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [2485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3, .production_id = 28), - [2487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [2489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3, .production_id = 29), - [2491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1040), - [2493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1237), - [2495] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_global_statement_repeat1, 2), SHIFT_REPEAT(1399), - [2498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_global_statement_repeat1, 2), - [2500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [2502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 1, .production_id = 7), - [2504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), - [2506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(870), - [2508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_list_splat, 3), - [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_list_splat, 3, .production_id = 49), - [2512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [2514] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_prefix, 1), - [2516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1148), - [2518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1144), - [2520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1393), - [2522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [2524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(746), - [2526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard, 2, .production_id = 133), - [2528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [2530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1185), - [2532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1281), - [2534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [2536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [2538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [2540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator, 3), - [2542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [2544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_import_prefix_repeat1, 2), - [2546] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_prefix_repeat1, 2), SHIFT_REPEAT(1148), - [2549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevartuple_parameter, 2, .production_id = 23), - [2551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paramspec_parameter, 2, .production_id = 23), - [2553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_parameter, 3, .production_id = 65), - [2555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), - [2557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(725), - [2559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399), - [2561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nonlocal_statement, 3), - [2563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 2, .production_id = 84), - [2565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [2567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_print_statement_repeat1, 2, .production_id = 52), SHIFT_REPEAT(369), - [2570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_print_statement_repeat1, 2, .production_id = 52), - [2572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(731), - [2574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [2576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exec_statement, 5, .production_id = 15), - [2578] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_assert_statement_repeat1, 2), SHIFT_REPEAT(357), - [2581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [2583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103), - [2585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 2, .production_id = 22), - [2587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1102), - [2589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_with_clause_repeat1, 2), - [2591] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_with_clause_repeat1, 2), SHIFT_REPEAT(289), - [2594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), - [2596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1143), - [2598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nonlocal_statement, 2), - [2600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_statement, 2), - [2602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_statement, 3), - [2604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [2606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871), - [2608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [2610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464), - [2612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(798), - [2614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(984), - [2616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 36), - [2618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(212), - [2621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [2623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [2625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [2627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [2629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [2631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 37), - [2633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848), - [2635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(988), - [2637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1200), - [2639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1226), - [2641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat1, 2), - [2643] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat1, 2), SHIFT_REPEAT(838), - [2646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1011), - [2648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1198), - [2650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 3, .production_id = 86), - [2652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [2654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [2656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_maybe_star_pattern, 1), - [2658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_patterns, 1), - [2660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [2662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 4, .production_id = 112), - [2664] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, .production_id = 113), SHIFT_REPEAT(1011), - [2667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, .production_id = 113), - [2669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1134), - [2671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1137), - [2673] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__simple_statements_repeat1, 2), SHIFT_REPEAT(133), - [2676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__simple_statements_repeat1, 2), - [2678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [2680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875), - [2682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat2, 2), - [2684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat2, 2), SHIFT_REPEAT(1370), - [2687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1041), - [2689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1096), - [2691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [2693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(768), - [2695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [2697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1338), - [2699] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_relative_import, 1), - [2701] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_mapping_pattern_repeat1, 2), SHIFT_REPEAT(869), - [2704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_mapping_pattern_repeat1, 2), - [2706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770), - [2708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [2710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(809), - [2712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [2714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(810), - [2716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [2718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814), - [2720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [2722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954), - [2724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [2726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(827), - [2728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 1), - [2730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873), - [2732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1244), - [2734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [2736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(828), - [2738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [2740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [2742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(834), - [2744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), - [2746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(835), - [2748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [2750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1044), - [2752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [2754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(759), - [2756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [2758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641), - [2760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(817), - [2762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955), - [2764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [2766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657), - [2768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250), - [2770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_index_expression_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(227), - [2773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_index_expression_list_repeat1, 2, .production_id = 36), - [2775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [2777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), - [2779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [2781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [2783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(958), - [2785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), - [2787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660), - [2789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [2791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [2793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(765), - [2795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [2797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), - [2799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression_list, 2, .production_id = 16), - [2801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 44), SHIFT_REPEAT(1189), - [2804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(793), - [2806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [2808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), - [2810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), - [2812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 2), - [2814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [2816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1498), - [2818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [2820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794), - [2822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [2824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [2826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786), - [2828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [2830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [2832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), - [2834] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(877), - [2837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 1), - [2839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), - [2841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [2843] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(879), - [2846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638), - [2848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [2850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647), - [2852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [2854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1208), - [2856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_format_specifier_repeat1, 1, .production_id = 73), - [2858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_format_specifier_repeat1, 1, .production_id = 73), - [2860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1194), - [2862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [2864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), - [2866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exec_statement, 2, .production_id = 15), + [2059] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 4), + [2061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 4, .production_id = 136), + [2063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [2065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [2067] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 5), + [2069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [2071] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 5), + [2073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 5, .production_id = 136), + [2075] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 36), + [2077] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(235), + [2080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 4, .production_id = 149), + [2082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1485), + [2084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1494), + [2086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1491), + [2088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1505), + [2090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1501), + [2092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1482), + [2094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 4), + [2096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 6), + [2098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 2), + [2100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 6, .production_id = 136), + [2102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_clause, 2), + [2104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 7), + [2106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 7, .production_id = 136), + [2108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 4, .production_id = 98), + [2110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [2112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 8, .production_id = 136), + [2114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_class_pattern, 9, .production_id = 136), + [2116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_for_in_clause_repeat1, 2), + [2118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_for_in_clause_repeat1, 2), SHIFT_REPEAT(270), + [2121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 6, .production_id = 141), + [2123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [2125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_or_pattern, 1), + [2127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(843), + [2129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841), + [2131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, .production_id = 16), + [2133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [2135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_sequence_pattern, 3), + [2137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [2139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 5, .production_id = 122), + [2141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [2143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_clause, 5, .production_id = 123), + [2145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [2147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [2149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [2151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 2), + [2153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_literal_pattern, 3, .production_id = 132), + [2155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_mapping_pattern, 3), + [2157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__collection_elements_repeat1, 2, .production_id = 31), + [2159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [2161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [2163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [2165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [2167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1503), + [2169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [2171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449), + [2173] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_item, 1, .dynamic_precedence = -1, .production_id = 12), + [2175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [2177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [2179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [2181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [2183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1062), + [2185] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1477), + [2187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1484), + [2189] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_delete_statement, 2, .production_id = 11), + [2191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [2193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829), + [2195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pair, 3, .production_id = 62), + [2197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [2199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exec_statement, 4, .production_id = 15), + [2201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 2), + [2203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [2205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 2, .production_id = 10), + [2207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1039), + [2209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1171), + [2211] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1427), + [2213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_pattern, 1), + [2215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1500), + [2217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [2219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789), + [2221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_within_for_in_clause, 3, .production_id = 32), + [2223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), + [2225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_within_for_in_clause, 4, .production_id = 66), + [2227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [2229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), + [2231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__right_hand_side, 1), + [2233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1041), + [2235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1127), + [2237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1340), + [2239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2), + [2241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1), + [2243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [2245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [2247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [2249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [2251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), + [2253] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(1035), + [2256] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_content_repeat1, 2), SHIFT_REPEAT(1035), + [2259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_content_repeat1, 2), + [2261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), + [2263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [2265] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_content, 1), + [2267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1035), + [2269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1035), + [2271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_content, 1), + [2273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_value_pattern_repeat1, 2), SHIFT_REPEAT(1486), + [2276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_name, 1), + [2278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [2280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1486), + [2282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__index_expression, 1), + [2284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [2286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_bound, 2, .production_id = 109), + [2288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 4, .production_id = 43), + [2290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 4, .production_id = 43), + [2292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_decorated_definition_repeat1, 2), + [2294] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_decorated_definition_repeat1, 2), SHIFT_REPEAT(351), + [2297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 3), + [2299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 3), + [2301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dotted_name, 2), + [2303] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 5, .production_id = 43), + [2305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 5, .production_id = 43), + [2307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 2, .production_id = 68), + [2309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [2311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [2313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1147), + [2315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chevron, 2), + [2317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 4), + [2319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 1, .production_id = 4), + [2321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [2323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 3, .production_id = 43), + [2325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 3, .production_id = 43), + [2327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_open_sequence_match_pattern_repeat1, 2), + [2329] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_open_sequence_match_pattern_repeat1, 2), SHIFT_REPEAT(807), + [2332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_parameter, 3, .production_id = 35), + [2334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_default_parameter, 5, .production_id = 119), + [2336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_as_pattern, 3, .production_id = 135), + [2338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 1, .production_id = 6), + [2340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [2342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [2344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_exception_list_repeat1, 2, .production_id = 31), + [2346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [2348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1138), + [2350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpolation, 6, .production_id = 43), + [2352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpolation, 6, .production_id = 43), + [2354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_assert_statement_repeat1, 2), + [2356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_print_statement_repeat1, 2, .production_id = 10), + [2358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 95), + [2360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [2362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_format_specifier_repeat1, 2), + [2364] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_format_specifier_repeat1, 2), SHIFT_REPEAT(173), + [2367] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_format_specifier_repeat1, 2), SHIFT_REPEAT(1072), + [2370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1129), + [2372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__type_param_default, 2, .production_id = 110), + [2374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1098), + [2376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1056), + [2378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1179), + [2380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270), + [2382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__collection_elements, 2, .production_id = 16), + [2384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [2386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [2388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [2390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 2, .production_id = 6), + [2392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 3, .production_id = 30), + [2394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [2396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [2398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [2400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1016), + [2402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 4, .production_id = 120), + [2404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_star_pattern, 2, .production_id = 11), + [2406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 4, .production_id = 121), + [2408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1241), + [2410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1139), + [2412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1266), + [2414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 5, .production_id = 140), + [2416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raise_statement, 4, .production_id = 53), + [2418] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_argument, 3, .production_id = 27), + [2420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_statement, 4, .production_id = 63), + [2422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias_statement, 5, .production_id = 88), + [2424] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(230), + [2427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 3, .production_id = 22), + [2429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_format_specifier, 1), + [2431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [2433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1104), + [2435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__collection_elements_repeat1, 2, .production_id = 36), + [2437] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__collection_elements_repeat1, 2, .production_id = 36), SHIFT_REPEAT(224), + [2440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice, 3, .production_id = 94), + [2442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 31), + [2444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [2446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_format_specifier, 2), + [2448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1072), + [2450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1080), + [2452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1487), + [2454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 1, .production_id = 6), + [2456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyword_argument, 3, .production_id = 35), + [2458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(871), + [2460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [2462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 2), + [2464] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_assert_statement_repeat1, 2), SHIFT_REPEAT(356), + [2467] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_print_statement_repeat1, 2, .production_id = 52), SHIFT_REPEAT(339), + [2470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_print_statement_repeat1, 2, .production_id = 52), + [2472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [2474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_import_prefix_repeat1, 2), + [2476] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_prefix_repeat1, 2), SHIFT_REPEAT(1114), + [2479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_with_clause_repeat1, 2), + [2481] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_with_clause_repeat1, 2), SHIFT_REPEAT(288), + [2484] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 2, .production_id = 16), + [2486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [2488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_parameter, 3, .production_id = 65), + [2490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [2492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_list_splat, 3, .production_id = 49), + [2494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_list_splat, 3), + [2496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), + [2498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3, .production_id = 28), + [2500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [2502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [2504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1039), + [2506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [2508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_print_statement, 3, .production_id = 29), + [2512] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 44), SHIFT_REPEAT(1244), + [2515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 44), + [2517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 23), + [2519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1101), + [2521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__import_list, 2, .production_id = 22), + [2523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 3), + [2525] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_global_statement_repeat1, 2), SHIFT_REPEAT(1411), + [2528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_global_statement_repeat1, 2), + [2530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(728), + [2532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1191), + [2534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1287), + [2536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173), + [2538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(737), + [2540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [2542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1411), + [2544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nonlocal_statement, 2), + [2546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_statement, 2), + [2548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1097), + [2550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733), + [2552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [2554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [2556] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_exception_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(340), + [2559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_exception_list_repeat1, 2, .production_id = 36), + [2561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [2563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_statement, 3), + [2565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nonlocal_statement, 3), + [2567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), + [2569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [2571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [2573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [2575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [2577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [2579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [2581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [2583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_guard, 2, .production_id = 133), + [2585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exec_statement, 5, .production_id = 15), + [2587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [2589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [2591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_prefix, 1), + [2593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1114), + [2595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1146), + [2597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1421), + [2599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decorator, 3), + [2601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevartuple_parameter, 2, .production_id = 23), + [2603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paramspec_parameter, 2, .production_id = 23), + [2605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 2, .production_id = 84), + [2607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__patterns, 1, .production_id = 7), + [2609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [2611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exception_list, 2, .production_id = 16), + [2613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1044), + [2615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1252), + [2617] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, .production_id = 36), SHIFT_REPEAT(253), + [2620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, .production_id = 36), + [2622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [2624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [2626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [2628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [2630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_maybe_star_pattern, 1), + [2632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__match_patterns, 1), + [2634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 3, .production_id = 86), + [2636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1004), + [2638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1292), + [2640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(812), + [2642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [2644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814), + [2646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [2648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950), + [2650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1300), + [2652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(816), + [2654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [2656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 36), + [2658] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(212), + [2661] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__simple_statements_repeat1, 2), SHIFT_REPEAT(133), + [2664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__simple_statements_repeat1, 2), + [2666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(876), + [2668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(810), + [2670] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_index_expression_list_repeat1, 2, .production_id = 36), SHIFT_REPEAT(226), + [2673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_index_expression_list_repeat1, 2, .production_id = 36), + [2675] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_mapping_pattern_repeat1, 2), SHIFT_REPEAT(870), + [2678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_mapping_pattern_repeat1, 2), + [2680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [2682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), + [2684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824), + [2686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [2688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(768), + [2690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(983), + [2692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [2694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(827), + [2696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [2698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(833), + [2700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [2702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [2704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [2706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1372), + [2708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250), + [2710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1070), + [2712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1086), + [2714] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__import_list_repeat1, 2, .production_id = 44), SHIFT_REPEAT(1190), + [2717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [2719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 37), + [2721] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_relative_import, 1), + [2723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1475), + [2725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(975), + [2727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [2729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [2731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [2733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__parameters, 1), + [2735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873), + [2737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(764), + [2739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [2741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [2743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774), + [2745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [2747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [2749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974), + [2751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1221), + [2753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [2755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), + [2757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 1), + [2759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [2761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1186), + [2763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(971), + [2765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1236), + [2767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [2769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [2771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(758), + [2773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [2775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(635), + [2777] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, .production_id = 113), SHIFT_REPEAT(1004), + [2780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, .production_id = 113), + [2782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [2784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), + [2786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1048), + [2788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872), + [2790] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_format_specifier_repeat1, 1, .production_id = 73), + [2792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_format_specifier_repeat1, 1, .production_id = 73), + [2794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [2796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_exec_statement, 2, .production_id = 15), + [2798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [2800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression_list, 2, .production_id = 16), + [2802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [2804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654), + [2806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), + [2808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [2810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795), + [2812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [2814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783), + [2816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [2818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1163), + [2820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_separator, 1), + [2822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [2824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772), + [2826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 2), + [2828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855), + [2830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(991), + [2832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1508), + [2834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [2836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823), + [2838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875), + [2840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [2842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [2844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [2846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), + [2848] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(878), + [2851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643), + [2853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [2855] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__parameters_repeat1, 2), SHIFT_REPEAT(877), + [2858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), + [2860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [2862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632), + [2864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [2866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1245), [2868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aliased_import, 3, .production_id = 45), - [2870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), - [2872] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, .production_id = 36), SHIFT_REPEAT(258), - [2875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, .production_id = 36), - [2877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(982), - [2879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1178), - [2881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_positional_separator, 1), - [2883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872), - [2885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1126), - [2887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1125), - [2889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [2891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [2893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [2895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_item, 3, .dynamic_precedence = -1, .production_id = 58), - [2897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), - [2899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [2901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [2903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_from_statement, 6, .production_id = 97), - [2905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_augmented_assignment, 3, .production_id = 39), - [2907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1041), - [2909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 38), - [2911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 67), - [2913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pass_statement, 1), - [2915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_positional_pattern, 1), - [2917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1), - [2919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 1), - [2921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1384), - [2923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, .production_id = 31), - [2925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(990), - [2927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(990), - [2929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1406), - [2931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952), - [2933] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_from_statement, 4, .production_id = 48), - [2935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_from_statement, 4, .production_id = 47), - [2937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wildcard_import, 1), - [2939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [2941] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_keyword_pattern, 3, .production_id = 160), - [2943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_future_import_statement, 4, .production_id = 46), - [2945] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paramspec_parameter, 3, .production_id = 108), - [2947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 5, .production_id = 92), - [2949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [2951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [2953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_future_import_statement, 6, .production_id = 96), - [2955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 2, .production_id = 85), - [2957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 3, .production_id = 111), - [2959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), - [2961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [2963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [2965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [2967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [2969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753), - [2971] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, .production_id = 86), - [2973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [2975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), - [2977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [2979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [2981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 2, .production_id = 5), - [2983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(975), - [2985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(788), - [2987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(926), - [2989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(926), - [2991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1482), - [2993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [2995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), - [2997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevartuple_parameter, 3, .production_id = 108), - [2999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(961), - [3001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(961), - [3003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_double_star_pattern, 2, .production_id = 11), - [3005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_key_value_pattern, 3, .production_id = 62), - [3007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_index_expression_list_repeat1, 2, .production_id = 31), - [3009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [3011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [3013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 5), - [3015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(820), - [3017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(762), - [3019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), - [3021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822), - [3023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), - [3025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823), - [3027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), - [3029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), - [3031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(832), - [3033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636), - [3035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837), - [3037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836), - [3039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1363), - [3041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(884), - [3043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1346), - [3045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(830), - [3047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), - [3049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [3051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1285), - [3053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1308), - [3055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), - [3057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), - [3059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(653), - [3061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(655), - [3063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(951), - [3065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(656), - [3067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [3069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), - [3071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(853), - [3073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [3075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1018), - [3077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1105), - [3079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(818), - [3081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [3083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623), - [3085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(761), - [3087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(628), - [3089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1090), - [3091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), - [3093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654), - [3095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 4), - [3097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [3099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1173), - [3101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1127), - [3103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [3105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [3107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [3109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [3111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [3113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [3115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [3117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799), - [3119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [3121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [3123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [3125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [3127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [3129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800), - [3131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1133), - [3133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767), - [3135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854), - [3137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [3139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [3141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [3143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(763), - [3145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [3147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [3149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [3151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), - [3153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [3155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(839), - [3157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760), - [3159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1067), - [3161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1150), - [3163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1149), - [3165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1035), - [3167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1349), - [3169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [3171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [3173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775), - [3175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), - [3177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1091), - [3179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [3181] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 1), - [3183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1238), - [3185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relative_import, 2, .production_id = 23), - [3187] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [3189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1290), - [3191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1074), - [3193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1171), - [3195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1172), - [3197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1124), - [3199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [3201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), - [3203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [3205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), - [3207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1166), - [3209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1168), - [3211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 3), - [3213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [2870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [2872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 4, .production_id = 112), + [2874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [2876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [2878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1308), + [2880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785), + [2882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [2884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [2886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [2888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), + [2890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat2, 2), + [2892] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat2, 2), SHIFT_REPEAT(1351), + [2895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1122), + [2897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1123), + [2899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1165), + [2901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [2903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_item, 3, .dynamic_precedence = -1, .production_id = 58), + [2905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat1, 2), + [2907] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_class_pattern_repeat1, 2), SHIFT_REPEAT(839), + [2910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_from_statement, 6, .production_id = 97), + [2912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1457), + [2914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964), + [2916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pass_statement, 1), + [2918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1), + [2920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 1), + [2922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [2924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [2926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevartuple_parameter, 3, .production_id = 108), + [2928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_paramspec_parameter, 3, .production_id = 108), + [2930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 3, .production_id = 111), + [2932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_keyword_pattern, 3, .production_id = 160), + [2934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2, .production_id = 86), + [2936] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [2938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_from_statement, 4, .production_id = 48), + [2940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(990), + [2942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(990), + [2944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388), + [2946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_from_statement, 4, .production_id = 47), + [2948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1509), + [2950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wildcard_import, 1), + [2952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1070), + [2954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_future_import_statement, 4, .production_id = 46), + [2956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [2958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [2960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [2962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [2964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [2966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [2968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [2970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [2972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_statement, 2, .production_id = 5), + [2974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [2976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [2978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [2980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [2982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_augmented_assignment, 3, .production_id = 39), + [2984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3, .production_id = 38), + [2986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [2988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [2990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(924), + [2992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(924), + [2994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), + [2996] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), + [2998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typevar_parameter, 2, .production_id = 85), + [3000] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 5, .production_id = 92), + [3002] = {.entry = {.count = 1, .reusable = false}}, SHIFT(959), + [3004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959), + [3006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, .production_id = 67), + [3008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_double_star_pattern, 2, .production_id = 11), + [3010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_index_expression_list_repeat1, 2, .production_id = 31), + [3012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_positional_pattern, 1), + [3014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), + [3016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_dictionary_repeat1, 2, .production_id = 31), + [3018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_future_import_statement, 6, .production_id = 96), + [3020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(771), + [3022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_key_value_pattern, 3, .production_id = 62), + [3024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [3026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1381), + [3028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658), + [3030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [3032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661), + [3034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(820), + [3036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [3038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800), + [3040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(828), + [3042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 5), + [3044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), + [3046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [3048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836), + [3050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627), + [3052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837), + [3054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(835), + [3056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [3058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(832), + [3060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(830), + [3062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826), + [3064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [3066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1067), + [3068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), + [3070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1262), + [3072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [3074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [3076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1136), + [3078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [3080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(849), + [3082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [3084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894), + [3086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(804), + [3088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1028), + [3090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1374), + [3092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [3094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [3096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 4), + [3098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [3100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1074), + [3102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1137), + [3104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [3106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [3108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1148), + [3110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857), + [3112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [3114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(761), + [3116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(792), + [3118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [3120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [3122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633), + [3124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791), + [3126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [3128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(777), + [3130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1311), + [3132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [3134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [3136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [3138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [3140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [3142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636), + [3144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(787), + [3146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(968), + [3148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [3150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [3152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638), + [3154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(769), + [3156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [3158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [3160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [3162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799), + [3164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657), + [3166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(840), + [3168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [3170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1363), + [3172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 1), + [3174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1174), + [3176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [3178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [3180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [3182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [3184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103), + [3186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), + [3188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1175), + [3190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1107), + [3192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1290), + [3194] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [3196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relative_import, 2, .production_id = 23), + [3198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1084), + [3200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1143), + [3202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1144), + [3204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1108), + [3206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [3208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1254), + [3210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [3212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781), + [3214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1061), + [3216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1153), + [3218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1149), + [3220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [3222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [3224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_clause, 3), }; #ifdef __cplusplus diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 17da65f262d..c1cb74c2e31 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,28 @@ +## 6.0.0 + +### Breaking Changes + +* All modules that depend on the points-to analysis have now been removed from the top level `python.qll` module. To access the points-to functionality, import the new `LegacyPointsTo` module. This also means that some predicates have been removed from various classes, for instance `Function.getFunctionObject()`. To access these predicates, import the `LegacyPointsTo` module and use the `FunctionWithPointsTo` class instead. Most cases follow this pattern, but there are a few exceptions: + * The `getLiteralObject` method on `ImmutableLiteral` subclasses has been replaced with a predicate `getLiteralObject(ImmutableLiteral l)` in the `LegacyPointsTo` module. + * The `getMetrics` method on `Function`, `Class`, and `Module` has been removed. To access metrics, import `LegacyPointsTo` and use the classes `FunctionMetrics`, etc. instead. + +### New Features + +* The extractor now supports the new, relaxed syntax `except A, B, C: ...` (which would previously have to be written as `except (A, B, C): ...`) as defined in [PEP-758](https://peps.python.org/pep-0758/). This may cause changes in results for code that uses Python 2-style exception binding (`except Foo, e: ...`). The more modern format, `except Foo as e: ...` (available since Python 2.6) is unaffected. +* The Python extractor now supports template strings as defined in [PEP-750](https://peps.python.org/pep-0750/), through the classes `TemplateString` and `JoinedTemplateString`. + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Python extractor's search for YAML files. +* The `compression.zstd` library (added in Python 3.14) is now supported by the `py/decompression-bomb` query. +* Added taint flow model and type model for `urllib.parseurl`. +* Remote flow sources for the `python-socketio` package have been modeled. +* Additional models for remote flow sources for `tornado.websocket.WebSocketHandler` have been added. + +## 5.0.4 + +No user-facing changes. + ## 5.0.3 No user-facing changes. diff --git a/python/ql/lib/change-notes/2025-11-22-tornado-websockets.md b/python/ql/lib/change-notes/2025-11-22-tornado-websockets.md deleted file mode 100644 index 8ba2ef549ee..00000000000 --- a/python/ql/lib/change-notes/2025-11-22-tornado-websockets.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Additional models for remote flow sources for `tornado.websocket.WebSocketHandler` have been added. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2025-11-26-model-ParseResult.md b/python/ql/lib/change-notes/2025-11-26-model-ParseResult.md deleted file mode 100644 index 9d461643613..00000000000 --- a/python/ql/lib/change-notes/2025-11-26-model-ParseResult.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint flow model and type model for `urllib.parseurl`. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2025-11-26-remove-top-level-points-to-import.md b/python/ql/lib/change-notes/2025-11-26-remove-top-level-points-to-import.md deleted file mode 100644 index 7122c217c41..00000000000 --- a/python/ql/lib/change-notes/2025-11-26-remove-top-level-points-to-import.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -category: breaking ---- - -* All modules that depend on the points-to analysis have now been removed from the top level `python.qll` module. To access the points-to functionality, import the new `LegacyPointsTo` module. This also means that some predicates have been removed from various classes, for instance `Function.getFunctionObject()`. To access these predicates, import the `LegacyPointsTo` module and use the `FunctionWithPointsTo` class instead. Most cases follow this pattern, but there are a few exceptions: - * The `getLiteralObject` method on `ImmutableLiteral` subclasses has been replaced with a predicate `getLiteralObject(ImmutableLiteral l)` in the `LegacyPointsTo` module. - * The `getMetrics` method on `Function`, `Class`, and `Module` has been removed. To access metrics, import `LegacyPointsTo` and use the classes `FunctionMetrics`, etc. instead. diff --git a/python/ql/lib/change-notes/2025-11-26-socketio.md b/python/ql/lib/change-notes/2025-11-26-socketio.md deleted file mode 100644 index e58bec0bbc1..00000000000 --- a/python/ql/lib/change-notes/2025-11-26-socketio.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Remote flow sources for the `python-socketio` package have been modeled. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2025-12-04-support-template-string-literals.md b/python/ql/lib/change-notes/2025-12-04-support-template-string-literals.md deleted file mode 100644 index 1c4fc58c09b..00000000000 --- a/python/ql/lib/change-notes/2025-12-04-support-template-string-literals.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* The Python extractor now supports template strings as defined in [PEP-750](https://peps.python.org/pep-0750/), through the classes `TemplateString` and `JoinedTemplateString`. diff --git a/python/ql/lib/change-notes/2025-12-09-add-modelling-of-zstd-compression.md b/python/ql/lib/change-notes/2025-12-09-add-modelling-of-zstd-compression.md deleted file mode 100644 index 8ec42ca0db2..00000000000 --- a/python/ql/lib/change-notes/2025-12-09-add-modelling-of-zstd-compression.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `compression.zstd` library (added in Python 3.14) is now supported by the `py/decompression-bomb` query. diff --git a/python/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md b/python/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md deleted file mode 100644 index ed16f8b6565..00000000000 --- a/python/ql/lib/change-notes/2026-01-06-paths-directives-ancillary-data.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Python extractor's search for YAML files. diff --git a/python/ql/lib/change-notes/2026-01-20-support-ListElement-in-python-MaD.md b/python/ql/lib/change-notes/2026-01-20-support-ListElement-in-python-MaD.md new file mode 100644 index 00000000000..cf51193efe9 --- /dev/null +++ b/python/ql/lib/change-notes/2026-01-20-support-ListElement-in-python-MaD.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* It is now possible to refer to list elements in the Python models-as-data language, via the `ListElement` path. diff --git a/python/ql/lib/change-notes/released/5.0.4.md b/python/ql/lib/change-notes/released/5.0.4.md new file mode 100644 index 00000000000..5c625c33d52 --- /dev/null +++ b/python/ql/lib/change-notes/released/5.0.4.md @@ -0,0 +1,3 @@ +## 5.0.4 + +No user-facing changes. diff --git a/python/ql/lib/change-notes/released/6.0.0.md b/python/ql/lib/change-notes/released/6.0.0.md new file mode 100644 index 00000000000..57de62fb258 --- /dev/null +++ b/python/ql/lib/change-notes/released/6.0.0.md @@ -0,0 +1,20 @@ +## 6.0.0 + +### Breaking Changes + +* All modules that depend on the points-to analysis have now been removed from the top level `python.qll` module. To access the points-to functionality, import the new `LegacyPointsTo` module. This also means that some predicates have been removed from various classes, for instance `Function.getFunctionObject()`. To access these predicates, import the `LegacyPointsTo` module and use the `FunctionWithPointsTo` class instead. Most cases follow this pattern, but there are a few exceptions: + * The `getLiteralObject` method on `ImmutableLiteral` subclasses has been replaced with a predicate `getLiteralObject(ImmutableLiteral l)` in the `LegacyPointsTo` module. + * The `getMetrics` method on `Function`, `Class`, and `Module` has been removed. To access metrics, import `LegacyPointsTo` and use the classes `FunctionMetrics`, etc. instead. + +### New Features + +* The extractor now supports the new, relaxed syntax `except A, B, C: ...` (which would previously have to be written as `except (A, B, C): ...`) as defined in [PEP-758](https://peps.python.org/pep-0758/). This may cause changes in results for code that uses Python 2-style exception binding (`except Foo, e: ...`). The more modern format, `except Foo as e: ...` (available since Python 2.6) is unaffected. +* The Python extractor now supports template strings as defined in [PEP-750](https://peps.python.org/pep-0750/), through the classes `TemplateString` and `JoinedTemplateString`. + +### Minor Analysis Improvements + +* When a code-scanning configuration specifies the `paths:` and/or `paths-ignore:` settings, these are now taken into account by the Python extractor's search for YAML files. +* The `compression.zstd` library (added in Python 3.14) is now supported by the `py/decompression-bomb` query. +* Added taint flow model and type model for `urllib.parseurl`. +* Remote flow sources for the `python-socketio` package have been modeled. +* Additional models for remote flow sources for `tornado.websocket.WebSocketHandler` have been added. diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 6997554f6dd..f8c4fa43ccb 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.0.3 +lastReleaseVersion: 6.0.0 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 43e09a9cd09..ff6a730a2ea 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 5.0.4-dev +version: 6.0.1-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModels.qll b/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModels.qll index 80ec45a3cf1..68f2210bff2 100644 --- a/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModels.qll +++ b/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModels.qll @@ -492,6 +492,7 @@ private predicate invocationMatchesCallSiteFilter( Specific::invocationMatchesExtraCallSiteFilter(invoke, token) } +overlay[local?] private class TypeModelUseEntry extends API::EntryPoint { private string type; @@ -505,6 +506,7 @@ private class TypeModelUseEntry extends API::EntryPoint { API::Node getNodeForType(string type_) { type = type_ and result = this.getANode() } } +overlay[local?] private class TypeModelDefEntry extends API::EntryPoint { private string type; diff --git a/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModelsSpecific.qll b/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModelsSpecific.qll index 1b22e8740bc..7adc24bab14 100644 --- a/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModelsSpecific.qll +++ b/python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModelsSpecific.qll @@ -142,15 +142,13 @@ API::Node getExtraSuccessorFromNode(API::Node node, AccessPathTokenBase token) { // `DataFlow::DictionaryElementContent` just from seeing a subscript read, so we would // need to add that. (also need to handle things like `DictionaryElementAny` which // doesn't have any value for .getAnArgument()) - ( - token.getName() = "DictionaryElement" and - result = node.getSubscript(token.getAnArgument()) - or - token.getName() = "DictionaryElementAny" and - result = node.getASubscript() and - not exists(token.getAnArgument()) - // TODO: ListElement/SetElement/TupleElement - ) + token.getName() = "DictionaryElement" and + result = node.getSubscript(token.getAnArgument()) + or + token.getName() in ["DictionaryElementAny", "ListElement"] and + result = node.getASubscript() and + not exists(token.getAnArgument()) + // TODO: SetElement/TupleElement // Some features don't have MaD tokens yet, they would need to be added to API-graphs first. // - decorators ("DecoratedClass", "DecoratedMember", "DecoratedParameter") } @@ -261,7 +259,7 @@ predicate isExtraValidTokenNameInIdentifyingAccessPath(string name) { name = [ "Member", "Instance", "Awaited", "Call", "Method", "Subclass", "DictionaryElement", - "DictionaryElementAny" + "DictionaryElementAny", "ListElement" ] } @@ -270,7 +268,7 @@ predicate isExtraValidTokenNameInIdentifyingAccessPath(string name) { * in an identifying access path. */ predicate isExtraValidNoArgumentTokenInIdentifyingAccessPath(string name) { - name = ["Instance", "Awaited", "Call", "Subclass", "DictionaryElementAny"] + name = ["Instance", "Awaited", "Call", "Subclass", "DictionaryElementAny", "ListElement"] } /** diff --git a/python/ql/lib/semmlecode.python.dbscheme b/python/ql/lib/semmlecode.python.dbscheme index 8d257a4a9bc..279cbb08d38 100644 --- a/python/ql/lib/semmlecode.python.dbscheme +++ b/python/ql/lib/semmlecode.python.dbscheme @@ -1,5 +1,6 @@ /* * This dbscheme is auto-generated by 'semmle/dbscheme_gen.py'. + * Run "make dbscheme" in python/extractor/ to regenerate. * WARNING: Any modifications to this file will be lost. * Relations can be changed by modifying master.py or * by adding rules to dbscheme.template @@ -47,20 +48,26 @@ externalData( string value : string ref ); +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + /*- Overlay support -*/ /** - * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, - * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, - * when building an overlay database, and these can be used by the discard predicates. + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. */ -databaseMetadata( - string metadataKey : string ref, - string value : string ref -); - overlayChangedFiles( - string path : string ref + string path: string ref ); /*- DEPRECATED: Snapshot date -*/ diff --git a/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/old.dbscheme b/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/old.dbscheme new file mode 100644 index 00000000000..8d257a4a9bc --- /dev/null +++ b/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/old.dbscheme @@ -0,0 +1,1282 @@ +/* + * This dbscheme is auto-generated by 'semmle/dbscheme_gen.py'. + * WARNING: Any modifications to this file will be lost. + * Relations can be changed by modifying master.py or + * by adding rules to dbscheme.template + */ + +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2020-07-02 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/*- DEPRECATED: External defects and metrics -*/ + +externalDefects( + unique int id : @externalDefect, + varchar(900) queryPath : string ref, + int location : @location ref, + varchar(900) message : string ref, + float severity : float ref +); + +externalMetrics( + unique int id : @externalMetric, + varchar(900) queryPath : string ref, + int location : @location ref, + float value : float ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit the tuple `databaseMetadata("isOverlay", "true")`, + * along with an `overlayChangedFiles` tuple for each new/modified/deleted file, + * when building an overlay database, and these can be used by the discard predicates. + */ +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path : string ref +); + +/*- DEPRECATED: Snapshot date -*/ + +snapshotDate(unique date snapshotDate : date ref); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- DEPRECATED: 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 +); + +/*- DEPRECATED: Version control data -*/ + +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 +) + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container 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; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Python dbscheme -*/ + +/* + * Line metrics + */ +py_codelines(int id : @py_scope ref, + int count : int ref); + +py_commentlines(int id : @py_scope ref, + int count : int ref); + +py_docstringlines(int id : @py_scope ref, + int count : int ref); + +py_alllines(int id : @py_scope ref, + int count : int ref); + +/**************************** + Python dbscheme +****************************/ + +@sourceline = @file | @py_Module | @xmllocatable; + +@location = @location_ast | @location_default ; + +locations_ast(unique int id: @location_ast, + int module: @py_Module ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +file_contents(unique int file: @file ref, string contents: string ref); + +py_module_path(int module: @py_Module ref, int file: @container ref); + +variable(unique int id : @py_variable, + int scope : @py_scope ref, + varchar(1) name : string ref); + +py_line_lengths(unique int id : @py_line, + int file: @py_Module ref, + int line : int ref, + int length : int ref); + +py_extracted_version(int module : @py_Module ref, + varchar(1) version : string ref); + +/* AUTO GENERATED PART STARTS HERE */ + + +/* AnnAssign.location = 0, location */ +/* AnnAssign.value = 1, expr */ +/* AnnAssign.annotation = 2, expr */ +/* AnnAssign.target = 3, expr */ + +/* Assert.location = 0, location */ +/* Assert.test = 1, expr */ +/* Assert.msg = 2, expr */ + +/* Assign.location = 0, location */ +/* Assign.value = 1, expr */ +/* Assign.targets = 2, expr_list */ + +/* AssignExpr.location = 0, location */ +/* AssignExpr.parenthesised = 1, bool */ +/* AssignExpr.value = 2, expr */ +/* AssignExpr.target = 3, expr */ + +/* Attribute.location = 0, location */ +/* Attribute.parenthesised = 1, bool */ +/* Attribute.value = 2, expr */ +/* Attribute.attr = 3, str */ +/* Attribute.ctx = 4, expr_context */ + +/* AugAssign.location = 0, location */ +/* AugAssign.operation = 1, BinOp */ + +/* Await.location = 0, location */ +/* Await.parenthesised = 1, bool */ +/* Await.value = 2, expr */ + +/* BinaryExpr.location = 0, location */ +/* BinaryExpr.parenthesised = 1, bool */ +/* BinaryExpr.left = 2, expr */ +/* BinaryExpr.op = 3, operator */ +/* BinaryExpr.right = 4, expr */ +/* BinaryExpr = AugAssign */ + +/* BoolExpr.location = 0, location */ +/* BoolExpr.parenthesised = 1, bool */ +/* BoolExpr.op = 2, boolop */ +/* BoolExpr.values = 3, expr_list */ + +/* Break.location = 0, location */ + +/* Bytes.location = 0, location */ +/* Bytes.parenthesised = 1, bool */ +/* Bytes.s = 2, bytes */ +/* Bytes.prefix = 3, bytes */ +/* Bytes.implicitly_concatenated_parts = 4, StringPart_list */ + +/* Call.location = 0, location */ +/* Call.parenthesised = 1, bool */ +/* Call.func = 2, expr */ +/* Call.positional_args = 3, expr_list */ +/* Call.named_args = 4, dict_item_list */ + +/* Case.location = 0, location */ +/* Case.pattern = 1, pattern */ +/* Case.guard = 2, expr */ +/* Case.body = 3, stmt_list */ + +/* Class.name = 0, str */ +/* Class.body = 1, stmt_list */ +/* Class = ClassExpr */ + +/* ClassExpr.location = 0, location */ +/* ClassExpr.parenthesised = 1, bool */ +/* ClassExpr.name = 2, str */ +/* ClassExpr.bases = 3, expr_list */ +/* ClassExpr.keywords = 4, dict_item_list */ +/* ClassExpr.inner_scope = 5, Class */ +/* ClassExpr.type_parameters = 6, type_parameter_list */ + +/* Compare.location = 0, location */ +/* Compare.parenthesised = 1, bool */ +/* Compare.left = 2, expr */ +/* Compare.ops = 3, cmpop_list */ +/* Compare.comparators = 4, expr_list */ + +/* Continue.location = 0, location */ + +/* Delete.location = 0, location */ +/* Delete.targets = 1, expr_list */ + +/* Dict.location = 0, location */ +/* Dict.parenthesised = 1, bool */ +/* Dict.items = 2, dict_item_list */ + +/* DictComp.location = 0, location */ +/* DictComp.parenthesised = 1, bool */ +/* DictComp.function = 2, Function */ +/* DictComp.iterable = 3, expr */ + +/* DictUnpacking.location = 0, location */ +/* DictUnpacking.value = 1, expr */ + +/* Ellipsis.location = 0, location */ +/* Ellipsis.parenthesised = 1, bool */ + +/* ExceptGroupStmt.location = 0, location */ +/* ExceptGroupStmt.type = 1, expr */ +/* ExceptGroupStmt.name = 2, expr */ +/* ExceptGroupStmt.body = 3, stmt_list */ + +/* ExceptStmt.location = 0, location */ +/* ExceptStmt.type = 1, expr */ +/* ExceptStmt.name = 2, expr */ +/* ExceptStmt.body = 3, stmt_list */ + +/* Exec.location = 0, location */ +/* Exec.body = 1, expr */ +/* Exec.globals = 2, expr */ +/* Exec.locals = 3, expr */ + +/* ExprStmt.location = 0, location */ +/* ExprStmt.value = 1, expr */ + +/* Filter.location = 0, location */ +/* Filter.parenthesised = 1, bool */ +/* Filter.value = 2, expr */ +/* Filter.filter = 3, expr */ + +/* For.location = 0, location */ +/* For.target = 1, expr */ +/* For.iter = 2, expr */ +/* For.body = 3, stmt_list */ +/* For.orelse = 4, stmt_list */ +/* For.is_async = 5, bool */ + +/* FormattedValue.location = 0, location */ +/* FormattedValue.parenthesised = 1, bool */ +/* FormattedValue.value = 2, expr */ +/* FormattedValue.conversion = 3, str */ +/* FormattedValue.format_spec = 4, JoinedStr */ + +/* Function.name = 0, str */ +/* Function.args = 1, parameter_list */ +/* Function.vararg = 2, expr */ +/* Function.kwonlyargs = 3, expr_list */ +/* Function.kwarg = 4, expr */ +/* Function.body = 5, stmt_list */ +/* Function.is_async = 6, bool */ +/* Function.type_parameters = 7, type_parameter_list */ +/* Function = FunctionParent */ + +/* FunctionExpr.location = 0, location */ +/* FunctionExpr.parenthesised = 1, bool */ +/* FunctionExpr.name = 2, str */ +/* FunctionExpr.args = 3, arguments */ +/* FunctionExpr.returns = 4, expr */ +/* FunctionExpr.inner_scope = 5, Function */ + +/* GeneratorExp.location = 0, location */ +/* GeneratorExp.parenthesised = 1, bool */ +/* GeneratorExp.function = 2, Function */ +/* GeneratorExp.iterable = 3, expr */ + +/* Global.location = 0, location */ +/* Global.names = 1, str_list */ + +/* Guard.location = 0, location */ +/* Guard.parenthesised = 1, bool */ +/* Guard.test = 2, expr */ + +/* If.location = 0, location */ +/* If.test = 1, expr */ +/* If.body = 2, stmt_list */ +/* If.orelse = 3, stmt_list */ + +/* IfExp.location = 0, location */ +/* IfExp.parenthesised = 1, bool */ +/* IfExp.test = 2, expr */ +/* IfExp.body = 3, expr */ +/* IfExp.orelse = 4, expr */ + +/* Import.location = 0, location */ +/* Import.names = 1, alias_list */ + +/* ImportExpr.location = 0, location */ +/* ImportExpr.parenthesised = 1, bool */ +/* ImportExpr.level = 2, int */ +/* ImportExpr.name = 3, str */ +/* ImportExpr.top = 4, bool */ + +/* ImportStar.location = 0, location */ +/* ImportStar.module = 1, expr */ + +/* ImportMember.location = 0, location */ +/* ImportMember.parenthesised = 1, bool */ +/* ImportMember.module = 2, expr */ +/* ImportMember.name = 3, str */ + +/* Fstring.location = 0, location */ +/* Fstring.parenthesised = 1, bool */ +/* Fstring.values = 2, expr_list */ +/* Fstring = FormattedValue */ + +/* JoinedTemplateString.location = 0, location */ +/* JoinedTemplateString.parenthesised = 1, bool */ +/* JoinedTemplateString.strings = 2, TemplateString_list */ + +/* KeyValuePair.location = 0, location */ +/* KeyValuePair.value = 1, expr */ +/* KeyValuePair.key = 2, expr */ + +/* Lambda.location = 0, location */ +/* Lambda.parenthesised = 1, bool */ +/* Lambda.args = 2, arguments */ +/* Lambda.inner_scope = 3, Function */ + +/* List.location = 0, location */ +/* List.parenthesised = 1, bool */ +/* List.elts = 2, expr_list */ +/* List.ctx = 3, expr_context */ + +/* ListComp.location = 0, location */ +/* ListComp.parenthesised = 1, bool */ +/* ListComp.function = 2, Function */ +/* ListComp.iterable = 3, expr */ +/* ListComp.generators = 4, comprehension_list */ +/* ListComp.elt = 5, expr */ + +/* MatchStmt.location = 0, location */ +/* MatchStmt.subject = 1, expr */ +/* MatchStmt.cases = 2, stmt_list */ + +/* MatchAsPattern.location = 0, location */ +/* MatchAsPattern.parenthesised = 1, bool */ +/* MatchAsPattern.pattern = 2, pattern */ +/* MatchAsPattern.alias = 3, expr */ + +/* MatchCapturePattern.location = 0, location */ +/* MatchCapturePattern.parenthesised = 1, bool */ +/* MatchCapturePattern.variable = 2, expr */ + +/* MatchClassPattern.location = 0, location */ +/* MatchClassPattern.parenthesised = 1, bool */ +/* MatchClassPattern.class = 2, expr */ +/* MatchClassPattern.class_name = 3, expr */ +/* MatchClassPattern.positional = 4, pattern_list */ +/* MatchClassPattern.keyword = 5, pattern_list */ + +/* MatchDoubleStarPattern.location = 0, location */ +/* MatchDoubleStarPattern.parenthesised = 1, bool */ +/* MatchDoubleStarPattern.target = 2, pattern */ + +/* MatchKeyValuePattern.location = 0, location */ +/* MatchKeyValuePattern.parenthesised = 1, bool */ +/* MatchKeyValuePattern.key = 2, pattern */ +/* MatchKeyValuePattern.value = 3, pattern */ + +/* MatchKeywordPattern.location = 0, location */ +/* MatchKeywordPattern.parenthesised = 1, bool */ +/* MatchKeywordPattern.attribute = 2, expr */ +/* MatchKeywordPattern.value = 3, pattern */ + +/* MatchLiteralPattern.location = 0, location */ +/* MatchLiteralPattern.parenthesised = 1, bool */ +/* MatchLiteralPattern.literal = 2, expr */ + +/* MatchMappingPattern.location = 0, location */ +/* MatchMappingPattern.parenthesised = 1, bool */ +/* MatchMappingPattern.mappings = 2, pattern_list */ + +/* MatchOrPattern.location = 0, location */ +/* MatchOrPattern.parenthesised = 1, bool */ +/* MatchOrPattern.patterns = 2, pattern_list */ + +/* MatchSequencePattern.location = 0, location */ +/* MatchSequencePattern.parenthesised = 1, bool */ +/* MatchSequencePattern.patterns = 2, pattern_list */ + +/* MatchStarPattern.location = 0, location */ +/* MatchStarPattern.parenthesised = 1, bool */ +/* MatchStarPattern.target = 2, pattern */ + +/* MatchValuePattern.location = 0, location */ +/* MatchValuePattern.parenthesised = 1, bool */ +/* MatchValuePattern.value = 2, expr */ + +/* MatchWildcardPattern.location = 0, location */ +/* MatchWildcardPattern.parenthesised = 1, bool */ + +/* Module.name = 0, str */ +/* Module.hash = 1, str */ +/* Module.body = 2, stmt_list */ +/* Module.kind = 3, str */ + +/* Name.location = 0, location */ +/* Name.parenthesised = 1, bool */ +/* Name.variable = 2, variable */ +/* Name.ctx = 3, expr_context */ +/* Name = ParameterList */ + +/* Nonlocal.location = 0, location */ +/* Nonlocal.names = 1, str_list */ + +/* Num.location = 0, location */ +/* Num.parenthesised = 1, bool */ +/* Num.n = 2, number */ +/* Num.text = 3, number */ + +/* ParamSpec.location = 0, location */ +/* ParamSpec.name = 1, expr */ +/* ParamSpec.default = 2, expr */ + +/* Pass.location = 0, location */ + +/* PlaceHolder.location = 0, location */ +/* PlaceHolder.parenthesised = 1, bool */ +/* PlaceHolder.variable = 2, variable */ +/* PlaceHolder.ctx = 3, expr_context */ + +/* Print.location = 0, location */ +/* Print.dest = 1, expr */ +/* Print.values = 2, expr_list */ +/* Print.nl = 3, bool */ + +/* Raise.location = 0, location */ +/* Raise.exc = 1, expr */ +/* Raise.cause = 2, expr */ +/* Raise.type = 3, expr */ +/* Raise.inst = 4, expr */ +/* Raise.tback = 5, expr */ + +/* Repr.location = 0, location */ +/* Repr.parenthesised = 1, bool */ +/* Repr.value = 2, expr */ + +/* Return.location = 0, location */ +/* Return.value = 1, expr */ + +/* Set.location = 0, location */ +/* Set.parenthesised = 1, bool */ +/* Set.elts = 2, expr_list */ + +/* SetComp.location = 0, location */ +/* SetComp.parenthesised = 1, bool */ +/* SetComp.function = 2, Function */ +/* SetComp.iterable = 3, expr */ + +/* Slice.location = 0, location */ +/* Slice.parenthesised = 1, bool */ +/* Slice.start = 2, expr */ +/* Slice.stop = 3, expr */ +/* Slice.step = 4, expr */ + +/* SpecialOperation.location = 0, location */ +/* SpecialOperation.parenthesised = 1, bool */ +/* SpecialOperation.name = 2, str */ +/* SpecialOperation.arguments = 3, expr_list */ + +/* Starred.location = 0, location */ +/* Starred.parenthesised = 1, bool */ +/* Starred.value = 2, expr */ +/* Starred.ctx = 3, expr_context */ + +/* Str.location = 0, location */ +/* Str.parenthesised = 1, bool */ +/* Str.s = 2, str */ +/* Str.prefix = 3, str */ +/* Str.implicitly_concatenated_parts = 4, StringPart_list */ + +/* StringPart.text = 0, str */ +/* StringPart.location = 1, location */ +/* StringPart = StringPartList */ +/* StringPartList = BytesOrStr */ + +/* Subscript.location = 0, location */ +/* Subscript.parenthesised = 1, bool */ +/* Subscript.value = 2, expr */ +/* Subscript.index = 3, expr */ +/* Subscript.ctx = 4, expr_context */ + +/* TemplateDottedNotation.location = 0, location */ +/* TemplateDottedNotation.parenthesised = 1, bool */ +/* TemplateDottedNotation.value = 2, expr */ +/* TemplateDottedNotation.attr = 3, str */ +/* TemplateDottedNotation.ctx = 4, expr_context */ + +/* TemplateString.location = 0, location */ +/* TemplateString.parenthesised = 1, bool */ +/* TemplateString.prefix = 2, str */ +/* TemplateString.values = 3, expr_list */ +/* TemplateString = TemplateStringList */ + +/* TemplateStringPart.location = 0, location */ +/* TemplateStringPart.parenthesised = 1, bool */ +/* TemplateStringPart.text = 2, str */ +/* TemplateStringList = JoinedTemplateString */ + +/* TemplateWrite.location = 0, location */ +/* TemplateWrite.value = 1, expr */ + +/* Try.location = 0, location */ +/* Try.body = 1, stmt_list */ +/* Try.orelse = 2, stmt_list */ +/* Try.handlers = 3, stmt_list */ +/* Try.finalbody = 4, stmt_list */ + +/* Tuple.location = 0, location */ +/* Tuple.parenthesised = 1, bool */ +/* Tuple.elts = 2, expr_list */ +/* Tuple.ctx = 3, expr_context */ +/* Tuple = ParameterList */ + +/* TypeAlias.location = 0, location */ +/* TypeAlias.name = 1, expr */ +/* TypeAlias.type_parameters = 2, type_parameter_list */ +/* TypeAlias.value = 3, expr */ + +/* TypeVar.location = 0, location */ +/* TypeVar.name = 1, expr */ +/* TypeVar.bound = 2, expr */ +/* TypeVar.default = 3, expr */ + +/* TypeVarTuple.location = 0, location */ +/* TypeVarTuple.name = 1, expr */ +/* TypeVarTuple.default = 2, expr */ + +/* UnaryExpr.location = 0, location */ +/* UnaryExpr.parenthesised = 1, bool */ +/* UnaryExpr.op = 2, unaryop */ +/* UnaryExpr.operand = 3, expr */ + +/* While.location = 0, location */ +/* While.test = 1, expr */ +/* While.body = 2, stmt_list */ +/* While.orelse = 3, stmt_list */ + +/* With.location = 0, location */ +/* With.context_expr = 1, expr */ +/* With.optional_vars = 2, expr */ +/* With.body = 3, stmt_list */ +/* With.is_async = 4, bool */ + +/* Yield.location = 0, location */ +/* Yield.parenthesised = 1, bool */ +/* Yield.value = 2, expr */ + +/* YieldFrom.location = 0, location */ +/* YieldFrom.parenthesised = 1, bool */ +/* YieldFrom.value = 2, expr */ + +/* Alias.value = 0, expr */ +/* Alias.asname = 1, expr */ +/* Alias = AliasList */ +/* AliasList = Import */ + +/* Arguments.kw_defaults = 0, expr_list */ +/* Arguments.defaults = 1, expr_list */ +/* Arguments.annotations = 2, expr_list */ +/* Arguments.varargannotation = 3, expr */ +/* Arguments.kwargannotation = 4, expr */ +/* Arguments.kw_annotations = 5, expr_list */ +/* Arguments = ArgumentsParent */ +/* boolean = BoolParent */ +/* Boolop = BoolExpr */ +/* string = Bytes */ +/* Cmpop = CmpopList */ +/* CmpopList = Compare */ + +/* Comprehension.location = 0, location */ +/* Comprehension.iter = 1, expr */ +/* Comprehension.target = 2, expr */ +/* Comprehension.ifs = 3, expr_list */ +/* Comprehension = ComprehensionList */ +/* ComprehensionList = ListComp */ +/* DictItem = DictItemList */ +/* DictItemList = DictItemListParent */ + +/* Expr.location = 0, location */ +/* Expr.parenthesised = 1, bool */ +/* Expr = ExprParent */ +/* ExprContext = ExprContextParent */ +/* ExprList = ExprListParent */ +/* int = ImportExpr */ + +/* Keyword.location = 0, location */ +/* Keyword.value = 1, expr */ +/* Keyword.arg = 2, str */ +/* Location = LocationParent */ +/* string = Num */ +/* Operator = BinaryExpr */ +/* ParameterList = Function */ + +/* Pattern.location = 0, location */ +/* Pattern.parenthesised = 1, bool */ +/* Pattern = PatternParent */ +/* PatternList = PatternListParent */ + +/* Stmt.location = 0, location */ +/* Stmt = StmtList */ +/* StmtList = StmtListParent */ +/* string = StrParent */ +/* StringList = StrListParent */ + +/* TypeParameter.location = 0, location */ +/* TypeParameter = TypeParameterList */ +/* TypeParameterList = TypeParameterListParent */ +/* Unaryop = UnaryExpr */ +/* Variable = VariableParent */ +py_Classes(unique int id : @py_Class, + unique int parent : @py_ClassExpr ref); + +py_Functions(unique int id : @py_Function, + unique int parent : @py_Function_parent ref); + +py_Modules(unique int id : @py_Module); + +py_StringParts(unique int id : @py_StringPart, + int parent : @py_StringPart_list ref, + int idx : int ref); + +py_StringPart_lists(unique int id : @py_StringPart_list, + unique int parent : @py_Bytes_or_Str ref); + +py_TemplateString_lists(unique int id : @py_TemplateString_list, + unique int parent : @py_JoinedTemplateString ref); + +py_aliases(unique int id : @py_alias, + int parent : @py_alias_list ref, + int idx : int ref); + +py_alias_lists(unique int id : @py_alias_list, + unique int parent : @py_Import ref); + +py_arguments(unique int id : @py_arguments, + unique int parent : @py_arguments_parent ref); + +py_bools(int parent : @py_bool_parent ref, + int idx : int ref); + +py_boolops(unique int id : @py_boolop, + int kind: int ref, + unique int parent : @py_BoolExpr ref); + +py_bytes(varchar(1) id : string ref, + int parent : @py_Bytes ref, + int idx : int ref); + +py_cmpops(unique int id : @py_cmpop, + int kind: int ref, + int parent : @py_cmpop_list ref, + int idx : int ref); + +py_cmpop_lists(unique int id : @py_cmpop_list, + unique int parent : @py_Compare ref); + +py_comprehensions(unique int id : @py_comprehension, + int parent : @py_comprehension_list ref, + int idx : int ref); + +py_comprehension_lists(unique int id : @py_comprehension_list, + unique int parent : @py_ListComp ref); + +py_dict_items(unique int id : @py_dict_item, + int kind: int ref, + int parent : @py_dict_item_list ref, + int idx : int ref); + +py_dict_item_lists(unique int id : @py_dict_item_list, + unique int parent : @py_dict_item_list_parent ref); + +py_exprs(unique int id : @py_expr, + int kind: int ref, + int parent : @py_expr_parent ref, + int idx : int ref); + +py_expr_contexts(unique int id : @py_expr_context, + int kind: int ref, + unique int parent : @py_expr_context_parent ref); + +py_expr_lists(unique int id : @py_expr_list, + int parent : @py_expr_list_parent ref, + int idx : int ref); + +py_ints(int id : int ref, + unique int parent : @py_ImportExpr ref); + +py_locations(unique int id : @location ref, + unique int parent : @py_location_parent ref); + +py_numbers(varchar(1) id : string ref, + int parent : @py_Num ref, + int idx : int ref); + +py_operators(unique int id : @py_operator, + int kind: int ref, + unique int parent : @py_BinaryExpr ref); + +py_parameter_lists(unique int id : @py_parameter_list, + unique int parent : @py_Function ref); + +py_patterns(unique int id : @py_pattern, + int kind: int ref, + int parent : @py_pattern_parent ref, + int idx : int ref); + +py_pattern_lists(unique int id : @py_pattern_list, + int parent : @py_pattern_list_parent ref, + int idx : int ref); + +py_stmts(unique int id : @py_stmt, + int kind: int ref, + int parent : @py_stmt_list ref, + int idx : int ref); + +py_stmt_lists(unique int id : @py_stmt_list, + int parent : @py_stmt_list_parent ref, + int idx : int ref); + +py_strs(varchar(1) id : string ref, + int parent : @py_str_parent ref, + int idx : int ref); + +py_str_lists(unique int id : @py_str_list, + unique int parent : @py_str_list_parent ref); + +py_type_parameters(unique int id : @py_type_parameter, + int kind: int ref, + int parent : @py_type_parameter_list ref, + int idx : int ref); + +py_type_parameter_lists(unique int id : @py_type_parameter_list, + unique int parent : @py_type_parameter_list_parent ref); + +py_unaryops(unique int id : @py_unaryop, + int kind: int ref, + unique int parent : @py_UnaryExpr ref); + +py_variables(int id : @py_variable ref, + unique int parent : @py_variable_parent ref); + +case @py_boolop.kind of + 0 = @py_And +| 1 = @py_Or; + +case @py_cmpop.kind of + 0 = @py_Eq +| 1 = @py_Gt +| 2 = @py_GtE +| 3 = @py_In +| 4 = @py_Is +| 5 = @py_IsNot +| 6 = @py_Lt +| 7 = @py_LtE +| 8 = @py_NotEq +| 9 = @py_NotIn; + +case @py_dict_item.kind of + 0 = @py_DictUnpacking +| 1 = @py_KeyValuePair +| 2 = @py_keyword; + +case @py_expr.kind of + 0 = @py_Attribute +| 1 = @py_BinaryExpr +| 2 = @py_BoolExpr +| 3 = @py_Bytes +| 4 = @py_Call +| 5 = @py_ClassExpr +| 6 = @py_Compare +| 7 = @py_Dict +| 8 = @py_DictComp +| 9 = @py_Ellipsis +| 10 = @py_FunctionExpr +| 11 = @py_GeneratorExp +| 12 = @py_IfExp +| 13 = @py_ImportExpr +| 14 = @py_ImportMember +| 15 = @py_Lambda +| 16 = @py_List +| 17 = @py_ListComp +| 18 = @py_Guard +| 19 = @py_Name +| 20 = @py_Num +| 21 = @py_Repr +| 22 = @py_Set +| 23 = @py_SetComp +| 24 = @py_Slice +| 25 = @py_Starred +| 26 = @py_Str +| 27 = @py_Subscript +| 28 = @py_Tuple +| 29 = @py_UnaryExpr +| 30 = @py_Yield +| 31 = @py_YieldFrom +| 32 = @py_TemplateDottedNotation +| 33 = @py_Filter +| 34 = @py_PlaceHolder +| 35 = @py_Await +| 36 = @py_Fstring +| 37 = @py_FormattedValue +| 38 = @py_AssignExpr +| 39 = @py_SpecialOperation +| 40 = @py_TemplateString +| 41 = @py_JoinedTemplateString +| 42 = @py_TemplateStringPart; + +case @py_expr_context.kind of + 0 = @py_AugLoad +| 1 = @py_AugStore +| 2 = @py_Del +| 3 = @py_Load +| 4 = @py_Param +| 5 = @py_Store; + +case @py_operator.kind of + 0 = @py_Add +| 1 = @py_BitAnd +| 2 = @py_BitOr +| 3 = @py_BitXor +| 4 = @py_Div +| 5 = @py_FloorDiv +| 6 = @py_LShift +| 7 = @py_Mod +| 8 = @py_Mult +| 9 = @py_Pow +| 10 = @py_RShift +| 11 = @py_Sub +| 12 = @py_MatMult; + +case @py_pattern.kind of + 0 = @py_MatchAsPattern +| 1 = @py_MatchOrPattern +| 2 = @py_MatchLiteralPattern +| 3 = @py_MatchCapturePattern +| 4 = @py_MatchWildcardPattern +| 5 = @py_MatchValuePattern +| 6 = @py_MatchSequencePattern +| 7 = @py_MatchStarPattern +| 8 = @py_MatchMappingPattern +| 9 = @py_MatchDoubleStarPattern +| 10 = @py_MatchKeyValuePattern +| 11 = @py_MatchClassPattern +| 12 = @py_MatchKeywordPattern; + +case @py_stmt.kind of + 0 = @py_Assert +| 1 = @py_Assign +| 2 = @py_AugAssign +| 3 = @py_Break +| 4 = @py_Continue +| 5 = @py_Delete +| 6 = @py_ExceptStmt +| 7 = @py_ExceptGroupStmt +| 8 = @py_Exec +| 9 = @py_Expr_stmt +| 10 = @py_For +| 11 = @py_Global +| 12 = @py_If +| 13 = @py_Import +| 14 = @py_ImportStar +| 15 = @py_MatchStmt +| 16 = @py_Case +| 17 = @py_Nonlocal +| 18 = @py_Pass +| 19 = @py_Print +| 20 = @py_Raise +| 21 = @py_Return +| 22 = @py_Try +| 23 = @py_While +| 24 = @py_With +| 25 = @py_TemplateWrite +| 26 = @py_AnnAssign +| 27 = @py_TypeAlias; + +case @py_type_parameter.kind of + 0 = @py_ParamSpec +| 1 = @py_TypeVar +| 2 = @py_TypeVarTuple; + +case @py_unaryop.kind of + 0 = @py_Invert +| 1 = @py_Not +| 2 = @py_UAdd +| 3 = @py_USub; + +@py_Bytes_or_Str = @py_Bytes | @py_Str; + +@py_Function_parent = @py_DictComp | @py_FunctionExpr | @py_GeneratorExp | @py_Lambda | @py_ListComp | @py_SetComp; + +@py_arguments_parent = @py_FunctionExpr | @py_Lambda; + +@py_ast_node = @py_Class | @py_Function | @py_Module | @py_StringPart | @py_comprehension | @py_dict_item | @py_expr | @py_pattern | @py_stmt | @py_type_parameter; + +@py_bool_parent = @py_For | @py_Function | @py_Print | @py_With | @py_expr | @py_pattern; + +@py_dict_item_list_parent = @py_Call | @py_ClassExpr | @py_Dict; + +@py_expr_context_parent = @py_Attribute | @py_List | @py_Name | @py_PlaceHolder | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_Tuple; + +@py_expr_list_parent = @py_Assign | @py_BoolExpr | @py_Call | @py_ClassExpr | @py_Compare | @py_Delete | @py_Fstring | @py_Function | @py_List | @py_Print | @py_Set | @py_SpecialOperation | @py_TemplateString | @py_Tuple | @py_arguments | @py_comprehension; + +@py_expr_or_stmt = @py_expr | @py_stmt; + +@py_expr_parent = @py_AnnAssign | @py_Assert | @py_Assign | @py_AssignExpr | @py_Attribute | @py_AugAssign | @py_Await | @py_BinaryExpr | @py_Call | @py_Case | @py_Compare | @py_DictComp | @py_DictUnpacking | @py_ExceptGroupStmt | @py_ExceptStmt | @py_Exec | @py_Expr_stmt | @py_Filter | @py_For | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_GeneratorExp | @py_Guard | @py_If | @py_IfExp | @py_ImportMember | @py_ImportStar | @py_KeyValuePair | @py_ListComp | @py_MatchAsPattern | @py_MatchCapturePattern | @py_MatchClassPattern | @py_MatchKeywordPattern | @py_MatchLiteralPattern | @py_MatchStmt | @py_MatchValuePattern | @py_ParamSpec | @py_Print | @py_Raise | @py_Repr | @py_Return | @py_SetComp | @py_Slice | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_TemplateString_list | @py_TemplateWrite | @py_TypeAlias | @py_TypeVar | @py_TypeVarTuple | @py_UnaryExpr | @py_While | @py_With | @py_Yield | @py_YieldFrom | @py_alias | @py_arguments | @py_comprehension | @py_expr_list | @py_keyword | @py_parameter_list; + +@py_location_parent = @py_DictUnpacking | @py_KeyValuePair | @py_StringPart | @py_comprehension | @py_expr | @py_keyword | @py_pattern | @py_stmt | @py_type_parameter; + +@py_parameter = @py_Name | @py_Tuple; + +@py_pattern_list_parent = @py_MatchClassPattern | @py_MatchMappingPattern | @py_MatchOrPattern | @py_MatchSequencePattern; + +@py_pattern_parent = @py_Case | @py_MatchAsPattern | @py_MatchDoubleStarPattern | @py_MatchKeyValuePattern | @py_MatchKeywordPattern | @py_MatchStarPattern | @py_pattern_list; + +@py_scope = @py_Class | @py_Function | @py_Module; + +@py_stmt_list_parent = @py_Case | @py_Class | @py_ExceptGroupStmt | @py_ExceptStmt | @py_For | @py_Function | @py_If | @py_MatchStmt | @py_Module | @py_Try | @py_While | @py_With; + +@py_str_list_parent = @py_Global | @py_Nonlocal; + +@py_str_parent = @py_Attribute | @py_Class | @py_ClassExpr | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_ImportExpr | @py_ImportMember | @py_Module | @py_SpecialOperation | @py_Str | @py_StringPart | @py_TemplateDottedNotation | @py_TemplateString | @py_TemplateStringPart | @py_keyword | @py_str_list; + +@py_type_parameter_list_parent = @py_ClassExpr | @py_Function | @py_TypeAlias; + +@py_variable_parent = @py_Name | @py_PlaceHolder; + + +/* + * End of auto-generated part + */ + + + +/* Map relative names to absolute names for imports */ +py_absolute_names(int module : @py_Module ref, + varchar(1) relname : string ref, + varchar(1) absname : string ref); + +py_exports(int id : @py_Module ref, + varchar(1) name : string ref); + +/* Successor information */ +py_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_true_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_exception_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_false_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_flow_bb_node(unique int flownode : @py_flow_node, + int realnode : @py_ast_node ref, + int basicblock : @py_flow_node ref, + int index : int ref); + +py_scope_flow(int flow : @py_flow_node ref, + int scope : @py_scope ref, + int kind : int ref); + +py_idoms(unique int node : @py_flow_node ref, + int immediate_dominator : @py_flow_node ref); + +py_ssa_phi(int phi : @py_ssa_var ref, + int arg: @py_ssa_var ref); + +py_ssa_var(unique int id : @py_ssa_var, + int var : @py_variable ref); + +py_ssa_use(int node: @py_flow_node ref, + int var : @py_ssa_var ref); + +py_ssa_defn(unique int id : @py_ssa_var ref, + int node: @py_flow_node ref); + +@py_base_var = @py_variable | @py_ssa_var; + +py_scopes(unique int node : @py_expr_or_stmt ref, + int scope : @py_scope ref); + +py_scope_location(unique int id : @location ref, + unique int scope : @py_scope ref); + +py_flags_versioned(varchar(1) name : string ref, + varchar(1) value : string ref, + varchar(1) version : string ref); + +py_syntax_error_versioned(unique int id : @location ref, + varchar(1) message : string ref, + varchar(1) version : string ref); + +py_comments(unique int id : @py_comment, + varchar(1) text : string ref, + unique int location : @location ref); + +/* Type information support */ + +py_cobjects(unique int obj : @py_cobject); + +py_cobjecttypes(unique int obj : @py_cobject ref, + int typeof : @py_cobject ref); + +py_cobjectnames(unique int obj : @py_cobject ref, + varchar(1) name : string ref); + +/* Kind should be 0 for introspection, > 0 from source, as follows: + 1 from C extension source + */ +py_cobject_sources(int obj : @py_cobject ref, + int kind : int ref); + +py_cmembers_versioned(int object : @py_cobject ref, + varchar(1) name : string ref, + int member : @py_cobject ref, + varchar(1) version : string ref); + +py_citems(int object : @py_cobject ref, + int index : int ref, + int member : @py_cobject ref); + +ext_argtype(int funcid : @py_object ref, + int arg : int ref, + int typeid : @py_object ref); + +ext_rettype(int funcid : @py_object ref, + int typeid : @py_object ref); + +ext_proptype(int propid : @py_object ref, + int typeid : @py_object ref); + +ext_argreturn(int funcid : @py_object ref, + int arg : int ref); + +py_special_objects(unique int obj : @py_cobject ref, + unique varchar(1) name : string ref); + +py_decorated_object(int object : @py_object ref, + int level: int ref); + +@py_object = @py_cobject | @py_flow_node; + +@py_source_element = @py_ast_node | @container; + +/** The union of all Python database entities */ +@top = + @py_source_element | @py_object | @py_base_var | @location | @py_line | @py_comment | + @py_expr_parent | @py_expr_context | + @py_operator | @py_boolop | @py_cmpop | @py_unaryop | + @py_cmpop_list | @py_alias_list | @py_StringPart_list | @py_comprehension_list | @py_dict_item_list | @py_pattern_list | @py_stmt_list | @py_str_list | @py_type_parameter_list | + @externalDefect | @externalMetric | @externalDataElement | @duplication_or_similarity | @svnentry | + @xmllocatable | @yaml_locatable; diff --git a/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/semmlecode.python.dbscheme b/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/semmlecode.python.dbscheme new file mode 100644 index 00000000000..279cbb08d38 --- /dev/null +++ b/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/semmlecode.python.dbscheme @@ -0,0 +1,1289 @@ +/* + * This dbscheme is auto-generated by 'semmle/dbscheme_gen.py'. + * Run "make dbscheme" in python/extractor/ to regenerate. + * WARNING: Any modifications to this file will be lost. + * Relations can be changed by modifying master.py or + * by adding rules to dbscheme.template + */ + +/* This is a dummy line to alter the dbscheme, so we can make a database upgrade + * without actually changing any of the dbscheme predicates. It contains a date + * to allow for such updates in the future as well. + * + * 2020-07-02 + * + * DO NOT remove this comment carelessly, since it can revert the dbscheme back to a + * previously seen state (matching a previously seen SHA), which would make the upgrade + * mechanism not work properly. + */ + +/*- DEPRECATED: External defects and metrics -*/ + +externalDefects( + unique int id : @externalDefect, + varchar(900) queryPath : string ref, + int location : @location ref, + varchar(900) message : string ref, + float severity : float ref +); + +externalMetrics( + unique int id : @externalMetric, + varchar(900) queryPath : string ref, + int location : @location ref, + float value : float ref +); + +/*- External data -*/ + +/** + * 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 +); + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + +/*- DEPRECATED: Snapshot date -*/ + +snapshotDate(unique date snapshotDate : date ref); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- DEPRECATED: 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 +); + +/*- DEPRECATED: Version control data -*/ + +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 +) + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container 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; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Python dbscheme -*/ + +/* + * Line metrics + */ +py_codelines(int id : @py_scope ref, + int count : int ref); + +py_commentlines(int id : @py_scope ref, + int count : int ref); + +py_docstringlines(int id : @py_scope ref, + int count : int ref); + +py_alllines(int id : @py_scope ref, + int count : int ref); + +/**************************** + Python dbscheme +****************************/ + +@sourceline = @file | @py_Module | @xmllocatable; + +@location = @location_ast | @location_default ; + +locations_ast(unique int id: @location_ast, + int module: @py_Module ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref); + +file_contents(unique int file: @file ref, string contents: string ref); + +py_module_path(int module: @py_Module ref, int file: @container ref); + +variable(unique int id : @py_variable, + int scope : @py_scope ref, + varchar(1) name : string ref); + +py_line_lengths(unique int id : @py_line, + int file: @py_Module ref, + int line : int ref, + int length : int ref); + +py_extracted_version(int module : @py_Module ref, + varchar(1) version : string ref); + +/* AUTO GENERATED PART STARTS HERE */ + + +/* AnnAssign.location = 0, location */ +/* AnnAssign.value = 1, expr */ +/* AnnAssign.annotation = 2, expr */ +/* AnnAssign.target = 3, expr */ + +/* Assert.location = 0, location */ +/* Assert.test = 1, expr */ +/* Assert.msg = 2, expr */ + +/* Assign.location = 0, location */ +/* Assign.value = 1, expr */ +/* Assign.targets = 2, expr_list */ + +/* AssignExpr.location = 0, location */ +/* AssignExpr.parenthesised = 1, bool */ +/* AssignExpr.value = 2, expr */ +/* AssignExpr.target = 3, expr */ + +/* Attribute.location = 0, location */ +/* Attribute.parenthesised = 1, bool */ +/* Attribute.value = 2, expr */ +/* Attribute.attr = 3, str */ +/* Attribute.ctx = 4, expr_context */ + +/* AugAssign.location = 0, location */ +/* AugAssign.operation = 1, BinOp */ + +/* Await.location = 0, location */ +/* Await.parenthesised = 1, bool */ +/* Await.value = 2, expr */ + +/* BinaryExpr.location = 0, location */ +/* BinaryExpr.parenthesised = 1, bool */ +/* BinaryExpr.left = 2, expr */ +/* BinaryExpr.op = 3, operator */ +/* BinaryExpr.right = 4, expr */ +/* BinaryExpr = AugAssign */ + +/* BoolExpr.location = 0, location */ +/* BoolExpr.parenthesised = 1, bool */ +/* BoolExpr.op = 2, boolop */ +/* BoolExpr.values = 3, expr_list */ + +/* Break.location = 0, location */ + +/* Bytes.location = 0, location */ +/* Bytes.parenthesised = 1, bool */ +/* Bytes.s = 2, bytes */ +/* Bytes.prefix = 3, bytes */ +/* Bytes.implicitly_concatenated_parts = 4, StringPart_list */ + +/* Call.location = 0, location */ +/* Call.parenthesised = 1, bool */ +/* Call.func = 2, expr */ +/* Call.positional_args = 3, expr_list */ +/* Call.named_args = 4, dict_item_list */ + +/* Case.location = 0, location */ +/* Case.pattern = 1, pattern */ +/* Case.guard = 2, expr */ +/* Case.body = 3, stmt_list */ + +/* Class.name = 0, str */ +/* Class.body = 1, stmt_list */ +/* Class = ClassExpr */ + +/* ClassExpr.location = 0, location */ +/* ClassExpr.parenthesised = 1, bool */ +/* ClassExpr.name = 2, str */ +/* ClassExpr.bases = 3, expr_list */ +/* ClassExpr.keywords = 4, dict_item_list */ +/* ClassExpr.inner_scope = 5, Class */ +/* ClassExpr.type_parameters = 6, type_parameter_list */ + +/* Compare.location = 0, location */ +/* Compare.parenthesised = 1, bool */ +/* Compare.left = 2, expr */ +/* Compare.ops = 3, cmpop_list */ +/* Compare.comparators = 4, expr_list */ + +/* Continue.location = 0, location */ + +/* Delete.location = 0, location */ +/* Delete.targets = 1, expr_list */ + +/* Dict.location = 0, location */ +/* Dict.parenthesised = 1, bool */ +/* Dict.items = 2, dict_item_list */ + +/* DictComp.location = 0, location */ +/* DictComp.parenthesised = 1, bool */ +/* DictComp.function = 2, Function */ +/* DictComp.iterable = 3, expr */ + +/* DictUnpacking.location = 0, location */ +/* DictUnpacking.value = 1, expr */ + +/* Ellipsis.location = 0, location */ +/* Ellipsis.parenthesised = 1, bool */ + +/* ExceptGroupStmt.location = 0, location */ +/* ExceptGroupStmt.type = 1, expr */ +/* ExceptGroupStmt.name = 2, expr */ +/* ExceptGroupStmt.body = 3, stmt_list */ + +/* ExceptStmt.location = 0, location */ +/* ExceptStmt.type = 1, expr */ +/* ExceptStmt.name = 2, expr */ +/* ExceptStmt.body = 3, stmt_list */ + +/* Exec.location = 0, location */ +/* Exec.body = 1, expr */ +/* Exec.globals = 2, expr */ +/* Exec.locals = 3, expr */ + +/* ExprStmt.location = 0, location */ +/* ExprStmt.value = 1, expr */ + +/* Filter.location = 0, location */ +/* Filter.parenthesised = 1, bool */ +/* Filter.value = 2, expr */ +/* Filter.filter = 3, expr */ + +/* For.location = 0, location */ +/* For.target = 1, expr */ +/* For.iter = 2, expr */ +/* For.body = 3, stmt_list */ +/* For.orelse = 4, stmt_list */ +/* For.is_async = 5, bool */ + +/* FormattedValue.location = 0, location */ +/* FormattedValue.parenthesised = 1, bool */ +/* FormattedValue.value = 2, expr */ +/* FormattedValue.conversion = 3, str */ +/* FormattedValue.format_spec = 4, JoinedStr */ + +/* Function.name = 0, str */ +/* Function.args = 1, parameter_list */ +/* Function.vararg = 2, expr */ +/* Function.kwonlyargs = 3, expr_list */ +/* Function.kwarg = 4, expr */ +/* Function.body = 5, stmt_list */ +/* Function.is_async = 6, bool */ +/* Function.type_parameters = 7, type_parameter_list */ +/* Function = FunctionParent */ + +/* FunctionExpr.location = 0, location */ +/* FunctionExpr.parenthesised = 1, bool */ +/* FunctionExpr.name = 2, str */ +/* FunctionExpr.args = 3, arguments */ +/* FunctionExpr.returns = 4, expr */ +/* FunctionExpr.inner_scope = 5, Function */ + +/* GeneratorExp.location = 0, location */ +/* GeneratorExp.parenthesised = 1, bool */ +/* GeneratorExp.function = 2, Function */ +/* GeneratorExp.iterable = 3, expr */ + +/* Global.location = 0, location */ +/* Global.names = 1, str_list */ + +/* Guard.location = 0, location */ +/* Guard.parenthesised = 1, bool */ +/* Guard.test = 2, expr */ + +/* If.location = 0, location */ +/* If.test = 1, expr */ +/* If.body = 2, stmt_list */ +/* If.orelse = 3, stmt_list */ + +/* IfExp.location = 0, location */ +/* IfExp.parenthesised = 1, bool */ +/* IfExp.test = 2, expr */ +/* IfExp.body = 3, expr */ +/* IfExp.orelse = 4, expr */ + +/* Import.location = 0, location */ +/* Import.names = 1, alias_list */ + +/* ImportExpr.location = 0, location */ +/* ImportExpr.parenthesised = 1, bool */ +/* ImportExpr.level = 2, int */ +/* ImportExpr.name = 3, str */ +/* ImportExpr.top = 4, bool */ + +/* ImportStar.location = 0, location */ +/* ImportStar.module = 1, expr */ + +/* ImportMember.location = 0, location */ +/* ImportMember.parenthesised = 1, bool */ +/* ImportMember.module = 2, expr */ +/* ImportMember.name = 3, str */ + +/* Fstring.location = 0, location */ +/* Fstring.parenthesised = 1, bool */ +/* Fstring.values = 2, expr_list */ +/* Fstring = FormattedValue */ + +/* JoinedTemplateString.location = 0, location */ +/* JoinedTemplateString.parenthesised = 1, bool */ +/* JoinedTemplateString.strings = 2, TemplateString_list */ + +/* KeyValuePair.location = 0, location */ +/* KeyValuePair.value = 1, expr */ +/* KeyValuePair.key = 2, expr */ + +/* Lambda.location = 0, location */ +/* Lambda.parenthesised = 1, bool */ +/* Lambda.args = 2, arguments */ +/* Lambda.inner_scope = 3, Function */ + +/* List.location = 0, location */ +/* List.parenthesised = 1, bool */ +/* List.elts = 2, expr_list */ +/* List.ctx = 3, expr_context */ + +/* ListComp.location = 0, location */ +/* ListComp.parenthesised = 1, bool */ +/* ListComp.function = 2, Function */ +/* ListComp.iterable = 3, expr */ +/* ListComp.generators = 4, comprehension_list */ +/* ListComp.elt = 5, expr */ + +/* MatchStmt.location = 0, location */ +/* MatchStmt.subject = 1, expr */ +/* MatchStmt.cases = 2, stmt_list */ + +/* MatchAsPattern.location = 0, location */ +/* MatchAsPattern.parenthesised = 1, bool */ +/* MatchAsPattern.pattern = 2, pattern */ +/* MatchAsPattern.alias = 3, expr */ + +/* MatchCapturePattern.location = 0, location */ +/* MatchCapturePattern.parenthesised = 1, bool */ +/* MatchCapturePattern.variable = 2, expr */ + +/* MatchClassPattern.location = 0, location */ +/* MatchClassPattern.parenthesised = 1, bool */ +/* MatchClassPattern.class = 2, expr */ +/* MatchClassPattern.class_name = 3, expr */ +/* MatchClassPattern.positional = 4, pattern_list */ +/* MatchClassPattern.keyword = 5, pattern_list */ + +/* MatchDoubleStarPattern.location = 0, location */ +/* MatchDoubleStarPattern.parenthesised = 1, bool */ +/* MatchDoubleStarPattern.target = 2, pattern */ + +/* MatchKeyValuePattern.location = 0, location */ +/* MatchKeyValuePattern.parenthesised = 1, bool */ +/* MatchKeyValuePattern.key = 2, pattern */ +/* MatchKeyValuePattern.value = 3, pattern */ + +/* MatchKeywordPattern.location = 0, location */ +/* MatchKeywordPattern.parenthesised = 1, bool */ +/* MatchKeywordPattern.attribute = 2, expr */ +/* MatchKeywordPattern.value = 3, pattern */ + +/* MatchLiteralPattern.location = 0, location */ +/* MatchLiteralPattern.parenthesised = 1, bool */ +/* MatchLiteralPattern.literal = 2, expr */ + +/* MatchMappingPattern.location = 0, location */ +/* MatchMappingPattern.parenthesised = 1, bool */ +/* MatchMappingPattern.mappings = 2, pattern_list */ + +/* MatchOrPattern.location = 0, location */ +/* MatchOrPattern.parenthesised = 1, bool */ +/* MatchOrPattern.patterns = 2, pattern_list */ + +/* MatchSequencePattern.location = 0, location */ +/* MatchSequencePattern.parenthesised = 1, bool */ +/* MatchSequencePattern.patterns = 2, pattern_list */ + +/* MatchStarPattern.location = 0, location */ +/* MatchStarPattern.parenthesised = 1, bool */ +/* MatchStarPattern.target = 2, pattern */ + +/* MatchValuePattern.location = 0, location */ +/* MatchValuePattern.parenthesised = 1, bool */ +/* MatchValuePattern.value = 2, expr */ + +/* MatchWildcardPattern.location = 0, location */ +/* MatchWildcardPattern.parenthesised = 1, bool */ + +/* Module.name = 0, str */ +/* Module.hash = 1, str */ +/* Module.body = 2, stmt_list */ +/* Module.kind = 3, str */ + +/* Name.location = 0, location */ +/* Name.parenthesised = 1, bool */ +/* Name.variable = 2, variable */ +/* Name.ctx = 3, expr_context */ +/* Name = ParameterList */ + +/* Nonlocal.location = 0, location */ +/* Nonlocal.names = 1, str_list */ + +/* Num.location = 0, location */ +/* Num.parenthesised = 1, bool */ +/* Num.n = 2, number */ +/* Num.text = 3, number */ + +/* ParamSpec.location = 0, location */ +/* ParamSpec.name = 1, expr */ +/* ParamSpec.default = 2, expr */ + +/* Pass.location = 0, location */ + +/* PlaceHolder.location = 0, location */ +/* PlaceHolder.parenthesised = 1, bool */ +/* PlaceHolder.variable = 2, variable */ +/* PlaceHolder.ctx = 3, expr_context */ + +/* Print.location = 0, location */ +/* Print.dest = 1, expr */ +/* Print.values = 2, expr_list */ +/* Print.nl = 3, bool */ + +/* Raise.location = 0, location */ +/* Raise.exc = 1, expr */ +/* Raise.cause = 2, expr */ +/* Raise.type = 3, expr */ +/* Raise.inst = 4, expr */ +/* Raise.tback = 5, expr */ + +/* Repr.location = 0, location */ +/* Repr.parenthesised = 1, bool */ +/* Repr.value = 2, expr */ + +/* Return.location = 0, location */ +/* Return.value = 1, expr */ + +/* Set.location = 0, location */ +/* Set.parenthesised = 1, bool */ +/* Set.elts = 2, expr_list */ + +/* SetComp.location = 0, location */ +/* SetComp.parenthesised = 1, bool */ +/* SetComp.function = 2, Function */ +/* SetComp.iterable = 3, expr */ + +/* Slice.location = 0, location */ +/* Slice.parenthesised = 1, bool */ +/* Slice.start = 2, expr */ +/* Slice.stop = 3, expr */ +/* Slice.step = 4, expr */ + +/* SpecialOperation.location = 0, location */ +/* SpecialOperation.parenthesised = 1, bool */ +/* SpecialOperation.name = 2, str */ +/* SpecialOperation.arguments = 3, expr_list */ + +/* Starred.location = 0, location */ +/* Starred.parenthesised = 1, bool */ +/* Starred.value = 2, expr */ +/* Starred.ctx = 3, expr_context */ + +/* Str.location = 0, location */ +/* Str.parenthesised = 1, bool */ +/* Str.s = 2, str */ +/* Str.prefix = 3, str */ +/* Str.implicitly_concatenated_parts = 4, StringPart_list */ + +/* StringPart.text = 0, str */ +/* StringPart.location = 1, location */ +/* StringPart = StringPartList */ +/* StringPartList = BytesOrStr */ + +/* Subscript.location = 0, location */ +/* Subscript.parenthesised = 1, bool */ +/* Subscript.value = 2, expr */ +/* Subscript.index = 3, expr */ +/* Subscript.ctx = 4, expr_context */ + +/* TemplateDottedNotation.location = 0, location */ +/* TemplateDottedNotation.parenthesised = 1, bool */ +/* TemplateDottedNotation.value = 2, expr */ +/* TemplateDottedNotation.attr = 3, str */ +/* TemplateDottedNotation.ctx = 4, expr_context */ + +/* TemplateString.location = 0, location */ +/* TemplateString.parenthesised = 1, bool */ +/* TemplateString.prefix = 2, str */ +/* TemplateString.values = 3, expr_list */ +/* TemplateString = TemplateStringList */ + +/* TemplateStringPart.location = 0, location */ +/* TemplateStringPart.parenthesised = 1, bool */ +/* TemplateStringPart.text = 2, str */ +/* TemplateStringList = JoinedTemplateString */ + +/* TemplateWrite.location = 0, location */ +/* TemplateWrite.value = 1, expr */ + +/* Try.location = 0, location */ +/* Try.body = 1, stmt_list */ +/* Try.orelse = 2, stmt_list */ +/* Try.handlers = 3, stmt_list */ +/* Try.finalbody = 4, stmt_list */ + +/* Tuple.location = 0, location */ +/* Tuple.parenthesised = 1, bool */ +/* Tuple.elts = 2, expr_list */ +/* Tuple.ctx = 3, expr_context */ +/* Tuple = ParameterList */ + +/* TypeAlias.location = 0, location */ +/* TypeAlias.name = 1, expr */ +/* TypeAlias.type_parameters = 2, type_parameter_list */ +/* TypeAlias.value = 3, expr */ + +/* TypeVar.location = 0, location */ +/* TypeVar.name = 1, expr */ +/* TypeVar.bound = 2, expr */ +/* TypeVar.default = 3, expr */ + +/* TypeVarTuple.location = 0, location */ +/* TypeVarTuple.name = 1, expr */ +/* TypeVarTuple.default = 2, expr */ + +/* UnaryExpr.location = 0, location */ +/* UnaryExpr.parenthesised = 1, bool */ +/* UnaryExpr.op = 2, unaryop */ +/* UnaryExpr.operand = 3, expr */ + +/* While.location = 0, location */ +/* While.test = 1, expr */ +/* While.body = 2, stmt_list */ +/* While.orelse = 3, stmt_list */ + +/* With.location = 0, location */ +/* With.context_expr = 1, expr */ +/* With.optional_vars = 2, expr */ +/* With.body = 3, stmt_list */ +/* With.is_async = 4, bool */ + +/* Yield.location = 0, location */ +/* Yield.parenthesised = 1, bool */ +/* Yield.value = 2, expr */ + +/* YieldFrom.location = 0, location */ +/* YieldFrom.parenthesised = 1, bool */ +/* YieldFrom.value = 2, expr */ + +/* Alias.value = 0, expr */ +/* Alias.asname = 1, expr */ +/* Alias = AliasList */ +/* AliasList = Import */ + +/* Arguments.kw_defaults = 0, expr_list */ +/* Arguments.defaults = 1, expr_list */ +/* Arguments.annotations = 2, expr_list */ +/* Arguments.varargannotation = 3, expr */ +/* Arguments.kwargannotation = 4, expr */ +/* Arguments.kw_annotations = 5, expr_list */ +/* Arguments = ArgumentsParent */ +/* boolean = BoolParent */ +/* Boolop = BoolExpr */ +/* string = Bytes */ +/* Cmpop = CmpopList */ +/* CmpopList = Compare */ + +/* Comprehension.location = 0, location */ +/* Comprehension.iter = 1, expr */ +/* Comprehension.target = 2, expr */ +/* Comprehension.ifs = 3, expr_list */ +/* Comprehension = ComprehensionList */ +/* ComprehensionList = ListComp */ +/* DictItem = DictItemList */ +/* DictItemList = DictItemListParent */ + +/* Expr.location = 0, location */ +/* Expr.parenthesised = 1, bool */ +/* Expr = ExprParent */ +/* ExprContext = ExprContextParent */ +/* ExprList = ExprListParent */ +/* int = ImportExpr */ + +/* Keyword.location = 0, location */ +/* Keyword.value = 1, expr */ +/* Keyword.arg = 2, str */ +/* Location = LocationParent */ +/* string = Num */ +/* Operator = BinaryExpr */ +/* ParameterList = Function */ + +/* Pattern.location = 0, location */ +/* Pattern.parenthesised = 1, bool */ +/* Pattern = PatternParent */ +/* PatternList = PatternListParent */ + +/* Stmt.location = 0, location */ +/* Stmt = StmtList */ +/* StmtList = StmtListParent */ +/* string = StrParent */ +/* StringList = StrListParent */ + +/* TypeParameter.location = 0, location */ +/* TypeParameter = TypeParameterList */ +/* TypeParameterList = TypeParameterListParent */ +/* Unaryop = UnaryExpr */ +/* Variable = VariableParent */ +py_Classes(unique int id : @py_Class, + unique int parent : @py_ClassExpr ref); + +py_Functions(unique int id : @py_Function, + unique int parent : @py_Function_parent ref); + +py_Modules(unique int id : @py_Module); + +py_StringParts(unique int id : @py_StringPart, + int parent : @py_StringPart_list ref, + int idx : int ref); + +py_StringPart_lists(unique int id : @py_StringPart_list, + unique int parent : @py_Bytes_or_Str ref); + +py_TemplateString_lists(unique int id : @py_TemplateString_list, + unique int parent : @py_JoinedTemplateString ref); + +py_aliases(unique int id : @py_alias, + int parent : @py_alias_list ref, + int idx : int ref); + +py_alias_lists(unique int id : @py_alias_list, + unique int parent : @py_Import ref); + +py_arguments(unique int id : @py_arguments, + unique int parent : @py_arguments_parent ref); + +py_bools(int parent : @py_bool_parent ref, + int idx : int ref); + +py_boolops(unique int id : @py_boolop, + int kind: int ref, + unique int parent : @py_BoolExpr ref); + +py_bytes(varchar(1) id : string ref, + int parent : @py_Bytes ref, + int idx : int ref); + +py_cmpops(unique int id : @py_cmpop, + int kind: int ref, + int parent : @py_cmpop_list ref, + int idx : int ref); + +py_cmpop_lists(unique int id : @py_cmpop_list, + unique int parent : @py_Compare ref); + +py_comprehensions(unique int id : @py_comprehension, + int parent : @py_comprehension_list ref, + int idx : int ref); + +py_comprehension_lists(unique int id : @py_comprehension_list, + unique int parent : @py_ListComp ref); + +py_dict_items(unique int id : @py_dict_item, + int kind: int ref, + int parent : @py_dict_item_list ref, + int idx : int ref); + +py_dict_item_lists(unique int id : @py_dict_item_list, + unique int parent : @py_dict_item_list_parent ref); + +py_exprs(unique int id : @py_expr, + int kind: int ref, + int parent : @py_expr_parent ref, + int idx : int ref); + +py_expr_contexts(unique int id : @py_expr_context, + int kind: int ref, + unique int parent : @py_expr_context_parent ref); + +py_expr_lists(unique int id : @py_expr_list, + int parent : @py_expr_list_parent ref, + int idx : int ref); + +py_ints(int id : int ref, + unique int parent : @py_ImportExpr ref); + +py_locations(unique int id : @location ref, + unique int parent : @py_location_parent ref); + +py_numbers(varchar(1) id : string ref, + int parent : @py_Num ref, + int idx : int ref); + +py_operators(unique int id : @py_operator, + int kind: int ref, + unique int parent : @py_BinaryExpr ref); + +py_parameter_lists(unique int id : @py_parameter_list, + unique int parent : @py_Function ref); + +py_patterns(unique int id : @py_pattern, + int kind: int ref, + int parent : @py_pattern_parent ref, + int idx : int ref); + +py_pattern_lists(unique int id : @py_pattern_list, + int parent : @py_pattern_list_parent ref, + int idx : int ref); + +py_stmts(unique int id : @py_stmt, + int kind: int ref, + int parent : @py_stmt_list ref, + int idx : int ref); + +py_stmt_lists(unique int id : @py_stmt_list, + int parent : @py_stmt_list_parent ref, + int idx : int ref); + +py_strs(varchar(1) id : string ref, + int parent : @py_str_parent ref, + int idx : int ref); + +py_str_lists(unique int id : @py_str_list, + unique int parent : @py_str_list_parent ref); + +py_type_parameters(unique int id : @py_type_parameter, + int kind: int ref, + int parent : @py_type_parameter_list ref, + int idx : int ref); + +py_type_parameter_lists(unique int id : @py_type_parameter_list, + unique int parent : @py_type_parameter_list_parent ref); + +py_unaryops(unique int id : @py_unaryop, + int kind: int ref, + unique int parent : @py_UnaryExpr ref); + +py_variables(int id : @py_variable ref, + unique int parent : @py_variable_parent ref); + +case @py_boolop.kind of + 0 = @py_And +| 1 = @py_Or; + +case @py_cmpop.kind of + 0 = @py_Eq +| 1 = @py_Gt +| 2 = @py_GtE +| 3 = @py_In +| 4 = @py_Is +| 5 = @py_IsNot +| 6 = @py_Lt +| 7 = @py_LtE +| 8 = @py_NotEq +| 9 = @py_NotIn; + +case @py_dict_item.kind of + 0 = @py_DictUnpacking +| 1 = @py_KeyValuePair +| 2 = @py_keyword; + +case @py_expr.kind of + 0 = @py_Attribute +| 1 = @py_BinaryExpr +| 2 = @py_BoolExpr +| 3 = @py_Bytes +| 4 = @py_Call +| 5 = @py_ClassExpr +| 6 = @py_Compare +| 7 = @py_Dict +| 8 = @py_DictComp +| 9 = @py_Ellipsis +| 10 = @py_FunctionExpr +| 11 = @py_GeneratorExp +| 12 = @py_IfExp +| 13 = @py_ImportExpr +| 14 = @py_ImportMember +| 15 = @py_Lambda +| 16 = @py_List +| 17 = @py_ListComp +| 18 = @py_Guard +| 19 = @py_Name +| 20 = @py_Num +| 21 = @py_Repr +| 22 = @py_Set +| 23 = @py_SetComp +| 24 = @py_Slice +| 25 = @py_Starred +| 26 = @py_Str +| 27 = @py_Subscript +| 28 = @py_Tuple +| 29 = @py_UnaryExpr +| 30 = @py_Yield +| 31 = @py_YieldFrom +| 32 = @py_TemplateDottedNotation +| 33 = @py_Filter +| 34 = @py_PlaceHolder +| 35 = @py_Await +| 36 = @py_Fstring +| 37 = @py_FormattedValue +| 38 = @py_AssignExpr +| 39 = @py_SpecialOperation +| 40 = @py_TemplateString +| 41 = @py_JoinedTemplateString +| 42 = @py_TemplateStringPart; + +case @py_expr_context.kind of + 0 = @py_AugLoad +| 1 = @py_AugStore +| 2 = @py_Del +| 3 = @py_Load +| 4 = @py_Param +| 5 = @py_Store; + +case @py_operator.kind of + 0 = @py_Add +| 1 = @py_BitAnd +| 2 = @py_BitOr +| 3 = @py_BitXor +| 4 = @py_Div +| 5 = @py_FloorDiv +| 6 = @py_LShift +| 7 = @py_Mod +| 8 = @py_Mult +| 9 = @py_Pow +| 10 = @py_RShift +| 11 = @py_Sub +| 12 = @py_MatMult; + +case @py_pattern.kind of + 0 = @py_MatchAsPattern +| 1 = @py_MatchOrPattern +| 2 = @py_MatchLiteralPattern +| 3 = @py_MatchCapturePattern +| 4 = @py_MatchWildcardPattern +| 5 = @py_MatchValuePattern +| 6 = @py_MatchSequencePattern +| 7 = @py_MatchStarPattern +| 8 = @py_MatchMappingPattern +| 9 = @py_MatchDoubleStarPattern +| 10 = @py_MatchKeyValuePattern +| 11 = @py_MatchClassPattern +| 12 = @py_MatchKeywordPattern; + +case @py_stmt.kind of + 0 = @py_Assert +| 1 = @py_Assign +| 2 = @py_AugAssign +| 3 = @py_Break +| 4 = @py_Continue +| 5 = @py_Delete +| 6 = @py_ExceptStmt +| 7 = @py_ExceptGroupStmt +| 8 = @py_Exec +| 9 = @py_Expr_stmt +| 10 = @py_For +| 11 = @py_Global +| 12 = @py_If +| 13 = @py_Import +| 14 = @py_ImportStar +| 15 = @py_MatchStmt +| 16 = @py_Case +| 17 = @py_Nonlocal +| 18 = @py_Pass +| 19 = @py_Print +| 20 = @py_Raise +| 21 = @py_Return +| 22 = @py_Try +| 23 = @py_While +| 24 = @py_With +| 25 = @py_TemplateWrite +| 26 = @py_AnnAssign +| 27 = @py_TypeAlias; + +case @py_type_parameter.kind of + 0 = @py_ParamSpec +| 1 = @py_TypeVar +| 2 = @py_TypeVarTuple; + +case @py_unaryop.kind of + 0 = @py_Invert +| 1 = @py_Not +| 2 = @py_UAdd +| 3 = @py_USub; + +@py_Bytes_or_Str = @py_Bytes | @py_Str; + +@py_Function_parent = @py_DictComp | @py_FunctionExpr | @py_GeneratorExp | @py_Lambda | @py_ListComp | @py_SetComp; + +@py_arguments_parent = @py_FunctionExpr | @py_Lambda; + +@py_ast_node = @py_Class | @py_Function | @py_Module | @py_StringPart | @py_comprehension | @py_dict_item | @py_expr | @py_pattern | @py_stmt | @py_type_parameter; + +@py_bool_parent = @py_For | @py_Function | @py_Print | @py_With | @py_expr | @py_pattern; + +@py_dict_item_list_parent = @py_Call | @py_ClassExpr | @py_Dict; + +@py_expr_context_parent = @py_Attribute | @py_List | @py_Name | @py_PlaceHolder | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_Tuple; + +@py_expr_list_parent = @py_Assign | @py_BoolExpr | @py_Call | @py_ClassExpr | @py_Compare | @py_Delete | @py_Fstring | @py_Function | @py_List | @py_Print | @py_Set | @py_SpecialOperation | @py_TemplateString | @py_Tuple | @py_arguments | @py_comprehension; + +@py_expr_or_stmt = @py_expr | @py_stmt; + +@py_expr_parent = @py_AnnAssign | @py_Assert | @py_Assign | @py_AssignExpr | @py_Attribute | @py_AugAssign | @py_Await | @py_BinaryExpr | @py_Call | @py_Case | @py_Compare | @py_DictComp | @py_DictUnpacking | @py_ExceptGroupStmt | @py_ExceptStmt | @py_Exec | @py_Expr_stmt | @py_Filter | @py_For | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_GeneratorExp | @py_Guard | @py_If | @py_IfExp | @py_ImportMember | @py_ImportStar | @py_KeyValuePair | @py_ListComp | @py_MatchAsPattern | @py_MatchCapturePattern | @py_MatchClassPattern | @py_MatchKeywordPattern | @py_MatchLiteralPattern | @py_MatchStmt | @py_MatchValuePattern | @py_ParamSpec | @py_Print | @py_Raise | @py_Repr | @py_Return | @py_SetComp | @py_Slice | @py_Starred | @py_Subscript | @py_TemplateDottedNotation | @py_TemplateString_list | @py_TemplateWrite | @py_TypeAlias | @py_TypeVar | @py_TypeVarTuple | @py_UnaryExpr | @py_While | @py_With | @py_Yield | @py_YieldFrom | @py_alias | @py_arguments | @py_comprehension | @py_expr_list | @py_keyword | @py_parameter_list; + +@py_location_parent = @py_DictUnpacking | @py_KeyValuePair | @py_StringPart | @py_comprehension | @py_expr | @py_keyword | @py_pattern | @py_stmt | @py_type_parameter; + +@py_parameter = @py_Name | @py_Tuple; + +@py_pattern_list_parent = @py_MatchClassPattern | @py_MatchMappingPattern | @py_MatchOrPattern | @py_MatchSequencePattern; + +@py_pattern_parent = @py_Case | @py_MatchAsPattern | @py_MatchDoubleStarPattern | @py_MatchKeyValuePattern | @py_MatchKeywordPattern | @py_MatchStarPattern | @py_pattern_list; + +@py_scope = @py_Class | @py_Function | @py_Module; + +@py_stmt_list_parent = @py_Case | @py_Class | @py_ExceptGroupStmt | @py_ExceptStmt | @py_For | @py_Function | @py_If | @py_MatchStmt | @py_Module | @py_Try | @py_While | @py_With; + +@py_str_list_parent = @py_Global | @py_Nonlocal; + +@py_str_parent = @py_Attribute | @py_Class | @py_ClassExpr | @py_FormattedValue | @py_Function | @py_FunctionExpr | @py_ImportExpr | @py_ImportMember | @py_Module | @py_SpecialOperation | @py_Str | @py_StringPart | @py_TemplateDottedNotation | @py_TemplateString | @py_TemplateStringPart | @py_keyword | @py_str_list; + +@py_type_parameter_list_parent = @py_ClassExpr | @py_Function | @py_TypeAlias; + +@py_variable_parent = @py_Name | @py_PlaceHolder; + + +/* + * End of auto-generated part + */ + + + +/* Map relative names to absolute names for imports */ +py_absolute_names(int module : @py_Module ref, + varchar(1) relname : string ref, + varchar(1) absname : string ref); + +py_exports(int id : @py_Module ref, + varchar(1) name : string ref); + +/* Successor information */ +py_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_true_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_exception_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_false_successors(int predecessor : @py_flow_node ref, + int successor : @py_flow_node ref); + +py_flow_bb_node(unique int flownode : @py_flow_node, + int realnode : @py_ast_node ref, + int basicblock : @py_flow_node ref, + int index : int ref); + +py_scope_flow(int flow : @py_flow_node ref, + int scope : @py_scope ref, + int kind : int ref); + +py_idoms(unique int node : @py_flow_node ref, + int immediate_dominator : @py_flow_node ref); + +py_ssa_phi(int phi : @py_ssa_var ref, + int arg: @py_ssa_var ref); + +py_ssa_var(unique int id : @py_ssa_var, + int var : @py_variable ref); + +py_ssa_use(int node: @py_flow_node ref, + int var : @py_ssa_var ref); + +py_ssa_defn(unique int id : @py_ssa_var ref, + int node: @py_flow_node ref); + +@py_base_var = @py_variable | @py_ssa_var; + +py_scopes(unique int node : @py_expr_or_stmt ref, + int scope : @py_scope ref); + +py_scope_location(unique int id : @location ref, + unique int scope : @py_scope ref); + +py_flags_versioned(varchar(1) name : string ref, + varchar(1) value : string ref, + varchar(1) version : string ref); + +py_syntax_error_versioned(unique int id : @location ref, + varchar(1) message : string ref, + varchar(1) version : string ref); + +py_comments(unique int id : @py_comment, + varchar(1) text : string ref, + unique int location : @location ref); + +/* Type information support */ + +py_cobjects(unique int obj : @py_cobject); + +py_cobjecttypes(unique int obj : @py_cobject ref, + int typeof : @py_cobject ref); + +py_cobjectnames(unique int obj : @py_cobject ref, + varchar(1) name : string ref); + +/* Kind should be 0 for introspection, > 0 from source, as follows: + 1 from C extension source + */ +py_cobject_sources(int obj : @py_cobject ref, + int kind : int ref); + +py_cmembers_versioned(int object : @py_cobject ref, + varchar(1) name : string ref, + int member : @py_cobject ref, + varchar(1) version : string ref); + +py_citems(int object : @py_cobject ref, + int index : int ref, + int member : @py_cobject ref); + +ext_argtype(int funcid : @py_object ref, + int arg : int ref, + int typeid : @py_object ref); + +ext_rettype(int funcid : @py_object ref, + int typeid : @py_object ref); + +ext_proptype(int propid : @py_object ref, + int typeid : @py_object ref); + +ext_argreturn(int funcid : @py_object ref, + int arg : int ref); + +py_special_objects(unique int obj : @py_cobject ref, + unique varchar(1) name : string ref); + +py_decorated_object(int object : @py_object ref, + int level: int ref); + +@py_object = @py_cobject | @py_flow_node; + +@py_source_element = @py_ast_node | @container; + +/** The union of all Python database entities */ +@top = + @py_source_element | @py_object | @py_base_var | @location | @py_line | @py_comment | + @py_expr_parent | @py_expr_context | + @py_operator | @py_boolop | @py_cmpop | @py_unaryop | + @py_cmpop_list | @py_alias_list | @py_StringPart_list | @py_comprehension_list | @py_dict_item_list | @py_pattern_list | @py_stmt_list | @py_str_list | @py_type_parameter_list | + @externalDefect | @externalMetric | @externalDataElement | @duplication_or_similarity | @svnentry | + @xmllocatable | @yaml_locatable; diff --git a/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/upgrade.properties b/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/python/ql/lib/upgrades/8d257a4a9bc78e39856d6cd33499389fc5148d4f/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 43e0f12a212..9b09127c0ae 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.7.5 + +No user-facing changes. + +## 1.7.4 + +No user-facing changes. + ## 1.7.3 No user-facing changes. diff --git a/python/ql/src/change-notes/released/1.7.4.md b/python/ql/src/change-notes/released/1.7.4.md new file mode 100644 index 00000000000..801ed5f5e71 --- /dev/null +++ b/python/ql/src/change-notes/released/1.7.4.md @@ -0,0 +1,3 @@ +## 1.7.4 + +No user-facing changes. diff --git a/python/ql/src/change-notes/released/1.7.5.md b/python/ql/src/change-notes/released/1.7.5.md new file mode 100644 index 00000000000..f17d9279e0d --- /dev/null +++ b/python/ql/src/change-notes/released/1.7.5.md @@ -0,0 +1,3 @@ +## 1.7.5 + +No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 9f9661b1e77..83aebd7c12a 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.3 +lastReleaseVersion: 1.7.5 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index cc3a6b25740..8b797e76e6a 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.7.4-dev +version: 1.7.6-dev groups: - python - queries diff --git a/python/ql/test/library-tests/frameworks/data/test.expected b/python/ql/test/library-tests/frameworks/data/test.expected index 1e229a28039..84cc34585ca 100644 --- a/python/ql/test/library-tests/frameworks/data/test.expected +++ b/python/ql/test/library-tests/frameworks/data/test.expected @@ -108,6 +108,7 @@ isSource | test.py:119:20:119:30 | ControlFlowNode for getSource() | test-source | | test.py:124:1:124:33 | ControlFlowNode for Attribute() | test-source | | test.py:126:11:126:43 | ControlFlowNode for Attribute() | test-source | +| test.py:129:11:129:39 | ControlFlowNode for Attribute() | test-source | syntaxErrors | Member[foo | | Member[foo] .Member[bar] | diff --git a/python/ql/test/library-tests/frameworks/data/test.ext.yml b/python/ql/test/library-tests/frameworks/data/test.ext.yml index 26fe6012d0e..487276eedf6 100644 --- a/python/ql/test/library-tests/frameworks/data/test.ext.yml +++ b/python/ql/test/library-tests/frameworks/data/test.ext.yml @@ -27,7 +27,7 @@ extensions: - ["testlib", "Member[source_dict].DictionaryElement[key].Member[func].ReturnValue", "test-source"] - ["testlib", "Member[source_dict_any].DictionaryElementAny.Member[func].ReturnValue", "test-source"] # TODO: Add support for list/tuples - # - ["testlib", "Member[source_list].ListElement.Member[func].ReturnValue", "test-source"] + - ["testlib", "Member[source_list].ListElement.Member[func].ReturnValue", "test-source"] # - ["testlib", "Member[source_tuple].TupleElement[0].Member[func].ReturnValue", "test-source"] - addsTo: diff --git a/ql/extractor/src/generator.rs b/ql/extractor/src/generator.rs index 1dca6969f34..650e11c138b 100644 --- a/ql/extractor/src/generator.rs +++ b/ql/extractor/src/generator.rs @@ -36,5 +36,10 @@ pub fn run(options: Options) -> std::io::Result<()> { }, ]; - generate(languages, options.dbscheme, options.library) + generate( + languages, + options.dbscheme, + options.library, + "run 'scripts/create-extractor-pack.sh' in ql/", + ) } diff --git a/ql/ql/src/ql.dbscheme b/ql/ql/src/ql.dbscheme index 98faa40569e..87c1125b41a 100644 --- a/ql/ql/src/ql.dbscheme +++ b/ql/ql/src/ql.dbscheme @@ -1,5 +1,6 @@ // CodeQL database schema for QL // Automatically generated from the tree-sitter grammar; do not edit +// To regenerate, run 'scripts/create-extractor-pack.sh' in ql/ /*- Files and folders -*/ @@ -109,11 +110,23 @@ yaml_locations(unique int locatable: @yaml_locatable ref, @yaml_locatable = @yaml_node | @yaml_error; /*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ databaseMetadata( string metadataKey: string ref, string value: string ref ); +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ overlayChangedFiles( string path: string ref ); diff --git a/ruby/Makefile b/ruby/Makefile index ddaca6534fb..34ae7802350 100644 --- a/ruby/Makefile +++ b/ruby/Makefile @@ -42,6 +42,7 @@ tools: $(BIN_FILES) ../target/release/%$(EXE): cd extractor && cargo build --release +.PHONY: dbscheme dbscheme: cd extractor && cargo build --release ../target/release/codeql-extractor-ruby generate --dbscheme ql/lib/ruby.dbscheme --library ql/lib/codeql/ruby/ast/internal/TreeSitter.qll diff --git a/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/old.dbscheme b/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/old.dbscheme new file mode 100644 index 00000000000..29b7b6fc198 --- /dev/null +++ b/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/old.dbscheme @@ -0,0 +1,1549 @@ +// CodeQL database schema for Ruby +// Automatically generated from the tree-sitter grammar; do not edit +// To regenerate, run 'make dbscheme' in ql/ruby/ + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + +/*- Ruby dbscheme -*/ +@ruby_underscore_arg = @ruby_assignment | @ruby_binary | @ruby_conditional | @ruby_operator_assignment | @ruby_range | @ruby_unary | @ruby_underscore_primary + +@ruby_underscore_call_operator = @ruby_reserved_word + +@ruby_underscore_expression = @ruby_assignment | @ruby_binary | @ruby_break | @ruby_call | @ruby_match_pattern | @ruby_next | @ruby_operator_assignment | @ruby_return | @ruby_test_pattern | @ruby_unary | @ruby_underscore_arg | @ruby_yield + +@ruby_underscore_lhs = @ruby_call | @ruby_element_reference | @ruby_scope_resolution | @ruby_token_false | @ruby_token_nil | @ruby_token_true | @ruby_underscore_variable + +@ruby_underscore_method_name = @ruby_delimited_symbol | @ruby_setter | @ruby_token_constant | @ruby_token_identifier | @ruby_token_operator | @ruby_token_simple_symbol | @ruby_underscore_nonlocal_variable + +@ruby_underscore_nonlocal_variable = @ruby_token_class_variable | @ruby_token_global_variable | @ruby_token_instance_variable + +@ruby_underscore_pattern_constant = @ruby_scope_resolution | @ruby_token_constant + +@ruby_underscore_pattern_expr = @ruby_alternative_pattern | @ruby_as_pattern | @ruby_underscore_pattern_expr_basic + +@ruby_underscore_pattern_expr_basic = @ruby_array_pattern | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_parenthesized_pattern | @ruby_range | @ruby_token_identifier | @ruby_underscore_pattern_constant | @ruby_underscore_pattern_primitive | @ruby_variable_reference_pattern + +@ruby_underscore_pattern_primitive = @ruby_delimited_symbol | @ruby_lambda | @ruby_regex | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_encoding | @ruby_token_false | @ruby_token_file | @ruby_token_heredoc_beginning | @ruby_token_line | @ruby_token_nil | @ruby_token_self | @ruby_token_simple_symbol | @ruby_token_true | @ruby_unary | @ruby_underscore_simple_numeric + +@ruby_underscore_pattern_top_expr_body = @ruby_array_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_underscore_pattern_expr + +@ruby_underscore_primary = @ruby_array | @ruby_begin | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_delimited_symbol | @ruby_for | @ruby_hash | @ruby_if | @ruby_lambda | @ruby_method | @ruby_module | @ruby_next | @ruby_parenthesized_statements | @ruby_redo | @ruby_regex | @ruby_retry | @ruby_return | @ruby_singleton_class | @ruby_singleton_method | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_character | @ruby_token_heredoc_beginning | @ruby_token_simple_symbol | @ruby_unary | @ruby_underscore_lhs | @ruby_underscore_simple_numeric | @ruby_unless | @ruby_until | @ruby_while | @ruby_yield + +@ruby_underscore_simple_numeric = @ruby_complex | @ruby_rational | @ruby_token_float | @ruby_token_integer + +@ruby_underscore_statement = @ruby_alias | @ruby_begin_block | @ruby_end_block | @ruby_if_modifier | @ruby_rescue_modifier | @ruby_undef | @ruby_underscore_expression | @ruby_unless_modifier | @ruby_until_modifier | @ruby_while_modifier + +@ruby_underscore_variable = @ruby_token_constant | @ruby_token_identifier | @ruby_token_self | @ruby_token_super | @ruby_underscore_nonlocal_variable + +ruby_alias_def( + unique int id: @ruby_alias, + int alias: @ruby_underscore_method_name ref, + int name: @ruby_underscore_method_name ref +); + +#keyset[ruby_alternative_pattern, index] +ruby_alternative_pattern_alternatives( + int ruby_alternative_pattern: @ruby_alternative_pattern ref, + int index: int ref, + unique int alternatives: @ruby_underscore_pattern_expr_basic ref +); + +ruby_alternative_pattern_def( + unique int id: @ruby_alternative_pattern +); + +@ruby_argument_list_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_argument_list, index] +ruby_argument_list_child( + int ruby_argument_list: @ruby_argument_list ref, + int index: int ref, + unique int child: @ruby_argument_list_child_type ref +); + +ruby_argument_list_def( + unique int id: @ruby_argument_list +); + +@ruby_array_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_array, index] +ruby_array_child( + int ruby_array: @ruby_array ref, + int index: int ref, + unique int child: @ruby_array_child_type ref +); + +ruby_array_def( + unique int id: @ruby_array +); + +ruby_array_pattern_class( + unique int ruby_array_pattern: @ruby_array_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_array_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_array_pattern, index] +ruby_array_pattern_child( + int ruby_array_pattern: @ruby_array_pattern ref, + int index: int ref, + unique int child: @ruby_array_pattern_child_type ref +); + +ruby_array_pattern_def( + unique int id: @ruby_array_pattern +); + +ruby_as_pattern_def( + unique int id: @ruby_as_pattern, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_pattern_expr ref +); + +@ruby_assignment_left_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +@ruby_assignment_right_type = @ruby_rescue_modifier | @ruby_right_assignment_list | @ruby_splat_argument | @ruby_underscore_expression + +ruby_assignment_def( + unique int id: @ruby_assignment, + int left: @ruby_assignment_left_type ref, + int right: @ruby_assignment_right_type ref +); + +@ruby_bare_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_string, index] +ruby_bare_string_child( + int ruby_bare_string: @ruby_bare_string ref, + int index: int ref, + unique int child: @ruby_bare_string_child_type ref +); + +ruby_bare_string_def( + unique int id: @ruby_bare_string +); + +@ruby_bare_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_symbol, index] +ruby_bare_symbol_child( + int ruby_bare_symbol: @ruby_bare_symbol ref, + int index: int ref, + unique int child: @ruby_bare_symbol_child_type ref +); + +ruby_bare_symbol_def( + unique int id: @ruby_bare_symbol +); + +@ruby_begin_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin, index] +ruby_begin_child( + int ruby_begin: @ruby_begin ref, + int index: int ref, + unique int child: @ruby_begin_child_type ref +); + +ruby_begin_def( + unique int id: @ruby_begin +); + +@ruby_begin_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin_block, index] +ruby_begin_block_child( + int ruby_begin_block: @ruby_begin_block ref, + int index: int ref, + unique int child: @ruby_begin_block_child_type ref +); + +ruby_begin_block_def( + unique int id: @ruby_begin_block +); + +@ruby_binary_left_type = @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_binary.operator of + 0 = @ruby_binary_bangequal +| 1 = @ruby_binary_bangtilde +| 2 = @ruby_binary_percent +| 3 = @ruby_binary_ampersand +| 4 = @ruby_binary_ampersandampersand +| 5 = @ruby_binary_star +| 6 = @ruby_binary_starstar +| 7 = @ruby_binary_plus +| 8 = @ruby_binary_minus +| 9 = @ruby_binary_slash +| 10 = @ruby_binary_langle +| 11 = @ruby_binary_langlelangle +| 12 = @ruby_binary_langleequal +| 13 = @ruby_binary_langleequalrangle +| 14 = @ruby_binary_equalequal +| 15 = @ruby_binary_equalequalequal +| 16 = @ruby_binary_equaltilde +| 17 = @ruby_binary_rangle +| 18 = @ruby_binary_rangleequal +| 19 = @ruby_binary_ranglerangle +| 20 = @ruby_binary_caret +| 21 = @ruby_binary_and +| 22 = @ruby_binary_or +| 23 = @ruby_binary_pipe +| 24 = @ruby_binary_pipepipe +; + + +ruby_binary_def( + unique int id: @ruby_binary, + int left: @ruby_binary_left_type ref, + int operator: int ref, + int right: @ruby_underscore_expression ref +); + +ruby_block_body( + unique int ruby_block: @ruby_block ref, + unique int body: @ruby_block_body ref +); + +ruby_block_parameters( + unique int ruby_block: @ruby_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_block_def( + unique int id: @ruby_block +); + +ruby_block_argument_child( + unique int ruby_block_argument: @ruby_block_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_block_argument_def( + unique int id: @ruby_block_argument +); + +@ruby_block_body_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_block_body, index] +ruby_block_body_child( + int ruby_block_body: @ruby_block_body ref, + int index: int ref, + unique int child: @ruby_block_body_child_type ref +); + +ruby_block_body_def( + unique int id: @ruby_block_body +); + +ruby_block_parameter_name( + unique int ruby_block_parameter: @ruby_block_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_block_parameter_def( + unique int id: @ruby_block_parameter +); + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_locals( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int locals: @ruby_token_identifier ref +); + +@ruby_block_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_child( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int child: @ruby_block_parameters_child_type ref +); + +ruby_block_parameters_def( + unique int id: @ruby_block_parameters +); + +@ruby_body_statement_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_body_statement, index] +ruby_body_statement_child( + int ruby_body_statement: @ruby_body_statement ref, + int index: int ref, + unique int child: @ruby_body_statement_child_type ref +); + +ruby_body_statement_def( + unique int id: @ruby_body_statement +); + +ruby_break_child( + unique int ruby_break: @ruby_break ref, + unique int child: @ruby_argument_list ref +); + +ruby_break_def( + unique int id: @ruby_break +); + +ruby_call_arguments( + unique int ruby_call: @ruby_call ref, + unique int arguments: @ruby_argument_list ref +); + +@ruby_call_block_type = @ruby_block | @ruby_do_block + +ruby_call_block( + unique int ruby_call: @ruby_call ref, + unique int block: @ruby_call_block_type ref +); + +@ruby_call_method_type = @ruby_token_operator | @ruby_underscore_variable + +ruby_call_method( + unique int ruby_call: @ruby_call ref, + unique int method: @ruby_call_method_type ref +); + +ruby_call_operator( + unique int ruby_call: @ruby_call ref, + unique int operator: @ruby_underscore_call_operator ref +); + +ruby_call_receiver( + unique int ruby_call: @ruby_call ref, + unique int receiver: @ruby_underscore_primary ref +); + +ruby_call_def( + unique int id: @ruby_call +); + +ruby_case_value( + unique int ruby_case__: @ruby_case__ ref, + unique int value: @ruby_underscore_statement ref +); + +@ruby_case_child_type = @ruby_else | @ruby_when + +#keyset[ruby_case__, index] +ruby_case_child( + int ruby_case__: @ruby_case__ ref, + int index: int ref, + unique int child: @ruby_case_child_type ref +); + +ruby_case_def( + unique int id: @ruby_case__ +); + +#keyset[ruby_case_match, index] +ruby_case_match_clauses( + int ruby_case_match: @ruby_case_match ref, + int index: int ref, + unique int clauses: @ruby_in_clause ref +); + +ruby_case_match_else( + unique int ruby_case_match: @ruby_case_match ref, + unique int else: @ruby_else ref +); + +ruby_case_match_def( + unique int id: @ruby_case_match, + int value: @ruby_underscore_statement ref +); + +#keyset[ruby_chained_string, index] +ruby_chained_string_child( + int ruby_chained_string: @ruby_chained_string ref, + int index: int ref, + unique int child: @ruby_string__ ref +); + +ruby_chained_string_def( + unique int id: @ruby_chained_string +); + +ruby_class_body( + unique int ruby_class: @ruby_class ref, + unique int body: @ruby_body_statement ref +); + +@ruby_class_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_class_superclass( + unique int ruby_class: @ruby_class ref, + unique int superclass: @ruby_superclass ref +); + +ruby_class_def( + unique int id: @ruby_class, + int name: @ruby_class_name_type ref +); + +@ruby_complex_child_type = @ruby_rational | @ruby_token_float | @ruby_token_integer + +ruby_complex_def( + unique int id: @ruby_complex, + int child: @ruby_complex_child_type ref +); + +ruby_conditional_def( + unique int id: @ruby_conditional, + int alternative: @ruby_underscore_arg ref, + int condition: @ruby_underscore_arg ref, + int consequence: @ruby_underscore_arg ref +); + +@ruby_delimited_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_delimited_symbol, index] +ruby_delimited_symbol_child( + int ruby_delimited_symbol: @ruby_delimited_symbol ref, + int index: int ref, + unique int child: @ruby_delimited_symbol_child_type ref +); + +ruby_delimited_symbol_def( + unique int id: @ruby_delimited_symbol +); + +@ruby_destructured_left_assignment_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_destructured_left_assignment, index] +ruby_destructured_left_assignment_child( + int ruby_destructured_left_assignment: @ruby_destructured_left_assignment ref, + int index: int ref, + unique int child: @ruby_destructured_left_assignment_child_type ref +); + +ruby_destructured_left_assignment_def( + unique int id: @ruby_destructured_left_assignment +); + +@ruby_destructured_parameter_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_destructured_parameter, index] +ruby_destructured_parameter_child( + int ruby_destructured_parameter: @ruby_destructured_parameter ref, + int index: int ref, + unique int child: @ruby_destructured_parameter_child_type ref +); + +ruby_destructured_parameter_def( + unique int id: @ruby_destructured_parameter +); + +@ruby_do_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_do, index] +ruby_do_child( + int ruby_do: @ruby_do ref, + int index: int ref, + unique int child: @ruby_do_child_type ref +); + +ruby_do_def( + unique int id: @ruby_do +); + +ruby_do_block_body( + unique int ruby_do_block: @ruby_do_block ref, + unique int body: @ruby_body_statement ref +); + +ruby_do_block_parameters( + unique int ruby_do_block: @ruby_do_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_do_block_def( + unique int id: @ruby_do_block +); + +@ruby_element_reference_block_type = @ruby_block | @ruby_do_block + +ruby_element_reference_block( + unique int ruby_element_reference: @ruby_element_reference ref, + unique int block: @ruby_element_reference_block_type ref +); + +@ruby_element_reference_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_element_reference, index] +ruby_element_reference_child( + int ruby_element_reference: @ruby_element_reference ref, + int index: int ref, + unique int child: @ruby_element_reference_child_type ref +); + +ruby_element_reference_def( + unique int id: @ruby_element_reference, + int object: @ruby_underscore_primary ref +); + +@ruby_else_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_else, index] +ruby_else_child( + int ruby_else: @ruby_else ref, + int index: int ref, + unique int child: @ruby_else_child_type ref +); + +ruby_else_def( + unique int id: @ruby_else +); + +@ruby_elsif_alternative_type = @ruby_else | @ruby_elsif + +ruby_elsif_alternative( + unique int ruby_elsif: @ruby_elsif ref, + unique int alternative: @ruby_elsif_alternative_type ref +); + +ruby_elsif_consequence( + unique int ruby_elsif: @ruby_elsif ref, + unique int consequence: @ruby_then ref +); + +ruby_elsif_def( + unique int id: @ruby_elsif, + int condition: @ruby_underscore_statement ref +); + +@ruby_end_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_end_block, index] +ruby_end_block_child( + int ruby_end_block: @ruby_end_block ref, + int index: int ref, + unique int child: @ruby_end_block_child_type ref +); + +ruby_end_block_def( + unique int id: @ruby_end_block +); + +@ruby_ensure_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_ensure, index] +ruby_ensure_child( + int ruby_ensure: @ruby_ensure ref, + int index: int ref, + unique int child: @ruby_ensure_child_type ref +); + +ruby_ensure_def( + unique int id: @ruby_ensure +); + +ruby_exception_variable_def( + unique int id: @ruby_exception_variable, + int child: @ruby_underscore_lhs ref +); + +@ruby_exceptions_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_exceptions, index] +ruby_exceptions_child( + int ruby_exceptions: @ruby_exceptions ref, + int index: int ref, + unique int child: @ruby_exceptions_child_type ref +); + +ruby_exceptions_def( + unique int id: @ruby_exceptions +); + +ruby_expression_reference_pattern_def( + unique int id: @ruby_expression_reference_pattern, + int value: @ruby_underscore_expression ref +); + +ruby_find_pattern_class( + unique int ruby_find_pattern: @ruby_find_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_find_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_find_pattern, index] +ruby_find_pattern_child( + int ruby_find_pattern: @ruby_find_pattern ref, + int index: int ref, + unique int child: @ruby_find_pattern_child_type ref +); + +ruby_find_pattern_def( + unique int id: @ruby_find_pattern +); + +@ruby_for_pattern_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +ruby_for_def( + unique int id: @ruby_for, + int body: @ruby_do ref, + int pattern: @ruby_for_pattern_type ref, + int value: @ruby_in ref +); + +@ruby_hash_child_type = @ruby_hash_splat_argument | @ruby_pair + +#keyset[ruby_hash, index] +ruby_hash_child( + int ruby_hash: @ruby_hash ref, + int index: int ref, + unique int child: @ruby_hash_child_type ref +); + +ruby_hash_def( + unique int id: @ruby_hash +); + +ruby_hash_pattern_class( + unique int ruby_hash_pattern: @ruby_hash_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_hash_pattern_child_type = @ruby_hash_splat_parameter | @ruby_keyword_pattern | @ruby_token_hash_splat_nil + +#keyset[ruby_hash_pattern, index] +ruby_hash_pattern_child( + int ruby_hash_pattern: @ruby_hash_pattern ref, + int index: int ref, + unique int child: @ruby_hash_pattern_child_type ref +); + +ruby_hash_pattern_def( + unique int id: @ruby_hash_pattern +); + +ruby_hash_splat_argument_child( + unique int ruby_hash_splat_argument: @ruby_hash_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_hash_splat_argument_def( + unique int id: @ruby_hash_splat_argument +); + +ruby_hash_splat_parameter_name( + unique int ruby_hash_splat_parameter: @ruby_hash_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_hash_splat_parameter_def( + unique int id: @ruby_hash_splat_parameter +); + +@ruby_heredoc_body_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_heredoc_content | @ruby_token_heredoc_end + +#keyset[ruby_heredoc_body, index] +ruby_heredoc_body_child( + int ruby_heredoc_body: @ruby_heredoc_body ref, + int index: int ref, + unique int child: @ruby_heredoc_body_child_type ref +); + +ruby_heredoc_body_def( + unique int id: @ruby_heredoc_body +); + +@ruby_if_alternative_type = @ruby_else | @ruby_elsif + +ruby_if_alternative( + unique int ruby_if: @ruby_if ref, + unique int alternative: @ruby_if_alternative_type ref +); + +ruby_if_consequence( + unique int ruby_if: @ruby_if ref, + unique int consequence: @ruby_then ref +); + +ruby_if_def( + unique int id: @ruby_if, + int condition: @ruby_underscore_statement ref +); + +ruby_if_guard_def( + unique int id: @ruby_if_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_if_modifier_def( + unique int id: @ruby_if_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_in_def( + unique int id: @ruby_in, + int child: @ruby_underscore_arg ref +); + +ruby_in_clause_body( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int body: @ruby_then ref +); + +@ruby_in_clause_guard_type = @ruby_if_guard | @ruby_unless_guard + +ruby_in_clause_guard( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int guard: @ruby_in_clause_guard_type ref +); + +ruby_in_clause_def( + unique int id: @ruby_in_clause, + int pattern: @ruby_underscore_pattern_top_expr_body ref +); + +@ruby_interpolation_child_type = @ruby_token_empty_statement | @ruby_underscore_nonlocal_variable | @ruby_underscore_statement + +#keyset[ruby_interpolation, index] +ruby_interpolation_child( + int ruby_interpolation: @ruby_interpolation ref, + int index: int ref, + unique int child: @ruby_interpolation_child_type ref +); + +ruby_interpolation_def( + unique int id: @ruby_interpolation +); + +ruby_keyword_parameter_value( + unique int ruby_keyword_parameter: @ruby_keyword_parameter ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_keyword_parameter_def( + unique int id: @ruby_keyword_parameter, + int name: @ruby_token_identifier ref +); + +@ruby_keyword_pattern_key_type = @ruby_string__ | @ruby_token_hash_key_symbol + +ruby_keyword_pattern_value( + unique int ruby_keyword_pattern: @ruby_keyword_pattern ref, + unique int value: @ruby_underscore_pattern_expr ref +); + +ruby_keyword_pattern_def( + unique int id: @ruby_keyword_pattern, + int key__: @ruby_keyword_pattern_key_type ref +); + +@ruby_lambda_body_type = @ruby_block | @ruby_do_block + +ruby_lambda_parameters( + unique int ruby_lambda: @ruby_lambda ref, + unique int parameters: @ruby_lambda_parameters ref +); + +ruby_lambda_def( + unique int id: @ruby_lambda, + int body: @ruby_lambda_body_type ref +); + +@ruby_lambda_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_lambda_parameters, index] +ruby_lambda_parameters_child( + int ruby_lambda_parameters: @ruby_lambda_parameters ref, + int index: int ref, + unique int child: @ruby_lambda_parameters_child_type ref +); + +ruby_lambda_parameters_def( + unique int id: @ruby_lambda_parameters +); + +@ruby_left_assignment_list_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_left_assignment_list, index] +ruby_left_assignment_list_child( + int ruby_left_assignment_list: @ruby_left_assignment_list ref, + int index: int ref, + unique int child: @ruby_left_assignment_list_child_type ref +); + +ruby_left_assignment_list_def( + unique int id: @ruby_left_assignment_list +); + +ruby_match_pattern_def( + unique int id: @ruby_match_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_method_body( + unique int ruby_method: @ruby_method ref, + unique int body: @ruby_method_body_type ref +); + +ruby_method_parameters( + unique int ruby_method: @ruby_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_method_def( + unique int id: @ruby_method, + int name: @ruby_underscore_method_name ref +); + +@ruby_method_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_method_parameters, index] +ruby_method_parameters_child( + int ruby_method_parameters: @ruby_method_parameters ref, + int index: int ref, + unique int child: @ruby_method_parameters_child_type ref +); + +ruby_method_parameters_def( + unique int id: @ruby_method_parameters +); + +ruby_module_body( + unique int ruby_module: @ruby_module ref, + unique int body: @ruby_body_statement ref +); + +@ruby_module_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_module_def( + unique int id: @ruby_module, + int name: @ruby_module_name_type ref +); + +ruby_next_child( + unique int ruby_next: @ruby_next ref, + unique int child: @ruby_argument_list ref +); + +ruby_next_def( + unique int id: @ruby_next +); + +case @ruby_operator_assignment.operator of + 0 = @ruby_operator_assignment_percentequal +| 1 = @ruby_operator_assignment_ampersandampersandequal +| 2 = @ruby_operator_assignment_ampersandequal +| 3 = @ruby_operator_assignment_starstarequal +| 4 = @ruby_operator_assignment_starequal +| 5 = @ruby_operator_assignment_plusequal +| 6 = @ruby_operator_assignment_minusequal +| 7 = @ruby_operator_assignment_slashequal +| 8 = @ruby_operator_assignment_langlelangleequal +| 9 = @ruby_operator_assignment_ranglerangleequal +| 10 = @ruby_operator_assignment_caretequal +| 11 = @ruby_operator_assignment_pipeequal +| 12 = @ruby_operator_assignment_pipepipeequal +; + + +@ruby_operator_assignment_right_type = @ruby_rescue_modifier | @ruby_underscore_expression + +ruby_operator_assignment_def( + unique int id: @ruby_operator_assignment, + int left: @ruby_underscore_lhs ref, + int operator: int ref, + int right: @ruby_operator_assignment_right_type ref +); + +ruby_optional_parameter_def( + unique int id: @ruby_optional_parameter, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_arg ref +); + +@ruby_pair_key_type = @ruby_string__ | @ruby_token_hash_key_symbol | @ruby_underscore_arg + +ruby_pair_value( + unique int ruby_pair: @ruby_pair ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_pair_def( + unique int id: @ruby_pair, + int key__: @ruby_pair_key_type ref +); + +ruby_parenthesized_pattern_def( + unique int id: @ruby_parenthesized_pattern, + int child: @ruby_underscore_pattern_expr ref +); + +@ruby_parenthesized_statements_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_parenthesized_statements, index] +ruby_parenthesized_statements_child( + int ruby_parenthesized_statements: @ruby_parenthesized_statements ref, + int index: int ref, + unique int child: @ruby_parenthesized_statements_child_type ref +); + +ruby_parenthesized_statements_def( + unique int id: @ruby_parenthesized_statements +); + +@ruby_pattern_child_type = @ruby_splat_argument | @ruby_underscore_arg + +ruby_pattern_def( + unique int id: @ruby_pattern, + int child: @ruby_pattern_child_type ref +); + +@ruby_program_child_type = @ruby_token_empty_statement | @ruby_token_uninterpreted | @ruby_underscore_statement + +#keyset[ruby_program, index] +ruby_program_child( + int ruby_program: @ruby_program ref, + int index: int ref, + unique int child: @ruby_program_child_type ref +); + +ruby_program_def( + unique int id: @ruby_program +); + +@ruby_range_begin_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_begin( + unique int ruby_range: @ruby_range ref, + unique int begin: @ruby_range_begin_type ref +); + +@ruby_range_end_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_end( + unique int ruby_range: @ruby_range ref, + unique int end: @ruby_range_end_type ref +); + +case @ruby_range.operator of + 0 = @ruby_range_dotdot +| 1 = @ruby_range_dotdotdot +; + + +ruby_range_def( + unique int id: @ruby_range, + int operator: int ref +); + +@ruby_rational_child_type = @ruby_token_float | @ruby_token_integer + +ruby_rational_def( + unique int id: @ruby_rational, + int child: @ruby_rational_child_type ref +); + +ruby_redo_child( + unique int ruby_redo: @ruby_redo ref, + unique int child: @ruby_argument_list ref +); + +ruby_redo_def( + unique int id: @ruby_redo +); + +@ruby_regex_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_regex, index] +ruby_regex_child( + int ruby_regex: @ruby_regex ref, + int index: int ref, + unique int child: @ruby_regex_child_type ref +); + +ruby_regex_def( + unique int id: @ruby_regex +); + +ruby_rescue_body( + unique int ruby_rescue: @ruby_rescue ref, + unique int body: @ruby_then ref +); + +ruby_rescue_exceptions( + unique int ruby_rescue: @ruby_rescue ref, + unique int exceptions: @ruby_exceptions ref +); + +ruby_rescue_variable( + unique int ruby_rescue: @ruby_rescue ref, + unique int variable: @ruby_exception_variable ref +); + +ruby_rescue_def( + unique int id: @ruby_rescue +); + +@ruby_rescue_modifier_body_type = @ruby_underscore_arg | @ruby_underscore_statement + +ruby_rescue_modifier_def( + unique int id: @ruby_rescue_modifier, + int body: @ruby_rescue_modifier_body_type ref, + int handler: @ruby_underscore_expression ref +); + +ruby_rest_assignment_child( + unique int ruby_rest_assignment: @ruby_rest_assignment ref, + unique int child: @ruby_underscore_lhs ref +); + +ruby_rest_assignment_def( + unique int id: @ruby_rest_assignment +); + +ruby_retry_child( + unique int ruby_retry: @ruby_retry ref, + unique int child: @ruby_argument_list ref +); + +ruby_retry_def( + unique int id: @ruby_retry +); + +ruby_return_child( + unique int ruby_return: @ruby_return ref, + unique int child: @ruby_argument_list ref +); + +ruby_return_def( + unique int id: @ruby_return +); + +@ruby_right_assignment_list_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_right_assignment_list, index] +ruby_right_assignment_list_child( + int ruby_right_assignment_list: @ruby_right_assignment_list ref, + int index: int ref, + unique int child: @ruby_right_assignment_list_child_type ref +); + +ruby_right_assignment_list_def( + unique int id: @ruby_right_assignment_list +); + +@ruby_scope_resolution_scope_type = @ruby_underscore_pattern_constant | @ruby_underscore_primary + +ruby_scope_resolution_scope( + unique int ruby_scope_resolution: @ruby_scope_resolution ref, + unique int scope: @ruby_scope_resolution_scope_type ref +); + +ruby_scope_resolution_def( + unique int id: @ruby_scope_resolution, + int name: @ruby_token_constant ref +); + +ruby_setter_def( + unique int id: @ruby_setter, + int name: @ruby_token_identifier ref +); + +ruby_singleton_class_body( + unique int ruby_singleton_class: @ruby_singleton_class ref, + unique int body: @ruby_body_statement ref +); + +ruby_singleton_class_def( + unique int id: @ruby_singleton_class, + int value: @ruby_underscore_arg ref +); + +@ruby_singleton_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_singleton_method_body( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int body: @ruby_singleton_method_body_type ref +); + +@ruby_singleton_method_object_type = @ruby_underscore_arg | @ruby_underscore_variable + +ruby_singleton_method_parameters( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_singleton_method_def( + unique int id: @ruby_singleton_method, + int name: @ruby_underscore_method_name ref, + int object: @ruby_singleton_method_object_type ref +); + +ruby_splat_argument_child( + unique int ruby_splat_argument: @ruby_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_splat_argument_def( + unique int id: @ruby_splat_argument +); + +ruby_splat_parameter_name( + unique int ruby_splat_parameter: @ruby_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_splat_parameter_def( + unique int id: @ruby_splat_parameter +); + +@ruby_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_string__, index] +ruby_string_child( + int ruby_string__: @ruby_string__ ref, + int index: int ref, + unique int child: @ruby_string_child_type ref +); + +ruby_string_def( + unique int id: @ruby_string__ +); + +#keyset[ruby_string_array, index] +ruby_string_array_child( + int ruby_string_array: @ruby_string_array ref, + int index: int ref, + unique int child: @ruby_bare_string ref +); + +ruby_string_array_def( + unique int id: @ruby_string_array +); + +@ruby_subshell_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_subshell, index] +ruby_subshell_child( + int ruby_subshell: @ruby_subshell ref, + int index: int ref, + unique int child: @ruby_subshell_child_type ref +); + +ruby_subshell_def( + unique int id: @ruby_subshell +); + +ruby_superclass_def( + unique int id: @ruby_superclass, + int child: @ruby_underscore_expression ref +); + +#keyset[ruby_symbol_array, index] +ruby_symbol_array_child( + int ruby_symbol_array: @ruby_symbol_array ref, + int index: int ref, + unique int child: @ruby_bare_symbol ref +); + +ruby_symbol_array_def( + unique int id: @ruby_symbol_array +); + +ruby_test_pattern_def( + unique int id: @ruby_test_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_then_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_then, index] +ruby_then_child( + int ruby_then: @ruby_then ref, + int index: int ref, + unique int child: @ruby_then_child_type ref +); + +ruby_then_def( + unique int id: @ruby_then +); + +@ruby_unary_operand_type = @ruby_parenthesized_statements | @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_unary.operator of + 0 = @ruby_unary_bang +| 1 = @ruby_unary_plus +| 2 = @ruby_unary_minus +| 3 = @ruby_unary_definedquestion +| 4 = @ruby_unary_not +| 5 = @ruby_unary_tilde +; + + +ruby_unary_def( + unique int id: @ruby_unary, + int operand: @ruby_unary_operand_type ref, + int operator: int ref +); + +#keyset[ruby_undef, index] +ruby_undef_child( + int ruby_undef: @ruby_undef ref, + int index: int ref, + unique int child: @ruby_underscore_method_name ref +); + +ruby_undef_def( + unique int id: @ruby_undef +); + +@ruby_unless_alternative_type = @ruby_else | @ruby_elsif + +ruby_unless_alternative( + unique int ruby_unless: @ruby_unless ref, + unique int alternative: @ruby_unless_alternative_type ref +); + +ruby_unless_consequence( + unique int ruby_unless: @ruby_unless ref, + unique int consequence: @ruby_then ref +); + +ruby_unless_def( + unique int id: @ruby_unless, + int condition: @ruby_underscore_statement ref +); + +ruby_unless_guard_def( + unique int id: @ruby_unless_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_unless_modifier_def( + unique int id: @ruby_unless_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_until_def( + unique int id: @ruby_until, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_until_modifier_def( + unique int id: @ruby_until_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +@ruby_variable_reference_pattern_name_type = @ruby_token_identifier | @ruby_underscore_nonlocal_variable + +ruby_variable_reference_pattern_def( + unique int id: @ruby_variable_reference_pattern, + int name: @ruby_variable_reference_pattern_name_type ref +); + +ruby_when_body( + unique int ruby_when: @ruby_when ref, + unique int body: @ruby_then ref +); + +#keyset[ruby_when, index] +ruby_when_pattern( + int ruby_when: @ruby_when ref, + int index: int ref, + unique int pattern: @ruby_pattern ref +); + +ruby_when_def( + unique int id: @ruby_when +); + +ruby_while_def( + unique int id: @ruby_while, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_while_modifier_def( + unique int id: @ruby_while_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_yield_child( + unique int ruby_yield: @ruby_yield ref, + unique int child: @ruby_argument_list ref +); + +ruby_yield_def( + unique int id: @ruby_yield +); + +ruby_tokeninfo( + unique int id: @ruby_token, + int kind: int ref, + string value: string ref +); + +case @ruby_token.kind of + 0 = @ruby_reserved_word +| 1 = @ruby_token_character +| 2 = @ruby_token_class_variable +| 3 = @ruby_token_comment +| 4 = @ruby_token_constant +| 5 = @ruby_token_empty_statement +| 6 = @ruby_token_encoding +| 7 = @ruby_token_escape_sequence +| 8 = @ruby_token_false +| 9 = @ruby_token_file +| 10 = @ruby_token_float +| 11 = @ruby_token_forward_argument +| 12 = @ruby_token_forward_parameter +| 13 = @ruby_token_global_variable +| 14 = @ruby_token_hash_key_symbol +| 15 = @ruby_token_hash_splat_nil +| 16 = @ruby_token_heredoc_beginning +| 17 = @ruby_token_heredoc_content +| 18 = @ruby_token_heredoc_end +| 19 = @ruby_token_identifier +| 20 = @ruby_token_instance_variable +| 21 = @ruby_token_integer +| 22 = @ruby_token_line +| 23 = @ruby_token_nil +| 24 = @ruby_token_operator +| 25 = @ruby_token_self +| 26 = @ruby_token_simple_symbol +| 27 = @ruby_token_string_content +| 28 = @ruby_token_super +| 29 = @ruby_token_true +| 30 = @ruby_token_uninterpreted +; + + +@ruby_ast_node = @ruby_alias | @ruby_alternative_pattern | @ruby_argument_list | @ruby_array | @ruby_array_pattern | @ruby_as_pattern | @ruby_assignment | @ruby_bare_string | @ruby_bare_symbol | @ruby_begin | @ruby_begin_block | @ruby_binary | @ruby_block | @ruby_block_argument | @ruby_block_body | @ruby_block_parameter | @ruby_block_parameters | @ruby_body_statement | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_complex | @ruby_conditional | @ruby_delimited_symbol | @ruby_destructured_left_assignment | @ruby_destructured_parameter | @ruby_do | @ruby_do_block | @ruby_element_reference | @ruby_else | @ruby_elsif | @ruby_end_block | @ruby_ensure | @ruby_exception_variable | @ruby_exceptions | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_for | @ruby_hash | @ruby_hash_pattern | @ruby_hash_splat_argument | @ruby_hash_splat_parameter | @ruby_heredoc_body | @ruby_if | @ruby_if_guard | @ruby_if_modifier | @ruby_in | @ruby_in_clause | @ruby_interpolation | @ruby_keyword_parameter | @ruby_keyword_pattern | @ruby_lambda | @ruby_lambda_parameters | @ruby_left_assignment_list | @ruby_match_pattern | @ruby_method | @ruby_method_parameters | @ruby_module | @ruby_next | @ruby_operator_assignment | @ruby_optional_parameter | @ruby_pair | @ruby_parenthesized_pattern | @ruby_parenthesized_statements | @ruby_pattern | @ruby_program | @ruby_range | @ruby_rational | @ruby_redo | @ruby_regex | @ruby_rescue | @ruby_rescue_modifier | @ruby_rest_assignment | @ruby_retry | @ruby_return | @ruby_right_assignment_list | @ruby_scope_resolution | @ruby_setter | @ruby_singleton_class | @ruby_singleton_method | @ruby_splat_argument | @ruby_splat_parameter | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_superclass | @ruby_symbol_array | @ruby_test_pattern | @ruby_then | @ruby_token | @ruby_unary | @ruby_undef | @ruby_unless | @ruby_unless_guard | @ruby_unless_modifier | @ruby_until | @ruby_until_modifier | @ruby_variable_reference_pattern | @ruby_when | @ruby_while | @ruby_while_modifier | @ruby_yield + +ruby_ast_node_location( + unique int node: @ruby_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +ruby_ast_node_parent( + unique int node: @ruby_ast_node ref, + int parent: @ruby_ast_node ref, + int parent_index: int ref +); + +/*- Erb dbscheme -*/ +erb_comment_directive_child( + unique int erb_comment_directive: @erb_comment_directive ref, + unique int child: @erb_token_comment ref +); + +erb_comment_directive_def( + unique int id: @erb_comment_directive +); + +erb_directive_child( + unique int erb_directive: @erb_directive ref, + unique int child: @erb_token_code ref +); + +erb_directive_def( + unique int id: @erb_directive +); + +erb_graphql_directive_child( + unique int erb_graphql_directive: @erb_graphql_directive ref, + unique int child: @erb_token_code ref +); + +erb_graphql_directive_def( + unique int id: @erb_graphql_directive +); + +erb_output_directive_child( + unique int erb_output_directive: @erb_output_directive ref, + unique int child: @erb_token_code ref +); + +erb_output_directive_def( + unique int id: @erb_output_directive +); + +@erb_template_child_type = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_token_content + +#keyset[erb_template, index] +erb_template_child( + int erb_template: @erb_template ref, + int index: int ref, + unique int child: @erb_template_child_type ref +); + +erb_template_def( + unique int id: @erb_template +); + +erb_tokeninfo( + unique int id: @erb_token, + int kind: int ref, + string value: string ref +); + +case @erb_token.kind of + 0 = @erb_reserved_word +| 1 = @erb_token_code +| 2 = @erb_token_comment +| 3 = @erb_token_content +; + + +@erb_ast_node = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_template | @erb_token + +erb_ast_node_location( + unique int node: @erb_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +erb_ast_node_parent( + unique int node: @erb_ast_node ref, + int parent: @erb_ast_node ref, + int parent_index: int ref +); + diff --git a/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/semmlecode.dbscheme b/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/semmlecode.dbscheme new file mode 100644 index 00000000000..eae6926f500 --- /dev/null +++ b/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/semmlecode.dbscheme @@ -0,0 +1,1536 @@ +// CodeQL database schema for Ruby +// Automatically generated from the tree-sitter grammar; do not edit + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + +/*- Ruby dbscheme -*/ +@ruby_underscore_arg = @ruby_assignment | @ruby_binary | @ruby_conditional | @ruby_operator_assignment | @ruby_range | @ruby_unary | @ruby_underscore_primary + +@ruby_underscore_call_operator = @ruby_reserved_word + +@ruby_underscore_expression = @ruby_assignment | @ruby_binary | @ruby_break | @ruby_call | @ruby_match_pattern | @ruby_next | @ruby_operator_assignment | @ruby_return | @ruby_test_pattern | @ruby_unary | @ruby_underscore_arg | @ruby_yield + +@ruby_underscore_lhs = @ruby_call | @ruby_element_reference | @ruby_scope_resolution | @ruby_token_false | @ruby_token_nil | @ruby_token_true | @ruby_underscore_variable + +@ruby_underscore_method_name = @ruby_delimited_symbol | @ruby_setter | @ruby_token_constant | @ruby_token_identifier | @ruby_token_operator | @ruby_token_simple_symbol | @ruby_underscore_nonlocal_variable + +@ruby_underscore_nonlocal_variable = @ruby_token_class_variable | @ruby_token_global_variable | @ruby_token_instance_variable + +@ruby_underscore_pattern_constant = @ruby_scope_resolution | @ruby_token_constant + +@ruby_underscore_pattern_expr = @ruby_alternative_pattern | @ruby_as_pattern | @ruby_underscore_pattern_expr_basic + +@ruby_underscore_pattern_expr_basic = @ruby_array_pattern | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_parenthesized_pattern | @ruby_range | @ruby_token_identifier | @ruby_underscore_pattern_constant | @ruby_underscore_pattern_primitive | @ruby_variable_reference_pattern + +@ruby_underscore_pattern_primitive = @ruby_delimited_symbol | @ruby_lambda | @ruby_regex | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_encoding | @ruby_token_false | @ruby_token_file | @ruby_token_heredoc_beginning | @ruby_token_line | @ruby_token_nil | @ruby_token_self | @ruby_token_simple_symbol | @ruby_token_true | @ruby_unary | @ruby_underscore_simple_numeric + +@ruby_underscore_pattern_top_expr_body = @ruby_array_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_underscore_pattern_expr + +@ruby_underscore_primary = @ruby_array | @ruby_begin | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_delimited_symbol | @ruby_for | @ruby_hash | @ruby_if | @ruby_lambda | @ruby_method | @ruby_module | @ruby_next | @ruby_parenthesized_statements | @ruby_redo | @ruby_regex | @ruby_retry | @ruby_return | @ruby_singleton_class | @ruby_singleton_method | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_character | @ruby_token_heredoc_beginning | @ruby_token_simple_symbol | @ruby_unary | @ruby_underscore_lhs | @ruby_underscore_simple_numeric | @ruby_unless | @ruby_until | @ruby_while | @ruby_yield + +@ruby_underscore_simple_numeric = @ruby_complex | @ruby_rational | @ruby_token_float | @ruby_token_integer + +@ruby_underscore_statement = @ruby_alias | @ruby_begin_block | @ruby_end_block | @ruby_if_modifier | @ruby_rescue_modifier | @ruby_undef | @ruby_underscore_expression | @ruby_unless_modifier | @ruby_until_modifier | @ruby_while_modifier + +@ruby_underscore_variable = @ruby_token_constant | @ruby_token_identifier | @ruby_token_self | @ruby_token_super | @ruby_underscore_nonlocal_variable + +ruby_alias_def( + unique int id: @ruby_alias, + int alias: @ruby_underscore_method_name ref, + int name: @ruby_underscore_method_name ref +); + +#keyset[ruby_alternative_pattern, index] +ruby_alternative_pattern_alternatives( + int ruby_alternative_pattern: @ruby_alternative_pattern ref, + int index: int ref, + unique int alternatives: @ruby_underscore_pattern_expr_basic ref +); + +ruby_alternative_pattern_def( + unique int id: @ruby_alternative_pattern +); + +@ruby_argument_list_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_argument_list, index] +ruby_argument_list_child( + int ruby_argument_list: @ruby_argument_list ref, + int index: int ref, + unique int child: @ruby_argument_list_child_type ref +); + +ruby_argument_list_def( + unique int id: @ruby_argument_list +); + +@ruby_array_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_array, index] +ruby_array_child( + int ruby_array: @ruby_array ref, + int index: int ref, + unique int child: @ruby_array_child_type ref +); + +ruby_array_def( + unique int id: @ruby_array +); + +ruby_array_pattern_class( + unique int ruby_array_pattern: @ruby_array_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_array_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_array_pattern, index] +ruby_array_pattern_child( + int ruby_array_pattern: @ruby_array_pattern ref, + int index: int ref, + unique int child: @ruby_array_pattern_child_type ref +); + +ruby_array_pattern_def( + unique int id: @ruby_array_pattern +); + +ruby_as_pattern_def( + unique int id: @ruby_as_pattern, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_pattern_expr ref +); + +@ruby_assignment_left_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +@ruby_assignment_right_type = @ruby_rescue_modifier | @ruby_right_assignment_list | @ruby_splat_argument | @ruby_underscore_expression + +ruby_assignment_def( + unique int id: @ruby_assignment, + int left: @ruby_assignment_left_type ref, + int right: @ruby_assignment_right_type ref +); + +@ruby_bare_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_string, index] +ruby_bare_string_child( + int ruby_bare_string: @ruby_bare_string ref, + int index: int ref, + unique int child: @ruby_bare_string_child_type ref +); + +ruby_bare_string_def( + unique int id: @ruby_bare_string +); + +@ruby_bare_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_symbol, index] +ruby_bare_symbol_child( + int ruby_bare_symbol: @ruby_bare_symbol ref, + int index: int ref, + unique int child: @ruby_bare_symbol_child_type ref +); + +ruby_bare_symbol_def( + unique int id: @ruby_bare_symbol +); + +@ruby_begin_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin, index] +ruby_begin_child( + int ruby_begin: @ruby_begin ref, + int index: int ref, + unique int child: @ruby_begin_child_type ref +); + +ruby_begin_def( + unique int id: @ruby_begin +); + +@ruby_begin_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin_block, index] +ruby_begin_block_child( + int ruby_begin_block: @ruby_begin_block ref, + int index: int ref, + unique int child: @ruby_begin_block_child_type ref +); + +ruby_begin_block_def( + unique int id: @ruby_begin_block +); + +@ruby_binary_left_type = @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_binary.operator of + 0 = @ruby_binary_bangequal +| 1 = @ruby_binary_bangtilde +| 2 = @ruby_binary_percent +| 3 = @ruby_binary_ampersand +| 4 = @ruby_binary_ampersandampersand +| 5 = @ruby_binary_star +| 6 = @ruby_binary_starstar +| 7 = @ruby_binary_plus +| 8 = @ruby_binary_minus +| 9 = @ruby_binary_slash +| 10 = @ruby_binary_langle +| 11 = @ruby_binary_langlelangle +| 12 = @ruby_binary_langleequal +| 13 = @ruby_binary_langleequalrangle +| 14 = @ruby_binary_equalequal +| 15 = @ruby_binary_equalequalequal +| 16 = @ruby_binary_equaltilde +| 17 = @ruby_binary_rangle +| 18 = @ruby_binary_rangleequal +| 19 = @ruby_binary_ranglerangle +| 20 = @ruby_binary_caret +| 21 = @ruby_binary_and +| 22 = @ruby_binary_or +| 23 = @ruby_binary_pipe +| 24 = @ruby_binary_pipepipe +; + + +ruby_binary_def( + unique int id: @ruby_binary, + int left: @ruby_binary_left_type ref, + int operator: int ref, + int right: @ruby_underscore_expression ref +); + +ruby_block_body( + unique int ruby_block: @ruby_block ref, + unique int body: @ruby_block_body ref +); + +ruby_block_parameters( + unique int ruby_block: @ruby_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_block_def( + unique int id: @ruby_block +); + +ruby_block_argument_child( + unique int ruby_block_argument: @ruby_block_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_block_argument_def( + unique int id: @ruby_block_argument +); + +@ruby_block_body_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_block_body, index] +ruby_block_body_child( + int ruby_block_body: @ruby_block_body ref, + int index: int ref, + unique int child: @ruby_block_body_child_type ref +); + +ruby_block_body_def( + unique int id: @ruby_block_body +); + +ruby_block_parameter_name( + unique int ruby_block_parameter: @ruby_block_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_block_parameter_def( + unique int id: @ruby_block_parameter +); + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_locals( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int locals: @ruby_token_identifier ref +); + +@ruby_block_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_child( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int child: @ruby_block_parameters_child_type ref +); + +ruby_block_parameters_def( + unique int id: @ruby_block_parameters +); + +@ruby_body_statement_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_body_statement, index] +ruby_body_statement_child( + int ruby_body_statement: @ruby_body_statement ref, + int index: int ref, + unique int child: @ruby_body_statement_child_type ref +); + +ruby_body_statement_def( + unique int id: @ruby_body_statement +); + +ruby_break_child( + unique int ruby_break: @ruby_break ref, + unique int child: @ruby_argument_list ref +); + +ruby_break_def( + unique int id: @ruby_break +); + +ruby_call_arguments( + unique int ruby_call: @ruby_call ref, + unique int arguments: @ruby_argument_list ref +); + +@ruby_call_block_type = @ruby_block | @ruby_do_block + +ruby_call_block( + unique int ruby_call: @ruby_call ref, + unique int block: @ruby_call_block_type ref +); + +@ruby_call_method_type = @ruby_token_operator | @ruby_underscore_variable + +ruby_call_method( + unique int ruby_call: @ruby_call ref, + unique int method: @ruby_call_method_type ref +); + +ruby_call_operator( + unique int ruby_call: @ruby_call ref, + unique int operator: @ruby_underscore_call_operator ref +); + +ruby_call_receiver( + unique int ruby_call: @ruby_call ref, + unique int receiver: @ruby_underscore_primary ref +); + +ruby_call_def( + unique int id: @ruby_call +); + +ruby_case_value( + unique int ruby_case__: @ruby_case__ ref, + unique int value: @ruby_underscore_statement ref +); + +@ruby_case_child_type = @ruby_else | @ruby_when + +#keyset[ruby_case__, index] +ruby_case_child( + int ruby_case__: @ruby_case__ ref, + int index: int ref, + unique int child: @ruby_case_child_type ref +); + +ruby_case_def( + unique int id: @ruby_case__ +); + +#keyset[ruby_case_match, index] +ruby_case_match_clauses( + int ruby_case_match: @ruby_case_match ref, + int index: int ref, + unique int clauses: @ruby_in_clause ref +); + +ruby_case_match_else( + unique int ruby_case_match: @ruby_case_match ref, + unique int else: @ruby_else ref +); + +ruby_case_match_def( + unique int id: @ruby_case_match, + int value: @ruby_underscore_statement ref +); + +#keyset[ruby_chained_string, index] +ruby_chained_string_child( + int ruby_chained_string: @ruby_chained_string ref, + int index: int ref, + unique int child: @ruby_string__ ref +); + +ruby_chained_string_def( + unique int id: @ruby_chained_string +); + +ruby_class_body( + unique int ruby_class: @ruby_class ref, + unique int body: @ruby_body_statement ref +); + +@ruby_class_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_class_superclass( + unique int ruby_class: @ruby_class ref, + unique int superclass: @ruby_superclass ref +); + +ruby_class_def( + unique int id: @ruby_class, + int name: @ruby_class_name_type ref +); + +@ruby_complex_child_type = @ruby_rational | @ruby_token_float | @ruby_token_integer + +ruby_complex_def( + unique int id: @ruby_complex, + int child: @ruby_complex_child_type ref +); + +ruby_conditional_def( + unique int id: @ruby_conditional, + int alternative: @ruby_underscore_arg ref, + int condition: @ruby_underscore_arg ref, + int consequence: @ruby_underscore_arg ref +); + +@ruby_delimited_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_delimited_symbol, index] +ruby_delimited_symbol_child( + int ruby_delimited_symbol: @ruby_delimited_symbol ref, + int index: int ref, + unique int child: @ruby_delimited_symbol_child_type ref +); + +ruby_delimited_symbol_def( + unique int id: @ruby_delimited_symbol +); + +@ruby_destructured_left_assignment_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_destructured_left_assignment, index] +ruby_destructured_left_assignment_child( + int ruby_destructured_left_assignment: @ruby_destructured_left_assignment ref, + int index: int ref, + unique int child: @ruby_destructured_left_assignment_child_type ref +); + +ruby_destructured_left_assignment_def( + unique int id: @ruby_destructured_left_assignment +); + +@ruby_destructured_parameter_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_destructured_parameter, index] +ruby_destructured_parameter_child( + int ruby_destructured_parameter: @ruby_destructured_parameter ref, + int index: int ref, + unique int child: @ruby_destructured_parameter_child_type ref +); + +ruby_destructured_parameter_def( + unique int id: @ruby_destructured_parameter +); + +@ruby_do_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_do, index] +ruby_do_child( + int ruby_do: @ruby_do ref, + int index: int ref, + unique int child: @ruby_do_child_type ref +); + +ruby_do_def( + unique int id: @ruby_do +); + +ruby_do_block_body( + unique int ruby_do_block: @ruby_do_block ref, + unique int body: @ruby_body_statement ref +); + +ruby_do_block_parameters( + unique int ruby_do_block: @ruby_do_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_do_block_def( + unique int id: @ruby_do_block +); + +@ruby_element_reference_block_type = @ruby_block | @ruby_do_block + +ruby_element_reference_block( + unique int ruby_element_reference: @ruby_element_reference ref, + unique int block: @ruby_element_reference_block_type ref +); + +@ruby_element_reference_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_element_reference, index] +ruby_element_reference_child( + int ruby_element_reference: @ruby_element_reference ref, + int index: int ref, + unique int child: @ruby_element_reference_child_type ref +); + +ruby_element_reference_def( + unique int id: @ruby_element_reference, + int object: @ruby_underscore_primary ref +); + +@ruby_else_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_else, index] +ruby_else_child( + int ruby_else: @ruby_else ref, + int index: int ref, + unique int child: @ruby_else_child_type ref +); + +ruby_else_def( + unique int id: @ruby_else +); + +@ruby_elsif_alternative_type = @ruby_else | @ruby_elsif + +ruby_elsif_alternative( + unique int ruby_elsif: @ruby_elsif ref, + unique int alternative: @ruby_elsif_alternative_type ref +); + +ruby_elsif_consequence( + unique int ruby_elsif: @ruby_elsif ref, + unique int consequence: @ruby_then ref +); + +ruby_elsif_def( + unique int id: @ruby_elsif, + int condition: @ruby_underscore_statement ref +); + +@ruby_end_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_end_block, index] +ruby_end_block_child( + int ruby_end_block: @ruby_end_block ref, + int index: int ref, + unique int child: @ruby_end_block_child_type ref +); + +ruby_end_block_def( + unique int id: @ruby_end_block +); + +@ruby_ensure_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_ensure, index] +ruby_ensure_child( + int ruby_ensure: @ruby_ensure ref, + int index: int ref, + unique int child: @ruby_ensure_child_type ref +); + +ruby_ensure_def( + unique int id: @ruby_ensure +); + +ruby_exception_variable_def( + unique int id: @ruby_exception_variable, + int child: @ruby_underscore_lhs ref +); + +@ruby_exceptions_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_exceptions, index] +ruby_exceptions_child( + int ruby_exceptions: @ruby_exceptions ref, + int index: int ref, + unique int child: @ruby_exceptions_child_type ref +); + +ruby_exceptions_def( + unique int id: @ruby_exceptions +); + +ruby_expression_reference_pattern_def( + unique int id: @ruby_expression_reference_pattern, + int value: @ruby_underscore_expression ref +); + +ruby_find_pattern_class( + unique int ruby_find_pattern: @ruby_find_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_find_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_find_pattern, index] +ruby_find_pattern_child( + int ruby_find_pattern: @ruby_find_pattern ref, + int index: int ref, + unique int child: @ruby_find_pattern_child_type ref +); + +ruby_find_pattern_def( + unique int id: @ruby_find_pattern +); + +@ruby_for_pattern_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +ruby_for_def( + unique int id: @ruby_for, + int body: @ruby_do ref, + int pattern: @ruby_for_pattern_type ref, + int value: @ruby_in ref +); + +@ruby_hash_child_type = @ruby_hash_splat_argument | @ruby_pair + +#keyset[ruby_hash, index] +ruby_hash_child( + int ruby_hash: @ruby_hash ref, + int index: int ref, + unique int child: @ruby_hash_child_type ref +); + +ruby_hash_def( + unique int id: @ruby_hash +); + +ruby_hash_pattern_class( + unique int ruby_hash_pattern: @ruby_hash_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_hash_pattern_child_type = @ruby_hash_splat_parameter | @ruby_keyword_pattern | @ruby_token_hash_splat_nil + +#keyset[ruby_hash_pattern, index] +ruby_hash_pattern_child( + int ruby_hash_pattern: @ruby_hash_pattern ref, + int index: int ref, + unique int child: @ruby_hash_pattern_child_type ref +); + +ruby_hash_pattern_def( + unique int id: @ruby_hash_pattern +); + +ruby_hash_splat_argument_child( + unique int ruby_hash_splat_argument: @ruby_hash_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_hash_splat_argument_def( + unique int id: @ruby_hash_splat_argument +); + +ruby_hash_splat_parameter_name( + unique int ruby_hash_splat_parameter: @ruby_hash_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_hash_splat_parameter_def( + unique int id: @ruby_hash_splat_parameter +); + +@ruby_heredoc_body_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_heredoc_content | @ruby_token_heredoc_end + +#keyset[ruby_heredoc_body, index] +ruby_heredoc_body_child( + int ruby_heredoc_body: @ruby_heredoc_body ref, + int index: int ref, + unique int child: @ruby_heredoc_body_child_type ref +); + +ruby_heredoc_body_def( + unique int id: @ruby_heredoc_body +); + +@ruby_if_alternative_type = @ruby_else | @ruby_elsif + +ruby_if_alternative( + unique int ruby_if: @ruby_if ref, + unique int alternative: @ruby_if_alternative_type ref +); + +ruby_if_consequence( + unique int ruby_if: @ruby_if ref, + unique int consequence: @ruby_then ref +); + +ruby_if_def( + unique int id: @ruby_if, + int condition: @ruby_underscore_statement ref +); + +ruby_if_guard_def( + unique int id: @ruby_if_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_if_modifier_def( + unique int id: @ruby_if_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_in_def( + unique int id: @ruby_in, + int child: @ruby_underscore_arg ref +); + +ruby_in_clause_body( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int body: @ruby_then ref +); + +@ruby_in_clause_guard_type = @ruby_if_guard | @ruby_unless_guard + +ruby_in_clause_guard( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int guard: @ruby_in_clause_guard_type ref +); + +ruby_in_clause_def( + unique int id: @ruby_in_clause, + int pattern: @ruby_underscore_pattern_top_expr_body ref +); + +@ruby_interpolation_child_type = @ruby_token_empty_statement | @ruby_underscore_nonlocal_variable | @ruby_underscore_statement + +#keyset[ruby_interpolation, index] +ruby_interpolation_child( + int ruby_interpolation: @ruby_interpolation ref, + int index: int ref, + unique int child: @ruby_interpolation_child_type ref +); + +ruby_interpolation_def( + unique int id: @ruby_interpolation +); + +ruby_keyword_parameter_value( + unique int ruby_keyword_parameter: @ruby_keyword_parameter ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_keyword_parameter_def( + unique int id: @ruby_keyword_parameter, + int name: @ruby_token_identifier ref +); + +@ruby_keyword_pattern_key_type = @ruby_string__ | @ruby_token_hash_key_symbol + +ruby_keyword_pattern_value( + unique int ruby_keyword_pattern: @ruby_keyword_pattern ref, + unique int value: @ruby_underscore_pattern_expr ref +); + +ruby_keyword_pattern_def( + unique int id: @ruby_keyword_pattern, + int key__: @ruby_keyword_pattern_key_type ref +); + +@ruby_lambda_body_type = @ruby_block | @ruby_do_block + +ruby_lambda_parameters( + unique int ruby_lambda: @ruby_lambda ref, + unique int parameters: @ruby_lambda_parameters ref +); + +ruby_lambda_def( + unique int id: @ruby_lambda, + int body: @ruby_lambda_body_type ref +); + +@ruby_lambda_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_lambda_parameters, index] +ruby_lambda_parameters_child( + int ruby_lambda_parameters: @ruby_lambda_parameters ref, + int index: int ref, + unique int child: @ruby_lambda_parameters_child_type ref +); + +ruby_lambda_parameters_def( + unique int id: @ruby_lambda_parameters +); + +@ruby_left_assignment_list_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_left_assignment_list, index] +ruby_left_assignment_list_child( + int ruby_left_assignment_list: @ruby_left_assignment_list ref, + int index: int ref, + unique int child: @ruby_left_assignment_list_child_type ref +); + +ruby_left_assignment_list_def( + unique int id: @ruby_left_assignment_list +); + +ruby_match_pattern_def( + unique int id: @ruby_match_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_method_body( + unique int ruby_method: @ruby_method ref, + unique int body: @ruby_method_body_type ref +); + +ruby_method_parameters( + unique int ruby_method: @ruby_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_method_def( + unique int id: @ruby_method, + int name: @ruby_underscore_method_name ref +); + +@ruby_method_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_method_parameters, index] +ruby_method_parameters_child( + int ruby_method_parameters: @ruby_method_parameters ref, + int index: int ref, + unique int child: @ruby_method_parameters_child_type ref +); + +ruby_method_parameters_def( + unique int id: @ruby_method_parameters +); + +ruby_module_body( + unique int ruby_module: @ruby_module ref, + unique int body: @ruby_body_statement ref +); + +@ruby_module_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_module_def( + unique int id: @ruby_module, + int name: @ruby_module_name_type ref +); + +ruby_next_child( + unique int ruby_next: @ruby_next ref, + unique int child: @ruby_argument_list ref +); + +ruby_next_def( + unique int id: @ruby_next +); + +case @ruby_operator_assignment.operator of + 0 = @ruby_operator_assignment_percentequal +| 1 = @ruby_operator_assignment_ampersandampersandequal +| 2 = @ruby_operator_assignment_ampersandequal +| 3 = @ruby_operator_assignment_starstarequal +| 4 = @ruby_operator_assignment_starequal +| 5 = @ruby_operator_assignment_plusequal +| 6 = @ruby_operator_assignment_minusequal +| 7 = @ruby_operator_assignment_slashequal +| 8 = @ruby_operator_assignment_langlelangleequal +| 9 = @ruby_operator_assignment_ranglerangleequal +| 10 = @ruby_operator_assignment_caretequal +| 11 = @ruby_operator_assignment_pipeequal +| 12 = @ruby_operator_assignment_pipepipeequal +; + + +@ruby_operator_assignment_right_type = @ruby_rescue_modifier | @ruby_underscore_expression + +ruby_operator_assignment_def( + unique int id: @ruby_operator_assignment, + int left: @ruby_underscore_lhs ref, + int operator: int ref, + int right: @ruby_operator_assignment_right_type ref +); + +ruby_optional_parameter_def( + unique int id: @ruby_optional_parameter, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_arg ref +); + +@ruby_pair_key_type = @ruby_string__ | @ruby_token_hash_key_symbol | @ruby_underscore_arg + +ruby_pair_value( + unique int ruby_pair: @ruby_pair ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_pair_def( + unique int id: @ruby_pair, + int key__: @ruby_pair_key_type ref +); + +ruby_parenthesized_pattern_def( + unique int id: @ruby_parenthesized_pattern, + int child: @ruby_underscore_pattern_expr ref +); + +@ruby_parenthesized_statements_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_parenthesized_statements, index] +ruby_parenthesized_statements_child( + int ruby_parenthesized_statements: @ruby_parenthesized_statements ref, + int index: int ref, + unique int child: @ruby_parenthesized_statements_child_type ref +); + +ruby_parenthesized_statements_def( + unique int id: @ruby_parenthesized_statements +); + +@ruby_pattern_child_type = @ruby_splat_argument | @ruby_underscore_arg + +ruby_pattern_def( + unique int id: @ruby_pattern, + int child: @ruby_pattern_child_type ref +); + +@ruby_program_child_type = @ruby_token_empty_statement | @ruby_token_uninterpreted | @ruby_underscore_statement + +#keyset[ruby_program, index] +ruby_program_child( + int ruby_program: @ruby_program ref, + int index: int ref, + unique int child: @ruby_program_child_type ref +); + +ruby_program_def( + unique int id: @ruby_program +); + +@ruby_range_begin_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_begin( + unique int ruby_range: @ruby_range ref, + unique int begin: @ruby_range_begin_type ref +); + +@ruby_range_end_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_end( + unique int ruby_range: @ruby_range ref, + unique int end: @ruby_range_end_type ref +); + +case @ruby_range.operator of + 0 = @ruby_range_dotdot +| 1 = @ruby_range_dotdotdot +; + + +ruby_range_def( + unique int id: @ruby_range, + int operator: int ref +); + +@ruby_rational_child_type = @ruby_token_float | @ruby_token_integer + +ruby_rational_def( + unique int id: @ruby_rational, + int child: @ruby_rational_child_type ref +); + +ruby_redo_child( + unique int ruby_redo: @ruby_redo ref, + unique int child: @ruby_argument_list ref +); + +ruby_redo_def( + unique int id: @ruby_redo +); + +@ruby_regex_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_regex, index] +ruby_regex_child( + int ruby_regex: @ruby_regex ref, + int index: int ref, + unique int child: @ruby_regex_child_type ref +); + +ruby_regex_def( + unique int id: @ruby_regex +); + +ruby_rescue_body( + unique int ruby_rescue: @ruby_rescue ref, + unique int body: @ruby_then ref +); + +ruby_rescue_exceptions( + unique int ruby_rescue: @ruby_rescue ref, + unique int exceptions: @ruby_exceptions ref +); + +ruby_rescue_variable( + unique int ruby_rescue: @ruby_rescue ref, + unique int variable: @ruby_exception_variable ref +); + +ruby_rescue_def( + unique int id: @ruby_rescue +); + +@ruby_rescue_modifier_body_type = @ruby_underscore_arg | @ruby_underscore_statement + +ruby_rescue_modifier_def( + unique int id: @ruby_rescue_modifier, + int body: @ruby_rescue_modifier_body_type ref, + int handler: @ruby_underscore_expression ref +); + +ruby_rest_assignment_child( + unique int ruby_rest_assignment: @ruby_rest_assignment ref, + unique int child: @ruby_underscore_lhs ref +); + +ruby_rest_assignment_def( + unique int id: @ruby_rest_assignment +); + +ruby_retry_child( + unique int ruby_retry: @ruby_retry ref, + unique int child: @ruby_argument_list ref +); + +ruby_retry_def( + unique int id: @ruby_retry +); + +ruby_return_child( + unique int ruby_return: @ruby_return ref, + unique int child: @ruby_argument_list ref +); + +ruby_return_def( + unique int id: @ruby_return +); + +@ruby_right_assignment_list_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_right_assignment_list, index] +ruby_right_assignment_list_child( + int ruby_right_assignment_list: @ruby_right_assignment_list ref, + int index: int ref, + unique int child: @ruby_right_assignment_list_child_type ref +); + +ruby_right_assignment_list_def( + unique int id: @ruby_right_assignment_list +); + +@ruby_scope_resolution_scope_type = @ruby_underscore_pattern_constant | @ruby_underscore_primary + +ruby_scope_resolution_scope( + unique int ruby_scope_resolution: @ruby_scope_resolution ref, + unique int scope: @ruby_scope_resolution_scope_type ref +); + +ruby_scope_resolution_def( + unique int id: @ruby_scope_resolution, + int name: @ruby_token_constant ref +); + +ruby_setter_def( + unique int id: @ruby_setter, + int name: @ruby_token_identifier ref +); + +ruby_singleton_class_body( + unique int ruby_singleton_class: @ruby_singleton_class ref, + unique int body: @ruby_body_statement ref +); + +ruby_singleton_class_def( + unique int id: @ruby_singleton_class, + int value: @ruby_underscore_arg ref +); + +@ruby_singleton_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_singleton_method_body( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int body: @ruby_singleton_method_body_type ref +); + +@ruby_singleton_method_object_type = @ruby_underscore_arg | @ruby_underscore_variable + +ruby_singleton_method_parameters( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_singleton_method_def( + unique int id: @ruby_singleton_method, + int name: @ruby_underscore_method_name ref, + int object: @ruby_singleton_method_object_type ref +); + +ruby_splat_argument_child( + unique int ruby_splat_argument: @ruby_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_splat_argument_def( + unique int id: @ruby_splat_argument +); + +ruby_splat_parameter_name( + unique int ruby_splat_parameter: @ruby_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_splat_parameter_def( + unique int id: @ruby_splat_parameter +); + +@ruby_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_string__, index] +ruby_string_child( + int ruby_string__: @ruby_string__ ref, + int index: int ref, + unique int child: @ruby_string_child_type ref +); + +ruby_string_def( + unique int id: @ruby_string__ +); + +#keyset[ruby_string_array, index] +ruby_string_array_child( + int ruby_string_array: @ruby_string_array ref, + int index: int ref, + unique int child: @ruby_bare_string ref +); + +ruby_string_array_def( + unique int id: @ruby_string_array +); + +@ruby_subshell_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_subshell, index] +ruby_subshell_child( + int ruby_subshell: @ruby_subshell ref, + int index: int ref, + unique int child: @ruby_subshell_child_type ref +); + +ruby_subshell_def( + unique int id: @ruby_subshell +); + +ruby_superclass_def( + unique int id: @ruby_superclass, + int child: @ruby_underscore_expression ref +); + +#keyset[ruby_symbol_array, index] +ruby_symbol_array_child( + int ruby_symbol_array: @ruby_symbol_array ref, + int index: int ref, + unique int child: @ruby_bare_symbol ref +); + +ruby_symbol_array_def( + unique int id: @ruby_symbol_array +); + +ruby_test_pattern_def( + unique int id: @ruby_test_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_then_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_then, index] +ruby_then_child( + int ruby_then: @ruby_then ref, + int index: int ref, + unique int child: @ruby_then_child_type ref +); + +ruby_then_def( + unique int id: @ruby_then +); + +@ruby_unary_operand_type = @ruby_parenthesized_statements | @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_unary.operator of + 0 = @ruby_unary_bang +| 1 = @ruby_unary_plus +| 2 = @ruby_unary_minus +| 3 = @ruby_unary_definedquestion +| 4 = @ruby_unary_not +| 5 = @ruby_unary_tilde +; + + +ruby_unary_def( + unique int id: @ruby_unary, + int operand: @ruby_unary_operand_type ref, + int operator: int ref +); + +#keyset[ruby_undef, index] +ruby_undef_child( + int ruby_undef: @ruby_undef ref, + int index: int ref, + unique int child: @ruby_underscore_method_name ref +); + +ruby_undef_def( + unique int id: @ruby_undef +); + +@ruby_unless_alternative_type = @ruby_else | @ruby_elsif + +ruby_unless_alternative( + unique int ruby_unless: @ruby_unless ref, + unique int alternative: @ruby_unless_alternative_type ref +); + +ruby_unless_consequence( + unique int ruby_unless: @ruby_unless ref, + unique int consequence: @ruby_then ref +); + +ruby_unless_def( + unique int id: @ruby_unless, + int condition: @ruby_underscore_statement ref +); + +ruby_unless_guard_def( + unique int id: @ruby_unless_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_unless_modifier_def( + unique int id: @ruby_unless_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_until_def( + unique int id: @ruby_until, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_until_modifier_def( + unique int id: @ruby_until_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +@ruby_variable_reference_pattern_name_type = @ruby_token_identifier | @ruby_underscore_nonlocal_variable + +ruby_variable_reference_pattern_def( + unique int id: @ruby_variable_reference_pattern, + int name: @ruby_variable_reference_pattern_name_type ref +); + +ruby_when_body( + unique int ruby_when: @ruby_when ref, + unique int body: @ruby_then ref +); + +#keyset[ruby_when, index] +ruby_when_pattern( + int ruby_when: @ruby_when ref, + int index: int ref, + unique int pattern: @ruby_pattern ref +); + +ruby_when_def( + unique int id: @ruby_when +); + +ruby_while_def( + unique int id: @ruby_while, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_while_modifier_def( + unique int id: @ruby_while_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_yield_child( + unique int ruby_yield: @ruby_yield ref, + unique int child: @ruby_argument_list ref +); + +ruby_yield_def( + unique int id: @ruby_yield +); + +ruby_tokeninfo( + unique int id: @ruby_token, + int kind: int ref, + string value: string ref +); + +case @ruby_token.kind of + 0 = @ruby_reserved_word +| 1 = @ruby_token_character +| 2 = @ruby_token_class_variable +| 3 = @ruby_token_comment +| 4 = @ruby_token_constant +| 5 = @ruby_token_empty_statement +| 6 = @ruby_token_encoding +| 7 = @ruby_token_escape_sequence +| 8 = @ruby_token_false +| 9 = @ruby_token_file +| 10 = @ruby_token_float +| 11 = @ruby_token_forward_argument +| 12 = @ruby_token_forward_parameter +| 13 = @ruby_token_global_variable +| 14 = @ruby_token_hash_key_symbol +| 15 = @ruby_token_hash_splat_nil +| 16 = @ruby_token_heredoc_beginning +| 17 = @ruby_token_heredoc_content +| 18 = @ruby_token_heredoc_end +| 19 = @ruby_token_identifier +| 20 = @ruby_token_instance_variable +| 21 = @ruby_token_integer +| 22 = @ruby_token_line +| 23 = @ruby_token_nil +| 24 = @ruby_token_operator +| 25 = @ruby_token_self +| 26 = @ruby_token_simple_symbol +| 27 = @ruby_token_string_content +| 28 = @ruby_token_super +| 29 = @ruby_token_true +| 30 = @ruby_token_uninterpreted +; + + +@ruby_ast_node = @ruby_alias | @ruby_alternative_pattern | @ruby_argument_list | @ruby_array | @ruby_array_pattern | @ruby_as_pattern | @ruby_assignment | @ruby_bare_string | @ruby_bare_symbol | @ruby_begin | @ruby_begin_block | @ruby_binary | @ruby_block | @ruby_block_argument | @ruby_block_body | @ruby_block_parameter | @ruby_block_parameters | @ruby_body_statement | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_complex | @ruby_conditional | @ruby_delimited_symbol | @ruby_destructured_left_assignment | @ruby_destructured_parameter | @ruby_do | @ruby_do_block | @ruby_element_reference | @ruby_else | @ruby_elsif | @ruby_end_block | @ruby_ensure | @ruby_exception_variable | @ruby_exceptions | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_for | @ruby_hash | @ruby_hash_pattern | @ruby_hash_splat_argument | @ruby_hash_splat_parameter | @ruby_heredoc_body | @ruby_if | @ruby_if_guard | @ruby_if_modifier | @ruby_in | @ruby_in_clause | @ruby_interpolation | @ruby_keyword_parameter | @ruby_keyword_pattern | @ruby_lambda | @ruby_lambda_parameters | @ruby_left_assignment_list | @ruby_match_pattern | @ruby_method | @ruby_method_parameters | @ruby_module | @ruby_next | @ruby_operator_assignment | @ruby_optional_parameter | @ruby_pair | @ruby_parenthesized_pattern | @ruby_parenthesized_statements | @ruby_pattern | @ruby_program | @ruby_range | @ruby_rational | @ruby_redo | @ruby_regex | @ruby_rescue | @ruby_rescue_modifier | @ruby_rest_assignment | @ruby_retry | @ruby_return | @ruby_right_assignment_list | @ruby_scope_resolution | @ruby_setter | @ruby_singleton_class | @ruby_singleton_method | @ruby_splat_argument | @ruby_splat_parameter | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_superclass | @ruby_symbol_array | @ruby_test_pattern | @ruby_then | @ruby_token | @ruby_unary | @ruby_undef | @ruby_unless | @ruby_unless_guard | @ruby_unless_modifier | @ruby_until | @ruby_until_modifier | @ruby_variable_reference_pattern | @ruby_when | @ruby_while | @ruby_while_modifier | @ruby_yield + +ruby_ast_node_location( + unique int node: @ruby_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +ruby_ast_node_parent( + unique int node: @ruby_ast_node ref, + int parent: @ruby_ast_node ref, + int parent_index: int ref +); + +/*- Erb dbscheme -*/ +erb_comment_directive_child( + unique int erb_comment_directive: @erb_comment_directive ref, + unique int child: @erb_token_comment ref +); + +erb_comment_directive_def( + unique int id: @erb_comment_directive +); + +erb_directive_child( + unique int erb_directive: @erb_directive ref, + unique int child: @erb_token_code ref +); + +erb_directive_def( + unique int id: @erb_directive +); + +erb_graphql_directive_child( + unique int erb_graphql_directive: @erb_graphql_directive ref, + unique int child: @erb_token_code ref +); + +erb_graphql_directive_def( + unique int id: @erb_graphql_directive +); + +erb_output_directive_child( + unique int erb_output_directive: @erb_output_directive ref, + unique int child: @erb_token_code ref +); + +erb_output_directive_def( + unique int id: @erb_output_directive +); + +@erb_template_child_type = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_token_content + +#keyset[erb_template, index] +erb_template_child( + int erb_template: @erb_template ref, + int index: int ref, + unique int child: @erb_template_child_type ref +); + +erb_template_def( + unique int id: @erb_template +); + +erb_tokeninfo( + unique int id: @erb_token, + int kind: int ref, + string value: string ref +); + +case @erb_token.kind of + 0 = @erb_reserved_word +| 1 = @erb_token_code +| 2 = @erb_token_comment +| 3 = @erb_token_content +; + + +@erb_ast_node = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_template | @erb_token + +erb_ast_node_location( + unique int node: @erb_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +erb_ast_node_parent( + unique int node: @erb_ast_node ref, + int parent: @erb_ast_node ref, + int parent_index: int ref +); + diff --git a/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/upgrade.properties b/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/ruby/downgrades/29b7b6fc1982422368cb0a4644fd0c81f993c618/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/ruby/extractor/src/generator.rs b/ruby/extractor/src/generator.rs index 00d878243ae..de1d0dbfd7e 100644 --- a/ruby/extractor/src/generator.rs +++ b/ruby/extractor/src/generator.rs @@ -28,5 +28,10 @@ pub fn run(options: Options) -> std::io::Result<()> { }, ]; - generate(languages, options.dbscheme, options.library) + generate( + languages, + options.dbscheme, + options.library, + "run 'make dbscheme' in ql/ruby/", + ) } diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 7c3ccd16c8a..e6150ac44bc 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,11 @@ +## 5.1.8 + +No user-facing changes. + +## 5.1.7 + +No user-facing changes. + ## 5.1.6 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/5.1.7.md b/ruby/ql/lib/change-notes/released/5.1.7.md new file mode 100644 index 00000000000..89048f7b019 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/5.1.7.md @@ -0,0 +1,3 @@ +## 5.1.7 + +No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/5.1.8.md b/ruby/ql/lib/change-notes/released/5.1.8.md new file mode 100644 index 00000000000..9e1ff36f31f --- /dev/null +++ b/ruby/ql/lib/change-notes/released/5.1.8.md @@ -0,0 +1,3 @@ +## 5.1.8 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 5ddeeed69fc..8ffbb79d224 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.1.6 +lastReleaseVersion: 5.1.8 diff --git a/ruby/ql/lib/codeql/ruby/frameworks/data/internal/ApiGraphModels.qll b/ruby/ql/lib/codeql/ruby/frameworks/data/internal/ApiGraphModels.qll index 80ec45a3cf1..68f2210bff2 100644 --- a/ruby/ql/lib/codeql/ruby/frameworks/data/internal/ApiGraphModels.qll +++ b/ruby/ql/lib/codeql/ruby/frameworks/data/internal/ApiGraphModels.qll @@ -492,6 +492,7 @@ private predicate invocationMatchesCallSiteFilter( Specific::invocationMatchesExtraCallSiteFilter(invoke, token) } +overlay[local?] private class TypeModelUseEntry extends API::EntryPoint { private string type; @@ -505,6 +506,7 @@ private class TypeModelUseEntry extends API::EntryPoint { API::Node getNodeForType(string type_) { type = type_ and result = this.getANode() } } +overlay[local?] private class TypeModelDefEntry extends API::EntryPoint { private string type; diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 6cc2814827c..1a0515cc776 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 5.1.7-dev +version: 5.1.9-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/lib/ruby.dbscheme b/ruby/ql/lib/ruby.dbscheme index eae6926f500..29b7b6fc198 100644 --- a/ruby/ql/lib/ruby.dbscheme +++ b/ruby/ql/lib/ruby.dbscheme @@ -1,5 +1,6 @@ // CodeQL database schema for Ruby // Automatically generated from the tree-sitter grammar; do not edit +// To regenerate, run 'make dbscheme' in ql/ruby/ /*- Files and folders -*/ @@ -109,11 +110,23 @@ yaml_locations(unique int locatable: @yaml_locatable ref, @yaml_locatable = @yaml_node | @yaml_error; /*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ databaseMetadata( string metadataKey: string ref, string value: string ref ); +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ overlayChangedFiles( string path: string ref ); diff --git a/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/old.dbscheme b/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/old.dbscheme new file mode 100644 index 00000000000..eae6926f500 --- /dev/null +++ b/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/old.dbscheme @@ -0,0 +1,1536 @@ +// CodeQL database schema for Ruby +// Automatically generated from the tree-sitter grammar; do not edit + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + +/*- Ruby dbscheme -*/ +@ruby_underscore_arg = @ruby_assignment | @ruby_binary | @ruby_conditional | @ruby_operator_assignment | @ruby_range | @ruby_unary | @ruby_underscore_primary + +@ruby_underscore_call_operator = @ruby_reserved_word + +@ruby_underscore_expression = @ruby_assignment | @ruby_binary | @ruby_break | @ruby_call | @ruby_match_pattern | @ruby_next | @ruby_operator_assignment | @ruby_return | @ruby_test_pattern | @ruby_unary | @ruby_underscore_arg | @ruby_yield + +@ruby_underscore_lhs = @ruby_call | @ruby_element_reference | @ruby_scope_resolution | @ruby_token_false | @ruby_token_nil | @ruby_token_true | @ruby_underscore_variable + +@ruby_underscore_method_name = @ruby_delimited_symbol | @ruby_setter | @ruby_token_constant | @ruby_token_identifier | @ruby_token_operator | @ruby_token_simple_symbol | @ruby_underscore_nonlocal_variable + +@ruby_underscore_nonlocal_variable = @ruby_token_class_variable | @ruby_token_global_variable | @ruby_token_instance_variable + +@ruby_underscore_pattern_constant = @ruby_scope_resolution | @ruby_token_constant + +@ruby_underscore_pattern_expr = @ruby_alternative_pattern | @ruby_as_pattern | @ruby_underscore_pattern_expr_basic + +@ruby_underscore_pattern_expr_basic = @ruby_array_pattern | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_parenthesized_pattern | @ruby_range | @ruby_token_identifier | @ruby_underscore_pattern_constant | @ruby_underscore_pattern_primitive | @ruby_variable_reference_pattern + +@ruby_underscore_pattern_primitive = @ruby_delimited_symbol | @ruby_lambda | @ruby_regex | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_encoding | @ruby_token_false | @ruby_token_file | @ruby_token_heredoc_beginning | @ruby_token_line | @ruby_token_nil | @ruby_token_self | @ruby_token_simple_symbol | @ruby_token_true | @ruby_unary | @ruby_underscore_simple_numeric + +@ruby_underscore_pattern_top_expr_body = @ruby_array_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_underscore_pattern_expr + +@ruby_underscore_primary = @ruby_array | @ruby_begin | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_delimited_symbol | @ruby_for | @ruby_hash | @ruby_if | @ruby_lambda | @ruby_method | @ruby_module | @ruby_next | @ruby_parenthesized_statements | @ruby_redo | @ruby_regex | @ruby_retry | @ruby_return | @ruby_singleton_class | @ruby_singleton_method | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_character | @ruby_token_heredoc_beginning | @ruby_token_simple_symbol | @ruby_unary | @ruby_underscore_lhs | @ruby_underscore_simple_numeric | @ruby_unless | @ruby_until | @ruby_while | @ruby_yield + +@ruby_underscore_simple_numeric = @ruby_complex | @ruby_rational | @ruby_token_float | @ruby_token_integer + +@ruby_underscore_statement = @ruby_alias | @ruby_begin_block | @ruby_end_block | @ruby_if_modifier | @ruby_rescue_modifier | @ruby_undef | @ruby_underscore_expression | @ruby_unless_modifier | @ruby_until_modifier | @ruby_while_modifier + +@ruby_underscore_variable = @ruby_token_constant | @ruby_token_identifier | @ruby_token_self | @ruby_token_super | @ruby_underscore_nonlocal_variable + +ruby_alias_def( + unique int id: @ruby_alias, + int alias: @ruby_underscore_method_name ref, + int name: @ruby_underscore_method_name ref +); + +#keyset[ruby_alternative_pattern, index] +ruby_alternative_pattern_alternatives( + int ruby_alternative_pattern: @ruby_alternative_pattern ref, + int index: int ref, + unique int alternatives: @ruby_underscore_pattern_expr_basic ref +); + +ruby_alternative_pattern_def( + unique int id: @ruby_alternative_pattern +); + +@ruby_argument_list_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_argument_list, index] +ruby_argument_list_child( + int ruby_argument_list: @ruby_argument_list ref, + int index: int ref, + unique int child: @ruby_argument_list_child_type ref +); + +ruby_argument_list_def( + unique int id: @ruby_argument_list +); + +@ruby_array_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_array, index] +ruby_array_child( + int ruby_array: @ruby_array ref, + int index: int ref, + unique int child: @ruby_array_child_type ref +); + +ruby_array_def( + unique int id: @ruby_array +); + +ruby_array_pattern_class( + unique int ruby_array_pattern: @ruby_array_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_array_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_array_pattern, index] +ruby_array_pattern_child( + int ruby_array_pattern: @ruby_array_pattern ref, + int index: int ref, + unique int child: @ruby_array_pattern_child_type ref +); + +ruby_array_pattern_def( + unique int id: @ruby_array_pattern +); + +ruby_as_pattern_def( + unique int id: @ruby_as_pattern, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_pattern_expr ref +); + +@ruby_assignment_left_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +@ruby_assignment_right_type = @ruby_rescue_modifier | @ruby_right_assignment_list | @ruby_splat_argument | @ruby_underscore_expression + +ruby_assignment_def( + unique int id: @ruby_assignment, + int left: @ruby_assignment_left_type ref, + int right: @ruby_assignment_right_type ref +); + +@ruby_bare_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_string, index] +ruby_bare_string_child( + int ruby_bare_string: @ruby_bare_string ref, + int index: int ref, + unique int child: @ruby_bare_string_child_type ref +); + +ruby_bare_string_def( + unique int id: @ruby_bare_string +); + +@ruby_bare_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_symbol, index] +ruby_bare_symbol_child( + int ruby_bare_symbol: @ruby_bare_symbol ref, + int index: int ref, + unique int child: @ruby_bare_symbol_child_type ref +); + +ruby_bare_symbol_def( + unique int id: @ruby_bare_symbol +); + +@ruby_begin_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin, index] +ruby_begin_child( + int ruby_begin: @ruby_begin ref, + int index: int ref, + unique int child: @ruby_begin_child_type ref +); + +ruby_begin_def( + unique int id: @ruby_begin +); + +@ruby_begin_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin_block, index] +ruby_begin_block_child( + int ruby_begin_block: @ruby_begin_block ref, + int index: int ref, + unique int child: @ruby_begin_block_child_type ref +); + +ruby_begin_block_def( + unique int id: @ruby_begin_block +); + +@ruby_binary_left_type = @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_binary.operator of + 0 = @ruby_binary_bangequal +| 1 = @ruby_binary_bangtilde +| 2 = @ruby_binary_percent +| 3 = @ruby_binary_ampersand +| 4 = @ruby_binary_ampersandampersand +| 5 = @ruby_binary_star +| 6 = @ruby_binary_starstar +| 7 = @ruby_binary_plus +| 8 = @ruby_binary_minus +| 9 = @ruby_binary_slash +| 10 = @ruby_binary_langle +| 11 = @ruby_binary_langlelangle +| 12 = @ruby_binary_langleequal +| 13 = @ruby_binary_langleequalrangle +| 14 = @ruby_binary_equalequal +| 15 = @ruby_binary_equalequalequal +| 16 = @ruby_binary_equaltilde +| 17 = @ruby_binary_rangle +| 18 = @ruby_binary_rangleequal +| 19 = @ruby_binary_ranglerangle +| 20 = @ruby_binary_caret +| 21 = @ruby_binary_and +| 22 = @ruby_binary_or +| 23 = @ruby_binary_pipe +| 24 = @ruby_binary_pipepipe +; + + +ruby_binary_def( + unique int id: @ruby_binary, + int left: @ruby_binary_left_type ref, + int operator: int ref, + int right: @ruby_underscore_expression ref +); + +ruby_block_body( + unique int ruby_block: @ruby_block ref, + unique int body: @ruby_block_body ref +); + +ruby_block_parameters( + unique int ruby_block: @ruby_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_block_def( + unique int id: @ruby_block +); + +ruby_block_argument_child( + unique int ruby_block_argument: @ruby_block_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_block_argument_def( + unique int id: @ruby_block_argument +); + +@ruby_block_body_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_block_body, index] +ruby_block_body_child( + int ruby_block_body: @ruby_block_body ref, + int index: int ref, + unique int child: @ruby_block_body_child_type ref +); + +ruby_block_body_def( + unique int id: @ruby_block_body +); + +ruby_block_parameter_name( + unique int ruby_block_parameter: @ruby_block_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_block_parameter_def( + unique int id: @ruby_block_parameter +); + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_locals( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int locals: @ruby_token_identifier ref +); + +@ruby_block_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_child( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int child: @ruby_block_parameters_child_type ref +); + +ruby_block_parameters_def( + unique int id: @ruby_block_parameters +); + +@ruby_body_statement_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_body_statement, index] +ruby_body_statement_child( + int ruby_body_statement: @ruby_body_statement ref, + int index: int ref, + unique int child: @ruby_body_statement_child_type ref +); + +ruby_body_statement_def( + unique int id: @ruby_body_statement +); + +ruby_break_child( + unique int ruby_break: @ruby_break ref, + unique int child: @ruby_argument_list ref +); + +ruby_break_def( + unique int id: @ruby_break +); + +ruby_call_arguments( + unique int ruby_call: @ruby_call ref, + unique int arguments: @ruby_argument_list ref +); + +@ruby_call_block_type = @ruby_block | @ruby_do_block + +ruby_call_block( + unique int ruby_call: @ruby_call ref, + unique int block: @ruby_call_block_type ref +); + +@ruby_call_method_type = @ruby_token_operator | @ruby_underscore_variable + +ruby_call_method( + unique int ruby_call: @ruby_call ref, + unique int method: @ruby_call_method_type ref +); + +ruby_call_operator( + unique int ruby_call: @ruby_call ref, + unique int operator: @ruby_underscore_call_operator ref +); + +ruby_call_receiver( + unique int ruby_call: @ruby_call ref, + unique int receiver: @ruby_underscore_primary ref +); + +ruby_call_def( + unique int id: @ruby_call +); + +ruby_case_value( + unique int ruby_case__: @ruby_case__ ref, + unique int value: @ruby_underscore_statement ref +); + +@ruby_case_child_type = @ruby_else | @ruby_when + +#keyset[ruby_case__, index] +ruby_case_child( + int ruby_case__: @ruby_case__ ref, + int index: int ref, + unique int child: @ruby_case_child_type ref +); + +ruby_case_def( + unique int id: @ruby_case__ +); + +#keyset[ruby_case_match, index] +ruby_case_match_clauses( + int ruby_case_match: @ruby_case_match ref, + int index: int ref, + unique int clauses: @ruby_in_clause ref +); + +ruby_case_match_else( + unique int ruby_case_match: @ruby_case_match ref, + unique int else: @ruby_else ref +); + +ruby_case_match_def( + unique int id: @ruby_case_match, + int value: @ruby_underscore_statement ref +); + +#keyset[ruby_chained_string, index] +ruby_chained_string_child( + int ruby_chained_string: @ruby_chained_string ref, + int index: int ref, + unique int child: @ruby_string__ ref +); + +ruby_chained_string_def( + unique int id: @ruby_chained_string +); + +ruby_class_body( + unique int ruby_class: @ruby_class ref, + unique int body: @ruby_body_statement ref +); + +@ruby_class_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_class_superclass( + unique int ruby_class: @ruby_class ref, + unique int superclass: @ruby_superclass ref +); + +ruby_class_def( + unique int id: @ruby_class, + int name: @ruby_class_name_type ref +); + +@ruby_complex_child_type = @ruby_rational | @ruby_token_float | @ruby_token_integer + +ruby_complex_def( + unique int id: @ruby_complex, + int child: @ruby_complex_child_type ref +); + +ruby_conditional_def( + unique int id: @ruby_conditional, + int alternative: @ruby_underscore_arg ref, + int condition: @ruby_underscore_arg ref, + int consequence: @ruby_underscore_arg ref +); + +@ruby_delimited_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_delimited_symbol, index] +ruby_delimited_symbol_child( + int ruby_delimited_symbol: @ruby_delimited_symbol ref, + int index: int ref, + unique int child: @ruby_delimited_symbol_child_type ref +); + +ruby_delimited_symbol_def( + unique int id: @ruby_delimited_symbol +); + +@ruby_destructured_left_assignment_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_destructured_left_assignment, index] +ruby_destructured_left_assignment_child( + int ruby_destructured_left_assignment: @ruby_destructured_left_assignment ref, + int index: int ref, + unique int child: @ruby_destructured_left_assignment_child_type ref +); + +ruby_destructured_left_assignment_def( + unique int id: @ruby_destructured_left_assignment +); + +@ruby_destructured_parameter_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_destructured_parameter, index] +ruby_destructured_parameter_child( + int ruby_destructured_parameter: @ruby_destructured_parameter ref, + int index: int ref, + unique int child: @ruby_destructured_parameter_child_type ref +); + +ruby_destructured_parameter_def( + unique int id: @ruby_destructured_parameter +); + +@ruby_do_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_do, index] +ruby_do_child( + int ruby_do: @ruby_do ref, + int index: int ref, + unique int child: @ruby_do_child_type ref +); + +ruby_do_def( + unique int id: @ruby_do +); + +ruby_do_block_body( + unique int ruby_do_block: @ruby_do_block ref, + unique int body: @ruby_body_statement ref +); + +ruby_do_block_parameters( + unique int ruby_do_block: @ruby_do_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_do_block_def( + unique int id: @ruby_do_block +); + +@ruby_element_reference_block_type = @ruby_block | @ruby_do_block + +ruby_element_reference_block( + unique int ruby_element_reference: @ruby_element_reference ref, + unique int block: @ruby_element_reference_block_type ref +); + +@ruby_element_reference_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_element_reference, index] +ruby_element_reference_child( + int ruby_element_reference: @ruby_element_reference ref, + int index: int ref, + unique int child: @ruby_element_reference_child_type ref +); + +ruby_element_reference_def( + unique int id: @ruby_element_reference, + int object: @ruby_underscore_primary ref +); + +@ruby_else_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_else, index] +ruby_else_child( + int ruby_else: @ruby_else ref, + int index: int ref, + unique int child: @ruby_else_child_type ref +); + +ruby_else_def( + unique int id: @ruby_else +); + +@ruby_elsif_alternative_type = @ruby_else | @ruby_elsif + +ruby_elsif_alternative( + unique int ruby_elsif: @ruby_elsif ref, + unique int alternative: @ruby_elsif_alternative_type ref +); + +ruby_elsif_consequence( + unique int ruby_elsif: @ruby_elsif ref, + unique int consequence: @ruby_then ref +); + +ruby_elsif_def( + unique int id: @ruby_elsif, + int condition: @ruby_underscore_statement ref +); + +@ruby_end_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_end_block, index] +ruby_end_block_child( + int ruby_end_block: @ruby_end_block ref, + int index: int ref, + unique int child: @ruby_end_block_child_type ref +); + +ruby_end_block_def( + unique int id: @ruby_end_block +); + +@ruby_ensure_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_ensure, index] +ruby_ensure_child( + int ruby_ensure: @ruby_ensure ref, + int index: int ref, + unique int child: @ruby_ensure_child_type ref +); + +ruby_ensure_def( + unique int id: @ruby_ensure +); + +ruby_exception_variable_def( + unique int id: @ruby_exception_variable, + int child: @ruby_underscore_lhs ref +); + +@ruby_exceptions_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_exceptions, index] +ruby_exceptions_child( + int ruby_exceptions: @ruby_exceptions ref, + int index: int ref, + unique int child: @ruby_exceptions_child_type ref +); + +ruby_exceptions_def( + unique int id: @ruby_exceptions +); + +ruby_expression_reference_pattern_def( + unique int id: @ruby_expression_reference_pattern, + int value: @ruby_underscore_expression ref +); + +ruby_find_pattern_class( + unique int ruby_find_pattern: @ruby_find_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_find_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_find_pattern, index] +ruby_find_pattern_child( + int ruby_find_pattern: @ruby_find_pattern ref, + int index: int ref, + unique int child: @ruby_find_pattern_child_type ref +); + +ruby_find_pattern_def( + unique int id: @ruby_find_pattern +); + +@ruby_for_pattern_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +ruby_for_def( + unique int id: @ruby_for, + int body: @ruby_do ref, + int pattern: @ruby_for_pattern_type ref, + int value: @ruby_in ref +); + +@ruby_hash_child_type = @ruby_hash_splat_argument | @ruby_pair + +#keyset[ruby_hash, index] +ruby_hash_child( + int ruby_hash: @ruby_hash ref, + int index: int ref, + unique int child: @ruby_hash_child_type ref +); + +ruby_hash_def( + unique int id: @ruby_hash +); + +ruby_hash_pattern_class( + unique int ruby_hash_pattern: @ruby_hash_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_hash_pattern_child_type = @ruby_hash_splat_parameter | @ruby_keyword_pattern | @ruby_token_hash_splat_nil + +#keyset[ruby_hash_pattern, index] +ruby_hash_pattern_child( + int ruby_hash_pattern: @ruby_hash_pattern ref, + int index: int ref, + unique int child: @ruby_hash_pattern_child_type ref +); + +ruby_hash_pattern_def( + unique int id: @ruby_hash_pattern +); + +ruby_hash_splat_argument_child( + unique int ruby_hash_splat_argument: @ruby_hash_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_hash_splat_argument_def( + unique int id: @ruby_hash_splat_argument +); + +ruby_hash_splat_parameter_name( + unique int ruby_hash_splat_parameter: @ruby_hash_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_hash_splat_parameter_def( + unique int id: @ruby_hash_splat_parameter +); + +@ruby_heredoc_body_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_heredoc_content | @ruby_token_heredoc_end + +#keyset[ruby_heredoc_body, index] +ruby_heredoc_body_child( + int ruby_heredoc_body: @ruby_heredoc_body ref, + int index: int ref, + unique int child: @ruby_heredoc_body_child_type ref +); + +ruby_heredoc_body_def( + unique int id: @ruby_heredoc_body +); + +@ruby_if_alternative_type = @ruby_else | @ruby_elsif + +ruby_if_alternative( + unique int ruby_if: @ruby_if ref, + unique int alternative: @ruby_if_alternative_type ref +); + +ruby_if_consequence( + unique int ruby_if: @ruby_if ref, + unique int consequence: @ruby_then ref +); + +ruby_if_def( + unique int id: @ruby_if, + int condition: @ruby_underscore_statement ref +); + +ruby_if_guard_def( + unique int id: @ruby_if_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_if_modifier_def( + unique int id: @ruby_if_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_in_def( + unique int id: @ruby_in, + int child: @ruby_underscore_arg ref +); + +ruby_in_clause_body( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int body: @ruby_then ref +); + +@ruby_in_clause_guard_type = @ruby_if_guard | @ruby_unless_guard + +ruby_in_clause_guard( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int guard: @ruby_in_clause_guard_type ref +); + +ruby_in_clause_def( + unique int id: @ruby_in_clause, + int pattern: @ruby_underscore_pattern_top_expr_body ref +); + +@ruby_interpolation_child_type = @ruby_token_empty_statement | @ruby_underscore_nonlocal_variable | @ruby_underscore_statement + +#keyset[ruby_interpolation, index] +ruby_interpolation_child( + int ruby_interpolation: @ruby_interpolation ref, + int index: int ref, + unique int child: @ruby_interpolation_child_type ref +); + +ruby_interpolation_def( + unique int id: @ruby_interpolation +); + +ruby_keyword_parameter_value( + unique int ruby_keyword_parameter: @ruby_keyword_parameter ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_keyword_parameter_def( + unique int id: @ruby_keyword_parameter, + int name: @ruby_token_identifier ref +); + +@ruby_keyword_pattern_key_type = @ruby_string__ | @ruby_token_hash_key_symbol + +ruby_keyword_pattern_value( + unique int ruby_keyword_pattern: @ruby_keyword_pattern ref, + unique int value: @ruby_underscore_pattern_expr ref +); + +ruby_keyword_pattern_def( + unique int id: @ruby_keyword_pattern, + int key__: @ruby_keyword_pattern_key_type ref +); + +@ruby_lambda_body_type = @ruby_block | @ruby_do_block + +ruby_lambda_parameters( + unique int ruby_lambda: @ruby_lambda ref, + unique int parameters: @ruby_lambda_parameters ref +); + +ruby_lambda_def( + unique int id: @ruby_lambda, + int body: @ruby_lambda_body_type ref +); + +@ruby_lambda_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_lambda_parameters, index] +ruby_lambda_parameters_child( + int ruby_lambda_parameters: @ruby_lambda_parameters ref, + int index: int ref, + unique int child: @ruby_lambda_parameters_child_type ref +); + +ruby_lambda_parameters_def( + unique int id: @ruby_lambda_parameters +); + +@ruby_left_assignment_list_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_left_assignment_list, index] +ruby_left_assignment_list_child( + int ruby_left_assignment_list: @ruby_left_assignment_list ref, + int index: int ref, + unique int child: @ruby_left_assignment_list_child_type ref +); + +ruby_left_assignment_list_def( + unique int id: @ruby_left_assignment_list +); + +ruby_match_pattern_def( + unique int id: @ruby_match_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_method_body( + unique int ruby_method: @ruby_method ref, + unique int body: @ruby_method_body_type ref +); + +ruby_method_parameters( + unique int ruby_method: @ruby_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_method_def( + unique int id: @ruby_method, + int name: @ruby_underscore_method_name ref +); + +@ruby_method_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_method_parameters, index] +ruby_method_parameters_child( + int ruby_method_parameters: @ruby_method_parameters ref, + int index: int ref, + unique int child: @ruby_method_parameters_child_type ref +); + +ruby_method_parameters_def( + unique int id: @ruby_method_parameters +); + +ruby_module_body( + unique int ruby_module: @ruby_module ref, + unique int body: @ruby_body_statement ref +); + +@ruby_module_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_module_def( + unique int id: @ruby_module, + int name: @ruby_module_name_type ref +); + +ruby_next_child( + unique int ruby_next: @ruby_next ref, + unique int child: @ruby_argument_list ref +); + +ruby_next_def( + unique int id: @ruby_next +); + +case @ruby_operator_assignment.operator of + 0 = @ruby_operator_assignment_percentequal +| 1 = @ruby_operator_assignment_ampersandampersandequal +| 2 = @ruby_operator_assignment_ampersandequal +| 3 = @ruby_operator_assignment_starstarequal +| 4 = @ruby_operator_assignment_starequal +| 5 = @ruby_operator_assignment_plusequal +| 6 = @ruby_operator_assignment_minusequal +| 7 = @ruby_operator_assignment_slashequal +| 8 = @ruby_operator_assignment_langlelangleequal +| 9 = @ruby_operator_assignment_ranglerangleequal +| 10 = @ruby_operator_assignment_caretequal +| 11 = @ruby_operator_assignment_pipeequal +| 12 = @ruby_operator_assignment_pipepipeequal +; + + +@ruby_operator_assignment_right_type = @ruby_rescue_modifier | @ruby_underscore_expression + +ruby_operator_assignment_def( + unique int id: @ruby_operator_assignment, + int left: @ruby_underscore_lhs ref, + int operator: int ref, + int right: @ruby_operator_assignment_right_type ref +); + +ruby_optional_parameter_def( + unique int id: @ruby_optional_parameter, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_arg ref +); + +@ruby_pair_key_type = @ruby_string__ | @ruby_token_hash_key_symbol | @ruby_underscore_arg + +ruby_pair_value( + unique int ruby_pair: @ruby_pair ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_pair_def( + unique int id: @ruby_pair, + int key__: @ruby_pair_key_type ref +); + +ruby_parenthesized_pattern_def( + unique int id: @ruby_parenthesized_pattern, + int child: @ruby_underscore_pattern_expr ref +); + +@ruby_parenthesized_statements_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_parenthesized_statements, index] +ruby_parenthesized_statements_child( + int ruby_parenthesized_statements: @ruby_parenthesized_statements ref, + int index: int ref, + unique int child: @ruby_parenthesized_statements_child_type ref +); + +ruby_parenthesized_statements_def( + unique int id: @ruby_parenthesized_statements +); + +@ruby_pattern_child_type = @ruby_splat_argument | @ruby_underscore_arg + +ruby_pattern_def( + unique int id: @ruby_pattern, + int child: @ruby_pattern_child_type ref +); + +@ruby_program_child_type = @ruby_token_empty_statement | @ruby_token_uninterpreted | @ruby_underscore_statement + +#keyset[ruby_program, index] +ruby_program_child( + int ruby_program: @ruby_program ref, + int index: int ref, + unique int child: @ruby_program_child_type ref +); + +ruby_program_def( + unique int id: @ruby_program +); + +@ruby_range_begin_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_begin( + unique int ruby_range: @ruby_range ref, + unique int begin: @ruby_range_begin_type ref +); + +@ruby_range_end_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_end( + unique int ruby_range: @ruby_range ref, + unique int end: @ruby_range_end_type ref +); + +case @ruby_range.operator of + 0 = @ruby_range_dotdot +| 1 = @ruby_range_dotdotdot +; + + +ruby_range_def( + unique int id: @ruby_range, + int operator: int ref +); + +@ruby_rational_child_type = @ruby_token_float | @ruby_token_integer + +ruby_rational_def( + unique int id: @ruby_rational, + int child: @ruby_rational_child_type ref +); + +ruby_redo_child( + unique int ruby_redo: @ruby_redo ref, + unique int child: @ruby_argument_list ref +); + +ruby_redo_def( + unique int id: @ruby_redo +); + +@ruby_regex_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_regex, index] +ruby_regex_child( + int ruby_regex: @ruby_regex ref, + int index: int ref, + unique int child: @ruby_regex_child_type ref +); + +ruby_regex_def( + unique int id: @ruby_regex +); + +ruby_rescue_body( + unique int ruby_rescue: @ruby_rescue ref, + unique int body: @ruby_then ref +); + +ruby_rescue_exceptions( + unique int ruby_rescue: @ruby_rescue ref, + unique int exceptions: @ruby_exceptions ref +); + +ruby_rescue_variable( + unique int ruby_rescue: @ruby_rescue ref, + unique int variable: @ruby_exception_variable ref +); + +ruby_rescue_def( + unique int id: @ruby_rescue +); + +@ruby_rescue_modifier_body_type = @ruby_underscore_arg | @ruby_underscore_statement + +ruby_rescue_modifier_def( + unique int id: @ruby_rescue_modifier, + int body: @ruby_rescue_modifier_body_type ref, + int handler: @ruby_underscore_expression ref +); + +ruby_rest_assignment_child( + unique int ruby_rest_assignment: @ruby_rest_assignment ref, + unique int child: @ruby_underscore_lhs ref +); + +ruby_rest_assignment_def( + unique int id: @ruby_rest_assignment +); + +ruby_retry_child( + unique int ruby_retry: @ruby_retry ref, + unique int child: @ruby_argument_list ref +); + +ruby_retry_def( + unique int id: @ruby_retry +); + +ruby_return_child( + unique int ruby_return: @ruby_return ref, + unique int child: @ruby_argument_list ref +); + +ruby_return_def( + unique int id: @ruby_return +); + +@ruby_right_assignment_list_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_right_assignment_list, index] +ruby_right_assignment_list_child( + int ruby_right_assignment_list: @ruby_right_assignment_list ref, + int index: int ref, + unique int child: @ruby_right_assignment_list_child_type ref +); + +ruby_right_assignment_list_def( + unique int id: @ruby_right_assignment_list +); + +@ruby_scope_resolution_scope_type = @ruby_underscore_pattern_constant | @ruby_underscore_primary + +ruby_scope_resolution_scope( + unique int ruby_scope_resolution: @ruby_scope_resolution ref, + unique int scope: @ruby_scope_resolution_scope_type ref +); + +ruby_scope_resolution_def( + unique int id: @ruby_scope_resolution, + int name: @ruby_token_constant ref +); + +ruby_setter_def( + unique int id: @ruby_setter, + int name: @ruby_token_identifier ref +); + +ruby_singleton_class_body( + unique int ruby_singleton_class: @ruby_singleton_class ref, + unique int body: @ruby_body_statement ref +); + +ruby_singleton_class_def( + unique int id: @ruby_singleton_class, + int value: @ruby_underscore_arg ref +); + +@ruby_singleton_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_singleton_method_body( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int body: @ruby_singleton_method_body_type ref +); + +@ruby_singleton_method_object_type = @ruby_underscore_arg | @ruby_underscore_variable + +ruby_singleton_method_parameters( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_singleton_method_def( + unique int id: @ruby_singleton_method, + int name: @ruby_underscore_method_name ref, + int object: @ruby_singleton_method_object_type ref +); + +ruby_splat_argument_child( + unique int ruby_splat_argument: @ruby_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_splat_argument_def( + unique int id: @ruby_splat_argument +); + +ruby_splat_parameter_name( + unique int ruby_splat_parameter: @ruby_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_splat_parameter_def( + unique int id: @ruby_splat_parameter +); + +@ruby_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_string__, index] +ruby_string_child( + int ruby_string__: @ruby_string__ ref, + int index: int ref, + unique int child: @ruby_string_child_type ref +); + +ruby_string_def( + unique int id: @ruby_string__ +); + +#keyset[ruby_string_array, index] +ruby_string_array_child( + int ruby_string_array: @ruby_string_array ref, + int index: int ref, + unique int child: @ruby_bare_string ref +); + +ruby_string_array_def( + unique int id: @ruby_string_array +); + +@ruby_subshell_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_subshell, index] +ruby_subshell_child( + int ruby_subshell: @ruby_subshell ref, + int index: int ref, + unique int child: @ruby_subshell_child_type ref +); + +ruby_subshell_def( + unique int id: @ruby_subshell +); + +ruby_superclass_def( + unique int id: @ruby_superclass, + int child: @ruby_underscore_expression ref +); + +#keyset[ruby_symbol_array, index] +ruby_symbol_array_child( + int ruby_symbol_array: @ruby_symbol_array ref, + int index: int ref, + unique int child: @ruby_bare_symbol ref +); + +ruby_symbol_array_def( + unique int id: @ruby_symbol_array +); + +ruby_test_pattern_def( + unique int id: @ruby_test_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_then_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_then, index] +ruby_then_child( + int ruby_then: @ruby_then ref, + int index: int ref, + unique int child: @ruby_then_child_type ref +); + +ruby_then_def( + unique int id: @ruby_then +); + +@ruby_unary_operand_type = @ruby_parenthesized_statements | @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_unary.operator of + 0 = @ruby_unary_bang +| 1 = @ruby_unary_plus +| 2 = @ruby_unary_minus +| 3 = @ruby_unary_definedquestion +| 4 = @ruby_unary_not +| 5 = @ruby_unary_tilde +; + + +ruby_unary_def( + unique int id: @ruby_unary, + int operand: @ruby_unary_operand_type ref, + int operator: int ref +); + +#keyset[ruby_undef, index] +ruby_undef_child( + int ruby_undef: @ruby_undef ref, + int index: int ref, + unique int child: @ruby_underscore_method_name ref +); + +ruby_undef_def( + unique int id: @ruby_undef +); + +@ruby_unless_alternative_type = @ruby_else | @ruby_elsif + +ruby_unless_alternative( + unique int ruby_unless: @ruby_unless ref, + unique int alternative: @ruby_unless_alternative_type ref +); + +ruby_unless_consequence( + unique int ruby_unless: @ruby_unless ref, + unique int consequence: @ruby_then ref +); + +ruby_unless_def( + unique int id: @ruby_unless, + int condition: @ruby_underscore_statement ref +); + +ruby_unless_guard_def( + unique int id: @ruby_unless_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_unless_modifier_def( + unique int id: @ruby_unless_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_until_def( + unique int id: @ruby_until, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_until_modifier_def( + unique int id: @ruby_until_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +@ruby_variable_reference_pattern_name_type = @ruby_token_identifier | @ruby_underscore_nonlocal_variable + +ruby_variable_reference_pattern_def( + unique int id: @ruby_variable_reference_pattern, + int name: @ruby_variable_reference_pattern_name_type ref +); + +ruby_when_body( + unique int ruby_when: @ruby_when ref, + unique int body: @ruby_then ref +); + +#keyset[ruby_when, index] +ruby_when_pattern( + int ruby_when: @ruby_when ref, + int index: int ref, + unique int pattern: @ruby_pattern ref +); + +ruby_when_def( + unique int id: @ruby_when +); + +ruby_while_def( + unique int id: @ruby_while, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_while_modifier_def( + unique int id: @ruby_while_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_yield_child( + unique int ruby_yield: @ruby_yield ref, + unique int child: @ruby_argument_list ref +); + +ruby_yield_def( + unique int id: @ruby_yield +); + +ruby_tokeninfo( + unique int id: @ruby_token, + int kind: int ref, + string value: string ref +); + +case @ruby_token.kind of + 0 = @ruby_reserved_word +| 1 = @ruby_token_character +| 2 = @ruby_token_class_variable +| 3 = @ruby_token_comment +| 4 = @ruby_token_constant +| 5 = @ruby_token_empty_statement +| 6 = @ruby_token_encoding +| 7 = @ruby_token_escape_sequence +| 8 = @ruby_token_false +| 9 = @ruby_token_file +| 10 = @ruby_token_float +| 11 = @ruby_token_forward_argument +| 12 = @ruby_token_forward_parameter +| 13 = @ruby_token_global_variable +| 14 = @ruby_token_hash_key_symbol +| 15 = @ruby_token_hash_splat_nil +| 16 = @ruby_token_heredoc_beginning +| 17 = @ruby_token_heredoc_content +| 18 = @ruby_token_heredoc_end +| 19 = @ruby_token_identifier +| 20 = @ruby_token_instance_variable +| 21 = @ruby_token_integer +| 22 = @ruby_token_line +| 23 = @ruby_token_nil +| 24 = @ruby_token_operator +| 25 = @ruby_token_self +| 26 = @ruby_token_simple_symbol +| 27 = @ruby_token_string_content +| 28 = @ruby_token_super +| 29 = @ruby_token_true +| 30 = @ruby_token_uninterpreted +; + + +@ruby_ast_node = @ruby_alias | @ruby_alternative_pattern | @ruby_argument_list | @ruby_array | @ruby_array_pattern | @ruby_as_pattern | @ruby_assignment | @ruby_bare_string | @ruby_bare_symbol | @ruby_begin | @ruby_begin_block | @ruby_binary | @ruby_block | @ruby_block_argument | @ruby_block_body | @ruby_block_parameter | @ruby_block_parameters | @ruby_body_statement | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_complex | @ruby_conditional | @ruby_delimited_symbol | @ruby_destructured_left_assignment | @ruby_destructured_parameter | @ruby_do | @ruby_do_block | @ruby_element_reference | @ruby_else | @ruby_elsif | @ruby_end_block | @ruby_ensure | @ruby_exception_variable | @ruby_exceptions | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_for | @ruby_hash | @ruby_hash_pattern | @ruby_hash_splat_argument | @ruby_hash_splat_parameter | @ruby_heredoc_body | @ruby_if | @ruby_if_guard | @ruby_if_modifier | @ruby_in | @ruby_in_clause | @ruby_interpolation | @ruby_keyword_parameter | @ruby_keyword_pattern | @ruby_lambda | @ruby_lambda_parameters | @ruby_left_assignment_list | @ruby_match_pattern | @ruby_method | @ruby_method_parameters | @ruby_module | @ruby_next | @ruby_operator_assignment | @ruby_optional_parameter | @ruby_pair | @ruby_parenthesized_pattern | @ruby_parenthesized_statements | @ruby_pattern | @ruby_program | @ruby_range | @ruby_rational | @ruby_redo | @ruby_regex | @ruby_rescue | @ruby_rescue_modifier | @ruby_rest_assignment | @ruby_retry | @ruby_return | @ruby_right_assignment_list | @ruby_scope_resolution | @ruby_setter | @ruby_singleton_class | @ruby_singleton_method | @ruby_splat_argument | @ruby_splat_parameter | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_superclass | @ruby_symbol_array | @ruby_test_pattern | @ruby_then | @ruby_token | @ruby_unary | @ruby_undef | @ruby_unless | @ruby_unless_guard | @ruby_unless_modifier | @ruby_until | @ruby_until_modifier | @ruby_variable_reference_pattern | @ruby_when | @ruby_while | @ruby_while_modifier | @ruby_yield + +ruby_ast_node_location( + unique int node: @ruby_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +ruby_ast_node_parent( + unique int node: @ruby_ast_node ref, + int parent: @ruby_ast_node ref, + int parent_index: int ref +); + +/*- Erb dbscheme -*/ +erb_comment_directive_child( + unique int erb_comment_directive: @erb_comment_directive ref, + unique int child: @erb_token_comment ref +); + +erb_comment_directive_def( + unique int id: @erb_comment_directive +); + +erb_directive_child( + unique int erb_directive: @erb_directive ref, + unique int child: @erb_token_code ref +); + +erb_directive_def( + unique int id: @erb_directive +); + +erb_graphql_directive_child( + unique int erb_graphql_directive: @erb_graphql_directive ref, + unique int child: @erb_token_code ref +); + +erb_graphql_directive_def( + unique int id: @erb_graphql_directive +); + +erb_output_directive_child( + unique int erb_output_directive: @erb_output_directive ref, + unique int child: @erb_token_code ref +); + +erb_output_directive_def( + unique int id: @erb_output_directive +); + +@erb_template_child_type = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_token_content + +#keyset[erb_template, index] +erb_template_child( + int erb_template: @erb_template ref, + int index: int ref, + unique int child: @erb_template_child_type ref +); + +erb_template_def( + unique int id: @erb_template +); + +erb_tokeninfo( + unique int id: @erb_token, + int kind: int ref, + string value: string ref +); + +case @erb_token.kind of + 0 = @erb_reserved_word +| 1 = @erb_token_code +| 2 = @erb_token_comment +| 3 = @erb_token_content +; + + +@erb_ast_node = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_template | @erb_token + +erb_ast_node_location( + unique int node: @erb_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +erb_ast_node_parent( + unique int node: @erb_ast_node ref, + int parent: @erb_ast_node ref, + int parent_index: int ref +); + diff --git a/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/ruby.dbscheme b/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/ruby.dbscheme new file mode 100644 index 00000000000..29b7b6fc198 --- /dev/null +++ b/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/ruby.dbscheme @@ -0,0 +1,1549 @@ +// CodeQL database schema for Ruby +// Automatically generated from the tree-sitter grammar; do not edit +// To regenerate, run 'make dbscheme' in ql/ruby/ + +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + +/*- Ruby dbscheme -*/ +@ruby_underscore_arg = @ruby_assignment | @ruby_binary | @ruby_conditional | @ruby_operator_assignment | @ruby_range | @ruby_unary | @ruby_underscore_primary + +@ruby_underscore_call_operator = @ruby_reserved_word + +@ruby_underscore_expression = @ruby_assignment | @ruby_binary | @ruby_break | @ruby_call | @ruby_match_pattern | @ruby_next | @ruby_operator_assignment | @ruby_return | @ruby_test_pattern | @ruby_unary | @ruby_underscore_arg | @ruby_yield + +@ruby_underscore_lhs = @ruby_call | @ruby_element_reference | @ruby_scope_resolution | @ruby_token_false | @ruby_token_nil | @ruby_token_true | @ruby_underscore_variable + +@ruby_underscore_method_name = @ruby_delimited_symbol | @ruby_setter | @ruby_token_constant | @ruby_token_identifier | @ruby_token_operator | @ruby_token_simple_symbol | @ruby_underscore_nonlocal_variable + +@ruby_underscore_nonlocal_variable = @ruby_token_class_variable | @ruby_token_global_variable | @ruby_token_instance_variable + +@ruby_underscore_pattern_constant = @ruby_scope_resolution | @ruby_token_constant + +@ruby_underscore_pattern_expr = @ruby_alternative_pattern | @ruby_as_pattern | @ruby_underscore_pattern_expr_basic + +@ruby_underscore_pattern_expr_basic = @ruby_array_pattern | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_parenthesized_pattern | @ruby_range | @ruby_token_identifier | @ruby_underscore_pattern_constant | @ruby_underscore_pattern_primitive | @ruby_variable_reference_pattern + +@ruby_underscore_pattern_primitive = @ruby_delimited_symbol | @ruby_lambda | @ruby_regex | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_encoding | @ruby_token_false | @ruby_token_file | @ruby_token_heredoc_beginning | @ruby_token_line | @ruby_token_nil | @ruby_token_self | @ruby_token_simple_symbol | @ruby_token_true | @ruby_unary | @ruby_underscore_simple_numeric + +@ruby_underscore_pattern_top_expr_body = @ruby_array_pattern | @ruby_find_pattern | @ruby_hash_pattern | @ruby_underscore_pattern_expr + +@ruby_underscore_primary = @ruby_array | @ruby_begin | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_delimited_symbol | @ruby_for | @ruby_hash | @ruby_if | @ruby_lambda | @ruby_method | @ruby_module | @ruby_next | @ruby_parenthesized_statements | @ruby_redo | @ruby_regex | @ruby_retry | @ruby_return | @ruby_singleton_class | @ruby_singleton_method | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_symbol_array | @ruby_token_character | @ruby_token_heredoc_beginning | @ruby_token_simple_symbol | @ruby_unary | @ruby_underscore_lhs | @ruby_underscore_simple_numeric | @ruby_unless | @ruby_until | @ruby_while | @ruby_yield + +@ruby_underscore_simple_numeric = @ruby_complex | @ruby_rational | @ruby_token_float | @ruby_token_integer + +@ruby_underscore_statement = @ruby_alias | @ruby_begin_block | @ruby_end_block | @ruby_if_modifier | @ruby_rescue_modifier | @ruby_undef | @ruby_underscore_expression | @ruby_unless_modifier | @ruby_until_modifier | @ruby_while_modifier + +@ruby_underscore_variable = @ruby_token_constant | @ruby_token_identifier | @ruby_token_self | @ruby_token_super | @ruby_underscore_nonlocal_variable + +ruby_alias_def( + unique int id: @ruby_alias, + int alias: @ruby_underscore_method_name ref, + int name: @ruby_underscore_method_name ref +); + +#keyset[ruby_alternative_pattern, index] +ruby_alternative_pattern_alternatives( + int ruby_alternative_pattern: @ruby_alternative_pattern ref, + int index: int ref, + unique int alternatives: @ruby_underscore_pattern_expr_basic ref +); + +ruby_alternative_pattern_def( + unique int id: @ruby_alternative_pattern +); + +@ruby_argument_list_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_argument_list, index] +ruby_argument_list_child( + int ruby_argument_list: @ruby_argument_list ref, + int index: int ref, + unique int child: @ruby_argument_list_child_type ref +); + +ruby_argument_list_def( + unique int id: @ruby_argument_list +); + +@ruby_array_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_array, index] +ruby_array_child( + int ruby_array: @ruby_array ref, + int index: int ref, + unique int child: @ruby_array_child_type ref +); + +ruby_array_def( + unique int id: @ruby_array +); + +ruby_array_pattern_class( + unique int ruby_array_pattern: @ruby_array_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_array_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_array_pattern, index] +ruby_array_pattern_child( + int ruby_array_pattern: @ruby_array_pattern ref, + int index: int ref, + unique int child: @ruby_array_pattern_child_type ref +); + +ruby_array_pattern_def( + unique int id: @ruby_array_pattern +); + +ruby_as_pattern_def( + unique int id: @ruby_as_pattern, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_pattern_expr ref +); + +@ruby_assignment_left_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +@ruby_assignment_right_type = @ruby_rescue_modifier | @ruby_right_assignment_list | @ruby_splat_argument | @ruby_underscore_expression + +ruby_assignment_def( + unique int id: @ruby_assignment, + int left: @ruby_assignment_left_type ref, + int right: @ruby_assignment_right_type ref +); + +@ruby_bare_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_string, index] +ruby_bare_string_child( + int ruby_bare_string: @ruby_bare_string ref, + int index: int ref, + unique int child: @ruby_bare_string_child_type ref +); + +ruby_bare_string_def( + unique int id: @ruby_bare_string +); + +@ruby_bare_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_bare_symbol, index] +ruby_bare_symbol_child( + int ruby_bare_symbol: @ruby_bare_symbol ref, + int index: int ref, + unique int child: @ruby_bare_symbol_child_type ref +); + +ruby_bare_symbol_def( + unique int id: @ruby_bare_symbol +); + +@ruby_begin_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin, index] +ruby_begin_child( + int ruby_begin: @ruby_begin ref, + int index: int ref, + unique int child: @ruby_begin_child_type ref +); + +ruby_begin_def( + unique int id: @ruby_begin +); + +@ruby_begin_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_begin_block, index] +ruby_begin_block_child( + int ruby_begin_block: @ruby_begin_block ref, + int index: int ref, + unique int child: @ruby_begin_block_child_type ref +); + +ruby_begin_block_def( + unique int id: @ruby_begin_block +); + +@ruby_binary_left_type = @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_binary.operator of + 0 = @ruby_binary_bangequal +| 1 = @ruby_binary_bangtilde +| 2 = @ruby_binary_percent +| 3 = @ruby_binary_ampersand +| 4 = @ruby_binary_ampersandampersand +| 5 = @ruby_binary_star +| 6 = @ruby_binary_starstar +| 7 = @ruby_binary_plus +| 8 = @ruby_binary_minus +| 9 = @ruby_binary_slash +| 10 = @ruby_binary_langle +| 11 = @ruby_binary_langlelangle +| 12 = @ruby_binary_langleequal +| 13 = @ruby_binary_langleequalrangle +| 14 = @ruby_binary_equalequal +| 15 = @ruby_binary_equalequalequal +| 16 = @ruby_binary_equaltilde +| 17 = @ruby_binary_rangle +| 18 = @ruby_binary_rangleequal +| 19 = @ruby_binary_ranglerangle +| 20 = @ruby_binary_caret +| 21 = @ruby_binary_and +| 22 = @ruby_binary_or +| 23 = @ruby_binary_pipe +| 24 = @ruby_binary_pipepipe +; + + +ruby_binary_def( + unique int id: @ruby_binary, + int left: @ruby_binary_left_type ref, + int operator: int ref, + int right: @ruby_underscore_expression ref +); + +ruby_block_body( + unique int ruby_block: @ruby_block ref, + unique int body: @ruby_block_body ref +); + +ruby_block_parameters( + unique int ruby_block: @ruby_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_block_def( + unique int id: @ruby_block +); + +ruby_block_argument_child( + unique int ruby_block_argument: @ruby_block_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_block_argument_def( + unique int id: @ruby_block_argument +); + +@ruby_block_body_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_block_body, index] +ruby_block_body_child( + int ruby_block_body: @ruby_block_body ref, + int index: int ref, + unique int child: @ruby_block_body_child_type ref +); + +ruby_block_body_def( + unique int id: @ruby_block_body +); + +ruby_block_parameter_name( + unique int ruby_block_parameter: @ruby_block_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_block_parameter_def( + unique int id: @ruby_block_parameter +); + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_locals( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int locals: @ruby_token_identifier ref +); + +@ruby_block_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_block_parameters, index] +ruby_block_parameters_child( + int ruby_block_parameters: @ruby_block_parameters ref, + int index: int ref, + unique int child: @ruby_block_parameters_child_type ref +); + +ruby_block_parameters_def( + unique int id: @ruby_block_parameters +); + +@ruby_body_statement_child_type = @ruby_else | @ruby_ensure | @ruby_rescue | @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_body_statement, index] +ruby_body_statement_child( + int ruby_body_statement: @ruby_body_statement ref, + int index: int ref, + unique int child: @ruby_body_statement_child_type ref +); + +ruby_body_statement_def( + unique int id: @ruby_body_statement +); + +ruby_break_child( + unique int ruby_break: @ruby_break ref, + unique int child: @ruby_argument_list ref +); + +ruby_break_def( + unique int id: @ruby_break +); + +ruby_call_arguments( + unique int ruby_call: @ruby_call ref, + unique int arguments: @ruby_argument_list ref +); + +@ruby_call_block_type = @ruby_block | @ruby_do_block + +ruby_call_block( + unique int ruby_call: @ruby_call ref, + unique int block: @ruby_call_block_type ref +); + +@ruby_call_method_type = @ruby_token_operator | @ruby_underscore_variable + +ruby_call_method( + unique int ruby_call: @ruby_call ref, + unique int method: @ruby_call_method_type ref +); + +ruby_call_operator( + unique int ruby_call: @ruby_call ref, + unique int operator: @ruby_underscore_call_operator ref +); + +ruby_call_receiver( + unique int ruby_call: @ruby_call ref, + unique int receiver: @ruby_underscore_primary ref +); + +ruby_call_def( + unique int id: @ruby_call +); + +ruby_case_value( + unique int ruby_case__: @ruby_case__ ref, + unique int value: @ruby_underscore_statement ref +); + +@ruby_case_child_type = @ruby_else | @ruby_when + +#keyset[ruby_case__, index] +ruby_case_child( + int ruby_case__: @ruby_case__ ref, + int index: int ref, + unique int child: @ruby_case_child_type ref +); + +ruby_case_def( + unique int id: @ruby_case__ +); + +#keyset[ruby_case_match, index] +ruby_case_match_clauses( + int ruby_case_match: @ruby_case_match ref, + int index: int ref, + unique int clauses: @ruby_in_clause ref +); + +ruby_case_match_else( + unique int ruby_case_match: @ruby_case_match ref, + unique int else: @ruby_else ref +); + +ruby_case_match_def( + unique int id: @ruby_case_match, + int value: @ruby_underscore_statement ref +); + +#keyset[ruby_chained_string, index] +ruby_chained_string_child( + int ruby_chained_string: @ruby_chained_string ref, + int index: int ref, + unique int child: @ruby_string__ ref +); + +ruby_chained_string_def( + unique int id: @ruby_chained_string +); + +ruby_class_body( + unique int ruby_class: @ruby_class ref, + unique int body: @ruby_body_statement ref +); + +@ruby_class_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_class_superclass( + unique int ruby_class: @ruby_class ref, + unique int superclass: @ruby_superclass ref +); + +ruby_class_def( + unique int id: @ruby_class, + int name: @ruby_class_name_type ref +); + +@ruby_complex_child_type = @ruby_rational | @ruby_token_float | @ruby_token_integer + +ruby_complex_def( + unique int id: @ruby_complex, + int child: @ruby_complex_child_type ref +); + +ruby_conditional_def( + unique int id: @ruby_conditional, + int alternative: @ruby_underscore_arg ref, + int condition: @ruby_underscore_arg ref, + int consequence: @ruby_underscore_arg ref +); + +@ruby_delimited_symbol_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_delimited_symbol, index] +ruby_delimited_symbol_child( + int ruby_delimited_symbol: @ruby_delimited_symbol ref, + int index: int ref, + unique int child: @ruby_delimited_symbol_child_type ref +); + +ruby_delimited_symbol_def( + unique int id: @ruby_delimited_symbol +); + +@ruby_destructured_left_assignment_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_destructured_left_assignment, index] +ruby_destructured_left_assignment_child( + int ruby_destructured_left_assignment: @ruby_destructured_left_assignment ref, + int index: int ref, + unique int child: @ruby_destructured_left_assignment_child_type ref +); + +ruby_destructured_left_assignment_def( + unique int id: @ruby_destructured_left_assignment +); + +@ruby_destructured_parameter_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_destructured_parameter, index] +ruby_destructured_parameter_child( + int ruby_destructured_parameter: @ruby_destructured_parameter ref, + int index: int ref, + unique int child: @ruby_destructured_parameter_child_type ref +); + +ruby_destructured_parameter_def( + unique int id: @ruby_destructured_parameter +); + +@ruby_do_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_do, index] +ruby_do_child( + int ruby_do: @ruby_do ref, + int index: int ref, + unique int child: @ruby_do_child_type ref +); + +ruby_do_def( + unique int id: @ruby_do +); + +ruby_do_block_body( + unique int ruby_do_block: @ruby_do_block ref, + unique int body: @ruby_body_statement ref +); + +ruby_do_block_parameters( + unique int ruby_do_block: @ruby_do_block ref, + unique int parameters: @ruby_block_parameters ref +); + +ruby_do_block_def( + unique int id: @ruby_do_block +); + +@ruby_element_reference_block_type = @ruby_block | @ruby_do_block + +ruby_element_reference_block( + unique int ruby_element_reference: @ruby_element_reference ref, + unique int block: @ruby_element_reference_block_type ref +); + +@ruby_element_reference_child_type = @ruby_block_argument | @ruby_hash_splat_argument | @ruby_pair | @ruby_splat_argument | @ruby_token_forward_argument | @ruby_underscore_expression + +#keyset[ruby_element_reference, index] +ruby_element_reference_child( + int ruby_element_reference: @ruby_element_reference ref, + int index: int ref, + unique int child: @ruby_element_reference_child_type ref +); + +ruby_element_reference_def( + unique int id: @ruby_element_reference, + int object: @ruby_underscore_primary ref +); + +@ruby_else_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_else, index] +ruby_else_child( + int ruby_else: @ruby_else ref, + int index: int ref, + unique int child: @ruby_else_child_type ref +); + +ruby_else_def( + unique int id: @ruby_else +); + +@ruby_elsif_alternative_type = @ruby_else | @ruby_elsif + +ruby_elsif_alternative( + unique int ruby_elsif: @ruby_elsif ref, + unique int alternative: @ruby_elsif_alternative_type ref +); + +ruby_elsif_consequence( + unique int ruby_elsif: @ruby_elsif ref, + unique int consequence: @ruby_then ref +); + +ruby_elsif_def( + unique int id: @ruby_elsif, + int condition: @ruby_underscore_statement ref +); + +@ruby_end_block_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_end_block, index] +ruby_end_block_child( + int ruby_end_block: @ruby_end_block ref, + int index: int ref, + unique int child: @ruby_end_block_child_type ref +); + +ruby_end_block_def( + unique int id: @ruby_end_block +); + +@ruby_ensure_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_ensure, index] +ruby_ensure_child( + int ruby_ensure: @ruby_ensure ref, + int index: int ref, + unique int child: @ruby_ensure_child_type ref +); + +ruby_ensure_def( + unique int id: @ruby_ensure +); + +ruby_exception_variable_def( + unique int id: @ruby_exception_variable, + int child: @ruby_underscore_lhs ref +); + +@ruby_exceptions_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_exceptions, index] +ruby_exceptions_child( + int ruby_exceptions: @ruby_exceptions ref, + int index: int ref, + unique int child: @ruby_exceptions_child_type ref +); + +ruby_exceptions_def( + unique int id: @ruby_exceptions +); + +ruby_expression_reference_pattern_def( + unique int id: @ruby_expression_reference_pattern, + int value: @ruby_underscore_expression ref +); + +ruby_find_pattern_class( + unique int ruby_find_pattern: @ruby_find_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_find_pattern_child_type = @ruby_splat_parameter | @ruby_underscore_pattern_expr + +#keyset[ruby_find_pattern, index] +ruby_find_pattern_child( + int ruby_find_pattern: @ruby_find_pattern ref, + int index: int ref, + unique int child: @ruby_find_pattern_child_type ref +); + +ruby_find_pattern_def( + unique int id: @ruby_find_pattern +); + +@ruby_for_pattern_type = @ruby_left_assignment_list | @ruby_underscore_lhs + +ruby_for_def( + unique int id: @ruby_for, + int body: @ruby_do ref, + int pattern: @ruby_for_pattern_type ref, + int value: @ruby_in ref +); + +@ruby_hash_child_type = @ruby_hash_splat_argument | @ruby_pair + +#keyset[ruby_hash, index] +ruby_hash_child( + int ruby_hash: @ruby_hash ref, + int index: int ref, + unique int child: @ruby_hash_child_type ref +); + +ruby_hash_def( + unique int id: @ruby_hash +); + +ruby_hash_pattern_class( + unique int ruby_hash_pattern: @ruby_hash_pattern ref, + unique int class: @ruby_underscore_pattern_constant ref +); + +@ruby_hash_pattern_child_type = @ruby_hash_splat_parameter | @ruby_keyword_pattern | @ruby_token_hash_splat_nil + +#keyset[ruby_hash_pattern, index] +ruby_hash_pattern_child( + int ruby_hash_pattern: @ruby_hash_pattern ref, + int index: int ref, + unique int child: @ruby_hash_pattern_child_type ref +); + +ruby_hash_pattern_def( + unique int id: @ruby_hash_pattern +); + +ruby_hash_splat_argument_child( + unique int ruby_hash_splat_argument: @ruby_hash_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_hash_splat_argument_def( + unique int id: @ruby_hash_splat_argument +); + +ruby_hash_splat_parameter_name( + unique int ruby_hash_splat_parameter: @ruby_hash_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_hash_splat_parameter_def( + unique int id: @ruby_hash_splat_parameter +); + +@ruby_heredoc_body_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_heredoc_content | @ruby_token_heredoc_end + +#keyset[ruby_heredoc_body, index] +ruby_heredoc_body_child( + int ruby_heredoc_body: @ruby_heredoc_body ref, + int index: int ref, + unique int child: @ruby_heredoc_body_child_type ref +); + +ruby_heredoc_body_def( + unique int id: @ruby_heredoc_body +); + +@ruby_if_alternative_type = @ruby_else | @ruby_elsif + +ruby_if_alternative( + unique int ruby_if: @ruby_if ref, + unique int alternative: @ruby_if_alternative_type ref +); + +ruby_if_consequence( + unique int ruby_if: @ruby_if ref, + unique int consequence: @ruby_then ref +); + +ruby_if_def( + unique int id: @ruby_if, + int condition: @ruby_underscore_statement ref +); + +ruby_if_guard_def( + unique int id: @ruby_if_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_if_modifier_def( + unique int id: @ruby_if_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_in_def( + unique int id: @ruby_in, + int child: @ruby_underscore_arg ref +); + +ruby_in_clause_body( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int body: @ruby_then ref +); + +@ruby_in_clause_guard_type = @ruby_if_guard | @ruby_unless_guard + +ruby_in_clause_guard( + unique int ruby_in_clause: @ruby_in_clause ref, + unique int guard: @ruby_in_clause_guard_type ref +); + +ruby_in_clause_def( + unique int id: @ruby_in_clause, + int pattern: @ruby_underscore_pattern_top_expr_body ref +); + +@ruby_interpolation_child_type = @ruby_token_empty_statement | @ruby_underscore_nonlocal_variable | @ruby_underscore_statement + +#keyset[ruby_interpolation, index] +ruby_interpolation_child( + int ruby_interpolation: @ruby_interpolation ref, + int index: int ref, + unique int child: @ruby_interpolation_child_type ref +); + +ruby_interpolation_def( + unique int id: @ruby_interpolation +); + +ruby_keyword_parameter_value( + unique int ruby_keyword_parameter: @ruby_keyword_parameter ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_keyword_parameter_def( + unique int id: @ruby_keyword_parameter, + int name: @ruby_token_identifier ref +); + +@ruby_keyword_pattern_key_type = @ruby_string__ | @ruby_token_hash_key_symbol + +ruby_keyword_pattern_value( + unique int ruby_keyword_pattern: @ruby_keyword_pattern ref, + unique int value: @ruby_underscore_pattern_expr ref +); + +ruby_keyword_pattern_def( + unique int id: @ruby_keyword_pattern, + int key__: @ruby_keyword_pattern_key_type ref +); + +@ruby_lambda_body_type = @ruby_block | @ruby_do_block + +ruby_lambda_parameters( + unique int ruby_lambda: @ruby_lambda ref, + unique int parameters: @ruby_lambda_parameters ref +); + +ruby_lambda_def( + unique int id: @ruby_lambda, + int body: @ruby_lambda_body_type ref +); + +@ruby_lambda_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_lambda_parameters, index] +ruby_lambda_parameters_child( + int ruby_lambda_parameters: @ruby_lambda_parameters ref, + int index: int ref, + unique int child: @ruby_lambda_parameters_child_type ref +); + +ruby_lambda_parameters_def( + unique int id: @ruby_lambda_parameters +); + +@ruby_left_assignment_list_child_type = @ruby_destructured_left_assignment | @ruby_rest_assignment | @ruby_underscore_lhs + +#keyset[ruby_left_assignment_list, index] +ruby_left_assignment_list_child( + int ruby_left_assignment_list: @ruby_left_assignment_list ref, + int index: int ref, + unique int child: @ruby_left_assignment_list_child_type ref +); + +ruby_left_assignment_list_def( + unique int id: @ruby_left_assignment_list +); + +ruby_match_pattern_def( + unique int id: @ruby_match_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_method_body( + unique int ruby_method: @ruby_method ref, + unique int body: @ruby_method_body_type ref +); + +ruby_method_parameters( + unique int ruby_method: @ruby_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_method_def( + unique int id: @ruby_method, + int name: @ruby_underscore_method_name ref +); + +@ruby_method_parameters_child_type = @ruby_block_parameter | @ruby_destructured_parameter | @ruby_hash_splat_parameter | @ruby_keyword_parameter | @ruby_optional_parameter | @ruby_splat_parameter | @ruby_token_forward_parameter | @ruby_token_hash_splat_nil | @ruby_token_identifier + +#keyset[ruby_method_parameters, index] +ruby_method_parameters_child( + int ruby_method_parameters: @ruby_method_parameters ref, + int index: int ref, + unique int child: @ruby_method_parameters_child_type ref +); + +ruby_method_parameters_def( + unique int id: @ruby_method_parameters +); + +ruby_module_body( + unique int ruby_module: @ruby_module ref, + unique int body: @ruby_body_statement ref +); + +@ruby_module_name_type = @ruby_scope_resolution | @ruby_token_constant + +ruby_module_def( + unique int id: @ruby_module, + int name: @ruby_module_name_type ref +); + +ruby_next_child( + unique int ruby_next: @ruby_next ref, + unique int child: @ruby_argument_list ref +); + +ruby_next_def( + unique int id: @ruby_next +); + +case @ruby_operator_assignment.operator of + 0 = @ruby_operator_assignment_percentequal +| 1 = @ruby_operator_assignment_ampersandampersandequal +| 2 = @ruby_operator_assignment_ampersandequal +| 3 = @ruby_operator_assignment_starstarequal +| 4 = @ruby_operator_assignment_starequal +| 5 = @ruby_operator_assignment_plusequal +| 6 = @ruby_operator_assignment_minusequal +| 7 = @ruby_operator_assignment_slashequal +| 8 = @ruby_operator_assignment_langlelangleequal +| 9 = @ruby_operator_assignment_ranglerangleequal +| 10 = @ruby_operator_assignment_caretequal +| 11 = @ruby_operator_assignment_pipeequal +| 12 = @ruby_operator_assignment_pipepipeequal +; + + +@ruby_operator_assignment_right_type = @ruby_rescue_modifier | @ruby_underscore_expression + +ruby_operator_assignment_def( + unique int id: @ruby_operator_assignment, + int left: @ruby_underscore_lhs ref, + int operator: int ref, + int right: @ruby_operator_assignment_right_type ref +); + +ruby_optional_parameter_def( + unique int id: @ruby_optional_parameter, + int name: @ruby_token_identifier ref, + int value: @ruby_underscore_arg ref +); + +@ruby_pair_key_type = @ruby_string__ | @ruby_token_hash_key_symbol | @ruby_underscore_arg + +ruby_pair_value( + unique int ruby_pair: @ruby_pair ref, + unique int value: @ruby_underscore_arg ref +); + +ruby_pair_def( + unique int id: @ruby_pair, + int key__: @ruby_pair_key_type ref +); + +ruby_parenthesized_pattern_def( + unique int id: @ruby_parenthesized_pattern, + int child: @ruby_underscore_pattern_expr ref +); + +@ruby_parenthesized_statements_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_parenthesized_statements, index] +ruby_parenthesized_statements_child( + int ruby_parenthesized_statements: @ruby_parenthesized_statements ref, + int index: int ref, + unique int child: @ruby_parenthesized_statements_child_type ref +); + +ruby_parenthesized_statements_def( + unique int id: @ruby_parenthesized_statements +); + +@ruby_pattern_child_type = @ruby_splat_argument | @ruby_underscore_arg + +ruby_pattern_def( + unique int id: @ruby_pattern, + int child: @ruby_pattern_child_type ref +); + +@ruby_program_child_type = @ruby_token_empty_statement | @ruby_token_uninterpreted | @ruby_underscore_statement + +#keyset[ruby_program, index] +ruby_program_child( + int ruby_program: @ruby_program ref, + int index: int ref, + unique int child: @ruby_program_child_type ref +); + +ruby_program_def( + unique int id: @ruby_program +); + +@ruby_range_begin_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_begin( + unique int ruby_range: @ruby_range ref, + unique int begin: @ruby_range_begin_type ref +); + +@ruby_range_end_type = @ruby_underscore_arg | @ruby_underscore_pattern_primitive + +ruby_range_end( + unique int ruby_range: @ruby_range ref, + unique int end: @ruby_range_end_type ref +); + +case @ruby_range.operator of + 0 = @ruby_range_dotdot +| 1 = @ruby_range_dotdotdot +; + + +ruby_range_def( + unique int id: @ruby_range, + int operator: int ref +); + +@ruby_rational_child_type = @ruby_token_float | @ruby_token_integer + +ruby_rational_def( + unique int id: @ruby_rational, + int child: @ruby_rational_child_type ref +); + +ruby_redo_child( + unique int ruby_redo: @ruby_redo ref, + unique int child: @ruby_argument_list ref +); + +ruby_redo_def( + unique int id: @ruby_redo +); + +@ruby_regex_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_regex, index] +ruby_regex_child( + int ruby_regex: @ruby_regex ref, + int index: int ref, + unique int child: @ruby_regex_child_type ref +); + +ruby_regex_def( + unique int id: @ruby_regex +); + +ruby_rescue_body( + unique int ruby_rescue: @ruby_rescue ref, + unique int body: @ruby_then ref +); + +ruby_rescue_exceptions( + unique int ruby_rescue: @ruby_rescue ref, + unique int exceptions: @ruby_exceptions ref +); + +ruby_rescue_variable( + unique int ruby_rescue: @ruby_rescue ref, + unique int variable: @ruby_exception_variable ref +); + +ruby_rescue_def( + unique int id: @ruby_rescue +); + +@ruby_rescue_modifier_body_type = @ruby_underscore_arg | @ruby_underscore_statement + +ruby_rescue_modifier_def( + unique int id: @ruby_rescue_modifier, + int body: @ruby_rescue_modifier_body_type ref, + int handler: @ruby_underscore_expression ref +); + +ruby_rest_assignment_child( + unique int ruby_rest_assignment: @ruby_rest_assignment ref, + unique int child: @ruby_underscore_lhs ref +); + +ruby_rest_assignment_def( + unique int id: @ruby_rest_assignment +); + +ruby_retry_child( + unique int ruby_retry: @ruby_retry ref, + unique int child: @ruby_argument_list ref +); + +ruby_retry_def( + unique int id: @ruby_retry +); + +ruby_return_child( + unique int ruby_return: @ruby_return ref, + unique int child: @ruby_argument_list ref +); + +ruby_return_def( + unique int id: @ruby_return +); + +@ruby_right_assignment_list_child_type = @ruby_splat_argument | @ruby_underscore_arg + +#keyset[ruby_right_assignment_list, index] +ruby_right_assignment_list_child( + int ruby_right_assignment_list: @ruby_right_assignment_list ref, + int index: int ref, + unique int child: @ruby_right_assignment_list_child_type ref +); + +ruby_right_assignment_list_def( + unique int id: @ruby_right_assignment_list +); + +@ruby_scope_resolution_scope_type = @ruby_underscore_pattern_constant | @ruby_underscore_primary + +ruby_scope_resolution_scope( + unique int ruby_scope_resolution: @ruby_scope_resolution ref, + unique int scope: @ruby_scope_resolution_scope_type ref +); + +ruby_scope_resolution_def( + unique int id: @ruby_scope_resolution, + int name: @ruby_token_constant ref +); + +ruby_setter_def( + unique int id: @ruby_setter, + int name: @ruby_token_identifier ref +); + +ruby_singleton_class_body( + unique int ruby_singleton_class: @ruby_singleton_class ref, + unique int body: @ruby_body_statement ref +); + +ruby_singleton_class_def( + unique int id: @ruby_singleton_class, + int value: @ruby_underscore_arg ref +); + +@ruby_singleton_method_body_type = @ruby_body_statement | @ruby_rescue_modifier | @ruby_underscore_arg + +ruby_singleton_method_body( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int body: @ruby_singleton_method_body_type ref +); + +@ruby_singleton_method_object_type = @ruby_underscore_arg | @ruby_underscore_variable + +ruby_singleton_method_parameters( + unique int ruby_singleton_method: @ruby_singleton_method ref, + unique int parameters: @ruby_method_parameters ref +); + +ruby_singleton_method_def( + unique int id: @ruby_singleton_method, + int name: @ruby_underscore_method_name ref, + int object: @ruby_singleton_method_object_type ref +); + +ruby_splat_argument_child( + unique int ruby_splat_argument: @ruby_splat_argument ref, + unique int child: @ruby_underscore_arg ref +); + +ruby_splat_argument_def( + unique int id: @ruby_splat_argument +); + +ruby_splat_parameter_name( + unique int ruby_splat_parameter: @ruby_splat_parameter ref, + unique int name: @ruby_token_identifier ref +); + +ruby_splat_parameter_def( + unique int id: @ruby_splat_parameter +); + +@ruby_string_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_string__, index] +ruby_string_child( + int ruby_string__: @ruby_string__ ref, + int index: int ref, + unique int child: @ruby_string_child_type ref +); + +ruby_string_def( + unique int id: @ruby_string__ +); + +#keyset[ruby_string_array, index] +ruby_string_array_child( + int ruby_string_array: @ruby_string_array ref, + int index: int ref, + unique int child: @ruby_bare_string ref +); + +ruby_string_array_def( + unique int id: @ruby_string_array +); + +@ruby_subshell_child_type = @ruby_interpolation | @ruby_token_escape_sequence | @ruby_token_string_content + +#keyset[ruby_subshell, index] +ruby_subshell_child( + int ruby_subshell: @ruby_subshell ref, + int index: int ref, + unique int child: @ruby_subshell_child_type ref +); + +ruby_subshell_def( + unique int id: @ruby_subshell +); + +ruby_superclass_def( + unique int id: @ruby_superclass, + int child: @ruby_underscore_expression ref +); + +#keyset[ruby_symbol_array, index] +ruby_symbol_array_child( + int ruby_symbol_array: @ruby_symbol_array ref, + int index: int ref, + unique int child: @ruby_bare_symbol ref +); + +ruby_symbol_array_def( + unique int id: @ruby_symbol_array +); + +ruby_test_pattern_def( + unique int id: @ruby_test_pattern, + int pattern: @ruby_underscore_pattern_top_expr_body ref, + int value: @ruby_underscore_arg ref +); + +@ruby_then_child_type = @ruby_token_empty_statement | @ruby_underscore_statement + +#keyset[ruby_then, index] +ruby_then_child( + int ruby_then: @ruby_then ref, + int index: int ref, + unique int child: @ruby_then_child_type ref +); + +ruby_then_def( + unique int id: @ruby_then +); + +@ruby_unary_operand_type = @ruby_parenthesized_statements | @ruby_underscore_expression | @ruby_underscore_simple_numeric + +case @ruby_unary.operator of + 0 = @ruby_unary_bang +| 1 = @ruby_unary_plus +| 2 = @ruby_unary_minus +| 3 = @ruby_unary_definedquestion +| 4 = @ruby_unary_not +| 5 = @ruby_unary_tilde +; + + +ruby_unary_def( + unique int id: @ruby_unary, + int operand: @ruby_unary_operand_type ref, + int operator: int ref +); + +#keyset[ruby_undef, index] +ruby_undef_child( + int ruby_undef: @ruby_undef ref, + int index: int ref, + unique int child: @ruby_underscore_method_name ref +); + +ruby_undef_def( + unique int id: @ruby_undef +); + +@ruby_unless_alternative_type = @ruby_else | @ruby_elsif + +ruby_unless_alternative( + unique int ruby_unless: @ruby_unless ref, + unique int alternative: @ruby_unless_alternative_type ref +); + +ruby_unless_consequence( + unique int ruby_unless: @ruby_unless ref, + unique int consequence: @ruby_then ref +); + +ruby_unless_def( + unique int id: @ruby_unless, + int condition: @ruby_underscore_statement ref +); + +ruby_unless_guard_def( + unique int id: @ruby_unless_guard, + int condition: @ruby_underscore_expression ref +); + +ruby_unless_modifier_def( + unique int id: @ruby_unless_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_until_def( + unique int id: @ruby_until, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_until_modifier_def( + unique int id: @ruby_until_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +@ruby_variable_reference_pattern_name_type = @ruby_token_identifier | @ruby_underscore_nonlocal_variable + +ruby_variable_reference_pattern_def( + unique int id: @ruby_variable_reference_pattern, + int name: @ruby_variable_reference_pattern_name_type ref +); + +ruby_when_body( + unique int ruby_when: @ruby_when ref, + unique int body: @ruby_then ref +); + +#keyset[ruby_when, index] +ruby_when_pattern( + int ruby_when: @ruby_when ref, + int index: int ref, + unique int pattern: @ruby_pattern ref +); + +ruby_when_def( + unique int id: @ruby_when +); + +ruby_while_def( + unique int id: @ruby_while, + int body: @ruby_do ref, + int condition: @ruby_underscore_statement ref +); + +ruby_while_modifier_def( + unique int id: @ruby_while_modifier, + int body: @ruby_underscore_statement ref, + int condition: @ruby_underscore_expression ref +); + +ruby_yield_child( + unique int ruby_yield: @ruby_yield ref, + unique int child: @ruby_argument_list ref +); + +ruby_yield_def( + unique int id: @ruby_yield +); + +ruby_tokeninfo( + unique int id: @ruby_token, + int kind: int ref, + string value: string ref +); + +case @ruby_token.kind of + 0 = @ruby_reserved_word +| 1 = @ruby_token_character +| 2 = @ruby_token_class_variable +| 3 = @ruby_token_comment +| 4 = @ruby_token_constant +| 5 = @ruby_token_empty_statement +| 6 = @ruby_token_encoding +| 7 = @ruby_token_escape_sequence +| 8 = @ruby_token_false +| 9 = @ruby_token_file +| 10 = @ruby_token_float +| 11 = @ruby_token_forward_argument +| 12 = @ruby_token_forward_parameter +| 13 = @ruby_token_global_variable +| 14 = @ruby_token_hash_key_symbol +| 15 = @ruby_token_hash_splat_nil +| 16 = @ruby_token_heredoc_beginning +| 17 = @ruby_token_heredoc_content +| 18 = @ruby_token_heredoc_end +| 19 = @ruby_token_identifier +| 20 = @ruby_token_instance_variable +| 21 = @ruby_token_integer +| 22 = @ruby_token_line +| 23 = @ruby_token_nil +| 24 = @ruby_token_operator +| 25 = @ruby_token_self +| 26 = @ruby_token_simple_symbol +| 27 = @ruby_token_string_content +| 28 = @ruby_token_super +| 29 = @ruby_token_true +| 30 = @ruby_token_uninterpreted +; + + +@ruby_ast_node = @ruby_alias | @ruby_alternative_pattern | @ruby_argument_list | @ruby_array | @ruby_array_pattern | @ruby_as_pattern | @ruby_assignment | @ruby_bare_string | @ruby_bare_symbol | @ruby_begin | @ruby_begin_block | @ruby_binary | @ruby_block | @ruby_block_argument | @ruby_block_body | @ruby_block_parameter | @ruby_block_parameters | @ruby_body_statement | @ruby_break | @ruby_call | @ruby_case__ | @ruby_case_match | @ruby_chained_string | @ruby_class | @ruby_complex | @ruby_conditional | @ruby_delimited_symbol | @ruby_destructured_left_assignment | @ruby_destructured_parameter | @ruby_do | @ruby_do_block | @ruby_element_reference | @ruby_else | @ruby_elsif | @ruby_end_block | @ruby_ensure | @ruby_exception_variable | @ruby_exceptions | @ruby_expression_reference_pattern | @ruby_find_pattern | @ruby_for | @ruby_hash | @ruby_hash_pattern | @ruby_hash_splat_argument | @ruby_hash_splat_parameter | @ruby_heredoc_body | @ruby_if | @ruby_if_guard | @ruby_if_modifier | @ruby_in | @ruby_in_clause | @ruby_interpolation | @ruby_keyword_parameter | @ruby_keyword_pattern | @ruby_lambda | @ruby_lambda_parameters | @ruby_left_assignment_list | @ruby_match_pattern | @ruby_method | @ruby_method_parameters | @ruby_module | @ruby_next | @ruby_operator_assignment | @ruby_optional_parameter | @ruby_pair | @ruby_parenthesized_pattern | @ruby_parenthesized_statements | @ruby_pattern | @ruby_program | @ruby_range | @ruby_rational | @ruby_redo | @ruby_regex | @ruby_rescue | @ruby_rescue_modifier | @ruby_rest_assignment | @ruby_retry | @ruby_return | @ruby_right_assignment_list | @ruby_scope_resolution | @ruby_setter | @ruby_singleton_class | @ruby_singleton_method | @ruby_splat_argument | @ruby_splat_parameter | @ruby_string__ | @ruby_string_array | @ruby_subshell | @ruby_superclass | @ruby_symbol_array | @ruby_test_pattern | @ruby_then | @ruby_token | @ruby_unary | @ruby_undef | @ruby_unless | @ruby_unless_guard | @ruby_unless_modifier | @ruby_until | @ruby_until_modifier | @ruby_variable_reference_pattern | @ruby_when | @ruby_while | @ruby_while_modifier | @ruby_yield + +ruby_ast_node_location( + unique int node: @ruby_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +ruby_ast_node_parent( + unique int node: @ruby_ast_node ref, + int parent: @ruby_ast_node ref, + int parent_index: int ref +); + +/*- Erb dbscheme -*/ +erb_comment_directive_child( + unique int erb_comment_directive: @erb_comment_directive ref, + unique int child: @erb_token_comment ref +); + +erb_comment_directive_def( + unique int id: @erb_comment_directive +); + +erb_directive_child( + unique int erb_directive: @erb_directive ref, + unique int child: @erb_token_code ref +); + +erb_directive_def( + unique int id: @erb_directive +); + +erb_graphql_directive_child( + unique int erb_graphql_directive: @erb_graphql_directive ref, + unique int child: @erb_token_code ref +); + +erb_graphql_directive_def( + unique int id: @erb_graphql_directive +); + +erb_output_directive_child( + unique int erb_output_directive: @erb_output_directive ref, + unique int child: @erb_token_code ref +); + +erb_output_directive_def( + unique int id: @erb_output_directive +); + +@erb_template_child_type = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_token_content + +#keyset[erb_template, index] +erb_template_child( + int erb_template: @erb_template ref, + int index: int ref, + unique int child: @erb_template_child_type ref +); + +erb_template_def( + unique int id: @erb_template +); + +erb_tokeninfo( + unique int id: @erb_token, + int kind: int ref, + string value: string ref +); + +case @erb_token.kind of + 0 = @erb_reserved_word +| 1 = @erb_token_code +| 2 = @erb_token_comment +| 3 = @erb_token_content +; + + +@erb_ast_node = @erb_comment_directive | @erb_directive | @erb_graphql_directive | @erb_output_directive | @erb_template | @erb_token + +erb_ast_node_location( + unique int node: @erb_ast_node ref, + int loc: @location_default ref +); + +#keyset[parent, parent_index] +erb_ast_node_parent( + unique int node: @erb_ast_node ref, + int parent: @erb_ast_node ref, + int parent_index: int ref +); + diff --git a/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/upgrade.properties b/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/ruby/ql/lib/upgrades/eae6926f5000373d5eb1d82131e1ff6152b67b2c/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index ab000feb4a3..43e207937df 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.5.5 + +No user-facing changes. + +## 1.5.4 + +No user-facing changes. + ## 1.5.3 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.5.4.md b/ruby/ql/src/change-notes/released/1.5.4.md new file mode 100644 index 00000000000..5ff5ac8ebb7 --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.5.4.md @@ -0,0 +1,3 @@ +## 1.5.4 + +No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.5.5.md b/ruby/ql/src/change-notes/released/1.5.5.md new file mode 100644 index 00000000000..76d0ac89489 --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.5.5.md @@ -0,0 +1,3 @@ +## 1.5.5 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 232224b0e26..1c73e9d9ce9 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.5.3 +lastReleaseVersion: 1.5.5 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 833f85894e3..8534baf2482 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.5.4-dev +version: 1.5.6-dev groups: - ruby - queries diff --git a/rust/ast-generator/src/main.rs b/rust/ast-generator/src/main.rs index ddacc0d913e..b1de337f3ac 100644 --- a/rust/ast-generator/src/main.rs +++ b/rust/ast-generator/src/main.rs @@ -22,7 +22,6 @@ fn class_name(type_name: &str) -> String { "Literal" => "LiteralExpr".to_owned(), "ArrayExpr" => "ArrayExprInternal".to_owned(), "AsmOptions" => "AsmOptionsList".to_owned(), - "MacroStmts" => "MacroBlockExpr".to_owned(), _ if type_name.starts_with("Record") => type_name.replacen("Record", "Struct", 1), _ if type_name.ends_with("Type") => format!("{type_name}Repr"), _ => type_name.to_owned(), @@ -36,7 +35,6 @@ fn property_name(type_name: &str, field_name: &str) -> String { ("MatchExpr", "expr") => "scrutinee", ("Variant", "expr") => "discriminant", ("FieldExpr", "expr") => "container", - ("MacroBlockExpr", "expr") => "tail_expr", (_, "name_ref") => "identifier", (_, "then_branch") => "then", (_, "else_branch") => "else_", diff --git a/rust/bulk_generation_targets.yml b/rust/bulk_generation_targets.yml index baccc89da38..cd0d86a7673 100644 --- a/rust/bulk_generation_targets.yml +++ b/rust/bulk_generation_targets.yml @@ -19,7 +19,8 @@ targets: - name: serde - name: tokio - name: reqwest -- name: rocket +# Disabled due to performance issue +# - name: rocket - name: actix-web - name: hyper - name: clap diff --git a/rust/downgrades/66a489863649185f4a9770f894505803059a1312/old.dbscheme b/rust/downgrades/66a489863649185f4a9770f894505803059a1312/old.dbscheme new file mode 100644 index 00000000000..66a48986364 --- /dev/null +++ b/rust/downgrades/66a489863649185f4a9770f894505803059a1312/old.dbscheme @@ -0,0 +1,3556 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/downgrades/66a489863649185f4a9770f894505803059a1312/semmlecode.dbscheme b/rust/downgrades/66a489863649185f4a9770f894505803059a1312/semmlecode.dbscheme new file mode 100644 index 00000000000..90861289dd4 --- /dev/null +++ b/rust/downgrades/66a489863649185f4a9770f894505803059a1312/semmlecode.dbscheme @@ -0,0 +1,3544 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/downgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties b/rust/downgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/rust/downgrades/66a489863649185f4a9770f894505803059a1312/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/downgrade.ql b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/downgrade.ql new file mode 100644 index 00000000000..c3223e21b8a --- /dev/null +++ b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/downgrade.ql @@ -0,0 +1,78 @@ +class Element extends @element { + string toString() { none() } +} + +newtype TAddedElement = + TMacroBlockExpr(Element block) { + block_exprs(block) and macro_call_macro_call_expansions(_, block) + } + +module Fresh = QlBuiltins::NewEntity; + +class TNewElement = @element or Fresh::EntityId; + +class NewElement extends TNewElement { + string toString() { none() } +} + +query predicate new_macro_block_exprs(NewElement id) { id = Fresh::map(TMacroBlockExpr(_)) } + +query predicate new_macro_block_expr_statements(NewElement id, int index, Element stmt) { + exists(Element block, Element list | + id = Fresh::map(TMacroBlockExpr(block)) and + block_expr_stmt_lists(block, list) and + stmt_list_statements(list, index, stmt) + ) +} + +query predicate new_macro_block_expr_tail_exprs(NewElement id, Element expr) { + exists(Element block, Element list | + id = Fresh::map(TMacroBlockExpr(block)) and + block_expr_stmt_lists(block, list) and + stmt_list_tail_exprs(list, expr) + ) +} + +query predicate new_block_exprs(Element id) { + block_exprs(id) and + not macro_call_macro_call_expansions(_, id) +} + +query predicate new_stmt_lists(Element id) { + stmt_lists(id) and + not exists(Element block | + macro_call_macro_call_expansions(_, block) and + block_expr_stmt_lists(block, id) + ) +} + +query predicate new_block_expr_stmt_lists(Element id, Element list) { + block_expr_stmt_lists(id, list) and + not macro_call_macro_call_expansions(_, id) +} + +query predicate new_stmt_list_statements(Element id, int index, Element stmt) { + stmt_list_statements(id, index, stmt) and + not exists(Element block | + macro_call_macro_call_expansions(_, block) and + block_expr_stmt_lists(block, id) + ) +} + +query predicate new_stmt_list_tail_exprs(Element id, Element expr) { + stmt_list_tail_exprs(id, expr) and + not exists(Element block | + macro_call_macro_call_expansions(_, block) and + block_expr_stmt_lists(block, id) + ) +} + +query predicate new_macro_call_macro_call_expansions(NewElement id, NewElement expansion) { + macro_call_macro_call_expansions(id, expansion) and + not block_exprs(expansion) + or + exists(Element block | + expansion = Fresh::map(TMacroBlockExpr(block)) and + macro_call_macro_call_expansions(id, block) + ) +} diff --git a/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/old.dbscheme b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/old.dbscheme new file mode 100644 index 00000000000..90861289dd4 --- /dev/null +++ b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/old.dbscheme @@ -0,0 +1,3544 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/rust.dbscheme b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/rust.dbscheme new file mode 100644 index 00000000000..c467bf63916 --- /dev/null +++ b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/rust.dbscheme @@ -0,0 +1,3562 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_block_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_block_exprs( + unique int id: @macro_block_expr +); + +#keyset[id, index] +macro_block_expr_statements( + int id: @macro_block_expr ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +macro_block_expr_tail_exprs( + int id: @macro_block_expr ref, + int tail_expr: @expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/upgrade.properties b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/upgrade.properties new file mode 100644 index 00000000000..f66d2958d77 --- /dev/null +++ b/rust/downgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/upgrade.properties @@ -0,0 +1,13 @@ +description: Unmerge the relations `macro_block_exprs` and `block_exprs` +compatibility: full + +macro_block_exprs.rel: run downgrade.ql new_macro_block_exprs +macro_block_expr_statements.rel: run downgrade.ql new_macro_block_expr_statements +macro_block_expr_tail_exprs.rel: run downgrade.ql new_macro_block_expr_tail_exprs + +block_exprs.rel: run downgrade.ql new_block_exprs +stmt_lists.rel: run downgrade.ql new_stmt_lists +block_expr_stmt_lists.rel: run downgrade.ql new_block_expr_stmt_lists +stmt_list_statements.rel: run downgrade.ql new_stmt_list_statements +stmt_list_tail_exprs.rel: run downgrade.ql new_stmt_list_tail_exprs +macro_call_macro_call_expansions.rel: run downgrade.ql new_macro_call_macro_call_expansions \ No newline at end of file diff --git a/rust/extractor/src/generated/.generated.list b/rust/extractor/src/generated/.generated.list index 11f99621d16..89659a4811d 100644 --- a/rust/extractor/src/generated/.generated.list +++ b/rust/extractor/src/generated/.generated.list @@ -1,2 +1,2 @@ mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 -top.rs 92ef55101899570ddcb197b872a5b6a38aed874bb8f0ad604af27b2fec00eba5 92ef55101899570ddcb197b872a5b6a38aed874bb8f0ad604af27b2fec00eba5 +top.rs ea9c28694da3d0e90d09fc7d31824e35817c34720ea91e7c8bf8e7e74ffe4ee8 ea9c28694da3d0e90d09fc7d31824e35817c34720ea91e7c8bf8e7e74ffe4ee8 diff --git a/rust/extractor/src/generated/top.rs b/rust/extractor/src/generated/top.rs index 2365084bb82..1c4fd0f00d6 100644 --- a/rust/extractor/src/generated/top.rs +++ b/rust/extractor/src/generated/top.rs @@ -6145,69 +6145,6 @@ impl From> for trap::Label { } } -#[derive(Debug)] -pub struct MacroBlockExpr { - pub id: trap::TrapId, - pub statements: Vec>, - pub tail_expr: Option>, -} - -impl trap::TrapEntry for MacroBlockExpr { - fn extract_id(&mut self) -> trap::TrapId { - std::mem::replace(&mut self.id, trap::TrapId::Star) - } - - fn emit(self, id: trap::Label, out: &mut trap::Writer) { - out.add_tuple("macro_block_exprs", vec![id.into()]); - for (i, v) in self.statements.into_iter().enumerate() { - out.add_tuple("macro_block_expr_statements", vec![id.into(), i.into(), v.into()]); - } - if let Some(v) = self.tail_expr { - out.add_tuple("macro_block_expr_tail_exprs", vec![id.into(), v.into()]); - } - } -} - -impl trap::TrapClass for MacroBlockExpr { - fn class_name() -> &'static str { "MacroBlockExpr" } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Expr - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of AstNode - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Locatable - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Element - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - #[derive(Debug)] pub struct MacroExpr { pub id: trap::TrapId, diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index a3a0b3c9133..94d8545bb15 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -518,7 +518,7 @@ impl<'a> Translator<'a> { pub(crate) fn emit_macro_stmts( &mut self, node: &ast::MacroStmts, - ) -> Option> { + ) -> Option> { // not generated to work around a bug in rust-analyzer AST generation machinery. // Because an Expr can also be a Stmt (AsmExpr: Expr and AsmExpr: Item: Stmt) // then such an element will be returned by both `expr()` and `statements()` @@ -537,10 +537,23 @@ impl<'a> Translator<'a> { .iter() .filter_map(|x| self.emit_stmt(x)) .collect(); - let label = self.trap.emit(generated::MacroBlockExpr { + let stmt_list = self.trap.emit(generated::StmtList { id: TrapId::Star, - tail_expr, + attrs: vec![], statements, + tail_expr, + }); + let label = self.trap.emit(generated::BlockExpr { + id: TrapId::Star, + label: None, + attrs: vec![], + is_async: false, + is_const: false, + is_gen: false, + is_move: false, + is_try: false, + is_unsafe: false, + stmt_list: Some(stmt_list), }); self.emit_location(label, node); self.emit_tokens(node, label.into(), node.syntax().children_with_tokens()); diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index de0cdb6224f..003ede90023 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -1,4 +1,4 @@ -lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 1eac5a95247dec5cf51a453788b5bdebcf612590014b1e28f6b6f7e841c96a20 d4d8c9664ca406c3fd14d96a488eea97c42401e2791f41d7248ee5d3f299805c +lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 3f4499c892277e07380232b2c90138d7c312911ef8af4a89ba0c9c2958da028b d8a8b330f8dc43e009c261a41801893230b6b568f503c17faeae9cea54714075 lib/codeql/rust/elements/Abi.qll 485a2e79f6f7bfd1c02a6e795a71e62dede3c3e150149d5f8f18b761253b7208 6159ba175e7ead0dd2e3f2788f49516c306ee11b1a443bd4bdc00b7017d559bd lib/codeql/rust/elements/Addressable.qll 13011bfd2e1556694c3d440cc34af8527da4df49ad92b62f2939d3699ff2cea5 ddb25935f7553a1a384b1abe2e4b4fa90ab50b952dadec32fd867afcb054f4be lib/codeql/rust/elements/ArgList.qll 3d2f6f5542340b80a4c6e944ac17aba0d00727588bb66e501453ac0f80c82f83 afd52700bf5a337f19827846667cd0fb1fea5abbbcbc353828e292a727ea58c9 @@ -88,7 +88,6 @@ lib/codeql/rust/elements/LiteralPat.qll daffb5f380a47543669c8cc92628b0e0de478c3a lib/codeql/rust/elements/Locatable.qll 2855efa4a469b54e0ca85daa89309a8b991cded6f3f10db361010831ba1e11d3 00c3406d14603f90abea11bf074eaf2c0b623a30e29cf6afc3a247cb58b92f0f lib/codeql/rust/elements/LoopExpr.qll ee171177650fa23eef102a9580765f4b6073a1cc41bab1ec31ad4f84ffe6c2c9 bfcf0cca4dc944270d9748a202829a38c64dfae167c0d3a4202788ceb9daf5f6 lib/codeql/rust/elements/LoopingExpr.qll 7ad7d4bbfd05adc0bb9b4ca90ff3377b8298121ca5360ffb45d5a7a1e20fe37a 964168b2045ee9bad827bba53f10a64d649b3513f2d1e3c17a1b1f11d0fc7f3a -lib/codeql/rust/elements/MacroBlockExpr.qll 077c968da099c10456be4b594675a074e9a4e43b5c5145e1b1ae1fa47ae6d570 99586e3766ee0c80364998128e067cab2639ac25c1dcbe13e0247d629490af6f lib/codeql/rust/elements/MacroCall.qll 452aee152b655cdd5a69bf973977072f000a6451f626469a3f7313f0468ffc18 a8652d0de1c6c2118d683d5465ba4115dd4c65031896440269a2a0522d90fceb lib/codeql/rust/elements/MacroDef.qll 5bcf2bba7ba40879fe47370bfeb65b23c67c463be20535327467338a1e2e04bb c3d28416fc08e5d79149fccd388fea2bc3097bce074468a323383056404926db lib/codeql/rust/elements/MacroExpr.qll 640554f4964def19936a16ce88a03fb12f74ec2bcfe38b88d32742b79f85d909 a284fb66e012664a33a4e9c8fd3e38d3ffd588fccd6b16b02270da55fc025f7a @@ -299,8 +298,6 @@ lib/codeql/rust/elements/internal/LiteralExprConstructor.qll 8ea3569bd50704ce7d5 lib/codeql/rust/elements/internal/LiteralPatConstructor.qll b660cb428a0cba0b713fc7b07d5d2921de4a2f65a805535fb6387684c40620de 2dbc9fbc56e9de53d24265d6b13738ef5b9ced33cc3c4c1c270e04dc2fc1330f lib/codeql/rust/elements/internal/LoopExprConstructor.qll 45f3f8f7441fcab6adc58831421679ee07bac68ac0417f3cbc90c97426cc805b f7ab3361b4a11e898126378ea277d76949466946762cd6cb5e9e9b4bb9860420 lib/codeql/rust/elements/internal/LoopingExprImpl.qll 17885c1bcf7b5a3f9c7bbad3d4d55e24372af0dedd5e7fc0efcfc0a8b2cdad70 104dc45ca399b9f6e8227ad561679f728d60170398a52b31fc90cb2a2dd3c33c -lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll 90097c0d2c94083e997396e01cf24349af5eb1788060368dc21ae8cd8ce90d93 e067904a734356e38fbadbc4277629c5987adce6d8f7737f7458ac07e9b264af -lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll 323c0695ab1d8ee7d88a678eabdb6ac9d92293b9ae0846ec2c7ed8d76a591369 7b662b77cf2d885423d8734ff322c199650c1ea59a2c3371a1370efd7966e0c9 lib/codeql/rust/elements/internal/MacroCallConstructor.qll 707fee4fba1fd632cd00128f493e8919eaaea552ad653af4c1b7a138e362907d b49e7e36bf9306199f2326af042740ff858871b5c79f6aeddf3d5037044dbf1f lib/codeql/rust/elements/internal/MacroDefConstructor.qll 382a3bdf46905d112ee491620cc94f87d584d72f49e01eb1483f749e4709c055 eb61b90d8d8d655c2b00ff576ae20c8da9709eeef754212bc64d8e1558ad05ce lib/codeql/rust/elements/internal/MacroDefImpl.qll 73db95ff82834e0063699c7d31349b65e95ba7436fe0a8914dbdd3a383f8b1c9 cd2f078f84ce73fdc88b207df105b297f2cd3b780428968214443af3a2719e8f @@ -534,7 +531,6 @@ lib/codeql/rust/elements/internal/generated/LiteralPat.qll f36b09cf39330019c111e lib/codeql/rust/elements/internal/generated/Locatable.qll c897dc1bdd4dfcb6ded83a4a93332ca3d8f421bae02493ea2a0555023071775e b32d242f8c9480dc9b53c1e13a5cb8dcfce575b0373991c082c1db460a3e37b8 lib/codeql/rust/elements/internal/generated/LoopExpr.qll db6bc87e795c9852426ec661fa2c2c54106805897408b43a67f5b82fb4657afd 1492866ccf8213469be85bbdbcae0142f4e2a39df305d4c0d664229ecd1ebdb9 lib/codeql/rust/elements/internal/generated/LoopingExpr.qll 0792c38d84b8c68114da2bbdfef32ef803b696cb0fd06e10e101756d5c46976c 111fe961fad512722006323c3f2a075fddf59bd3eb5c7afc349835fcec8eb102 -lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll 7705de831e797c8742726a3c28dd8f87f6c1b9e2cccd20f01839d161f7ca37c7 ac79c5c95befc82f53b620ccc8a28fd9cc0f9e00c585ed4032bd75f99e0935fa lib/codeql/rust/elements/internal/generated/MacroCall.qll 1a7ee9c782ebc9ab0a807762aabebc9e0a7ef10c6eb945679737598630b20af2 782a437654cb316355c020e89d50b07c93ba7817715fa5d42a9e807cf12d1a43 lib/codeql/rust/elements/internal/generated/MacroDef.qll 90393408d9e10ff6167789367c30f9bfe1d3e8ac3b83871c6cb30a8ae37eef47 f022d1df45bc9546cb9fd7059f20e16a3acfaae2053bbd10075fe467c96e2379 lib/codeql/rust/elements/internal/generated/MacroExpr.qll 5a86ae36a28004ce5e7eb30addf763eef0f1c614466f4507a3935b0dab2c7ce3 11c15e8ebd36455ec9f6b7819134f6b22a15a3644678ca96b911ed0eb1181873 @@ -562,7 +558,7 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll eaa0cd4402d3665013d47e lib/codeql/rust/elements/internal/generated/ParenExpr.qll 812d2ff65079277f39f15c084657a955a960a7c1c0e96dd60472a58d56b945eb eb8c607f43e1fcbb41f37a10de203a1db806690e10ff4f04d48ed874189cb0eb lib/codeql/rust/elements/internal/generated/ParenPat.qll 24f9dc7fce75827d6fddb856cd48f80168143151b27295c0bab6db5a06567a09 ebadbc6f5498e9ed754b39893ce0763840409a0721036a25b56e1ead7dcc09aa lib/codeql/rust/elements/internal/generated/ParenTypeRepr.qll 03f5c5b96a37adeb845352d7fcea3e098da9050e534972d14ac0f70d60a2d776 ed3d6e5d02086523087adebce4e89e35461eb95f2a66d1d4100fe23fc691b126 -lib/codeql/rust/elements/internal/generated/ParentChild.qll 2a7dd6ec90e4d557b36704a04bb9eb4191469126f960c52827e12c90e51c5343 37781e023a93982be30c9d80aee7c6d87d52cc934705db66f838604563391f95 +lib/codeql/rust/elements/internal/generated/ParentChild.qll b0e3c13b2ca75faaf0d92b2ca3d70cac7b78b3729aaccf635063cc5836c163af a340e8f34a6d7425f38845e789b4aeb83aec90c11429a68ad6632a5aa132fa57 lib/codeql/rust/elements/internal/generated/ParenthesizedArgList.qll d901fdc8142a5b8847cc98fc2afcfd16428b8ace4fbffb457e761b5fd3901a77 5dbb0aea5a13f937da666ccb042494af8f11e776ade1459d16b70a4dd193f9fb lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4 lib/codeql/rust/elements/internal/generated/Path.qll 9b12afb46fc5a9ad3a811b05472621bbecccb900c47504feb7f29d96b28421ca bcacbffc36fb3e0c9b26523b5963af0ffa9fd6b19f00a2a31bdb2316071546bd @@ -577,7 +573,7 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 8d0ea4f6c7f8203340bf lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9 lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9 -lib/codeql/rust/elements/internal/generated/Raw.qll 22bb3aa871d1dcac60bfa46393da911f95467065e52bb78981d17469c7854c93 3ccc518319d79f3c8d9e9901a5665ab4c889253781edf76fcbc3de64dff91069 +lib/codeql/rust/elements/internal/generated/Raw.qll 6e32bd7167d3eece2d22f893a92410129b1bd18e59533b1cf82f72f31465b43a bb25c56118df0e2755be2350cf307c19e6c4d85b2a39388c08f2cc1bad303692 lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66 lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05 lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 5b0663a6d234572fb3e467e276d019415caa95ef006438cc59b7af4e1783161e 0e27c8a8f0e323c0e4d6db01fca821bf07c0864d293cdf96fa891b10820c1e4b @@ -602,8 +598,8 @@ lib/codeql/rust/elements/internal/generated/StructFieldList.qll 5da528a51a6a5db9 lib/codeql/rust/elements/internal/generated/StructPat.qll c76fa005c2fd0448a8803233e1e8818c4123301eb66ac5cf69d0b9eaafc61e98 6e0dffccdce24bca20e87d5ba0f0995c9a1ae8983283e71e7dbfcf6fffc67a58 lib/codeql/rust/elements/internal/generated/StructPatField.qll 5b5c7302dbc4a902ca8e69ff31875c867e295a16a626ba3cef29cd0aa248f179 4e192a0df79947f5cb0d47fdbbba7986137a6a40a1be92ae119873e2fad67edf lib/codeql/rust/elements/internal/generated/StructPatFieldList.qll 1a95a1bd9f64fb18e9571657cf2d02a8b13c747048a1f0f74baf31b91f0392ad fc274e414ff4ed54386046505920de92755ad0b4d39a7523cdffa4830bd53b37 -lib/codeql/rust/elements/internal/generated/Synth.qll 00f19e9d0a03b9d8e42caceda06da69d67280be16f67f3459f0adec8f9f8cacd ebcc049fe946540277893bf095787c061cd119c9d4eb708cec9df93257780e8d -lib/codeql/rust/elements/internal/generated/SynthConstructors.qll f41abfc73415b7accb38da7c107faebfe6843c270ad54e0e54a96e930dfe479a f41abfc73415b7accb38da7c107faebfe6843c270ad54e0e54a96e930dfe479a +lib/codeql/rust/elements/internal/generated/Synth.qll 3b9f71b9b6b9952c967e1ba74175b74dd563492d5adc00a27e19ab735bf37918 3ef3e4fe71ab08f772ebd68036cba7b2ec4109d706cfb03747aa05835f376628 +lib/codeql/rust/elements/internal/generated/SynthConstructors.qll ec935bac4f775b64c76cd15ab975d885f544e77bf4833fd0f47acd40438fe66f ec935bac4f775b64c76cd15ab975d885f544e77bf4833fd0f47acd40438fe66f lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b lib/codeql/rust/elements/internal/generated/TokenTree.qll 1a3c4f5f30659738641abdd28cb793dab3cfde484196b59656fc0a2767e53511 de2ebb210c7759ef7a6f7ee9f805e1cac879221287281775fc80ba34a5492edf lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e @@ -640,7 +636,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 0353aab87c49569e1fbf58 lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499 lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85 -lib/codeql/rust/elements.qll 47adb2b43274ce791299d1e94299e560f392f75d2cc4d4ace02e29f31a7db4af 47adb2b43274ce791299d1e94299e560f392f75d2cc4d4ace02e29f31a7db4af +lib/codeql/rust/elements.qll be9c7606d429b62fcb8686285e8eeff41f45f0dd22feb5b4fd3ea2f3cdfb39be be9c7606d429b62fcb8686285e8eeff41f45f0dd22feb5b4fd3ea2f3cdfb39be test/extractor-tests/generated/Abi/Abi.ql 086ed104ab1a7e7fe5c1ed29e03f1719a797c7096c738868bf6ebe872ab8fdaa fe23fe67ab0d9201e1177ea3f844b18ed428e13e3ce77381bf2b6910adfa3a0e test/extractor-tests/generated/ArgList/ArgList.ql da97b5b25418b2aa8cb8df793f48870c89fa00759cdade8ddba60d7f1f4bbc01 acfd5d2caf67282ad2d57b961068472100482d0f770a52a3c00214c647d18c75 test/extractor-tests/generated/ArrayListExpr/ArrayListExpr.ql 42b365276aa43e2cad588338463542d3ce1dd0db3a428621554584b07a1431d5 08a66a8b69af35ee3bc64c35c453a19a6c9881cc6cc7e65275d1fff056121270 @@ -712,7 +708,6 @@ test/extractor-tests/generated/LifetimeParam/LifetimeParam.ql a96f586af332969878 test/extractor-tests/generated/LiteralExpr/LiteralExpr.ql 00570642966d233a10ec3106ae65e6ea865c29d0776fdbc452815f528301117c adb286ad3bd763f1b1b350cac91bc2615869dcb9b0faf29276ace9a99d31f0cc test/extractor-tests/generated/LiteralPat/LiteralPat.ql 863d4902e7e22de3176398cbb908e6f5f487b3d22c0f9f7a5498a1ebc112c0fd 47e3f70c5c32f17050d3ca8c8b42d94ecd38e378627880d8100b7ca182cfa793 test/extractor-tests/generated/LoopExpr/LoopExpr.ql a178e25f63b4d517482ec63e5dfb6903dd41dadd8db39be2dd2a831e8456811f f34165f78179960cc7e5876dac26a1d0f6f67933eff9a015b92ca0e2872b63e8 -test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql 936920b5b609b1e62b201004055bbce449d2d7c1f8016f57d9b27d3ea8107f07 21493009ed3b1810aa4fd8af4d8c7b7794982da032dfb6b7e9048445d651eecb test/extractor-tests/generated/MacroCall/MacroCall.ql 28abee68c0681334e4ffd412f1b9b9b0fe844a6ae6c915ec18ea186b4766f58e c8c73902827d69a4b903ab3028408086b64b9f5d9a4da97620a2100f45ceaf69 test/extractor-tests/generated/MacroDef/MacroDef.ql edcdd65706641c2827cac546091a99e0a1473ff8d383efd968023db411591197 b7832c67c6dd32e9e5ecfa4b6256e7cd820f55d49c44458a140cbf4d46542eb3 test/extractor-tests/generated/MacroExpr/MacroExpr.ql 83fadb88fd8f913bb1b1cda26d21b173bdc94bb6682a74eaddce650ebf72aa41 1c502cde6a95ec637e43d348c613be3dec4092b69d2c8692abdc5a9377e37f5f diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index dd6ca829eed..d8004cb5b35 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -90,7 +90,6 @@ /lib/codeql/rust/elements/Locatable.qll linguist-generated /lib/codeql/rust/elements/LoopExpr.qll linguist-generated /lib/codeql/rust/elements/LoopingExpr.qll linguist-generated -/lib/codeql/rust/elements/MacroBlockExpr.qll linguist-generated /lib/codeql/rust/elements/MacroCall.qll linguist-generated /lib/codeql/rust/elements/MacroDef.qll linguist-generated /lib/codeql/rust/elements/MacroExpr.qll linguist-generated @@ -301,8 +300,6 @@ /lib/codeql/rust/elements/internal/LiteralPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/LoopExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/LoopingExprImpl.qll linguist-generated -/lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/MacroCallConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MacroDefConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/MacroDefImpl.qll linguist-generated @@ -536,7 +533,6 @@ /lib/codeql/rust/elements/internal/generated/Locatable.qll linguist-generated /lib/codeql/rust/elements/internal/generated/LoopExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/LoopingExpr.qll linguist-generated -/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/MacroCall.qll linguist-generated /lib/codeql/rust/elements/internal/generated/MacroDef.qll linguist-generated /lib/codeql/rust/elements/internal/generated/MacroExpr.qll linguist-generated @@ -714,7 +710,6 @@ /test/extractor-tests/generated/LiteralExpr/LiteralExpr.ql linguist-generated /test/extractor-tests/generated/LiteralPat/LiteralPat.ql linguist-generated /test/extractor-tests/generated/LoopExpr/LoopExpr.ql linguist-generated -/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql linguist-generated /test/extractor-tests/generated/MacroCall/MacroCall.ql linguist-generated /test/extractor-tests/generated/MacroDef/MacroDef.ql linguist-generated /test/extractor-tests/generated/MacroExpr/MacroExpr.ql linguist-generated diff --git a/rust/ql/consistency-queries/TypeInferenceConsistency.ql b/rust/ql/consistency-queries/TypeInferenceConsistency.ql index 2ca9e55e964..0040e6a5473 100644 --- a/rust/ql/consistency-queries/TypeInferenceConsistency.ql +++ b/rust/ql/consistency-queries/TypeInferenceConsistency.ql @@ -5,4 +5,4 @@ * @id rust/diagnostics/type-inference-consistency */ -import codeql.rust.internal.TypeInferenceConsistency +import codeql.rust.internal.typeinference.TypeInferenceConsistency diff --git a/rust/ql/lib/CHANGELOG.md b/rust/ql/lib/CHANGELOG.md index e2aeb59f40b..c06726370df 100644 --- a/rust/ql/lib/CHANGELOG.md +++ b/rust/ql/lib/CHANGELOG.md @@ -1,3 +1,18 @@ +## 0.2.4 + +### Minor Analysis Improvements + +* The `Deref` trait is now considered during method resolution. This means that method calls on receivers implementing the `Deref` trait will correctly resolve to methods defined on the target type. This may result in additional query results, especially for data flow queries. +* Renamed the `Adt` class to `TypeItem` and moved common predicates from `Struct`, `Enum`, and `Union` to `TypeItem`. +* Added models for the Axum web application framework. +* Reading content of a value now carries taint if the value itself is tainted. For instance, if `s` is tainted then `s.field` is also tainted. This generally improves taint flow. +* The call graph is now more precise for calls that target a trait function with a default implemention. This reduces the number of false positives for data flow queries. +* Improved type inference for raw pointers (`*const` and `*mut`). This includes type inference for the raw borrow operators (`&raw const` and `&raw mut`) and dereferencing of raw pointers. + +## 0.2.3 + +No user-facing changes. + ## 0.2.2 No user-facing changes. diff --git a/rust/ql/lib/change-notes/2025-12-03-type-inference-raw-pointers.md b/rust/ql/lib/change-notes/2025-12-03-type-inference-raw-pointers.md deleted file mode 100644 index a24f86ad897..00000000000 --- a/rust/ql/lib/change-notes/2025-12-03-type-inference-raw-pointers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Improved type inference for raw pointers (`*const` and `*mut`). This includes type inference for the raw borrow operators (`&raw const` and `&raw mut`) and dereferencing of raw pointers. \ No newline at end of file diff --git a/rust/ql/lib/change-notes/2025-12-05-trait-function-dispatch.md b/rust/ql/lib/change-notes/2025-12-05-trait-function-dispatch.md deleted file mode 100644 index 5a6f0991161..00000000000 --- a/rust/ql/lib/change-notes/2025-12-05-trait-function-dispatch.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The call graph is now more precise for calls that target a trait function with a default implemention. This reduces the number of false positives for data flow queries. \ No newline at end of file diff --git a/rust/ql/lib/change-notes/2025-12-11-read-as-taint.md b/rust/ql/lib/change-notes/2025-12-11-read-as-taint.md deleted file mode 100644 index 3e1cabd75f7..00000000000 --- a/rust/ql/lib/change-notes/2025-12-11-read-as-taint.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Reading content of a value now carries taint if the value itself is tainted. For instance, if `s` is tainted then `s.field` is also tainted. This generally improves taint flow. \ No newline at end of file diff --git a/rust/ql/lib/change-notes/2025-12-16-axum-models.md b/rust/ql/lib/change-notes/2025-12-16-axum-models.md deleted file mode 100644 index baa5910d799..00000000000 --- a/rust/ql/lib/change-notes/2025-12-16-axum-models.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added models for the Axum web application framework. \ No newline at end of file diff --git a/rust/ql/lib/change-notes/2025-12-17-adt-rename.md b/rust/ql/lib/change-notes/2025-12-17-adt-rename.md deleted file mode 100644 index 0b66b4664a1..00000000000 --- a/rust/ql/lib/change-notes/2025-12-17-adt-rename.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Renamed the `Adt` class to `TypeItem` and moved common predicates from `Struct`, `Enum`, and `Union` to `TypeItem`. \ No newline at end of file diff --git a/rust/ql/lib/change-notes/2026-01-07-method-resolution-deref-trait.md b/rust/ql/lib/change-notes/2026-01-07-method-resolution-deref-trait.md deleted file mode 100644 index 2ed9cf750cb..00000000000 --- a/rust/ql/lib/change-notes/2026-01-07-method-resolution-deref-trait.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `Deref` trait is now considered during method resolution. This means that method calls on receivers implementing the `Deref` trait will correctly resolve to methods defined on the target type. This may result in additional query results, especially for data flow queries. \ No newline at end of file diff --git a/rust/ql/lib/change-notes/2026-01-16-type-inference-closures.md b/rust/ql/lib/change-notes/2026-01-16-type-inference-closures.md new file mode 100644 index 00000000000..1e093b74dbe --- /dev/null +++ b/rust/ql/lib/change-notes/2026-01-16-type-inference-closures.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added type inference support for the `FnMut(..) -> ..` and `Fn(..) -> ..` traits. They now work in type parameter bounds and are implemented by closures. \ No newline at end of file diff --git a/rust/ql/lib/change-notes/released/0.2.3.md b/rust/ql/lib/change-notes/released/0.2.3.md new file mode 100644 index 00000000000..873fbbfa89b --- /dev/null +++ b/rust/ql/lib/change-notes/released/0.2.3.md @@ -0,0 +1,3 @@ +## 0.2.3 + +No user-facing changes. diff --git a/rust/ql/lib/change-notes/released/0.2.4.md b/rust/ql/lib/change-notes/released/0.2.4.md new file mode 100644 index 00000000000..3920a308044 --- /dev/null +++ b/rust/ql/lib/change-notes/released/0.2.4.md @@ -0,0 +1,10 @@ +## 0.2.4 + +### Minor Analysis Improvements + +* The `Deref` trait is now considered during method resolution. This means that method calls on receivers implementing the `Deref` trait will correctly resolve to methods defined on the target type. This may result in additional query results, especially for data flow queries. +* Renamed the `Adt` class to `TypeItem` and moved common predicates from `Struct`, `Enum`, and `Union` to `TypeItem`. +* Added models for the Axum web application framework. +* Reading content of a value now carries taint if the value itself is tainted. For instance, if `s` is tainted then `s.field` is also tainted. This generally improves taint flow. +* The call graph is now more precise for calls that target a trait function with a default implemention. This reduces the number of false positives for data flow queries. +* Improved type inference for raw pointers (`*const` and `*mut`). This includes type inference for the raw borrow operators (`&raw const` and `&raw mut`) and dereferencing of raw pointers. diff --git a/rust/ql/lib/codeql-pack.release.yml b/rust/ql/lib/codeql-pack.release.yml index 16a06790aa8..7f1e3841dcd 100644 --- a/rust/ql/lib/codeql-pack.release.yml +++ b/rust/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.2 +lastReleaseVersion: 0.2.4 diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll index 522e5741795..16e14ce84a2 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/ControlFlowGraphImpl.qll @@ -99,7 +99,7 @@ class FormatTemplateVariableAccessTree extends LeafTree, FormatTemplateVariableA class ItemTree extends LeafTree, Item { ItemTree() { not this instanceof MacroCall and - this = [any(StmtList s).getAStatement(), any(MacroBlockExpr s).getAStatement()] + this = any(StmtList s).getAStatement() } } @@ -140,15 +140,6 @@ class MacroCallTree extends StandardPostOrderTree, MacroCall { override AstNode getChildNode(int i) { i = 0 and result = this.getMacroCallExpansion() } } -class MacroBlockExprTree extends StandardPostOrderTree, MacroBlockExpr { - override AstNode getChildNode(int i) { - result = this.getStatement(i) - or - i = this.getNumberOfStatements() and - result = this.getTailExpr() - } -} - class MatchArmTree extends ControlFlowTree, MatchArm { override predicate propagatesAbnormal(AstNode child) { child = this.getExpr() } diff --git a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll index 016217e0a46..6aeaa3dd4f4 100644 --- a/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll +++ b/rust/ql/lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll @@ -1758,64 +1758,6 @@ module MakeCfgNodes Input> { predicate hasLoopBody() { exists(this.getLoopBody()) } } - final private class ParentMacroBlockExpr extends ParentAstNode, MacroBlockExpr { - override predicate relevantChild(AstNode child) { - none() - or - child = this.getTailExpr() - } - } - - /** - * A sequence of statements generated by a `MacroCall`. For example: - * ```rust - * macro_rules! my_macro { - * () => { - * let mut x = 40; - * x += 2; - * x - * }; - * } - * - * my_macro!(); // this macro expands to a sequence of statements (and an expression) - * ``` - */ - final class MacroBlockExprCfgNode extends CfgNodeFinal, ExprCfgNode { - private MacroBlockExpr node; - - MacroBlockExprCfgNode() { node = this.getAstNode() } - - /** Gets the underlying `MacroBlockExpr`. */ - MacroBlockExpr getMacroBlockExpr() { result = node } - - /** - * Gets the `index`th statement of this macro block expression (0-based). - */ - Stmt getStatement(int index) { result = node.getStatement(index) } - - /** - * Gets any of the statements of this macro block expression. - */ - Stmt getAStatement() { result = this.getStatement(_) } - - /** - * Gets the number of statements of this macro block expression. - */ - int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) } - - /** - * Gets the tail expression of this macro block expression, if it exists. - */ - ExprCfgNode getTailExpr() { - any(ChildMapping mapping).hasCfgChild(node, node.getTailExpr(), this, result) - } - - /** - * Holds if `getTailExpr()` exists. - */ - predicate hasTailExpr() { exists(this.getTailExpr()) } - } - final private class ParentMacroCall extends ParentAstNode, MacroCall { override predicate relevantChild(AstNode child) { none() } } @@ -3807,18 +3749,6 @@ module MakeCfgNodes Input> { cfgNode ) or - pred = "getTailExpr" and - parent = - any(Nodes::MacroBlockExprCfgNode cfgNode, MacroBlockExpr astNode | - astNode = cfgNode.getMacroBlockExpr() and - child = getDesugared(astNode.getTailExpr()) and - i = -1 and - hasCfgNode(child) and - not child = cfgNode.getTailExpr().getAstNode() - | - cfgNode - ) - or pred = "getMacroCall" and parent = any(Nodes::MacroExprCfgNode cfgNode, MacroExpr astNode | diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index c21c053b173..23424dbffd9 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -15,7 +15,7 @@ private import codeql.rust.internal.PathResolution private import codeql.rust.controlflow.ControlFlowGraph private import codeql.rust.dataflow.Ssa private import codeql.rust.dataflow.FlowSummary -private import codeql.rust.internal.TypeInference as TypeInference +private import codeql.rust.internal.typeinference.TypeInference as TypeInference private import codeql.rust.internal.typeinference.DerefChain private import Node private import Content @@ -62,8 +62,8 @@ final class DataFlowCall extends TDataFlowCall { /** Gets the underlying call, if any. */ Call asCall() { this = TCall(result) } - predicate isImplicitDerefCall(AstNode n, DerefChain derefChain, int i, Function target) { - this = TImplicitDerefCall(n, derefChain, i, target) + predicate isImplicitDerefCall(Expr e, DerefChain derefChain, int i, Function target) { + this = TImplicitDerefCall(e, derefChain, i, target) } predicate isSummaryCall( @@ -75,8 +75,7 @@ final class DataFlowCall extends TDataFlowCall { DataFlowCallable getEnclosingCallable() { result.asCfgScope() = this.asCall().getEnclosingCfgScope() or - result.asCfgScope() = - any(AstNode n | this.isImplicitDerefCall(n, _, _, _)).getEnclosingCfgScope() + result.asCfgScope() = any(Expr e | this.isImplicitDerefCall(e, _, _, _)).getEnclosingCfgScope() or this.isSummaryCall(result.asSummarizedCallable(), _) } @@ -84,9 +83,9 @@ final class DataFlowCall extends TDataFlowCall { string toString() { result = this.asCall().toString() or - exists(AstNode n, DerefChain derefChain, int i | - this.isImplicitDerefCall(n, derefChain, i, _) and - result = "[implicit deref call " + i + " in " + derefChain.toString() + "] " + n + exists(Expr e, DerefChain derefChain, int i | + this.isImplicitDerefCall(e, derefChain, i, _) and + result = "[implicit deref call " + i + " in " + derefChain.toString() + "] " + e ) or exists( @@ -100,7 +99,7 @@ final class DataFlowCall extends TDataFlowCall { Location getLocation() { result = this.asCall().getLocation() or - result = any(AstNode n | this.isImplicitDerefCall(n, _, _, _)).getLocation() + result = any(Expr e | this.isImplicitDerefCall(e, _, _, _)).getLocation() } } @@ -149,7 +148,6 @@ private Expr getALastEvalNode(Expr e) { not be.isAsync() and result = be.getTailExpr() ) or - result = e.(MacroBlockExpr).getTailExpr() or result = e.(MatchExpr).getAnArm().getExpr() or result = e.(MacroExpr).getMacroCall().getMacroCallExpansion() or result.(BreakExpr).getTarget() = e or @@ -306,7 +304,11 @@ predicate indexAssignment( not index.getResolvedTarget().fromSource() } -module RustDataFlow implements InputSig { +signature module RustDataFlowInputSig { + predicate includeDynamicTargets(); +} + +module RustDataFlowGen implements InputSig { private import Aliases private import codeql.rust.dataflow.DataFlow private import Node as Node @@ -462,7 +464,11 @@ module RustDataFlow implements InputSig { /** Gets a viable implementation of the target of the given `Call`. */ DataFlowCallable viableCallable(DataFlowCall call) { exists(Call c | c = call.asCall() | - result.asCfgScope() = c.getARuntimeTarget() + ( + if Input::includeDynamicTargets() + then result.asCfgScope() = c.getARuntimeTarget() + else result.asCfgScope() = c.getStaticTarget() + ) or result.asSummarizedCallable() = getStaticTargetExt(c) ) @@ -935,6 +941,12 @@ module RustDataFlow implements InputSig { class DataFlowSecondLevelScope = Void; } +module RustDataFlowInput implements RustDataFlowInputSig { + predicate includeDynamicTargets() { any() } +} + +module RustDataFlow = RustDataFlowGen; + /** Provides logic related to captured variables. */ module VariableCapture { private import codeql.rust.internal.CachedStages @@ -1082,9 +1094,10 @@ private module Cached { Stages::DataFlowStage::ref() and call.hasEnclosingCfgScope() } or - TImplicitDerefCall(AstNode n, DerefChain derefChain, int i, Function target) { - TypeInference::implicitDerefChainBorrow(n, derefChain, _) and - target = derefChain.getElement(i).getDerefFunction() + TImplicitDerefCall(Expr e, DerefChain derefChain, int i, Function target) { + TypeInference::implicitDerefChainBorrow(e, derefChain, _) and + target = derefChain.getElement(i).getDerefFunction() and + e.hasEnclosingCfgScope() } or TSummaryCall( FlowSummaryImpl::Public::SummarizedCallable c, FlowSummaryImpl::Private::SummaryNode receiver @@ -1110,7 +1123,7 @@ private module Cached { } cached - newtype TParameterPosition = + newtype TParameterPositionImpl = TPositionalParameterPosition(int i) { i in [0 .. max([any(ParamList l).getNumberOfParams(), any(ArgList l).getNumberOfArgs()]) - 1] or @@ -1121,6 +1134,8 @@ private module Cached { TClosureSelfParameterPosition() or TSelfParameterPosition() + final class TParameterPosition = TParameterPositionImpl; + cached newtype TReturnKind = TNormalReturnKind() diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll index 5036259d059..a0c6caf8542 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll @@ -128,38 +128,35 @@ private predicate summaryModel( } private predicate summaryModelRelevant( - Function f, string input, string output, string kind, Provenance provenance, + Function f, string input, string output, string kind, Provenance provenance, boolean isInherited, QlBuiltins::ExtensionId madId ) { - exists(boolean isInherited | - summaryModel(f, input, output, kind, provenance, isInherited, madId) - | - // Only apply generated or inherited models to functions in library code and - // when no strictly better model exists - if provenance.isGenerated() or isInherited = true - then - not f.fromSource() and - not exists(Provenance other | summaryModel(f, _, _, _, other, false, _) | - provenance.isGenerated() and other.isManual() - or - provenance = other and isInherited = true - ) - else any() - ) + summaryModel(f, input, output, kind, provenance, isInherited, madId) and + // Only apply generated or inherited models to functions in library code and + // when no strictly better model exists + if provenance.isGenerated() or isInherited = true + then + not f.fromSource() and + not exists(Provenance other | summaryModel(f, _, _, _, other, false, _) | + provenance.isGenerated() and other.isManual() + or + provenance = other and isInherited = true + ) + else any() } private class SummarizedCallableFromModel extends SummarizedCallable::Range { - SummarizedCallableFromModel() { summaryModelRelevant(this, _, _, _, _, _) } + SummarizedCallableFromModel() { summaryModelRelevant(this, _, _, _, _, _, _) } override predicate hasProvenance(Provenance provenance) { - summaryModelRelevant(this, _, _, _, provenance, _) + summaryModelRelevant(this, _, _, _, provenance, _, _) } override predicate propagatesFlow( string input, string output, boolean preservesValue, string model ) { exists(string kind, QlBuiltins::ExtensionId madId | - summaryModelRelevant(this, input, output, kind, _, madId) and + summaryModelRelevant(this, input, output, kind, _, _, madId) and model = "MaD:" + madId.toString() | kind = "value" and @@ -202,3 +199,56 @@ private class FlowSinkFromModel extends FlowSink::Range { ) } } + +private module Debug { + private import FlowSummaryImpl + private import Private + private import Content + private import codeql.rust.dataflow.internal.DataFlowImpl + private import codeql.rust.internal.typeinference.TypeMention + private import codeql.rust.internal.typeinference.Type + + private predicate relevantManualModel(SummarizedCallableImpl sc, string can) { + exists(Provenance manual | + can = sc.getCanonicalPath() and + summaryModelRelevant(sc, _, _, _, manual, false, _) and + manual.isManual() + ) + } + + predicate manualModelMissingParameterReference( + SummarizedCallableImpl sc, string can, SummaryComponentStack input, ParamBase p + ) { + exists(RustDataFlow::ParameterPosition pos, TypeMention tm | + relevantManualModel(sc, can) and + sc.propagatesFlow(input, _, _, _) and + input.head() = SummaryComponent::argument(pos) and + p = pos.getParameterIn(sc.getParamList()) and + tm.resolveType() instanceof RefType and + not input.tail().head() = SummaryComponent::content(TSingletonContentSet(TReferenceContent())) + | + tm = p.getTypeRepr() + or + tm = getSelfParamTypeMention(p) + ) + } + + predicate manualModelMissingReturnReference( + SummarizedCallableImpl sc, string can, SummaryComponentStack output + ) { + exists(TypeMention tm | + relevantManualModel(sc, can) and + sc.propagatesFlow(_, output, _, _) and + tm.resolveType() instanceof RefType and + output.head() = SummaryComponent::return(_) and + not output.tail().head() = + SummaryComponent::content(TSingletonContentSet(TReferenceContent())) and + tm = getReturnTypeMention(sc) and + not can = + [ + "<& as core::ops::deref::Deref>::deref", + "<&mut as core::ops::deref::Deref>::deref" + ] + ) + } +} diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll b/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll index b8bfddf8adb..1fa3983f811 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll @@ -14,7 +14,7 @@ private import codeql.rust.controlflow.ControlFlowGraph private import codeql.rust.controlflow.CfgNodes private import codeql.rust.dataflow.Ssa private import codeql.rust.dataflow.FlowSummary -private import codeql.rust.internal.TypeInference as TypeInference +private import codeql.rust.internal.typeinference.TypeInference as TypeInference private import codeql.rust.internal.typeinference.DerefChain private import Node as Node private import DataFlowImpl @@ -277,11 +277,11 @@ abstract class ImplicitDerefBorrowNode extends Node { */ abstract Node getBorrowInputNode(); - abstract AstNode getUnderlyingAstNode(); + abstract Expr getExpr(); - override CfgScope getCfgScope() { result = this.getUnderlyingAstNode().getEnclosingCfgScope() } + override CfgScope getCfgScope() { result = this.getExpr().getEnclosingCfgScope() } - override Location getLocation() { result = this.getUnderlyingAstNode().getLocation() } + override Location getLocation() { result = this.getExpr().getLocation() } } /** @@ -292,24 +292,24 @@ abstract class ImplicitDerefBorrowNode extends Node { * is in. */ class ImplicitDerefNode extends ImplicitDerefBorrowNode, TImplicitDerefNode { - AstNode n; + Expr e; DerefChain derefChain; ImplicitDerefNodeState state; int i; - ImplicitDerefNode() { this = TImplicitDerefNode(n, derefChain, state, i, false) } + ImplicitDerefNode() { this = TImplicitDerefNode(e, derefChain, state, i, false) } - override AstNode getUnderlyingAstNode() { result = n } + override Expr getExpr() { result = e } private predicate isBuiltinDeref() { derefChain.isBuiltinDeref(i) } private Node getInputNode() { // The first implicit deref has the underlying AST node as input i = 0 and - result.(AstNodeNode).getAstNode() = n + result.asExpr() = e or // Subsequent implicit derefs have the previous implicit deref as input - result = TImplicitDerefNode(n, derefChain, TImplicitDerefNodeAfterDerefState(), i - 1, false) + result = TImplicitDerefNode(e, derefChain, TImplicitDerefNodeAfterDerefState(), i - 1, false) } /** @@ -334,19 +334,19 @@ class ImplicitDerefNode extends ImplicitDerefBorrowNode, TImplicitDerefNode { */ Node getDerefOutputNode() { state = TImplicitDerefNodeBeforeDerefState() and - result = TImplicitDerefNode(n, derefChain, TImplicitDerefNodeAfterDerefState(), i, false) + result = TImplicitDerefNode(e, derefChain, TImplicitDerefNodeAfterDerefState(), i, false) } /** * Holds if this node represents the last implicit deref in the underlying chain. */ - predicate isLast(AstNode node) { - node = n and + predicate isLast(Expr expr) { + expr = e and state = TImplicitDerefNodeAfterDerefState() and i = derefChain.length() - 1 } - override string toString() { result = n + " [implicit deref " + i + " in state " + state + "]" } + override string toString() { result = e + " [implicit deref " + i + " in state " + state + "]" } } final class ImplicitDerefArgNode extends ImplicitDerefNode, ArgumentNode { @@ -356,12 +356,12 @@ final class ImplicitDerefArgNode extends ImplicitDerefNode, ArgumentNode { ImplicitDerefArgNode() { not derefChain.isBuiltinDeref(i) and state = TImplicitDerefNodeAfterBorrowState() and - call_.isImplicitDerefCall(n, derefChain, i, _) and + call_.isImplicitDerefCall(e, derefChain, i, _) and pos_.isSelf() or this.isLast(_) and - TypeInference::implicitDerefChainBorrow(n, derefChain, false) and - isArgumentForCall(n, call_.asCall(), pos_) + TypeInference::implicitDerefChainBorrow(e, derefChain, false) and + isArgumentForCall(e, call_.asCall(), pos_) } override predicate isArgumentOf(DataFlowCall call, RustDataFlow::ArgumentPosition pos) { @@ -378,7 +378,7 @@ private class ImplicitDerefOutNode extends ImplicitDerefNode, OutNode { } override DataFlowCall getCall(ReturnKind kind) { - result.isImplicitDerefCall(n, derefChain, i, _) and + result.isImplicitDerefCall(e, derefChain, i, _) and kind = TNormalReturnKind() } } @@ -387,30 +387,30 @@ private class ImplicitDerefOutNode extends ImplicitDerefNode, OutNode { * A node that represents the value of an expression _after_ implicit borrowing. */ class ImplicitBorrowNode extends ImplicitDerefBorrowNode, TImplicitBorrowNode { - AstNode n; + Expr e; DerefChain derefChain; - ImplicitBorrowNode() { this = TImplicitBorrowNode(n, derefChain, false) } + ImplicitBorrowNode() { this = TImplicitBorrowNode(e, derefChain, false) } - override AstNode getUnderlyingAstNode() { result = n } + override Expr getExpr() { result = e } override Node getBorrowInputNode() { result = - TImplicitDerefNode(n, derefChain, TImplicitDerefNodeAfterDerefState(), + TImplicitDerefNode(e, derefChain, TImplicitDerefNodeAfterDerefState(), derefChain.length() - 1, false) or derefChain.isEmpty() and - result.(AstNodeNode).getAstNode() = n + result.(AstNodeNode).getAstNode() = e } - override string toString() { result = n + " [implicit borrow]" } + override string toString() { result = e + " [implicit borrow]" } } final class ImplicitBorrowArgNode extends ImplicitBorrowNode, ArgumentNode { private DataFlowCall call_; private RustDataFlow::ArgumentPosition pos_; - ImplicitBorrowArgNode() { isArgumentForCall(n, call_.asCall(), pos_) } + ImplicitBorrowArgNode() { isArgumentForCall(e, call_.asCall(), pos_) } override predicate isArgumentOf(DataFlowCall call, RustDataFlow::ArgumentPosition pos) { call = call_ and pos = pos_ @@ -736,13 +736,15 @@ newtype TNode = ) } or TImplicitDerefNode( - AstNode n, DerefChain derefChain, ImplicitDerefNodeState state, int i, Boolean isPost + Expr e, DerefChain derefChain, ImplicitDerefNodeState state, int i, Boolean isPost ) { - TypeInference::implicitDerefChainBorrow(n, derefChain, _) and + e.hasEnclosingCfgScope() and + TypeInference::implicitDerefChainBorrow(e, derefChain, _) and i in [0 .. derefChain.length() - 1] } or - TImplicitBorrowNode(AstNode n, DerefChain derefChain, Boolean isPost) { - TypeInference::implicitDerefChainBorrow(n, derefChain, true) + TImplicitBorrowNode(Expr e, DerefChain derefChain, Boolean isPost) { + e.hasEnclosingCfgScope() and + TypeInference::implicitDerefChainBorrow(e, derefChain, true) } or TDerefOutNode(DerefExpr de, Boolean isPost) or TIndexOutNode(IndexExpr ie, Boolean isPost) or diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/TaintTrackingImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/TaintTrackingImpl.qll index 944227d2fcc..f75c0166762 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/TaintTrackingImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/TaintTrackingImpl.qll @@ -1,14 +1,15 @@ private import rust +private import codeql.dataflow.DataFlow as DF private import codeql.dataflow.TaintTracking -private import codeql.rust.dataflow.DataFlow +private import codeql.rust.dataflow.DataFlow as RustDataFlow private import codeql.rust.dataflow.FlowSummary -private import DataFlowImpl +private import DataFlowImpl as DataFlowImpl private import Node as Node private import Content private import FlowSummaryImpl as FlowSummaryImpl private import codeql.rust.internal.CachedStages -private import codeql.rust.internal.TypeInference as TypeInference -private import codeql.rust.internal.Type as Type +private import codeql.rust.internal.typeinference.TypeInference as TypeInference +private import codeql.rust.internal.typeinference.Type as Type private import codeql.rust.frameworks.stdlib.Builtins as Builtins /** @@ -29,7 +30,11 @@ private predicate excludedTaintStepContent(Content c) { ) } -module RustTaintTracking implements InputSig { +module RustTaintTrackingGen implements + InputSig> +{ + private module DataFlow = DataFlowImpl::RustDataFlowGen; + predicate defaultTaintSanitizer(DataFlow::Node node) { none() } /** @@ -53,7 +58,7 @@ module RustTaintTracking implements InputSig { // is tainted and an operation reads from `foo` (e.g., `foo.bar`) then // taint is propagated. exists(ContentSet cs | - RustDataFlow::readStep(pred, cs, succ) and + DataFlow::readStep(pred, cs, succ) and not excludedTaintStepContent(cs.getAReadContent()) ) or @@ -70,9 +75,11 @@ module RustTaintTracking implements InputSig { ) or succ.(Node::PostUpdateNode).getPreUpdateNode().asExpr() = - getPostUpdateReverseStep(pred.(Node::PostUpdateNode).getPreUpdateNode().asExpr(), false) + DataFlowImpl::getPostUpdateReverseStep(pred.(Node::PostUpdateNode) + .getPreUpdateNode() + .asExpr(), false) or - indexAssignment(any(CompoundAssignmentExpr cae), + DataFlowImpl::indexAssignment(any(CompoundAssignmentExpr cae), pred.(Node::PostUpdateNode).getPreUpdateNode().asExpr(), _, succ, _) ) or @@ -92,7 +99,7 @@ module RustTaintTracking implements InputSig { c instanceof ReferenceContent ) and // Optional steps are added through isAdditionalFlowStep but we don't want the implicit reads - not optionalStep(node, _, _) + not DataFlowImpl::optionalStep(node, _, _) } /** @@ -101,3 +108,5 @@ module RustTaintTracking implements InputSig { */ predicate speculativeTaintStep(DataFlow::Node src, DataFlow::Node sink) { none() } } + +module RustTaintTracking = RustTaintTrackingGen; diff --git a/rust/ql/lib/codeql/rust/elements.qll b/rust/ql/lib/codeql/rust/elements.qll index 1377c543f78..b7ca8fe1ca5 100644 --- a/rust/ql/lib/codeql/rust/elements.qll +++ b/rust/ql/lib/codeql/rust/elements.qll @@ -93,7 +93,6 @@ import codeql.rust.elements.LiteralPat import codeql.rust.elements.Locatable import codeql.rust.elements.LoopExpr import codeql.rust.elements.LoopingExpr -import codeql.rust.elements.MacroBlockExpr import codeql.rust.elements.MacroCall import codeql.rust.elements.MacroDef import codeql.rust.elements.MacroExpr diff --git a/rust/ql/lib/codeql/rust/elements/MacroBlockExpr.qll b/rust/ql/lib/codeql/rust/elements/MacroBlockExpr.qll deleted file mode 100644 index 0ad76f8a973..00000000000 --- a/rust/ql/lib/codeql/rust/elements/MacroBlockExpr.qll +++ /dev/null @@ -1,24 +0,0 @@ -// generated by codegen, do not edit -/** - * This module provides the public class `MacroBlockExpr`. - */ - -private import internal.MacroBlockExprImpl -import codeql.rust.elements.Expr -import codeql.rust.elements.Stmt - -/** - * A sequence of statements generated by a `MacroCall`. For example: - * ```rust - * macro_rules! my_macro { - * () => { - * let mut x = 40; - * x += 2; - * x - * }; - * } - * - * my_macro!(); // this macro expands to a sequence of statements (and an expression) - * ``` - */ -final class MacroBlockExpr = Impl::MacroBlockExpr; diff --git a/rust/ql/lib/codeql/rust/elements/internal/CallExprImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/CallExprImpl.qll index cad921640ef..b65b603dd8f 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/CallExprImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/CallExprImpl.qll @@ -15,7 +15,7 @@ module Impl { private import codeql.rust.elements.internal.InvocationExprImpl::Impl as InvocationExprImpl private import codeql.rust.elements.internal.CallImpl::Impl as CallImpl private import codeql.rust.internal.PathResolution as PathResolution - private import codeql.rust.internal.TypeInference as TypeInference + private import codeql.rust.internal.typeinference.TypeInference as TypeInference pragma[nomagic] Path getFunctionPath(CallExpr ce) { result = ce.getFunction().(PathExpr).getPath() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/CallImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/CallImpl.qll index e35b932242c..2af80de6697 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/CallImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/CallImpl.qll @@ -1,7 +1,7 @@ private import rust module Impl { - private import codeql.rust.internal.TypeInference as TypeInference + private import codeql.rust.internal.typeinference.TypeInference as TypeInference private import codeql.rust.elements.internal.ExprImpl::Impl as ExprImpl private import codeql.rust.elements.internal.InvocationExprImpl::Impl as InvocationExprImpl diff --git a/rust/ql/lib/codeql/rust/elements/internal/ElementImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/ElementImpl.qll index df586df6424..277e77d8eab 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/ElementImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/ElementImpl.qll @@ -99,10 +99,11 @@ module Impl { */ cached predicate isFromMacroExpansion(AstNode n) { - exists(AstNode macro | + exists(AstNode macro, Location l | macro = getImmediatelyEnclosingMacroInvocation(n) and not n = getATokenTreeNode(macro) and - not isAttributeMacroExpansionSourceLocation(macro, n.getLocation()) + l = n.getLocation() and + not isAttributeMacroExpansionSourceLocation(macro, l) ) or isFromMacroExpansion(pragma[only_bind_into](getImmediatelyEnclosingMacroInvocation(n))) diff --git a/rust/ql/lib/codeql/rust/elements/internal/FieldExprImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/FieldExprImpl.qll index 469a8ccc05d..db5578b835a 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/FieldExprImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/FieldExprImpl.qll @@ -12,7 +12,7 @@ private import codeql.rust.elements.internal.generated.FieldExpr */ module Impl { private import rust - private import codeql.rust.internal.TypeInference as TypeInference + private import codeql.rust.internal.typeinference.TypeInference as TypeInference // the following QLdoc is generated: if you need to edit it, do it in the schema file /** diff --git a/rust/ql/lib/codeql/rust/elements/internal/InvocationExprImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/InvocationExprImpl.qll index e1db44eb4d1..d4f68329de9 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/InvocationExprImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/InvocationExprImpl.qll @@ -1,7 +1,7 @@ private import rust module Impl { - private import codeql.rust.internal.TypeInference as TypeInference + private import codeql.rust.internal.typeinference.TypeInference as TypeInference private import codeql.rust.elements.internal.ExprImpl::Impl as ExprImpl private newtype TArgumentPosition = diff --git a/rust/ql/lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll deleted file mode 100644 index 0bb4936209a..00000000000 --- a/rust/ql/lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll +++ /dev/null @@ -1,14 +0,0 @@ -// generated by codegen, remove this comment if you wish to edit this file -/** - * This module defines the hook used internally to tweak the characteristic predicate of - * `MacroBlockExpr` synthesized instances. - * INTERNAL: Do not use. - */ - -private import codeql.rust.elements.internal.generated.Raw - -/** - * The characteristic predicate of `MacroBlockExpr` synthesized instances. - * INTERNAL: Do not use. - */ -predicate constructMacroBlockExpr(Raw::MacroBlockExpr id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll deleted file mode 100644 index 289e6c33a30..00000000000 --- a/rust/ql/lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll +++ /dev/null @@ -1,30 +0,0 @@ -// generated by codegen, remove this comment if you wish to edit this file -/** - * This module provides a hand-modifiable wrapper around the generated class `MacroBlockExpr`. - * - * INTERNAL: Do not use. - */ - -private import codeql.rust.elements.internal.generated.MacroBlockExpr - -/** - * INTERNAL: This module contains the customizable definition of `MacroBlockExpr` and should not - * be referenced directly. - */ -module Impl { - /** - * A sequence of statements generated by a `MacroCall`. For example: - * ```rust - * macro_rules! my_macro { - * () => { - * let mut x = 40; - * x += 2; - * x - * }; - * } - * - * my_macro!(); // this macro expands to a sequence of statements (and an expression) - * ``` - */ - class MacroBlockExpr extends Generated::MacroBlockExpr { } -} diff --git a/rust/ql/lib/codeql/rust/elements/internal/TraitImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/TraitImpl.qll index 83ba43020d7..bb9ffa83244 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/TraitImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/TraitImpl.qll @@ -5,6 +5,7 @@ */ private import codeql.rust.elements.internal.generated.Trait +private import codeql.rust.internal.PathResolution as PathResolution /** * INTERNAL: This module contains the customizable definition of `Trait` and should not @@ -67,5 +68,11 @@ module Impl { * `where` clauses for `Self`. */ TypeBound getATypeBound() { result = this.getTypeBound(_) } + + /** Gets a direct supertrait of this trait, if any. */ + Trait getSupertrait() { + result = + PathResolution::resolvePath(this.getATypeBound().getTypeRepr().(PathTypeRepr).getPath()) + } } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll deleted file mode 100644 index e7b94d9f04c..00000000000 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll +++ /dev/null @@ -1,72 +0,0 @@ -// generated by codegen, do not edit -/** - * This module provides the generated definition of `MacroBlockExpr`. - * INTERNAL: Do not import directly. - */ - -private import codeql.rust.elements.internal.generated.Synth -private import codeql.rust.elements.internal.generated.Raw -import codeql.rust.elements.Expr -import codeql.rust.elements.internal.ExprImpl::Impl as ExprImpl -import codeql.rust.elements.Stmt - -/** - * INTERNAL: This module contains the fully generated definition of `MacroBlockExpr` and should not - * be referenced directly. - */ -module Generated { - /** - * A sequence of statements generated by a `MacroCall`. For example: - * ```rust - * macro_rules! my_macro { - * () => { - * let mut x = 40; - * x += 2; - * x - * }; - * } - * - * my_macro!(); // this macro expands to a sequence of statements (and an expression) - * ``` - * INTERNAL: Do not reference the `Generated::MacroBlockExpr` class directly. - * Use the subclass `MacroBlockExpr`, where the following predicates are available. - */ - class MacroBlockExpr extends Synth::TMacroBlockExpr, ExprImpl::Expr { - override string getAPrimaryQlClass() { result = "MacroBlockExpr" } - - /** - * Gets the `index`th statement of this macro block expression (0-based). - */ - Stmt getStatement(int index) { - result = - Synth::convertStmtFromRaw(Synth::convertMacroBlockExprToRaw(this) - .(Raw::MacroBlockExpr) - .getStatement(index)) - } - - /** - * Gets any of the statements of this macro block expression. - */ - final Stmt getAStatement() { result = this.getStatement(_) } - - /** - * Gets the number of statements of this macro block expression. - */ - final int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) } - - /** - * Gets the tail expression of this macro block expression, if it exists. - */ - Expr getTailExpr() { - result = - Synth::convertExprFromRaw(Synth::convertMacroBlockExprToRaw(this) - .(Raw::MacroBlockExpr) - .getTailExpr()) - } - - /** - * Holds if `getTailExpr()` exists. - */ - final predicate hasTailExpr() { exists(this.getTailExpr()) } - } -} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll index 2b51f614619..c593451b993 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll @@ -1505,24 +1505,6 @@ private module Impl { ) } - private Element getImmediateChildOfMacroBlockExpr( - MacroBlockExpr e, int index, string partialPredicateCall - ) { - exists(int n, int nStatement, int nTailExpr | - n = 0 and - nStatement = n + e.getNumberOfStatements() and - nTailExpr = nStatement + 1 and - ( - none() - or - result = e.getStatement(index - n) and - partialPredicateCall = "Statement(" + (index - n).toString() + ")" - or - index = nStatement and result = e.getTailExpr() and partialPredicateCall = "TailExpr()" - ) - ) - } - private Element getImmediateChildOfMacroExpr(MacroExpr e, int index, string partialPredicateCall) { exists(int n, int nMacroCall | n = 0 and @@ -3217,8 +3199,6 @@ private module Impl { or result = getImmediateChildOfLiteralPat(e, index, partialAccessor) or - result = getImmediateChildOfMacroBlockExpr(e, index, partialAccessor) - or result = getImmediateChildOfMacroExpr(e, index, partialAccessor) or result = getImmediateChildOfMacroPat(e, index, partialAccessor) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll index 5cc81a8777b..01f54e7ab60 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -4169,55 +4169,6 @@ module Raw { ) } - /** - * INTERNAL: Do not use. - * A sequence of statements generated by a `MacroCall`. For example: - * ```rust - * macro_rules! my_macro { - * () => { - * let mut x = 40; - * x += 2; - * x - * }; - * } - * - * my_macro!(); // this macro expands to a sequence of statements (and an expression) - * ``` - */ - class MacroBlockExpr extends @macro_block_expr, Expr { - override string toString() { result = "MacroBlockExpr" } - - /** - * Gets the `index`th statement of this macro block expression (0-based). - */ - Stmt getStatement(int index) { macro_block_expr_statements(this, index, result) } - - /** - * Gets the number of statements of this macro block expression. - */ - int getNumberOfStatements() { result = count(int i | macro_block_expr_statements(this, i, _)) } - - /** - * Gets the tail expression of this macro block expression, if it exists. - */ - Expr getTailExpr() { macro_block_expr_tail_exprs(this, result) } - } - - private Element getImmediateChildOfMacroBlockExpr(MacroBlockExpr e, int index) { - exists(int n, int nStatement, int nTailExpr | - n = 0 and - nStatement = n + e.getNumberOfStatements() and - nTailExpr = nStatement + 1 and - ( - none() - or - result = e.getStatement(index - n) - or - index = nStatement and result = e.getTailExpr() - ) - ) - } - /** * INTERNAL: Do not use. * A macro expression, representing the invocation of a macro that produces an expression. @@ -7915,8 +7866,6 @@ module Raw { or result = getImmediateChildOfLiteralPat(e, index) or - result = getImmediateChildOfMacroBlockExpr(e, index) - or result = getImmediateChildOfMacroExpr(e, index) or result = getImmediateChildOfMacroPat(e, index) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll index 8b22dbbac9d..eebd86348e0 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll @@ -318,10 +318,6 @@ module Synth { * INTERNAL: Do not use. */ TLoopExpr(Raw::LoopExpr id) { constructLoopExpr(id) } or - /** - * INTERNAL: Do not use. - */ - TMacroBlockExpr(Raw::MacroBlockExpr id) { constructMacroBlockExpr(id) } or /** * INTERNAL: Do not use. */ @@ -736,9 +732,9 @@ module Synth { TArrayExpr or TArrayExprInternal or TAsmExpr or TAwaitExpr or TBecomeExpr or TBinaryExpr or TBreakExpr or TCallExpr or TCastExpr or TClosureExpr or TContinueExpr or TFieldExpr or TFormatArgsExpr or TIfExpr or TIndexExpr or TLabelableExpr or TLetExpr or TLiteralExpr or - TMacroBlockExpr or TMacroExpr or TMatchExpr or TMethodCallExpr or TOffsetOfExpr or - TParenExpr or TPathExprBase or TPrefixExpr or TRangeExpr or TRefExpr or TReturnExpr or - TStructExpr or TTryExpr or TTupleExpr or TUnderscoreExpr or TYeetExpr or TYieldExpr; + TMacroExpr or TMatchExpr or TMethodCallExpr or TOffsetOfExpr or TParenExpr or + TPathExprBase or TPrefixExpr or TRangeExpr or TRefExpr or TReturnExpr or TStructExpr or + TTryExpr or TTupleExpr or TUnderscoreExpr or TYeetExpr or TYieldExpr; /** * INTERNAL: Do not use. @@ -1377,13 +1373,6 @@ module Synth { */ TLoopExpr convertLoopExprFromRaw(Raw::Element e) { result = TLoopExpr(e) } - /** - * INTERNAL: Do not use. - * - * Converts a raw element to a synthesized `TMacroBlockExpr`, if possible. - */ - TMacroBlockExpr convertMacroBlockExprFromRaw(Raw::Element e) { result = TMacroBlockExpr(e) } - /** * INTERNAL: Do not use. * @@ -2277,8 +2266,6 @@ module Synth { or result = convertLiteralExprFromRaw(e) or - result = convertMacroBlockExprFromRaw(e) - or result = convertMacroExprFromRaw(e) or result = convertMatchExprFromRaw(e) @@ -3036,12 +3023,6 @@ module Synth { */ Raw::Element convertLoopExprToRaw(TLoopExpr e) { e = TLoopExpr(result) } - /** - * INTERNAL: Do not use. - * Converts a synthesized `TMacroBlockExpr` to a raw DB element, if possible. - */ - Raw::Element convertMacroBlockExprToRaw(TMacroBlockExpr e) { e = TMacroBlockExpr(result) } - /** * INTERNAL: Do not use. * Converts a synthesized `TMacroCall` to a raw DB element, if possible. @@ -3845,8 +3826,6 @@ module Synth { or result = convertLiteralExprToRaw(e) or - result = convertMacroBlockExprToRaw(e) - or result = convertMacroExprToRaw(e) or result = convertMatchExprToRaw(e) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll index d701fa09d76..613af726ba4 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll @@ -77,7 +77,6 @@ import codeql.rust.elements.internal.LifetimeParamConstructor import codeql.rust.elements.internal.LiteralExprConstructor import codeql.rust.elements.internal.LiteralPatConstructor import codeql.rust.elements.internal.LoopExprConstructor -import codeql.rust.elements.internal.MacroBlockExprConstructor import codeql.rust.elements.internal.MacroCallConstructor import codeql.rust.elements.internal.MacroDefConstructor import codeql.rust.elements.internal.MacroExprConstructor diff --git a/rust/ql/lib/codeql/rust/frameworks/futures.model.yml b/rust/ql/lib/codeql/rust/frameworks/futures.model.yml index 712897186a8..29feee13616 100644 --- a/rust/ql/lib/codeql/rust/frameworks/futures.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/futures.model.yml @@ -5,7 +5,6 @@ extensions: data: - ["futures_executor::local_pool::block_on", "Argument[0]", "ReturnValue", "value", "manual"] - ["::new", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["<_ as futures_util::io::AsyncReadExt>::read", "Argument[self]", "Argument[0].Reference", "taint", "manual"] - ["<_ as futures_util::io::AsyncReadExt>::read", "Argument[self].Reference", "Argument[0].Reference", "taint", "manual"] - ["<_ as futures_util::io::AsyncReadExt>::read_to_end", "Argument[self].Reference", "Argument[0].Reference", "taint", "manual"] - ["<_ as futures_util::io::AsyncBufReadExt>::read_line", "Argument[self].Reference", "Argument[0].Reference", "taint", "manual"] diff --git a/rust/ql/lib/codeql/rust/frameworks/http.model.yml b/rust/ql/lib/codeql/rust/frameworks/http.model.yml index 6a497f34647..5c527cc1d40 100644 --- a/rust/ql/lib/codeql/rust/frameworks/http.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/http.model.yml @@ -1,4 +1,11 @@ extensions: + - addsTo: + pack: codeql/rust-all + extensible: summaryModel + data: + - ["::body", "Argument[self].Reference.Field[http::response::Response::body]", "ReturnValue.Reference", "value", "manual"] + - ["::body_mut", "Argument[self].Reference.Field[http::response::Response::body]", "ReturnValue.Reference", "value", "manual"] + - ["::into_body", "Argument[self].Field[http::response::Response::body]", "ReturnValue", "value", "manual"] - addsTo: pack: codeql/rust-all extensible: sourceModel diff --git a/rust/ql/lib/codeql/rust/frameworks/reqwest.model.yml b/rust/ql/lib/codeql/rust/frameworks/reqwest.model.yml index 4b728a9a6ad..6c46e835c4f 100644 --- a/rust/ql/lib/codeql/rust/frameworks/reqwest.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/reqwest.model.yml @@ -29,3 +29,8 @@ extensions: - ["::text", "Argument[self]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"] - ["::bytes", "Argument[self]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"] - ["::chunk", "Argument[self].Reference", "ReturnValue.Future.Field[core::result::Result::Ok(0)].Field[core::option::Option::Some(0)]", "taint", "manual"] + - addsTo: + pack: codeql/rust-all + extensible: excludeFieldTaintStep + data: + - ["reqwest::blocking::response::Response::timeout"] diff --git a/rust/ql/lib/codeql/rust/frameworks/rustcrypto/RustCrypto.qll b/rust/ql/lib/codeql/rust/frameworks/rustcrypto/RustCrypto.qll index cbc638c8ae5..41fdd4abe72 100644 --- a/rust/ql/lib/codeql/rust/frameworks/rustcrypto/RustCrypto.qll +++ b/rust/ql/lib/codeql/rust/frameworks/rustcrypto/RustCrypto.qll @@ -5,8 +5,8 @@ private import rust private import codeql.rust.Concepts private import codeql.rust.dataflow.DataFlow -private import codeql.rust.internal.TypeInference -private import codeql.rust.internal.Type +private import codeql.rust.internal.typeinference.TypeInference +private import codeql.rust.internal.typeinference.Type bindingset[algorithmName] private string simplifyAlgorithmName(string algorithmName) { diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll b/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll index 114c283bbdb..cc07beb2b71 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/Stdlib.qll @@ -5,7 +5,10 @@ private import rust private import codeql.rust.Concepts private import codeql.rust.dataflow.DataFlow +private import codeql.rust.dataflow.FlowSummary private import codeql.rust.internal.PathResolution +private import codeql.rust.internal.typeinference.Type +private import codeql.rust.internal.typeinference.TypeMention /** * A call to the `starts_with` method on a `Path`. @@ -19,6 +22,34 @@ private class StartswithCall extends Path::SafeAccessCheck::Range, MethodCall { } } +/** + * A flow summary for the [reflexive implementation of the `From` trait][1]. + * + * Blanket implementations currently don't have a canonical path, so we cannot + * use models-as-data for this model. + * + * [1]: https://doc.rust-lang.org/std/convert/trait.From.html#impl-From%3CT%3E-for-T + */ +private class ReflexiveFrom extends SummarizedCallable::Range { + ReflexiveFrom() { + exists(ImplItemNode impl | + impl.resolveTraitTy().(Trait).getCanonicalPath() = "core::convert::From" and + this = impl.getAssocItem("from") and + resolvePath(this.getParam(0).getTypeRepr().(PathTypeRepr).getPath()) = + impl.getBlanketImplementationTypeParam() + ) + } + + override predicate propagatesFlow( + string input, string output, boolean preservesValue, string model + ) { + input = "Argument[0]" and + output = "ReturnValue" and + preservesValue = true and + model = "ReflexiveFrom" + } +} + /** * The [`Option` enum][1]. * @@ -143,23 +174,48 @@ class FutureTrait extends Trait { TypeAlias getOutputType() { result = this.(TraitItemNode).getAssocItem("Output") } } +/** A function trait `FnOnce`, `FnMut`, or `Fn`. */ +abstract private class AnyFnTraitImpl extends Trait { + /** Gets the `Args` type parameter of this trait. */ + TypeParam getTypeParam() { result = this.getGenericParamList().getGenericParam(0) } +} + +final class AnyFnTrait = AnyFnTraitImpl; + /** * The [`FnOnce` trait][1]. * * [1]: https://doc.rust-lang.org/std/ops/trait.FnOnce.html */ -class FnOnceTrait extends Trait { +class FnOnceTrait extends AnyFnTraitImpl { pragma[nomagic] FnOnceTrait() { this.getCanonicalPath() = "core::ops::function::FnOnce" } - /** Gets the type parameter of this trait. */ - TypeParam getTypeParam() { result = this.getGenericParamList().getGenericParam(0) } - /** Gets the `Output` associated type. */ pragma[nomagic] TypeAlias getOutputType() { result = this.(TraitItemNode).getAssocItem("Output") } } +/** + * The [`FnMut` trait][1]. + * + * [1]: https://doc.rust-lang.org/std/ops/trait.FnMut.html + */ +class FnMutTrait extends AnyFnTraitImpl { + pragma[nomagic] + FnMutTrait() { this.getCanonicalPath() = "core::ops::function::FnMut" } +} + +/** + * The [`Fn` trait][1]. + * + * [1]: https://doc.rust-lang.org/std/ops/trait.Fn.html + */ +class FnTrait extends AnyFnTraitImpl { + pragma[nomagic] + FnTrait() { this.getCanonicalPath() = "core::ops::function::Fn" } +} + /** * The [`Iterator` trait][1]. * diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml b/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml index cfaef568f1f..74432649bd8 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/alloc.model.yml @@ -47,11 +47,12 @@ extensions: - ["::pad_to_align", "Argument[self].Reference", "ReturnValue", "taint", "manual"] - ["::size", "Argument[self].Reference", "ReturnValue", "taint", "manual"] # String - - ["::as_str", "Argument[self]", "ReturnValue", "value", "manual"] - - ["::as_bytes", "Argument[self]", "ReturnValue", "value", "manual"] + - ["::as_str", "Argument[self].Reference", "ReturnValue.Reference", "taint", "manual"] + - ["::as_bytes", "Argument[self].Reference", "ReturnValue.Reference.Element", "taint", "manual"] - ["<_ as alloc::string::ToString>::to_string", "Argument[self].Reference", "ReturnValue", "taint", "manual"] # Overwrite generated model - - ["::add", "Argument[self,0]", "ReturnValue", "taint", "manual"] + - ["::add", "Argument[self]", "ReturnValue", "taint", "manual"] - ["::add", "Argument[0].Reference", "ReturnValue", "taint", "manual"] # Vec - ["alloc::vec::from_elem", "Argument[0]", "ReturnValue.Element", "value", "manual"] + - ["::deref", "Argument[self].Reference.Element", "ReturnValue.Reference.Element", "value", "manual"] \ No newline at end of file diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml b/rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml index 0844dae5612..e92ae4defa3 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml @@ -114,7 +114,7 @@ extensions: - ["::deref", "Argument[self].Reference.Field[core::pin::Pin::pointer].Reference", "ReturnValue.Reference", "value", "manual"] - ["::deref", "Argument[self].Reference.Field[core::pin::Pin::pointer].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "manual"] # Str - - ["::as_str", "Argument[self]", "ReturnValue", "value", "manual"] + - ["::as_str", "Argument[self].Reference", "ReturnValue.Reference", "taint", "manual"] - ["::as_bytes", "Argument[self].Reference", "ReturnValue.Reference", "taint", "manual"] - ["::parse", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] - ["::trim", "Argument[self].Reference", "ReturnValue.Reference", "taint", "manual"] @@ -123,6 +123,8 @@ extensions: - ["<_ as core::cmp::Ord>::min", "Argument[self,0]", "ReturnValue", "value", "manual"] - ["<_ as core::cmp::Ord>::max", "Argument[self,0]", "ReturnValue", "value", "manual"] - ["<_ as core::cmp::Ord>::clamp", "Argument[self,0,1]", "ReturnValue", "value", "manual"] + # Slice + - ["<[]>::get", "Argument[self].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "manual"] - addsTo: pack: codeql/rust-all extensible: sourceModel diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/ffi.model.yml b/rust/ql/lib/codeql/rust/frameworks/stdlib/ffi.model.yml new file mode 100644 index 00000000000..0f7545f8a92 --- /dev/null +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/ffi.model.yml @@ -0,0 +1,8 @@ +extensions: + - addsTo: + pack: codeql/rust-all + extensible: summaryModel + data: + - ["::to_str", "Argument[self].Reference.Field[std::ffi::os_str::OsStr::inner]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] + - ["::to_string_lossy", "Argument[self].Reference.Field[std::ffi::os_str::OsStr::inner]", "ReturnValue.Field[alloc::borrow::Cow::Owned(0)]", "taint", "manual"] + - ["::as_encoded_bytes", "Argument[self].Reference.Field[std::ffi::os_str::OsStr::inner]", "ReturnValue.Reference", "taint", "manual"] \ No newline at end of file diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/fs.model.yml b/rust/ql/lib/codeql/rust/frameworks/stdlib/fs.model.yml index 8be4fdc05bf..7532a06a178 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/fs.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/fs.model.yml @@ -59,27 +59,23 @@ extensions: - ["std::fs::canonicalize", "Argument[0].OptionalStep[normalize-path]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] - ["std::fs::canonicalize", "Argument[0].OptionalBarrier[normalize-path]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] - ["::as_path", "Argument[self].Reference", "ReturnValue.Reference", "value", "manual"] - - ["::as_mut_os_string", "Argument[Self].Reference", "ReturnValue.Reference", "value", "manual"] - - ["::into_os_string", "Argument[Self]", "ReturnValue", "value", "manual"] - - ["::into_boxed_path", "Argument[Self]", "ReturnValue.Reference", "value", "manual"] + - ["::into_boxed_path", "Argument[self]", "ReturnValue.Field[alloc::boxed::Box(0)]", "taint", "manual"] - ["::new", "Argument[0].Reference", "ReturnValue.Reference", "value", "manual"] - - ["::join", "Argument[self]", "ReturnValue", "taint", "manual"] + - ["::join", "Argument[self].Reference", "ReturnValue", "taint", "manual"] - ["::join", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["::as_os_string", "Argument[Self].Reference", "ReturnValue.Reference", "value", "manual"] - - ["::as_mut_os_string", "Argument[Self].Reference", "ReturnValue.Reference", "value", "manual"] - ["::canonicalize", "Argument[self].Reference.OptionalStep[normalize-path]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] - ["::canonicalize", "Argument[self].Reference.OptionalBarrier[normalize-path]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] - - ["::extension", "Argument[Self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] - - ["::file_name", "Argument[Self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] - - ["::file_prefix", "Argument[Self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] - - ["::file_stem", "Argument[Self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] - - ["::into_path_buf", "Argument[Self].Reference", "ReturnValue", "value", "manual"] - - ["::parent", "Argument[Self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] - - ["::to_path_buf", "Argument[Self].Reference", "ReturnValue", "value", "manual"] - - ["::to_str", "Argument[Self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "manual"] - - ["::with_added_extension", "Argument[Self].Reference", "ReturnValue", "taint", "manual"] - - ["::with_extension", "Argument[Self].Reference", "ReturnValue", "taint", "manual"] - - ["::with_file_name", "Argument[Self].Reference", "ReturnValue", "taint", "manual"] + - ["::extension", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] + - ["::file_name", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] + - ["::file_prefix", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] + - ["::file_stem", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] + - ["::into_path_buf", "Argument[self].Field[alloc::boxed::Box(0)]", "ReturnValue", "value", "manual"] + - ["::parent", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "taint", "manual"] + - ["::to_path_buf", "Argument[self].Reference", "ReturnValue", "value", "manual"] + - ["::to_str", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "manual"] + - ["::with_added_extension", "Argument[self].Reference", "ReturnValue", "taint", "manual"] + - ["::with_extension", "Argument[self].Reference", "ReturnValue", "taint", "manual"] + - ["::with_file_name", "Argument[self].Reference", "ReturnValue", "taint", "manual"] - ["::with_file_name", "Argument[0]", "ReturnValue", "taint", "manual"] - ["::accessed", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] - ["::created", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/io.model.yml b/rust/ql/lib/codeql/rust/frameworks/stdlib/io.model.yml index 064c2cd19cf..afb6757ef66 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/io.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/io.model.yml @@ -24,4 +24,5 @@ extensions: - ["<_ as std::io::Read>::chain", "Argument[0]", "ReturnValue", "taint", "manual"] - ["<_ as std::io::Read>::take", "Argument[self]", "ReturnValue", "taint", "manual"] - ["::lock", "Argument[self].Reference", "ReturnValue", "taint", "manual"] + - ["::read_line", "Argument[self].Reference", "Argument[0].Reference", "taint", "manual"] - ["::next", "Argument[self].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::result::Result::Ok(0)]", "value", "manual"] diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/net.model.yml b/rust/ql/lib/codeql/rust/frameworks/stdlib/net.model.yml index 8aa03133354..fc4c043cecf 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/net.model.yml +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/net.model.yml @@ -9,4 +9,4 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: - - ["::try_clone", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] + - ["::try_clone", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "taint", "manual"] diff --git a/rust/ql/lib/codeql/rust/internal/CachedStages.qll b/rust/ql/lib/codeql/rust/internal/CachedStages.qll index dc80fc09dad..a92770ed238 100644 --- a/rust/ql/lib/codeql/rust/internal/CachedStages.qll +++ b/rust/ql/lib/codeql/rust/internal/CachedStages.qll @@ -128,8 +128,8 @@ module Stages { */ cached module TypeInferenceStage { - private import codeql.rust.internal.Type - private import codeql.rust.internal.TypeInference + private import codeql.rust.internal.typeinference.Type + private import codeql.rust.internal.typeinference.TypeInference /** * Always holds. diff --git a/rust/ql/lib/codeql/rust/internal/PathResolution.qll b/rust/ql/lib/codeql/rust/internal/PathResolution.qll index e23efc60ee4..f30625807b4 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolution.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolution.qll @@ -110,20 +110,18 @@ pragma[nomagic] private ItemNode getAChildSuccessor(ItemNode item, string name, SuccessorKind kind) { item = result.getImmediateParent() and name = result.getName() and - ( - // type parameters are only available inside the declaring item - if result instanceof TypeParam - then kind.isInternal() + // type parameters are only available inside the declaring item + if result instanceof TypeParam + then kind.isInternal() + else + // associated items must always be qualified, also within the declaring + // item (using `Self`) + if item instanceof ImplOrTraitItemNode and result instanceof AssocItem + then kind.isExternal() else - // associated items must always be qualified, also within the declaring - // item (using `Self`) - if item instanceof ImplOrTraitItemNode and result instanceof AssocItem - then kind.isExternal() - else - if result.isPublic() - then kind.isBoth() - else kind.isInternal() - ) + if result.isPublic() + then kind.isBoth() + else kind.isInternal() } private module UseOption = Option; @@ -372,6 +370,13 @@ abstract class ItemNode extends Locatable { result = this.(TypeAliasItemNodeImpl).resolveAliasCand().getASuccessor(name, kind, useOpt) and kind.isExternalOrBoth() or + // items declared at top-level inside macros are also available at the macro invocation sites + exists(BlockExprItemNode be | + this = be.getImmediateParent() and + be = any(MacroCall mc).getMacroCallExpansion() and + result = be.getASuccessor(name, kind, useOpt) + ) + or name = "super" and useOpt.isNone() and ( diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll b/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll index c60ad3f6ae3..63a21f2867b 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll @@ -7,9 +7,9 @@ private import rust private import codeql.rust.internal.PathResolution -private import codeql.rust.internal.Type -private import codeql.rust.internal.TypeMention -private import codeql.rust.internal.TypeInference +private import Type +private import TypeMention +private import TypeInference /** * Holds if `traitBound` is the first non-trivial trait bound of `tp`. @@ -126,7 +126,7 @@ module SatisfiesBlanketConstraint< /** * Holds if the argument type `at` satisfies the first non-trivial blanket - * constraint of `impl`. + * constraint of `impl`, or if there are no non-trivial constraints of `impl`. */ pragma[nomagic] predicate satisfiesBlanketConstraint(ArgumentType at, ImplItemNode impl) { @@ -135,6 +135,11 @@ module SatisfiesBlanketConstraint< SatisfiesBlanketConstraintInput::relevantConstraint(ato, impl, traitBound) and SatisfiesBlanketConstraint::satisfiesConstraintType(ato, TTrait(traitBound), _, _) ) + or + exists(TypeParam blanketTypeParam | + hasBlanketCandidate(at, impl, _, blanketTypeParam) and + not hasFirstNonTrivialTraitBound(blanketTypeParam, _) + ) } /** diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/DerefChain.qll b/rust/ql/lib/codeql/rust/internal/typeinference/DerefChain.qll index 16e35bae421..c568fca48b6 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/DerefChain.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/DerefChain.qll @@ -2,9 +2,9 @@ private import rust private import codeql.rust.internal.PathResolution -private import codeql.rust.internal.Type -private import codeql.rust.internal.TypeInference -private import codeql.rust.internal.TypeMention +private import Type +private import TypeInference +private import TypeMention private import codeql.rust.frameworks.stdlib.Stdlib private import codeql.rust.frameworks.stdlib.Builtins as Builtins private import codeql.util.UnboundList as UnboundListImpl diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll index b58084e31cf..0e4bc272905 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionOverloading.qll @@ -7,9 +7,10 @@ private import rust private import codeql.rust.internal.PathResolution -private import codeql.rust.internal.Type -private import codeql.rust.internal.TypeMention -private import codeql.rust.internal.TypeInference +private import Type +private import TypeAbstraction +private import TypeMention +private import TypeInference private import FunctionType pragma[nomagic] @@ -34,6 +35,12 @@ private predicate implSiblingCandidate( rootType = selfTy.resolveType() } +pragma[nomagic] +private predicate blanketImplSiblingCandidate(ImplItemNode impl, Trait trait) { + impl.isBlanketImplementation() and + trait = impl.resolveTraitTy() +} + /** * Holds if `impl1` and `impl2` are a sibling implementations of `trait`. We * consider implementations to be siblings if they implement the same trait for @@ -43,17 +50,22 @@ private predicate implSiblingCandidate( */ pragma[inline] private predicate implSiblings(TraitItemNode trait, Impl impl1, Impl impl2) { - exists(Type rootType, TypeMention selfTy1, TypeMention selfTy2 | - impl1 != impl2 and - implSiblingCandidate(impl1, trait, rootType, selfTy1) and - implSiblingCandidate(impl2, trait, rootType, selfTy2) and - // In principle the second conjunct below should be superflous, but we still - // have ill-formed type mentions for types that we don't understand. For - // those checking both directions restricts further. Note also that we check - // syntactic equality, whereas equality up to renaming would be more - // correct. - typeMentionEqual(selfTy1, selfTy2) and - typeMentionEqual(selfTy2, selfTy1) + impl1 != impl2 and + ( + exists(Type rootType, TypeMention selfTy1, TypeMention selfTy2 | + implSiblingCandidate(impl1, trait, rootType, selfTy1) and + implSiblingCandidate(impl2, trait, rootType, selfTy2) and + // In principle the second conjunct below should be superflous, but we still + // have ill-formed type mentions for types that we don't understand. For + // those checking both directions restricts further. Note also that we check + // syntactic equality, whereas equality up to renaming would be more + // correct. + typeMentionEqual(selfTy1, selfTy2) and + typeMentionEqual(selfTy2, selfTy1) + ) + or + blanketImplSiblingCandidate(impl1, trait) and + blanketImplSiblingCandidate(impl2, trait) ) } @@ -62,7 +74,7 @@ private predicate implSiblings(TraitItemNode trait, Impl impl1, Impl impl2) { * exists for the same type. */ pragma[nomagic] -private predicate implHasSibling(Impl impl, Trait trait) { implSiblings(trait, impl, _) } +private predicate implHasSibling(ImplItemNode impl, Trait trait) { implSiblings(trait, impl, _) } /** * Holds if type parameter `tp` of `trait` occurs in the function `f` with the name diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll index bbbbeaba2a6..d375ddfc984 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll @@ -1,8 +1,9 @@ private import rust -private import codeql.rust.internal.TypeInference private import codeql.rust.internal.PathResolution -private import codeql.rust.internal.Type -private import codeql.rust.internal.TypeMention +private import Type +private import TypeAbstraction +private import TypeMention +private import TypeInference private newtype TFunctionPosition = TArgumentFunctionPosition(ArgumentPosition pos) or @@ -355,7 +356,7 @@ module ArgsAreInstantiationsOf { string toString() { result = call.toString() + " [arg " + pos + "]" } } - private module ArgIsInstantiationOfInput implements + private module ArgIsInstantiationOfToIndexInput implements IsInstantiationOfInputSig { pragma[nomagic] @@ -388,7 +389,7 @@ module ArgsAreInstantiationsOf { } private module ArgIsInstantiationOfToIndex = - ArgIsInstantiationOf; + ArgIsInstantiationOf; pragma[nomagic] private predicate argsAreInstantiationsOfToIndex( @@ -412,4 +413,24 @@ module ArgsAreInstantiationsOf { rnk = max(int r | toCheckRanked(i, f, _, r)) ) } + + pragma[nomagic] + private predicate argsAreNotInstantiationsOf0( + Input::Call call, FunctionPosition pos, ImplOrTraitItemNode i + ) { + ArgIsInstantiationOfToIndex::argIsNotInstantiationOf(MkCallAndPos(call, pos), i, _, _) + } + + /** + * Holds if _some_ argument of `call` has a type that is not an instantiation of the + * type of the corresponding parameter of `f` inside `i`. + */ + pragma[nomagic] + predicate argsAreNotInstantiationsOf(Input::Call call, ImplOrTraitItemNode i, Function f) { + exists(FunctionPosition pos | + argsAreNotInstantiationsOf0(call, pos, i) and + call.hasTargetCand(i, f) and + Input::toCheck(i, f, pos, _) + ) + } } diff --git a/rust/ql/lib/codeql/rust/internal/Type.qll b/rust/ql/lib/codeql/rust/internal/typeinference/Type.qll similarity index 84% rename from rust/ql/lib/codeql/rust/internal/Type.qll rename to rust/ql/lib/codeql/rust/internal/typeinference/Type.qll index 9b409e20f76..bf25d96cfa4 100644 --- a/rust/ql/lib/codeql/rust/internal/Type.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/Type.qll @@ -1,7 +1,7 @@ /** Provides classes representing types without type arguments. */ private import rust -private import PathResolution +private import codeql.rust.internal.PathResolution private import TypeMention private import codeql.rust.internal.CachedStages private import codeql.rust.elements.internal.generated.Raw @@ -9,10 +9,17 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.frameworks.stdlib.Stdlib private import codeql.rust.frameworks.stdlib.Builtins as Builtins +/** Gets a type alias of `trait` or of a supertrait of `trait`. */ +private TypeAlias getTraitTypeAlias(Trait trait) { + result = trait.getSupertrait*().getAssocItemList().getAnAssocItem() +} + /** - * Holds if a dyn trait type should have a type parameter associated with `n`. A - * dyn trait type inherits the type parameters of the trait it implements. That - * includes the type parameters corresponding to associated types. + * Holds if a dyn trait type for the trait `trait` should have a type parameter + * associated with `n`. + * + * A dyn trait type inherits the type parameters of the trait it implements. + * That includes the type parameters corresponding to associated types. * * For instance in * ```rust @@ -24,10 +31,7 @@ private import codeql.rust.frameworks.stdlib.Builtins as Builtins */ private predicate dynTraitTypeParameter(Trait trait, AstNode n) { trait = any(DynTraitTypeRepr dt).getTrait() and - ( - n = trait.getGenericParamList().getATypeParam() or - n = trait.(TraitItemNode).getAnAssocItem().(TypeAlias) - ) + n = [trait.getGenericParamList().getATypeParam().(AstNode), getTraitTypeAlias(trait)] } cached @@ -39,8 +43,10 @@ newtype TType = TNeverType() or TUnknownType() or TTypeParamTypeParameter(TypeParam t) or - TAssociatedTypeTypeParameter(TypeAlias t) { any(TraitItemNode trait).getAnAssocItem() = t } or - TDynTraitTypeParameter(AstNode n) { dynTraitTypeParameter(_, n) } or + TAssociatedTypeTypeParameter(Trait trait, TypeAlias typeAlias) { + getTraitTypeAlias(trait) = typeAlias + } or + TDynTraitTypeParameter(Trait trait, AstNode n) { dynTraitTypeParameter(trait, n) } or TImplTraitTypeParameter(ImplTraitTypeRepr implTrait, TypeParam tp) { implTraitTypeParam(implTrait, _, tp) } or @@ -90,6 +96,7 @@ abstract class Type extends TType { class TupleType extends StructType { private int arity; + pragma[nomagic] TupleType() { arity = this.getTypeItem().(Builtins::TupleType).getArity() } /** Gets the arity of this tuple type. */ @@ -197,6 +204,7 @@ class TraitType extends Type, TTrait { * Array types like `[i64; 5]` are modeled as normal generic types. */ class ArrayType extends StructType { + pragma[nomagic] ArrayType() { this.getTypeItem() instanceof Builtins::ArrayType } override string toString() { result = "[;]" } @@ -210,12 +218,14 @@ TypeParamTypeParameter getArrayTypeParameter() { abstract class RefType extends StructType { } class RefMutType extends RefType { + pragma[nomagic] RefMutType() { this.getTypeItem() instanceof Builtins::RefMutType } override string toString() { result = "&mut" } } class RefSharedType extends RefType { + pragma[nomagic] RefSharedType() { this.getTypeItem() instanceof Builtins::RefSharedType } override string toString() { result = "&" } @@ -270,17 +280,10 @@ class DynTraitType extends Type, TDynTraitType { DynTraitType() { this = TDynTraitType(trait) } override DynTraitTypeParameter getPositionalTypeParameter(int i) { - result = TDynTraitTypeParameter(trait.getGenericParamList().getTypeParam(i)) + result.getTypeParam() = trait.getGenericParamList().getTypeParam(i) } - override TypeParameter getATypeParameter() { - result = super.getATypeParameter() - or - exists(AstNode n | - dynTraitTypeParameter(trait, n) and - result = TDynTraitTypeParameter(n) - ) - } + override DynTraitTypeParameter getATypeParameter() { result.getTrait() = trait } Trait getTrait() { result = trait } @@ -313,6 +316,7 @@ class ImplTraitReturnType extends ImplTraitType { * with a single type argument. */ class SliceType extends StructType { + pragma[nomagic] SliceType() { this.getTypeItem() instanceof Builtins::SliceType } override string toString() { result = "[]" } @@ -339,12 +343,14 @@ TypeParamTypeParameter getPtrTypeParameter() { } class PtrMutType extends PtrType { + pragma[nomagic] PtrMutType() { this.getTypeItem() instanceof Builtins::PtrMutType } override string toString() { result = "*mut" } } class PtrConstType extends PtrType { + pragma[nomagic] PtrConstType() { this.getTypeItem() instanceof Builtins::PtrConstType } override string toString() { result = "*const" } @@ -427,30 +433,54 @@ class TypeParamTypeParameter extends TypeParameter, TTypeParamTypeParameter { * // ... * } * ``` + * Furthermore, associated types of a supertrait induce a corresponding type + * parameter in any subtraits. E.g., if we have a trait `SubTrait: ATrait` then + * `SubTrait` also has a type parameter for the associated type + * `AssociatedType`. */ class AssociatedTypeTypeParameter extends TypeParameter, TAssociatedTypeTypeParameter { + private Trait trait; private TypeAlias typeAlias; - AssociatedTypeTypeParameter() { this = TAssociatedTypeTypeParameter(typeAlias) } + AssociatedTypeTypeParameter() { this = TAssociatedTypeTypeParameter(trait, typeAlias) } TypeAlias getTypeAlias() { result = typeAlias } /** Gets the trait that contains this associated type declaration. */ - TraitItemNode getTrait() { result.getAnAssocItem() = typeAlias } + TraitItemNode getTrait() { result = trait } - override ItemNode getDeclaringItem() { result = this.getTrait() } + /** + * Holds if this associated type type parameter corresponds directly its + * trait, that is, it is not inherited from a supertrait. + */ + predicate isDirect() { trait.(TraitItemNode).getAnAssocItem() = typeAlias } - override string toString() { result = typeAlias.getName().getText() } + override ItemNode getDeclaringItem() { result = trait } + + override string toString() { + result = typeAlias.getName().getText() + "[" + trait.getName().toString() + "]" + } override Location getLocation() { result = typeAlias.getLocation() } } +/** Gets the associated type type-parameter corresponding directly to `typeAlias`. */ +AssociatedTypeTypeParameter getAssociatedTypeTypeParameter(TypeAlias typeAlias) { + result.isDirect() and result.getTypeAlias() = typeAlias +} + +/** Gets the dyn type type-parameter corresponding directly to `typeAlias`. */ +DynTraitTypeParameter getDynTraitTypeParameter(TypeAlias typeAlias) { + result.getTraitTypeParameter() = getAssociatedTypeTypeParameter(typeAlias) +} + class DynTraitTypeParameter extends TypeParameter, TDynTraitTypeParameter { + private Trait trait; private AstNode n; - DynTraitTypeParameter() { this = TDynTraitTypeParameter(n) } + DynTraitTypeParameter() { this = TDynTraitTypeParameter(trait, n) } - Trait getTrait() { dynTraitTypeParameter(result, n) } + Trait getTrait() { result = trait } /** Gets the dyn trait type that this type parameter belongs to. */ DynTraitType getDynTraitType() { result.getTrait() = this.getTrait() } @@ -465,7 +495,7 @@ class DynTraitTypeParameter extends TypeParameter, TDynTraitTypeParameter { TypeParameter getTraitTypeParameter() { result.(TypeParamTypeParameter).getTypeParam() = n or - result.(AssociatedTypeTypeParameter).getTypeAlias() = n + result = TAssociatedTypeTypeParameter(trait, n) } private string toStringInner() { @@ -546,58 +576,6 @@ class ImplTraitTypeTypeParameter extends ImplTraitType, TypeParameter { override TypeParameter getPositionalTypeParameter(int i) { none() } } -/** - * A type abstraction. I.e., a place in the program where type variables are - * introduced. - * - * Example: - * ```rust - * impl Foo { } - * // ^^^^^^ a type abstraction - * ``` - */ -abstract class TypeAbstraction extends AstNode { - abstract TypeParameter getATypeParameter(); -} - -final class ImplTypeAbstraction extends TypeAbstraction, Impl { - override TypeParamTypeParameter getATypeParameter() { - result.getTypeParam() = this.getGenericParamList().getATypeParam() - } -} - -final class DynTypeAbstraction extends TypeAbstraction, DynTraitTypeRepr { - override TypeParameter getATypeParameter() { - result = any(DynTraitTypeParameter tp | tp.getTrait() = this.getTrait()).getTraitTypeParameter() - } -} - -final class TraitTypeAbstraction extends TypeAbstraction, Trait { - override TypeParameter getATypeParameter() { - result.(TypeParamTypeParameter).getTypeParam() = this.getGenericParamList().getATypeParam() - or - result.(AssociatedTypeTypeParameter).getTrait() = this - or - result.(SelfTypeParameter).getTrait() = this - } -} - -final class TypeBoundTypeAbstraction extends TypeAbstraction, TypeBound { - override TypeParameter getATypeParameter() { none() } -} - -final class SelfTypeBoundTypeAbstraction extends TypeAbstraction, Name { - SelfTypeBoundTypeAbstraction() { any(TraitTypeAbstraction trait).getName() = this } - - override TypeParameter getATypeParameter() { none() } -} - -final class ImplTraitTypeReprAbstraction extends TypeAbstraction, ImplTraitTypeRepr { - override TypeParameter getATypeParameter() { - implTraitTypeParam(this, _, result.(TypeParamTypeParameter).getTypeParam()) - } -} - /** * Holds if `t` is a valid complex [`self` root type][1]. * diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/TypeAbstraction.qll b/rust/ql/lib/codeql/rust/internal/typeinference/TypeAbstraction.qll new file mode 100644 index 00000000000..d5163be1b6e --- /dev/null +++ b/rust/ql/lib/codeql/rust/internal/typeinference/TypeAbstraction.qll @@ -0,0 +1,79 @@ +private import rust +private import codeql.rust.elements.internal.generated.Raw +private import codeql.rust.elements.internal.generated.Synth +private import Type + +/** + * A type abstraction. I.e., a place in the program where type variables are + * introduced. + * + * Example: + * ```rust + * impl Foo { } + * // ^^^^^^ a type abstraction + * ``` + */ +abstract class TypeAbstraction extends AstNode { + abstract TypeParameter getATypeParameter(); +} + +final class ImplTypeAbstraction extends TypeAbstraction, Impl { + override TypeParamTypeParameter getATypeParameter() { + result.getTypeParam() = this.getGenericParamList().getATypeParam() + } +} + +private predicate idDynTraitTypeRepr(Raw::DynTraitTypeRepr x, Raw::DynTraitTypeRepr y) { x = y } + +private predicate idOfDynTraitTypeRepr(Raw::DynTraitTypeRepr x, int y) = + equivalenceRelation(idDynTraitTypeRepr/2)(x, y) + +private int idOfDynTraitTypeRepr(DynTraitTypeRepr node) { + idOfDynTraitTypeRepr(Synth::convertAstNodeToRaw(node), result) +} + +/** Holds if `dt` is the (arbitrarily chosen) canonical dyn trait type abstraction for `trait`. */ +private predicate canonicalDynTraitTypeAbstraction(DynTraitTypeRepr dt) { + exists(Trait trait | + dt = min(DynTraitTypeRepr d | d.getTrait() = trait | d order by idOfDynTraitTypeRepr(d)) + ) +} + +final class DynTypeAbstraction extends TypeAbstraction, DynTraitTypeRepr { + DynTypeAbstraction() { + // We pick a "canonical" `dyn Trait` in order to avoid including multiple + // entries in `conditionSatisfiesConstraint` with the exact same effect when + // `dyn Trait` occurs multiple times for the same trait. + canonicalDynTraitTypeAbstraction(this) + } + + override TypeParameter getATypeParameter() { + result = any(DynTraitTypeParameter tp | tp.getTrait() = this.getTrait()).getTraitTypeParameter() + } +} + +final class TraitTypeAbstraction extends TypeAbstraction, Trait { + override TypeParameter getATypeParameter() { + result.(TypeParamTypeParameter).getTypeParam() = this.getGenericParamList().getATypeParam() + or + result.(AssociatedTypeTypeParameter).getTrait() = this + or + result.(SelfTypeParameter).getTrait() = this + } +} + +final class TypeBoundTypeAbstraction extends TypeAbstraction, TypeBound { + override TypeParameter getATypeParameter() { none() } +} + +final class SelfTypeBoundTypeAbstraction extends TypeAbstraction, Name { + SelfTypeBoundTypeAbstraction() { any(TraitTypeAbstraction trait).getName() = this } + + override TypeParameter getATypeParameter() { none() } +} + +final class ImplTraitTypeReprAbstraction extends TypeAbstraction, ImplTraitTypeRepr { + override TypeParamTypeParameter getATypeParameter() { + exists(TImplTraitTypeParameter(this, result.getTypeParam())) + } +} diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInference.qll similarity index 96% rename from rust/ql/lib/codeql/rust/internal/TypeInference.qll rename to rust/ql/lib/codeql/rust/internal/typeinference/TypeInference.qll index 22fa673af94..979e9468e65 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInference.qll @@ -3,14 +3,16 @@ private import codeql.util.Boolean private import codeql.util.Option private import rust -private import PathResolution +private import codeql.rust.internal.PathResolution private import Type +private import TypeAbstraction +private import TypeAbstraction as TA private import Type as T private import TypeMention -private import typeinference.DerefChain -private import typeinference.FunctionType -private import typeinference.FunctionOverloading as FunctionOverloading -private import typeinference.BlanketImplementation as BlanketImplementation +private import codeql.rust.internal.typeinference.DerefChain +private import FunctionType +private import FunctionOverloading as FunctionOverloading +private import BlanketImplementation as BlanketImplementation private import codeql.rust.elements.internal.VariableImpl::Impl as VariableImpl private import codeql.rust.internal.CachedStages private import codeql.typeinference.internal.TypeInference @@ -37,7 +39,7 @@ private module Input1 implements InputSig1 { class TypeParameter = T::TypeParameter; - class TypeAbstraction = T::TypeAbstraction; + class TypeAbstraction = TA::TypeAbstraction; class TypeArgumentPosition extends TTypeArgumentPosition { int asMethodTypeArgumentPosition() { this = TMethodTypeArgumentPosition(result) } @@ -90,7 +92,7 @@ private module Input1 implements InputSig1 { tp = rank[result](TypeParameter tp0, int kind, int id1, int id2 | kind = 1 and - id1 = 0 and + id1 = idOfTypeParameterAstNode(tp0.(DynTraitTypeParameter).getTrait()) and id2 = idOfTypeParameterAstNode([ tp0.(DynTraitTypeParameter).getTypeParam().(AstNode), @@ -102,10 +104,13 @@ private module Input1 implements InputSig1 { id2 = idOfTypeParameterAstNode(tp0.(ImplTraitTypeParameter).getTypeParam()) or kind = 3 and + id1 = idOfTypeParameterAstNode(tp0.(AssociatedTypeTypeParameter).getTrait()) and + id2 = idOfTypeParameterAstNode(tp0.(AssociatedTypeTypeParameter).getTypeAlias()) + or + kind = 4 and id1 = 0 and exists(AstNode node | id2 = idOfTypeParameterAstNode(node) | node = tp0.(TypeParamTypeParameter).getTypeParam() or - node = tp0.(AssociatedTypeTypeParameter).getTypeAlias() or node = tp0.(SelfTypeParameter).getTrait() or node = tp0.(ImplTraitTypeTypeParameter).getImplTraitTypeRepr() ) @@ -1284,6 +1289,13 @@ private class BorrowKind extends TBorrowKind { } } +// for now, we do not handle ambiguous targets when one of the types is itself +// a constrained type parameter; we should be checking the constraints in this case +private predicate typeCanBeUsedForDisambiguation(Type t) { + not t instanceof TypeParameter or + t.(TypeParamTypeParameter).getTypeParam() = any(TypeParam tp | not tp.hasTypeBound()) +} + /** * Provides logic for resolving calls to methods. * @@ -2229,7 +2241,8 @@ private module MethodResolution { methodCallBlanketLikeCandidate(mc, _, impl, _, blanketPath, blanketTypeParam) and // Only apply blanket implementations when no other implementations are possible; // this is to account for codebases that use the (unstable) specialization feature - // (https://rust-lang.github.io/rfcs/1210-impl-specialization.html) + // (https://rust-lang.github.io/rfcs/1210-impl-specialization.html), as well as + // cases where our blanket implementation filtering is not precise enough. (mcc.hasNoCompatibleNonBlanketTarget() or not impl.isBlanketImplementation()) | borrow.isNoBorrow() @@ -2379,10 +2392,7 @@ private module MethodResolution { exists(TypePath path, Type t0 | FunctionOverloading::functionResolutionDependsOnArgument(i, f, pos, path, t0) and t.appliesTo(f, i, pos) and - // for now, we do not handle ambiguous targets when one of the types it iself - // a type parameter; we should be checking the constraints on that type parameter - // in this case - not t0 instanceof TypeParameter + typeCanBeUsedForDisambiguation(t0) ) } @@ -2741,7 +2751,7 @@ private module NonMethodResolution { * Gets the blanket function that this call may resolve to, if any. */ pragma[nomagic] - private NonMethodFunction resolveCallTargetBlanketCand(ImplItemNode impl) { + NonMethodFunction resolveCallTargetBlanketCand(ImplItemNode impl) { exists(string name | this.hasNameAndArity(pragma[only_bind_into](name), _) and ArgIsInstantiationOfBlanketParam::argIsInstantiationOf(MkCallAndBlanketPos(this, _), impl, _) and @@ -2756,12 +2766,11 @@ private module NonMethodResolution { predicate hasTrait() { exists(this.getTrait()) } pragma[nomagic] - NonMethodFunction resolveAssocCallTargetCand(ImplItemNode i) { + NonMethodFunction resolveCallTargetNonBlanketCand(ImplItemNode i) { not this.hasTrait() and result = this.getPathResolutionResolved() and - result = i.getASuccessor(_) - or - result = this.resolveCallTargetBlanketCand(i) + result = i.getASuccessor(_) and + FunctionOverloading::functionResolutionDependsOnArgument(_, result, _, _, _) } AstNode getNodeAt(FunctionPosition pos) { @@ -2793,6 +2802,21 @@ private module NonMethodResolution { trait = this.getTrait() } + /** + * Holds if this call has no compatible non-blanket target, and it has some + * candidate blanket target. + */ + pragma[nomagic] + predicate hasNoCompatibleNonBlanketTarget() { + this.resolveCallTargetBlanketLikeCandidate(_, _, _, _) and + not exists(this.resolveCallTargetViaPathResolution()) and + forall(ImplOrTraitItemNode i, Function f | + this.(NonMethodArgsAreInstantiationsOfNonBlanketInput::Call).hasTargetCand(i, f) + | + NonMethodArgsAreInstantiationsOfNonBlanket::argsAreNotInstantiationsOf(this, i, f) + ) + } + /** * Gets the target of this call, which can be resolved using only path resolution. */ @@ -2811,7 +2835,9 @@ private module NonMethodResolution { result = this.resolveCallTargetBlanketCand(i) and not FunctionOverloading::functionResolutionDependsOnArgument(_, result, _, _, _) or - NonMethodArgsAreInstantiationsOf::argsAreInstantiationsOf(this, i, result) + NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOf(this, i, result) + or + NonMethodArgsAreInstantiationsOfNonBlanket::argsAreInstantiationsOf(this, i, result) } pragma[nomagic] @@ -2850,7 +2876,12 @@ private module NonMethodResolution { ) { exists(NonMethodCall fc, FunctionPosition pos | fcp = MkCallAndBlanketPos(fc, pos) and - fc.resolveCallTargetBlanketLikeCandidate(impl, pos, blanketPath, blanketTypeParam) + fc.resolveCallTargetBlanketLikeCandidate(impl, pos, blanketPath, blanketTypeParam) and + // Only apply blanket implementations when no other implementations are possible; + // this is to account for codebases that use the (unstable) specialization feature + // (https://rust-lang.github.io/rfcs/1210-impl-specialization.html), as well as + // cases where our blanket implementation filtering is not precise enough. + (fc.hasNoCompatibleNonBlanketTarget() or not impl.isBlanketImplementation()) ) } } @@ -2885,37 +2916,24 @@ private module NonMethodResolution { private module ArgIsInstantiationOfBlanketParam = ArgIsInstantiationOf; - private module NonMethodArgsAreInstantiationsOfInput implements ArgsAreInstantiationsOfInputSig { + private module NonMethodArgsAreInstantiationsOfBlanketInput implements + ArgsAreInstantiationsOfInputSig + { predicate toCheck(ImplOrTraitItemNode i, Function f, FunctionPosition pos, AssocFunctionType t) { t.appliesTo(f, i, pos) and - ( - exists(Type t0 | - // for now, we do not handle ambiguous targets when one of the types it iself - // a type parameter; we should be checking the constraints on that type parameter - // in this case - not t0 instanceof TypeParameter - | - FunctionOverloading::functionResolutionDependsOnArgument(i, f, pos, _, t0) - or - traitFunctionDependsOnPos(_, _, pos, t0, i, f) - ) + exists(Type t0 | typeCanBeUsedForDisambiguation(t0) | + FunctionOverloading::functionResolutionDependsOnArgument(i, f, pos, _, t0) or - // match against the trait function itself - exists(Trait trait | - FunctionOverloading::traitTypeParameterOccurrence(trait, f, _, pos, _, - TSelfTypeParameter(trait)) - ) + traitFunctionDependsOnPos(_, _, pos, t0, i, f) ) } - class Call extends NonMethodCall { + final class Call extends NonMethodCall { Type getArgType(FunctionPosition pos, TypePath path) { result = inferType(this.getNodeAt(pos), path) } - predicate hasTargetCand(ImplOrTraitItemNode i, Function f) { - f = this.resolveAssocCallTargetCand(i) - or + predicate hasTraitResolvedCand(ImplOrTraitItemNode i, Function f) { exists(TraitItemNode trait, NonMethodFunction resolved, ImplItemNode i1, Function f1 | this.hasTraitResolved(trait, resolved) and traitFunctionDependsOnPos(trait, resolved, _, _, i1, f1) @@ -2927,11 +2945,45 @@ private module NonMethodResolution { i = trait ) } + + predicate hasTargetCand(ImplOrTraitItemNode i, Function f) { + f = this.resolveCallTargetBlanketCand(i) + or + this.hasTraitResolvedCand(i, f) and + BlanketImplementation::isBlanketLike(i, _, _) + } } } - private module NonMethodArgsAreInstantiationsOf = - ArgsAreInstantiationsOf; + private module NonMethodArgsAreInstantiationsOfBlanket = + ArgsAreInstantiationsOf; + + private module NonMethodArgsAreInstantiationsOfNonBlanketInput implements + ArgsAreInstantiationsOfInputSig + { + predicate toCheck(ImplOrTraitItemNode i, Function f, FunctionPosition pos, AssocFunctionType t) { + NonMethodArgsAreInstantiationsOfBlanketInput::toCheck(i, f, pos, t) + or + // match against the trait function itself + t.appliesTo(f, i, pos) and + exists(Trait trait | + FunctionOverloading::traitTypeParameterOccurrence(trait, f, _, pos, _, + TSelfTypeParameter(trait)) + ) + } + + class Call extends NonMethodArgsAreInstantiationsOfBlanketInput::Call { + predicate hasTargetCand(ImplOrTraitItemNode i, Function f) { + f = this.resolveCallTargetNonBlanketCand(i) + or + this.hasTraitResolvedCand(i, f) and + not BlanketImplementation::isBlanketLike(i, _, _) + } + } + } + + private module NonMethodArgsAreInstantiationsOfNonBlanket = + ArgsAreInstantiationsOf; } abstract private class TupleLikeConstructor extends Addressable { @@ -3507,12 +3559,12 @@ private DynTraitType getFutureTraitType() { result.getTrait() instanceof FutureT pragma[nomagic] private AssociatedTypeTypeParameter getFutureOutputTypeParameter() { - result.getTypeAlias() = any(FutureTrait ft).getOutputType() + result = getAssociatedTypeTypeParameter(any(FutureTrait ft).getOutputType()) } pragma[nomagic] private DynTraitTypeParameter getDynFutureOutputTypeParameter() { - result = TDynTraitTypeParameter(any(FutureTrait ft).getOutputType()) + result.getTraitTypeParameter() = getFutureOutputTypeParameter() } pragma[nomagic] @@ -3822,22 +3874,35 @@ private Type invokedClosureFnTypeAt(InvokedClosureExpr ce, TypePath path) { _, path, result) } -/** Gets the path to a closure's return type. */ -private TypePath closureReturnPath() { - result = TypePath::singleton(TDynTraitTypeParameter(any(FnOnceTrait t).getOutputType())) +/** + * Gets the root type of a closure. + * + * We model closures as `dyn Fn` trait object types. A closure might implement + * only `Fn`, `FnMut`, or `FnOnce`. But since `Fn` is a subtrait of the others, + * giving closures the type `dyn Fn` works well in practice -- even if not + * entirely accurate. + */ +private DynTraitType closureRootType() { + result = TDynTraitType(any(FnTrait t)) // always exists because of the mention in `builtins/mentions.rs` } -/** Gets the path to a closure with arity `arity`s `index`th parameter type. */ +/** Gets the path to a closure's return type. */ +private TypePath closureReturnPath() { + result = + TypePath::singleton(TDynTraitTypeParameter(any(FnTrait t), any(FnOnceTrait t).getOutputType())) +} + +/** Gets the path to a closure with arity `arity`'s `index`th parameter type. */ pragma[nomagic] private TypePath closureParameterPath(int arity, int index) { result = - TypePath::cons(TDynTraitTypeParameter(any(FnOnceTrait t).getTypeParam()), + TypePath::cons(TDynTraitTypeParameter(_, any(FnTrait t).getTypeParam()), TypePath::singleton(getTupleTypeParameter(arity, index))) } /** Gets the path to the return type of the `FnOnce` trait. */ private TypePath fnReturnPath() { - result = TypePath::singleton(TAssociatedTypeTypeParameter(any(FnOnceTrait t).getOutputType())) + result = TypePath::singleton(getAssociatedTypeTypeParameter(any(FnOnceTrait t).getOutputType())) } /** @@ -3869,9 +3934,7 @@ private Type inferDynamicCallExprType(Expr n, TypePath path) { or // _If_ the invoked expression has the type of a closure, then we propagate // the surrounding types into the closure. - exists(int arity, TypePath path0 | - ce.getTypeAt(TypePath::nil()).(DynTraitType).getTrait() instanceof FnOnceTrait - | + exists(int arity, TypePath path0 | ce.getTypeAt(TypePath::nil()) = closureRootType() | // Propagate the type of arguments to the parameter types of closure exists(int index, ArgList args | n = ce and @@ -3895,10 +3958,10 @@ private Type inferClosureExprType(AstNode n, TypePath path) { exists(ClosureExpr ce | n = ce and path.isEmpty() and - result = TDynTraitType(any(FnOnceTrait t)) // always exists because of the mention in `builtins/mentions.rs` + result = closureRootType() or n = ce and - path = TypePath::singleton(TDynTraitTypeParameter(any(FnOnceTrait t).getTypeParam())) and + path = TypePath::singleton(TDynTraitTypeParameter(_, any(FnTrait t).getTypeParam())) and result.(TupleType).getArity() = ce.getNumberOfParams() or // Propagate return type annotation to body diff --git a/rust/ql/lib/codeql/rust/internal/TypeInferenceConsistency.qll b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInferenceConsistency.qll similarity index 95% rename from rust/ql/lib/codeql/rust/internal/TypeInferenceConsistency.qll rename to rust/ql/lib/codeql/rust/internal/typeinference/TypeInferenceConsistency.qll index 11ad9bef2a2..cde873f3685 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInferenceConsistency.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInferenceConsistency.qll @@ -18,6 +18,8 @@ query predicate illFormedTypeMention(TypeMention tm) { any(PathTypeMention ptm | exists(ptm.resolvePathTypeAt(TypePath::nil())) and not exists(ptm.resolveType()) + or + ptm.(NonAliasPathTypeMention).getResolved() instanceof TypeAlias ) and // Only include inconsistencies in the source, as we otherwise get // inconsistencies from library code in every project. diff --git a/rust/ql/lib/codeql/rust/internal/TypeMention.qll b/rust/ql/lib/codeql/rust/internal/typeinference/TypeMention.qll similarity index 85% rename from rust/ql/lib/codeql/rust/internal/TypeMention.qll rename to rust/ql/lib/codeql/rust/internal/typeinference/TypeMention.qll index 74661bb86c3..063e9beffd3 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeMention.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/TypeMention.qll @@ -1,9 +1,10 @@ /** Provides classes for representing type mentions, used in type inference. */ private import rust +private import codeql.rust.internal.PathResolution private import codeql.rust.frameworks.stdlib.Stdlib private import Type -private import PathResolution +private import TypeAbstraction private import TypeInference /** An AST node that may mention a type. */ @@ -148,30 +149,11 @@ class NonAliasPathTypeMention extends PathTypeMention { TypeItemNode getResolved() { result = resolved } - /** - * Gets a type alias with the name `name` of the trait that this path resolves - * to, if any. - */ pragma[nomagic] - private TypeAlias getResolvedTraitAlias(string name) { - result = resolved.(TraitItemNode).getAnAssocItem() and - name = result.getName().getText() - } - - pragma[nomagic] - private TypeRepr getAssocTypeArg(string name) { + private TypeMention getAssocTypeArg(string name) { result = this.getSegment().getGenericArgList().getAssocTypeArg(name) } - /** Gets the type argument for the associated type `alias`, if any. */ - pragma[nomagic] - private TypeRepr getAnAssocTypeArgument(TypeAlias alias) { - exists(string name | - alias = this.getResolvedTraitAlias(name) and - result = this.getAssocTypeArg(name) - ) - } - /** * Gets the type mention that instantiates the implicit `Self` type parameter * for this path, if it occurs in the position of a trait bound. @@ -222,19 +204,74 @@ class NonAliasPathTypeMention extends PathTypeMention { result = this.getPositionalTypeArgument(pragma[only_bind_into](i), path) and tp = this.resolveRootType().getPositionalTypeParameter(pragma[only_bind_into](i)) ) + or + // Handle the special syntactic sugar for function traits. The syntactic + // form is detected by the presence of a parenthesized argument list which + // is a mandatory part of the syntax [1]. + // + // For now we only support `FnOnce` as we can't support the "inherited" + // associated types of `Fn` and `FnMut` yet. + // + // [1]: https://doc.rust-lang.org/reference/paths.html#grammar-TypePathFn + exists(AnyFnTrait t, PathSegment s | + t = resolved and + s = this.getSegment() and + s.hasParenthesizedArgList() + | + tp = TTypeParamTypeParameter(t.getTypeParam()) and + result = s.getParenthesizedArgList().(TypeMention).resolveTypeAt(path) + or + tp = TAssociatedTypeTypeParameter(t, any(FnOnceTrait tr).getOutputType()) and + ( + result = s.getRetType().getTypeRepr().(TypeMention).resolveTypeAt(path) + or + // When the `-> ...` return type is omitted, it defaults to `()`. + not s.hasRetType() and + result instanceof UnitType and + path.isEmpty() + ) + ) + or + // If `path` is the supertrait of a trait block then any associated types + // of the supertrait should be instantiated with the subtrait's + // corresponding copies. + // + // As an example, for + // ```rust + // trait Sub: Super { + // // ^^^^^ this + // ``` + // we do something to the effect of: + // ```rust + // trait Sub: Super + // ``` + // Where `Assoc` is an associated type of `Super` and `Assoc[Sub]` denotes + // the copy of the type parameter inherited by `Sub`. + exists(Trait subtrait, TypeAlias alias | + subtrait.getATypeBound().getTypeRepr().(PathTypeRepr).getPath() = this and + result = TAssociatedTypeTypeParameter(subtrait, alias) and + tp = TAssociatedTypeTypeParameter(resolved, alias) and + path.isEmpty() + ) } - pragma[nomagic] + bindingset[name] private TypeAlias getResolvedAlias(string name) { result = resolved.(TraitItemNode).getAssocItem(name) } + bindingset[name] + private TypeAlias getResolvedTraitAssocType(string name) { + result = resolved.(TraitItemNode).getASuccessor(name) + } + /** Gets the type mention in this path for the type parameter `tp`, if any. */ pragma[nomagic] private TypeMention getTypeMentionForTypeParameter(TypeParameter tp) { - exists(TypeAlias alias | - result = this.getAnAssocTypeArgument(alias) and - tp = TAssociatedTypeTypeParameter(alias) + exists(TypeAlias alias, string name | + result = this.getAssocTypeArg(name) and + tp = TAssociatedTypeTypeParameter(resolved, alias) and + alias = this.getResolvedTraitAssocType(name) ) or // If `path` is the trait of an `impl` block then any associated types @@ -252,20 +289,9 @@ class NonAliasPathTypeMention extends PathTypeMention { // the rhs. of the type alias is a type argument to the trait. exists(ImplItemNode impl, TypeAlias alias, string name | this = impl.getTraitPath() and - alias = impl.getASuccessor(pragma[only_bind_into](name)) and + alias = impl.getASuccessor(name) and result = alias.getTypeRepr() and - tp = TAssociatedTypeTypeParameter(this.getResolvedAlias(pragma[only_bind_into](name))) - ) - or - // Handle the special syntactic sugar for function traits. For now we only - // support `FnOnce` as we can't support the "inherited" associated types of - // `Fn` and `FnMut` yet. - exists(FnOnceTrait t | t = resolved | - tp = TTypeParamTypeParameter(t.getTypeParam()) and - result = this.getSegment().getParenthesizedArgList() - or - tp = TAssociatedTypeTypeParameter(t.getOutputType()) and - result = this.getSegment().getRetType().getTypeRepr() + tp = TAssociatedTypeTypeParameter(resolved, this.getResolvedAlias(name)) ) } @@ -283,7 +309,7 @@ class NonAliasPathTypeMention extends PathTypeMention { or result = TTypeParamTypeParameter(resolved) or - result = TAssociatedTypeTypeParameter(resolved) + result = TAssociatedTypeTypeParameter(resolvePath(this.getQualifier()), resolved) } override Type resolvePathTypeAt(TypePath typePath) { @@ -368,9 +394,8 @@ class TraitMention extends TypeMention instanceof TraitItemNode { result = TSelfTypeParameter(this) or exists(TypeAlias alias | - alias = super.getAnAssocItem() and typePath = TypePath::singleton(result) and - result = TAssociatedTypeTypeParameter(alias) + result = TAssociatedTypeTypeParameter(this, alias) ) or exists(TypeParam tp | @@ -524,7 +549,7 @@ class DynTraitTypeReprMention extends TypeMention instanceof DynTraitTypeRepr { // impl Trait for (dyn Trait) // ``` // To achieve this: -// - `DynTypeAbstraction` is an abstraction over type parameters of the trait. +// - `DynTypeAbstraction` is an abstraction over the type parameters of the trait. // - `DynTypeBoundListMention` (this class) is a type mention which has `dyn // Trait` at the root and which for every type parameter of `dyn Trait` has the // corresponding type parameter of the trait. @@ -539,7 +564,14 @@ class DynTypeBoundListMention extends TypeMention instanceof TypeBoundList { private Trait trait; DynTypeBoundListMention() { - exists(DynTraitTypeRepr dyn | this = dyn.getTypeBoundList() and trait = dyn.getTrait()) + exists(DynTraitTypeRepr dyn | + // We only need this type mention when the `dyn Trait` is a type + // abstraction, that is, when it's "canonical" and used in + // `conditionSatisfiesConstraint`. + dyn instanceof DynTypeAbstraction and + this = dyn.getTypeBoundList() and + trait = dyn.getTrait() + ) } override Type resolveTypeAt(TypePath path) { diff --git a/rust/ql/lib/codeql/rust/security/AccessAfterLifetimeExtensions.qll b/rust/ql/lib/codeql/rust/security/AccessAfterLifetimeExtensions.qll index c404f13b531..a23e3886b24 100644 --- a/rust/ql/lib/codeql/rust/security/AccessAfterLifetimeExtensions.qll +++ b/rust/ql/lib/codeql/rust/security/AccessAfterLifetimeExtensions.qll @@ -6,8 +6,8 @@ import rust private import codeql.rust.dataflow.DataFlow private import codeql.rust.security.AccessInvalidPointerExtensions -private import codeql.rust.internal.Type -private import codeql.rust.internal.TypeInference as TypeInference +private import codeql.rust.internal.typeinference.Type +private import codeql.rust.internal.typeinference.TypeInference as TypeInference /** * Provides default sources, sinks and barriers for detecting accesses to a diff --git a/rust/ql/lib/codeql/rust/security/AccessInvalidPointerExtensions.qll b/rust/ql/lib/codeql/rust/security/AccessInvalidPointerExtensions.qll index d8d7be25933..117f67a7b4e 100644 --- a/rust/ql/lib/codeql/rust/security/AccessInvalidPointerExtensions.qll +++ b/rust/ql/lib/codeql/rust/security/AccessInvalidPointerExtensions.qll @@ -10,8 +10,8 @@ private import codeql.rust.dataflow.FlowSink private import codeql.rust.Concepts private import codeql.rust.dataflow.internal.Node private import codeql.rust.security.Barriers as Barriers -private import codeql.rust.internal.TypeInference as TypeInference -private import codeql.rust.internal.Type +private import codeql.rust.internal.typeinference.TypeInference as TypeInference +private import codeql.rust.internal.typeinference.Type /** * Provides default sources, sinks and barriers for detecting accesses to diff --git a/rust/ql/lib/codeql/rust/security/Barriers.qll b/rust/ql/lib/codeql/rust/security/Barriers.qll index a285bfe3569..3de984073a8 100644 --- a/rust/ql/lib/codeql/rust/security/Barriers.qll +++ b/rust/ql/lib/codeql/rust/security/Barriers.qll @@ -5,8 +5,8 @@ import rust private import codeql.rust.dataflow.DataFlow -private import codeql.rust.internal.TypeInference as TypeInference -private import codeql.rust.internal.Type +private import codeql.rust.internal.typeinference.TypeInference as TypeInference +private import codeql.rust.internal.typeinference.Type private import codeql.rust.controlflow.ControlFlowGraph as Cfg private import codeql.rust.controlflow.CfgNodes as CfgNodes private import codeql.rust.frameworks.stdlib.Builtins as Builtins diff --git a/rust/ql/lib/codeql/rust/security/UncontrolledAllocationSizeExtensions.qll b/rust/ql/lib/codeql/rust/security/UncontrolledAllocationSizeExtensions.qll index c6251563ea6..0390ca77932 100644 --- a/rust/ql/lib/codeql/rust/security/UncontrolledAllocationSizeExtensions.qll +++ b/rust/ql/lib/codeql/rust/security/UncontrolledAllocationSizeExtensions.qll @@ -63,4 +63,17 @@ module UncontrolledAllocationSize { branch = false ) } + + /** + * A barrier for uncontrolled allocation size flow into particular functions. + */ + private class ModeledBarrier extends Barrier { + ModeledBarrier() { + exists(MethodCall c | + c.getStaticTarget().getCanonicalPath() = + ["::split_off", "::split_off"] and + this.asExpr() = c.getAnArgument() + ) + } + } } diff --git a/rust/ql/lib/ext/generated/actix-web.model.yml b/rust/ql/lib/ext/generated/actix-web.model.yml index e925255eb83..eb476d0ea58 100644 --- a/rust/ql/lib/ext/generated/actix-web.model.yml +++ b/rust/ql/lib/ext/generated/actix-web.model.yml @@ -4,11 +4,18 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as actix_http::header::as_name::Sealed>::try_as_name", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] + - ["<& as actix_http::header::into_value::TryIntoHeaderValue>::try_into_value", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["<& as actix_http::header::into_value::TryIntoHeaderValue>::try_into_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as actix_router::pattern::IntoPatterns>::patterns", "Argument[self].Reference.Reference", "ReturnValue.Field[actix_router::pattern::Patterns::Single(0)]", "value", "dfc-generated"] + - ["<& as actix_router::resource_path::ResourcePath>::path", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<() as awc::middleware::Transform>::new_transform", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<(,,) as actix_http::header::into_pair::TryIntoHeaderPair>::try_into_pair", "Argument[self].Field[0].Reference", "ReturnValue.Field[core::result::Result::Ok(0)].Field[0]", "value", "dfc-generated"] + - ["<(,,) as actix_http::header::into_pair::TryIntoHeaderPair>::try_into_pair", "Argument[self].Field[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_files::directory::Directory::base]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_files::directory::Directory::path]", "value", "dfc-generated"] - - ["::new_service", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::default_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::disable_content_disposition", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -17,6 +24,7 @@ extensions: - ["::index_file", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::method_guard", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::mime_override", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::path_filter", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::prefer_utf8", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::redirect_to_slash_directory", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -25,21 +33,21 @@ extensions: - ["::use_guards", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::use_hidden_files", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::use_last_modified", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::new_service", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Field[actix_files::named::NamedFile::file]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_files::named::NamedFile::file]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::content_disposition", "Argument[self].Field[actix_files::named::NamedFile::content_disposition]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::content_encoding", "Argument[self].Field[actix_files::named::NamedFile::encoding]", "ReturnValue", "value", "dfc-generated"] - - ["::content_type", "Argument[self].Field[actix_files::named::NamedFile::content_type]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_truncate", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::content_disposition", "Argument[self].Reference.Field[actix_files::named::NamedFile::content_disposition]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::content_encoding", "Argument[self].Reference.Field[actix_files::named::NamedFile::encoding]", "ReturnValue", "value", "dfc-generated"] + - ["::content_type", "Argument[self].Reference.Field[actix_files::named::NamedFile::content_type]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::disable_content_disposition", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::etag", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::file", "Argument[self].Field[actix_files::named::NamedFile::file]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::file", "Argument[self].Reference.Field[actix_files::named::NamedFile::file]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_file", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[actix_files::named::NamedFile::file]", "value", "dfc-generated"] - - ["::last_modified", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::metadata", "Argument[self].Field[actix_files::named::NamedFile::md]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::modified", "Argument[self].Field[actix_files::named::NamedFile::modified]", "ReturnValue", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[actix_files::named::NamedFile::path]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[actix_files::named::NamedFile::path]", "ReturnValue", "value", "dfc-generated"] + - ["::metadata", "Argument[self].Reference.Field[actix_files::named::NamedFile::md]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::modified", "Argument[self].Reference.Field[actix_files::named::NamedFile::modified]", "ReturnValue", "value", "dfc-generated"] + - ["::path", "Argument[self].Reference.Field[actix_files::named::NamedFile::path]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::prefer_utf8", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_content_disposition", "Argument[0]", "Argument[self].Field[actix_files::named::NamedFile::content_disposition]", "value", "dfc-generated"] - ["::set_content_disposition", "Argument[0]", "ReturnValue.Field[actix_files::named::NamedFile::content_disposition]", "value", "dfc-generated"] @@ -55,35 +63,36 @@ extensions: - ["::set_status_code", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::use_etag", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::use_last_modified", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[actix_files::named::NamedFileService::path].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[actix_files::named::NamedFileService::path]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::call", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::call", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_files::service::FilesService(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_io", "Argument[1]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[actix_files::path_buf::PathBufWrap(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_files::service::FilesService(0)].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[actix_files::service::FilesService(0)].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_files::service::FilesService(0)].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[actix_files::service::FilesService(0)].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_files::service::FilesService(0)]", "ReturnValue.Field[actix_files::service::FilesService(0)]", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_files::service::FilesService(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::body::body_stream::BodyStream::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::body_stream::BodyStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::body_stream::BodyStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::boxed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::try_into_bytes", "Argument[self].Field[actix_http::body::boxed::BoxBody(0)].Field[actix_http::body::boxed::BoxBodyInner::Bytes(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::try_into_bytes", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_pin_mut", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::as_pin_mut", "Argument[self]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::as_pin_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::as_pin_mut", "Argument[self]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::left", "Argument[0]", "ReturnValue.Field[actix_http::body::either::EitherBody::Left::body]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::body::either::EitherBody::Left::body]", "value", "dfc-generated"] + - ["::right", "Argument[0]", "ReturnValue.Field[actix_http::body::either::EitherBody::Right::body]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::body::message_body::MessageBodyMapErr::body]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_http::body::message_body::MessageBodyMapErr::mapper].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::message_body::MessageBodyMapErr::body]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::message_body::MessageBodyMapErr::mapper]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::message_body::MessageBodyMapErr::body]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::message_body::MessageBodyMapErr::mapper]", "ReturnValue", "value", "dfc-generated"] - - ["::size", "Argument[self].Field[actix_http::body::sized_stream::SizedStream::size]", "ReturnValue.Field[actix_http::body::size::BodySize::Sized(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::body::size::BodySize::Sized(0)]", "ReturnValue.Field[actix_http::body::size::BodySize::Sized(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::body::size::BodySize::Sized(0)]", "ReturnValue.Field[actix_http::body::size::BodySize::Sized(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size", "Argument[self].Reference.Field[actix_http::body::sized_stream::SizedStream::size]", "ReturnValue.Field[actix_http::body::size::BodySize::Sized(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::body::sized_stream::SizedStream::size]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_http::body::sized_stream::SizedStream::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::sized_stream::SizedStream::size]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::sized_stream::SizedStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::sized_stream::SizedStream::size]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::body::sized_stream::SizedStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::client_disconnect", "Argument[0]", "Argument[self].Field[actix_http::builder::HttpServiceBuilder::client_disconnect_timeout]", "value", "dfc-generated"] - ["::client_disconnect", "Argument[0]", "ReturnValue.Field[actix_http::builder::HttpServiceBuilder::client_disconnect_timeout]", "value", "dfc-generated"] - ["::client_disconnect", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -111,17 +120,31 @@ extensions: - ["::on_connect_ext", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::secure", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::upgrade", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::config::ServiceConfig(0)].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[actix_http::config::ServiceConfig(0)].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::config::ServiceConfig(0)].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[actix_http::config::ServiceConfig(0)].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::config::ServiceConfig(0)]", "ReturnValue.Field[actix_http::config::ServiceConfig(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::keep_alive", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::keep_alive_deadline", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::local_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::now", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::secure", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_date_header_value", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::date::Date::bytes]", "ReturnValue.Field[actix_http::date::Date::bytes]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::date::Date::pos]", "ReturnValue.Field[actix_http::date::Date::pos].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::date::Date::pos]", "ReturnValue.Field[actix_http::date::Date::pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::now", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::with_date", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::from_headers", "Argument[0]", "ReturnValue.Field[actix_http::encoding::decoder::Decoder::stream]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::encoding::decoder::Decoder::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::try_into_bytes", "Argument[self].Field[actix_http::encoding::encoder::Encoder::body]", "ReturnValue.Field[core::result::Result::Err(0)].Field[actix_http::encoding::encoder::Encoder::body]", "value", "dfc-generated"] - - ["::try_into_bytes", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_into_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::response", "Argument[2]", "ReturnValue.Field[actix_http::encoding::encoder::Encoder::body].Field[actix_http::encoding::encoder::EncoderBody::Stream::body]", "value", "dfc-generated"] + - ["::try_into_bytes", "Argument[self].Field[actix_http::encoding::encoder::EncoderBody::Full::body]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::try_into_bytes", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::source", "Argument[self].Field[actix_http::encoding::encoder::EncoderError::Io(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::error::DispatchError::Body(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::error::DispatchError::H2(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::error::DispatchError::Io(0)]", "value", "dfc-generated"] @@ -130,99 +153,160 @@ extensions: - ["::source", "Argument[self].Field[actix_http::error::DispatchError::H2(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::source", "Argument[self].Field[actix_http::error::DispatchError::Io(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::source", "Argument[self].Field[actix_http::error::DispatchError::Parse(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::with_cause", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::source", "Argument[self].Field[actix_http::error::PayloadError::Http2Payload(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::source", "Argument[self].Field[actix_http::error::PayloadError::Incomplete(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::source", "Argument[self].Field[actix_http::error::PayloadError::Io(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[actix_http::extensions::NoOpHasher(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::write_u64", "Argument[0]", "Argument[self].Field[0]", "value", "dfc-generated"] - - ["::write_u64", "Argument[0]", "Argument[self].Field[actix_http::extensions::NoOpHasher(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::finish", "Argument[self].Reference.Field[actix_http::extensions::NoOpHasher(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::write_u64", "Argument[0]", "Argument[self].Reference.Field[actix_http::extensions::NoOpHasher(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::h1::Message::Item(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::chunk", "Argument[self].Field[actix_http::h1::Message::Chunk(0)].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::message", "Argument[self].Field[actix_http::h1::Message::Item(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::encode", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_payload_codec", "Argument[self].Field[actix_http::h1::client::ClientCodec::inner]", "ReturnValue.Field[actix_http::h1::client::ClientPayloadCodec::inner]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::h1::client::ClientCodec::inner].Field[actix_http::h1::client::ClientCodecInner::config]", "value", "dfc-generated"] - ["::into_message_codec", "Argument[self].Field[actix_http::h1::client::ClientPayloadCodec::inner]", "ReturnValue.Field[actix_http::h1::client::ClientCodec::inner]", "value", "dfc-generated"] - - ["::config", "Argument[self].Field[actix_http::h1::codec::Codec::config]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_truncate", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::encode", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::config", "Argument[self].Reference.Field[actix_http::h1::codec::Codec::config]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::h1::codec::Codec::config]", "value", "dfc-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_truncate", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::length", "Argument[0]", "ReturnValue.Field[actix_http::h1::decoder::PayloadDecoder::kind].Field[actix_http::h1::decoder::Kind::Length(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::h1::decoder::PayloadItem::Chunk(0)]", "ReturnValue.Field[actix_http::h1::decoder::PayloadItem::Chunk(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::chunk", "Argument[self].Field[actix_http::h1::decoder::PayloadItem::Chunk(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::unwrap", "Argument[self].Field[actix_http::h1::decoder::PayloadType::Payload(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::dispatcher::Dispatcher::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::dispatcher::Dispatcher::poll_count]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::dispatcher::Dispatcher::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::dispatcher::Dispatcher::poll_count]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::encode", "Argument[self].Field[actix_http::h1::encoder::TransferEncoding::kind].Field[actix_http::h1::encoder::TransferEncodingKind::Chunked(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_truncate", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::encode_chunk", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::encode", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::length", "Argument[0]", "ReturnValue.Field[actix_http::h1::encoder::TransferEncoding::kind].Field[actix_http::h1::encoder::TransferEncodingKind::Length(0)]", "value", "dfc-generated"] - - ["::new_service", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::expect", "Argument[0]", "ReturnValue.Field[actix_http::h1::service::H1Service::expect]", "value", "dfc-generated"] - ["::on_connect_ext", "Argument[0]", "Argument[self].Field[actix_http::h1::service::H1Service::on_connect_ext]", "value", "dfc-generated"] - ["::on_connect_ext", "Argument[0]", "ReturnValue.Field[actix_http::h1::service::H1Service::on_connect_ext]", "value", "dfc-generated"] - ["::on_connect_ext", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::upgrade", "Argument[0]", "ReturnValue.Field[actix_http::h1::service::H1Service::upgrade]", "value", "dfc-generated"] - ["::with_config", "Argument[0]", "ReturnValue.Field[actix_http::h1::service::H1Service::cfg]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::h1::utils::SendResponse::framed].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[1].Field[actix_http::responses::response::Response::body]", "ReturnValue.Field[actix_http::h1::utils::SendResponse::body].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::utils::SendResponse::body]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::utils::SendResponse::framed]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::utils::SendResponse::res]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::utils::SendResponse::body]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::utils::SendResponse::framed]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::h1::utils::SendResponse::res]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::h2::Payload::stream]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::h2::dispatcher::Dispatcher::connection]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_http::h2::dispatcher::Dispatcher::flow]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[actix_http::h2::dispatcher::Dispatcher::config]", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[actix_http::h2::dispatcher::Dispatcher::peer_addr]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new_service", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::on_connect_ext", "Argument[0]", "Argument[self].Field[actix_http::h2::service::H2Service::on_connect_ext]", "value", "dfc-generated"] - ["::on_connect_ext", "Argument[0]", "ReturnValue.Field[actix_http::h2::service::H2Service::on_connect_ext]", "value", "dfc-generated"] - ["::on_connect_ext", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::with_config", "Argument[0]", "ReturnValue.Field[actix_http::h2::service::H2Service::cfg]", "value", "dfc-generated"] - ["::call", "Argument[0].Field[1]", "ReturnValue.Field[actix_http::h2::service::H2ServiceHandlerResponse::state].Field[actix_http::h2::service::State::Handshake(2)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[actix_http::header::map::Removed::inner].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_http::header::map::Value::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::map::HeaderMap::inner].Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[actix_http::header::map::HeaderMap::inner].Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::map::HeaderMap::inner]", "ReturnValue.Field[actix_http::header::map::HeaderMap::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::map::Value::inner]", "ReturnValue.Field[actix_http::header::map::Value::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_http::header::map::Value::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::shared::charset::Charset::Ext(0)]", "ReturnValue.Field[actix_http::header::shared::charset::Charset::Ext(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::shared::extended::ExtendedValue::language_tag]", "ReturnValue.Field[actix_http::header::shared::extended::ExtendedValue::language_tag]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::shared::extended::ExtendedValue::value]", "ReturnValue.Field[actix_http::header::shared::extended::ExtendedValue::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::shared::http_date::HttpDate(0)]", "ReturnValue.Field[actix_http::header::shared::http_date::HttpDate(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::header::shared::http_date::HttpDate(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::shared::quality::Quality(0)]", "ReturnValue.Field[actix_http::header::shared::quality::Quality(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::shared::quality::Quality(0)]", "ReturnValue.Field[actix_http::header::shared::quality::Quality(0)]", "value", "dfc-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::max", "Argument[0]", "ReturnValue.Field[actix_http::header::shared::quality_item::QualityItem::item]", "value", "dfc-generated"] - ["::min", "Argument[0]", "ReturnValue.Field[actix_http::header::shared::quality_item::QualityItem::item]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::header::shared::quality_item::QualityItem::item]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_http::header::shared::quality_item::QualityItem::quality]", "value", "dfc-generated"] - ["::zero", "Argument[0]", "ReturnValue.Field[actix_http::header::shared::quality_item::QualityItem::item]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[core::option::Option::Some(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[actix_http::keep_alive::KeepAlive::Timeout(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::header::shared::quality_item::tests::Encoding::EncodingExt(0)]", "ReturnValue.Field[actix_http::header::shared::quality_item::tests::Encoding::EncodingExt(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::keep_alive::KeepAlive::Timeout(0)]", "ReturnValue.Field[actix_http::keep_alive::KeepAlive::Timeout(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue.Field[actix_http::keep_alive::KeepAlive::Timeout(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::keep_alive::KeepAlive::Timeout(0)]", "value", "dfc-generated"] - - ["::duration", "Argument[self].Field[actix_http::keep_alive::KeepAlive::Timeout(0)].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::duration", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::normalize", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_http::message::Message::head].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_http::message::Message::head]", "ReturnValue.Reference.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_http::message::Message::head]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_truncate", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::payload::Payload::H1::payload]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::payload::Payload::H2::payload].Field[actix_http::h2::Payload::stream]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::payload::Payload::H2::payload]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::payload::Payload::Stream::payload]", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[actix_http::requests::head::RequestHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers_mut", "Argument[self].Field[actix_http::requests::head::RequestHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[actix_http::requests::head::RequestHeadType::Owned(0)].Field[actix_http::requests::head::RequestHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self].Reference.Field[actix_http::requests::head::RequestHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::headers_mut", "Argument[self].Reference.Field[actix_http::requests::head::RequestHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::extra_headers", "Argument[self].Field[actix_http::requests::head::RequestHeadType::Rc(1)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ref", "Argument[self].Field[actix_http::requests::head::RequestHeadType::Owned(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::requests::head::RequestHeadType::Owned(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::extra_headers", "Argument[self].Field[actix_http::requests::head::RequestHeadType::Rc(1)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::headers_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extensions", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extensions_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::requests::request::Request::head]", "value", "dfc-generated"] - - ["::head", "Argument[self].Field[actix_http::requests::request::Request::head]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::head_mut", "Argument[self].Field[actix_http::requests::request::Request::head]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::head", "Argument[self].Reference.Field[actix_http::requests::request::Request::head]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::head_mut", "Argument[self].Reference.Field[actix_http::requests::request::Request::head]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_http::requests::request::Request::head]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_http::requests::request::Request::payload]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::method", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::payload", "Argument[self].Field[actix_http::requests::request::Request::payload]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::payload", "Argument[self].Reference.Field[actix_http::requests::request::Request::payload]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::replace_payload", "Argument[0]", "ReturnValue.Field[0].Field[actix_http::requests::request::Request::payload]", "value", "dfc-generated"] - ["::uri", "Argument[self]", "ReturnValue", "taint", "df-generated"] @@ -230,6 +314,7 @@ extensions: - ["::with_payload", "Argument[0]", "ReturnValue.Field[actix_http::requests::request::Request::payload]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[actix_http::responses::response::Response::head]", "ReturnValue.Field[actix_http::responses::builder::ResponseBuilder::head].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::append_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::body", "Argument[0]", "ReturnValue.Field[actix_http::responses::response::Response::body].Field[actix_http::body::either::EitherBody::Left::body]", "value", "dfc-generated"] - ["::content_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::force_close", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::insert_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -239,36 +324,36 @@ extensions: - ["::reason", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::status", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::upgrade", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_http::responses::head::BoxedResponseHead::head].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_http::responses::head::BoxedResponseHead::head].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers_mut", "Argument[self].Field[actix_http::responses::head::ResponseHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[actix_http::responses::head::ResponseHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers_mut", "Argument[self].Field[actix_http::responses::head::ResponseHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers_mut", "Argument[self].Reference.Field[actix_http::responses::head::ResponseHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::responses::head::ResponseHead::reason]", "ReturnValue.Field[actix_http::responses::head::ResponseHead::reason]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::responses::head::ResponseHead::status]", "ReturnValue.Field[actix_http::responses::head::ResponseHead::status]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::responses::head::ResponseHead::version]", "ReturnValue.Field[actix_http::responses::head::ResponseHead::version]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self].Reference.Field[actix_http::responses::head::ResponseHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::headers_mut", "Argument[self].Reference.Field[actix_http::responses::head::ResponseHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::responses::head::ResponseHead::status]", "value", "dfc-generated"] - - ["::reason", "Argument[self].Field[actix_http::responses::head::ResponseHead::reason].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::reason", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::status", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::respond_to", "Argument[self].Field[actix_web::service::ServiceResponse::response]", "ReturnValue", "value", "dfc-generated"] - ["::respond_to", "Argument[self]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[actix_web::response::response::HttpResponse::res]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[alloc::string::String::vec].Reference", "ReturnValue.Field[actix_http::responses::response::Response::body].Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[actix_http::responses::response::Response::body].Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["::from", "Argument[0].Reference", "ReturnValue.Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] - - ["::body", "Argument[self].Field[actix_http::responses::response::Response::body]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::body", "Argument[self].Reference.Field[actix_http::responses::response::Response::body]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::drop_body", "Argument[self].Field[actix_http::responses::response::Response::extensions]", "ReturnValue.Field[actix_http::responses::response::Response::extensions]", "value", "dfc-generated"] - ["::drop_body", "Argument[self].Field[actix_http::responses::response::Response::head]", "ReturnValue.Field[actix_http::responses::response::Response::head]", "value", "dfc-generated"] - ["::extensions", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extensions_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::head", "Argument[self].Field[actix_http::responses::response::Response::head]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::head_mut", "Argument[self].Field[actix_http::responses::response::Response::head]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::head", "Argument[self].Reference.Field[actix_http::responses::response::Response::head]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::head_mut", "Argument[self].Reference.Field[actix_http::responses::response::Response::head]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_body", "Argument[self].Field[actix_http::responses::response::Response::body]", "ReturnValue", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_http::responses::response::Response::body]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_http::responses::response::Response::extensions]", "ReturnValue.Field[0].Field[actix_http::responses::response::Response::extensions]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_http::responses::response::Response::head]", "ReturnValue.Field[0].Field[actix_http::responses::response::Response::head]", "value", "dfc-generated"] - - ["::map_body", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::map_body", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::map_body", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map_body", "Argument[0].ReturnValue", "ReturnValue.Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] - ["::map_into_boxed_body", "Argument[self].Field[actix_http::responses::response::Response::extensions]", "ReturnValue.Field[actix_http::responses::response::Response::extensions]", "value", "dfc-generated"] - ["::map_into_boxed_body", "Argument[self].Field[actix_http::responses::response::Response::head]", "ReturnValue.Field[actix_http::responses::response::Response::head]", "value", "dfc-generated"] - ["::replace_body", "Argument[0]", "ReturnValue.Field[0].Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] @@ -279,7 +364,6 @@ extensions: - ["::set_body", "Argument[self].Field[actix_http::responses::response::Response::extensions]", "ReturnValue.Field[actix_http::responses::response::Response::extensions]", "value", "dfc-generated"] - ["::set_body", "Argument[self].Field[actix_http::responses::response::Response::head]", "ReturnValue.Field[actix_http::responses::response::Response::head]", "value", "dfc-generated"] - ["::with_body", "Argument[1]", "ReturnValue.Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] - - ["::new_service", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::expect", "Argument[0]", "ReturnValue.Field[actix_http::service::HttpService::expect]", "value", "dfc-generated"] - ["::on_connect_ext", "Argument[0]", "Argument[self].Field[actix_http::service::HttpService::on_connect_ext]", "value", "dfc-generated"] - ["::on_connect_ext", "Argument[0]", "ReturnValue.Field[actix_http::service::HttpService::on_connect_ext]", "value", "dfc-generated"] @@ -288,18 +372,25 @@ extensions: - ["::with_config", "Argument[0]", "ReturnValue.Field[actix_http::service::HttpService::cfg]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::service::HttpServiceHandler::cfg]", "value", "dfc-generated"] - ["::new", "Argument[4]", "ReturnValue.Field[actix_http::service::HttpServiceHandler::on_connect_ext]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::service::HttpServiceHandlerResponse::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::service::HttpServiceHandlerResponse::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::handshake_timeout", "Argument[0]", "ReturnValue.Field[actix_http::service::TlsAcceptorConfig::handshake_timeout].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[actix_http::test::TestBuffer::err]", "ReturnValue.Field[actix_http::test::TestBuffer::err]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[actix_http::test::TestBuffer::read_buf]", "ReturnValue.Field[actix_http::test::TestBuffer::read_buf]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[actix_http::test::TestBuffer::write_buf]", "ReturnValue.Field[actix_http::test::TestBuffer::write_buf]", "value", "dfc-generated"] - ["::read_buf_slice", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_buf_slice_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::write_buf_slice", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_buf_slice_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::append_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::insert_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::method", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_payload", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::uri", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::version", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::test::TestSeqBuffer(0)].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[actix_http::test::TestSeqBuffer(0)].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::test::TestSeqBuffer(0)].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[actix_http::test::TestSeqBuffer(0)].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::test::TestSeqBuffer(0)]", "ReturnValue.Field[actix_http::test::TestSeqBuffer(0)]", "value", "dfc-generated"] - ["::err", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::write_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] @@ -307,72 +398,68 @@ extensions: - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::ws::ProtocolError::InvalidLength(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::ws::ProtocolError::InvalidOpcode(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::ws::ProtocolError::Io(0)]", "value", "dfc-generated"] - - ["::decode", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::ws::codec::Codec::max_size]", "ReturnValue.Field[actix_http::ws::codec::Codec::max_size].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::ws::codec::Codec::max_size]", "ReturnValue.Field[actix_http::ws::codec::Codec::max_size]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::client_mode", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_size", "Argument[0]", "Argument[self].Field[actix_http::ws::codec::Codec::max_size]", "value", "dfc-generated"] - ["::max_size", "Argument[0]", "ReturnValue.Field[actix_http::ws::codec::Codec::max_size]", "value", "dfc-generated"] - ["::max_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::ws::dispatcher::Dispatcher::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_http::ws::dispatcher::Dispatcher::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_retain", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits_truncate", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::with", "Argument[0]", "ReturnValue.Field[actix_http::ws::dispatcher::Dispatcher::inner].Field[actix_http::ws::dispatcher::inner::Dispatcher::framed]", "value", "dfc-generated"] - - ["::framed", "Argument[self].Field[actix_http::ws::dispatcher::inner::Dispatcher::framed]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::framed_mut", "Argument[self].Field[actix_http::ws::dispatcher::inner::Dispatcher::framed]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::framed", "Argument[self].Reference.Field[actix_http::ws::dispatcher::inner::Dispatcher::framed]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::framed_mut", "Argument[self].Reference.Field[actix_http::ws::dispatcher::inner::Dispatcher::framed]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_http::ws::dispatcher::inner::Dispatcher::framed]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::service", "Argument[self].Field[actix_http::ws::dispatcher::inner::Dispatcher::service]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::service_mut", "Argument[self].Field[actix_http::ws::dispatcher::inner::Dispatcher::service]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::tx", "Argument[self].Field[actix_http::ws::dispatcher::inner::Dispatcher::tx].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::tx", "Argument[self].Field[actix_http::ws::dispatcher::inner::Dispatcher::tx]", "ReturnValue", "value", "dfc-generated"] + - ["::service", "Argument[self].Reference.Field[actix_http::ws::dispatcher::inner::Dispatcher::service]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::service_mut", "Argument[self].Reference.Field[actix_http::ws::dispatcher::inner::Dispatcher::service]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::tx", "Argument[self].Reference.Field[actix_http::ws::dispatcher::inner::Dispatcher::tx]", "ReturnValue", "value", "dfc-generated"] - ["::with_rx", "Argument[0]", "ReturnValue.Field[actix_http::ws::dispatcher::inner::Dispatcher::framed]", "value", "dfc-generated"] - ["::with_rx", "Argument[2]", "ReturnValue.Field[actix_http::ws::dispatcher::inner::Dispatcher::rx]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::ws::dispatcher::inner::DispatcherError::Service(0)]", "value", "dfc-generated"] - - ["::parse", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::ws::proto::CloseCode::Other(0)]", "ReturnValue.Field[actix_http::ws::proto::CloseCode::Other(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_http::ws::proto::CloseCode::Other(0)]", "ReturnValue.Field[actix_http::ws::proto::CloseCode::Other(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::ws::proto::CloseCode::Other(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_http::ws::proto::CloseReason::description]", "ReturnValue.Field[actix_http::ws::proto::CloseReason::description]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[actix_http::ws::proto::CloseReason::code]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_http::ws::proto::CloseReason::code]", "value", "dfc-generated"] - - ["::addr", "Argument[self].Field[actix_http_test::TestServer::addr]", "ReturnValue", "value", "dfc-generated"] - - ["::delete", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::delete", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::head", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::head", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::options", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::options", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::patch", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::patch", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::post", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::post", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::put", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::put", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self].Reference.Field[actix_http_test::TestServer::addr]", "ReturnValue", "value", "dfc-generated"] + - ["::delete", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::head", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::options", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::patch", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::post", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::put", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::request", "Argument[0]", "ReturnValue.Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "value", "dfc-generated"] - - ["::request", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::request", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::sdelete", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::sdelete", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::sget", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::sget", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::shead", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::shead", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::soptions", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::soptions", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::spatch", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::spatch", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::spost", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::spost", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::sput", "Argument[self].Field[actix_http_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::sput", "Argument[self].Field[actix_http_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] + - ["::sdelete", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::sget", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::shead", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::soptions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::spatch", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::spost", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::sput", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::surl", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::surl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::url", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::url", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[actix_multipart::error::Error::Field::name]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[actix_multipart::error::Error::Field::source]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_multipart::error::Error::Parse(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_multipart::error::Error::Payload(0)]", "value", "dfc-generated"] - - ["::content_disposition", "Argument[self].Field[actix_multipart::field::Field::content_disposition].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::content_type", "Argument[self].Field[actix_multipart::field::Field::content_type].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[actix_multipart::field::Field::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[actix_multipart::field::Field::content_disposition].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::content_disposition", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::content_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self].Reference.Field[actix_multipart::field::Field::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_multipart::field::Field::content_type]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_multipart::field::Field::content_disposition]", "value", "dfc-generated"] - ["::new", "Argument[2].Field[core::option::Option::Some(0)]", "ReturnValue.Field[actix_multipart::field::Field::form_field_name]", "value", "dfc-generated"] @@ -382,12 +469,8 @@ extensions: - ["::new", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[actix_multipart::field::InnerField::boundary]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_multipart::form::Limits::total_limit_remaining]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_multipart::form::Limits::memory_limit_remaining]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_multipart::form::MultipartForm(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_multipart::form::MultipartForm(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_multipart::form::MultipartForm(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::error_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::memory_limit", "Argument[0]", "Argument[self].Field[actix_multipart::form::MultipartFormConfig::memory_limit]", "value", "dfc-generated"] - ["::memory_limit", "Argument[0]", "ReturnValue.Field[actix_multipart::form::MultipartFormConfig::memory_limit]", "value", "dfc-generated"] @@ -395,90 +478,114 @@ extensions: - ["::total_limit", "Argument[0]", "Argument[self].Field[actix_multipart::form::MultipartFormConfig::total_limit]", "value", "dfc-generated"] - ["::total_limit", "Argument[0]", "ReturnValue.Field[actix_multipart::form::MultipartFormConfig::total_limit]", "value", "dfc-generated"] - ["::total_limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_multipart::form::State(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_multipart::form::State(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[2]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[2]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_multipart::form::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_multipart::form::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[actix_multipart::form::json::Json(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::json::JsonConfig::err_handler]", "ReturnValue.Field[actix_multipart::form::json::JsonConfig::err_handler]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::json::JsonConfig::validate_content_type]", "ReturnValue.Field[actix_multipart::form::json::JsonConfig::validate_content_type].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::json::JsonConfig::validate_content_type]", "ReturnValue.Field[actix_multipart::form::json::JsonConfig::validate_content_type]", "value", "dfc-generated"] - ["::error_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::validate_content_type", "Argument[0]", "Argument[self].Field[actix_multipart::form::json::JsonConfig::validate_content_type]", "value", "dfc-generated"] - ["::validate_content_type", "Argument[0]", "ReturnValue.Field[actix_multipart::form::json::JsonConfig::validate_content_type]", "value", "dfc-generated"] - ["::validate_content_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::read_field", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[2]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::tempfile::TempFileConfig::directory]", "ReturnValue.Field[actix_multipart::form::tempfile::TempFileConfig::directory]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::tempfile::TempFileConfig::err_handler]", "ReturnValue.Field[actix_multipart::form::tempfile::TempFileConfig::err_handler]", "value", "dfc-generated"] - ["::directory", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::error_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::read_field", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_field", "Argument[2]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_multipart::form::text::Text(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_multipart::form::text::Text(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[actix_multipart::form::text::Text(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::text::TextConfig::err_handler]", "ReturnValue.Field[actix_multipart::form::text::TextConfig::err_handler]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::text::TextConfig::validate_content_type]", "ReturnValue.Field[actix_multipart::form::text::TextConfig::validate_content_type].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_multipart::form::text::TextConfig::validate_content_type]", "ReturnValue.Field[actix_multipart::form::text::TextConfig::validate_content_type]", "value", "dfc-generated"] - ["::error_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::validate_content_type", "Argument[0]", "Argument[self].Field[actix_multipart::form::text::TextConfig::validate_content_type]", "value", "dfc-generated"] - ["::validate_content_type", "Argument[0]", "ReturnValue.Field[actix_multipart::form::text::TextConfig::validate_content_type]", "value", "dfc-generated"] - ["::validate_content_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[actix_multipart::payload::PayloadBuffer::stream].Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[actix_multipart::payload::PayloadRef::payload]", "ReturnValue.Field[actix_multipart::payload::PayloadRef::payload]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[actix_multipart::safety::Safety::clean].Reference", "ReturnValue.Field[actix_multipart::safety::Safety::clean]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[actix_multipart::safety::Safety::clean]", "ReturnValue.Field[actix_multipart::safety::Safety::clean]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[actix_multipart::safety::Safety::payload]", "ReturnValue.Field[actix_multipart::safety::Safety::payload]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::content_type_or_bail", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[actix_multipart::payload::PayloadRef::payload]", "ReturnValue.Field[actix_multipart::payload::PayloadRef::payload]", "value", "dfc-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[actix_multipart::safety::Safety::clean]", "ReturnValue.Field[actix_multipart::safety::Safety::clean]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[actix_multipart::safety::Safety::payload]", "ReturnValue.Field[actix_multipart::safety::Safety::payload]", "value", "dfc-generated"] + - ["::is_clean", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_router::de::PathDeserializer::path]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[actix_router::path::Path::path]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[actix_router::path::Path::path]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::resource_path", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::path::Path::segments]", "ReturnValue.Field[actix_router::path::Path::segments]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::path::Path::skip]", "ReturnValue.Field[actix_router::path::Path::skip].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::path::Path::skip]", "ReturnValue.Field[actix_router::path::Path::skip]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[actix_router::path::Path::path]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[actix_router::path::Path::path]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[actix_router::path::PathIter::params]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_router::path::Path::path]", "value", "dfc-generated"] - - ["::segment_count", "Argument[self].Field[actix_router::path::Path::segments].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::set", "Argument[0]", "Argument[self].Field[actix_router::path::Path::path]", "value", "dfc-generated"] - - ["::patterns", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::segment_count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set", "Argument[0]", "Argument[self].Reference.Field[actix_router::path::Path::path]", "value", "dfc-generated"] + - ["::skip", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::patterns", "Argument[self].Field[actix_router::pattern::Patterns::List(0)]", "ReturnValue.Field[actix_router::pattern::Patterns::List(0)]", "value", "dfc-generated"] + - ["::patterns", "Argument[self].Field[actix_router::pattern::Patterns::Single(0)]", "ReturnValue.Field[actix_router::pattern::Patterns::Single(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::pattern::Patterns::List(0)]", "ReturnValue.Field[actix_router::pattern::Patterns::List(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::pattern::Patterns::Single(0)]", "ReturnValue.Field[actix_router::pattern::Patterns::Single(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_router::quoter::AsciiBitmap::array]", "ReturnValue.Field[actix_router::quoter::AsciiBitmap::array]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_router::regex_set::RegexSet(0)]", "ReturnValue.Field[actix_router::regex_set::RegexSet(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_router::resource::PatternSegment::Const(0)]", "ReturnValue.Field[actix_router::resource::PatternSegment::Const(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::resource::PatternSegment::Var(0)]", "ReturnValue.Field[actix_router::resource::PatternSegment::Var(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::capture_match_info_fn", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["::id", "Argument[self].Field[actix_router::resource::ResourceDef::id]", "ReturnValue", "value", "dfc-generated"] - - ["::is_prefix", "Argument[self].Field[actix_router::resource::ResourceDef::is_prefix]", "ReturnValue", "value", "dfc-generated"] - - ["::join", "Argument[0].Field[actix_router::resource::ResourceDef::is_prefix]", "ReturnValue.Field[actix_router::resource::ResourceDef::is_prefix]", "value", "dfc-generated"] - - ["::pattern_iter", "Argument[self].Field[actix_router::resource::ResourceDef::patterns]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::set_id", "Argument[0]", "Argument[self].Field[actix_router::resource::ResourceDef::id]", "value", "dfc-generated"] + - ["::id", "Argument[self].Reference.Field[actix_router::resource::ResourceDef::id]", "ReturnValue", "value", "dfc-generated"] + - ["::is_prefix", "Argument[self].Reference.Field[actix_router::resource::ResourceDef::is_prefix]", "ReturnValue", "value", "dfc-generated"] + - ["::join", "Argument[0].Reference.Field[actix_router::resource::ResourceDef::is_prefix]", "ReturnValue.Field[actix_router::resource::ResourceDef::is_prefix]", "value", "dfc-generated"] + - ["::pattern", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::pattern_iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::resource_path_from_map", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::set_id", "Argument[0]", "Argument[self].Reference.Field[actix_router::resource::ResourceDef::id]", "value", "dfc-generated"] + - ["::set_name", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_router::router::ResourceId(0)]", "ReturnValue.Field[actix_router::router::ResourceId(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::router::ResourceId(0)]", "ReturnValue.Field[actix_router::router::ResourceId(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::finish", "Argument[self].Field[actix_router::router::RouterBuilder::routes]", "ReturnValue.Field[actix_router::router::Router::routes]", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[actix_router::url::Url::path].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::path", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_router::url::Url::path]", "ReturnValue.Field[actix_router::url::Url::path]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_router::url::Url::uri]", "ReturnValue.Field[actix_router::url::Url::uri]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_router::url::Url::uri]", "value", "dfc-generated"] - ["::new_with_quoter", "Argument[0]", "ReturnValue.Field[actix_router::url::Url::uri]", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[actix_router::url::Url::path].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::update", "Argument[0].Reference", "Argument[self].Field[actix_router::url::Url::uri]", "value", "dfc-generated"] - - ["::update_with_quoter", "Argument[0].Reference", "Argument[self].Field[actix_router::url::Url::uri]", "value", "dfc-generated"] - - ["::uri", "Argument[self].Field[actix_router::url::Url::uri]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::addr", "Argument[self].Field[actix_test::TestServer::addr]", "ReturnValue", "value", "dfc-generated"] - - ["::delete", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::delete", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::head", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::head", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::options", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::options", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::patch", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::patch", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::post", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::post", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::put", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::put", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] + - ["::path", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::update", "Argument[0].Reference", "Argument[self].Reference.Field[actix_router::url::Url::uri]", "value", "dfc-generated"] + - ["::update_with_quoter", "Argument[0].Reference", "Argument[self].Reference.Field[actix_router::url::Url::uri]", "value", "dfc-generated"] + - ["::uri", "Argument[self].Reference.Field[actix_router::url::Url::uri]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self].Reference.Field[actix_test::TestServer::addr]", "ReturnValue", "value", "dfc-generated"] + - ["::delete", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::head", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::options", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::patch", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::post", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::put", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::request", "Argument[0]", "ReturnValue.Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "value", "dfc-generated"] - - ["::request", "Argument[self].Field[actix_test::TestServer::client].Field[0]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - - ["::request", "Argument[self].Field[actix_test::TestServer::client].Field[awc::client::Client(0)]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - ["::url", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::url", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::client_request_timeout", "Argument[0]", "Argument[self].Field[actix_test::TestServerConfig::client_request_timeout]", "value", "dfc-generated"] - ["::client_request_timeout", "Argument[0]", "ReturnValue.Field[actix_test::TestServerConfig::client_request_timeout]", "value", "dfc-generated"] - ["::client_request_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -527,26 +634,26 @@ extensions: - ["::wrap", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrap_fn", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::app_service::AppEntry::factory]", "value", "dfc-generated"] - - ["::config", "Argument[self].Field[actix_web::app_service::AppInitServiceState::config]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::pool", "Argument[self].Field[actix_web::app_service::AppInitServiceState::pool]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::rmap", "Argument[self].Field[actix_web::app_service::AppInitServiceState::rmap]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::config", "Argument[self].Reference.Field[actix_web::app_service::AppInitServiceState::config]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::pool", "Argument[self].Reference.Field[actix_web::app_service::AppInitServiceState::pool]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rmap", "Argument[self].Reference.Field[actix_web::app_service::AppInitServiceState::rmap]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::__priv_test_new", "Argument[0]", "ReturnValue.Field[actix_web::config::AppConfig::secure]", "value", "dfc-generated"] - ["::__priv_test_new", "Argument[1]", "ReturnValue.Field[actix_web::config::AppConfig::host]", "value", "dfc-generated"] - ["::__priv_test_new", "Argument[2]", "ReturnValue.Field[actix_web::config::AppConfig::addr]", "value", "dfc-generated"] - - ["::host", "Argument[self].Field[actix_web::config::AppConfig::host]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::local_addr", "Argument[self].Field[actix_web::config::AppConfig::addr]", "ReturnValue", "value", "dfc-generated"] + - ["::host", "Argument[self].Reference.Field[actix_web::config::AppConfig::host]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::local_addr", "Argument[self].Reference.Field[actix_web::config::AppConfig::addr]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::config::AppConfig::secure]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_web::config::AppConfig::host]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[actix_web::config::AppConfig::addr]", "value", "dfc-generated"] - - ["::secure", "Argument[self].Field[actix_web::config::AppConfig::secure]", "ReturnValue", "value", "dfc-generated"] - - ["::clone_config", "Argument[self].Field[actix_web::config::AppService::config].Reference", "ReturnValue.Field[actix_web::config::AppService::config]", "value", "dfc-generated"] - - ["::clone_config", "Argument[self].Field[actix_web::config::AppService::config]", "ReturnValue.Field[actix_web::config::AppService::config]", "value", "dfc-generated"] - - ["::clone_config", "Argument[self].Field[actix_web::config::AppService::default]", "ReturnValue.Field[actix_web::config::AppService::default]", "value", "dfc-generated"] - - ["::config", "Argument[self].Field[actix_web::config::AppService::config]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::default_service", "Argument[self].Field[actix_web::config::AppService::default]", "ReturnValue", "value", "dfc-generated"] + - ["::secure", "Argument[self].Reference.Field[actix_web::config::AppConfig::secure]", "ReturnValue", "value", "dfc-generated"] + - ["::clone_config", "Argument[self].Reference.Field[actix_web::config::AppService::default]", "ReturnValue.Field[actix_web::config::AppService::default]", "value", "dfc-generated"] + - ["::config", "Argument[self].Reference.Field[actix_web::config::AppService::config]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::default_service", "Argument[self].Reference.Field[actix_web::config::AppService::default]", "ReturnValue", "value", "dfc-generated"] - ["::into_services", "Argument[self].Field[actix_web::config::AppService::config]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_services", "Argument[self].Field[actix_web::config::AppService::services]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::is_root", "Argument[self].Field[actix_web::config::AppService::root]", "ReturnValue", "value", "dfc-generated"] + - ["::is_root", "Argument[self].Reference.Field[actix_web::config::AppService::root]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::config::AppService::config]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_web::config::AppService::default]", "value", "dfc-generated"] - ["::app_data", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -557,191 +664,246 @@ extensions: - ["::external_resource", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::route", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::service", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[0]", "ReturnValue.Field[actix_web::data::Data(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[actix_web::data::Data(0)]", "ReturnValue.Field[actix_web::data::Data(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[actix_web::data::Data(0)]", "ReturnValue.Field[actix_web::data::Data(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::data::Data(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::data::Data(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_web::data::Data(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_web::data::Data(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::QueryPayloadError::Deserialize(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::ReadlinesError::ContentTypeError(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::ReadlinesError::Payload(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::UrlGenerationError::ParseError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[actix_web::error::UrlencodedError::Overflow::size]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[actix_web::error::UrlencodedError::Overflow::limit]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::UrlencodedError::Parse(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::UrlencodedError::Payload(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::UrlencodedError::Serialize(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[actix_web::types::either::EitherExtractError::Bytes(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::error::Error::cause].Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::error::Error::cause].Field[alloc::boxed::Box(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::error::error::Error::cause]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::as_response_error", "Argument[self].Field[actix_web::error::error::Error::cause].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::status_code", "Argument[self].Field[actix_web::error::internal::InternalError::status].Field[actix_web::error::internal::InternalErrorType::Status(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::as_response_error", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::status_code", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::respond_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_response", "Argument[0]", "ReturnValue.Field[actix_web::error::internal::InternalError::cause]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::error::internal::InternalError::cause]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_web::error::internal::InternalError::status].Field[actix_web::error::internal::InternalErrorType::Status(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::extract::FromRequestOptFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::extract::FromRequestOptFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::extract::FromRequestResFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::extract::FromRequestResFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::and", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::or", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::check", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::check", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::head", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::req_data", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::req_data_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::guard::RegisteredMethods(0)]", "ReturnValue.Field[actix_web::guard::RegisteredMethods(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::guard::acceptable::Acceptable::match_star_star]", "ReturnValue.Field[actix_web::guard::acceptable::Acceptable::match_star_star].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::guard::acceptable::Acceptable::match_star_star]", "ReturnValue.Field[actix_web::guard::acceptable::Acceptable::match_star_star]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::guard::acceptable::Acceptable::mime]", "ReturnValue.Field[actix_web::guard::acceptable::Acceptable::mime]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::match_star_star", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::guard::acceptable::Acceptable::mime]", "value", "dfc-generated"] - ["::scheme", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::accept::Accept(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::accept::Accept(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::accept_charset::AcceptCharset(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::accept_charset::AcceptCharset(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::accept_encoding::AcceptEncoding(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::accept_encoding::AcceptEncoding(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::accept::Accept(0)]", "ReturnValue.Field[actix_web::http::header::accept::Accept(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::preference", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::accept_charset::AcceptCharset(0)]", "ReturnValue.Field[actix_web::http::header::accept_charset::AcceptCharset(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::accept_encoding::AcceptEncoding(0)]", "ReturnValue.Field[actix_web::http::header::accept_encoding::AcceptEncoding(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::preference", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::accept_language::AcceptLanguage(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::accept_language::AcceptLanguage(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::allow::Allow(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::allow::Allow(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::cache_control::CacheControl(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::cache_control::CacheControl(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::accept_language::AcceptLanguage(0)]", "ReturnValue.Field[actix_web::http::header::accept_language::AcceptLanguage(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::allow::Allow(0)]", "ReturnValue.Field[actix_web::http::header::allow::Allow(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::cache_control::CacheControl(0)]", "ReturnValue.Field[actix_web::http::header::cache_control::CacheControl(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::content_disposition::ContentDisposition::parameters]", "ReturnValue.Field[actix_web::http::header::content_disposition::ContentDisposition::parameters]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_filename", "Argument[self].Field[actix_web::http::header::content_disposition::DispositionParam::Filename(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::as_filename_ext", "Argument[self].Field[actix_web::http::header::content_disposition::DispositionParam::FilenameExt(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::as_name", "Argument[self].Field[actix_web::http::header::content_disposition::DispositionParam::Name(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::as_unknown", "Argument[self].Field[actix_web::http::header::content_disposition::DispositionParam::Unknown(1)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::as_unknown_ext", "Argument[self].Field[actix_web::http::header::content_disposition::DispositionParam::UnknownExt(1)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::content_language::ContentLanguage(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::content_language::ContentLanguage(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::content_disposition::DispositionType::Ext(0)]", "ReturnValue.Field[actix_web::http::header::content_disposition::DispositionType::Ext(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::content_language::ContentLanguage(0)]", "ReturnValue.Field[actix_web::http::header::content_language::ContentLanguage(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_into_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::content_length::ContentLength(0)]", "ReturnValue.Field[actix_web::http::header::content_length::ContentLength(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::content_length::ContentLength(0)]", "ReturnValue.Field[actix_web::http::header::content_length::ContentLength(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::http::header::content_length::ContentLength(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::content_length::ContentLength(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::content_length::ContentLength(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[actix_web::http::header::content_length::ContentLength(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::content_range::ContentRange(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::content_range::ContentRange(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::content_type::ContentType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::content_type::ContentType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::date::Date(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::date::Date(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[self].Reference.Field[actix_web::http::header::content_length::ContentLength(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::content_type::ContentType(0)]", "ReturnValue.Field[actix_web::http::header::content_type::ContentType(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::encoding::Encoding::Unknown(0)]", "ReturnValue.Field[actix_web::http::header::encoding::Encoding::Unknown(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::entity::EntityTag::tag]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::tag]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::entity::EntityTag::weak]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::weak].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::entity::EntityTag::weak]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::weak]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::weak]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::tag]", "value", "dfc-generated"] - ["::new_strong", "Argument[0]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::tag]", "value", "dfc-generated"] - ["::new_weak", "Argument[0]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::tag]", "value", "dfc-generated"] + - ["::set_tag", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::strong", "Argument[0]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::tag]", "value", "dfc-generated"] - - ["::tag", "Argument[self].Field[actix_web::http::header::entity::EntityTag::tag]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::tag", "Argument[self].Field[actix_web::http::header::entity::EntityTag::tag]", "ReturnValue", "value", "dfc-generated"] + - ["::tag", "Argument[self].Reference.Field[actix_web::http::header::entity::EntityTag::tag]", "ReturnValue.Reference.Reference", "value", "dfc-generated"] + - ["::tag", "Argument[self].Reference.Field[actix_web::http::header::entity::EntityTag::tag]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::weak", "Argument[0]", "ReturnValue.Field[actix_web::http::header::entity::EntityTag::tag]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::etag::ETag(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::etag::ETag(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::expires::Expires(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::expires::Expires(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::if_modified_since::IfModifiedSince(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::if_modified_since::IfModifiedSince(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::if_unmodified_since::IfUnmodifiedSince(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::if_unmodified_since::IfUnmodifiedSince(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::http::header::last_modified::LastModified(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::http::header::last_modified::LastModified(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::if_match::IfMatch::Items(0)]", "ReturnValue.Field[actix_web::http::header::if_match::IfMatch::Items(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::if_none_match::IfNoneMatch::Items(0)]", "ReturnValue.Field[actix_web::http::header::if_none_match::IfNoneMatch::Items(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_item", "Argument[self].Field[actix_web::http::header::preference::Preference::Specific(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::item", "Argument[self].Field[actix_web::http::header::preference::Preference::Specific(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_satisfiable_range", "Argument[self].Reference.Field[actix_web::http::header::range::ByteRangeSpec::From(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] - ["::to_satisfiable_range", "Argument[self].Reference.Field[actix_web::http::header::range::ByteRangeSpec::FromTo(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] - ["::to_satisfiable_range", "Argument[self].Reference.Field[actix_web::http::header::range::ByteRangeSpec::FromTo(1)]", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] - - ["::host", "Argument[self].Field[actix_web::info::ConnectionInfo::host]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::scheme", "Argument[self].Field[actix_web::info::ConnectionInfo::scheme]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::range::Range::Bytes(0)]", "ReturnValue.Field[actix_web::http::header::range::Range::Bytes(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::range::Range::Unregistered(0)]", "ReturnValue.Field[actix_web::http::header::range::Range::Unregistered(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::http::header::range::Range::Unregistered(1)]", "ReturnValue.Field[actix_web::http::header::range::Range::Unregistered(1)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::host", "Argument[self].Reference.Field[actix_web::info::ConnectionInfo::host]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::scheme", "Argument[self].Reference.Field[actix_web::info::ConnectionInfo::scheme]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::info::PeerAddr(0)]", "ReturnValue.Field[actix_web::info::PeerAddr(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[actix_web::info::PeerAddr(0)]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::middleware::compat::Compat::transform]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::compat::CompatMiddlewareFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::compat::CompatMiddlewareFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::compress::CompressResponse::encoding]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::compress::CompressResponse::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::compress::CompressResponse::encoding]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::compress::CompressResponse::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::middleware::condition::Condition::enable]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_web::middleware::condition::Condition::transformer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::default_headers::DefaultHeaderFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::default_headers::DefaultHeaderFuture::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::default_headers::DefaultHeaderFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::middleware::default_headers::DefaultHeaderFuture::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::default_headers::DefaultHeaders::inner].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[actix_web::middleware::default_headers::DefaultHeaders::inner].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::default_headers::DefaultHeaders::inner].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[actix_web::middleware::default_headers::DefaultHeaders::inner].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::default_headers::DefaultHeaders::inner]", "ReturnValue.Field[actix_web::middleware::default_headers::DefaultHeaders::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::add", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add_content_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[actix_web::middleware::default_headers::DefaultHeadersMiddleware::inner]", "ReturnValue.Field[actix_web::middleware::default_headers::DefaultHeaderFuture::inner]", "value", "dfc-generated"] + - ["::call", "Argument[self].Reference.Field[actix_web::middleware::default_headers::DefaultHeadersMiddleware::inner]", "ReturnValue.Field[actix_web::middleware::default_headers::DefaultHeaderFuture::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self].Reference.Field[actix_web::middleware::err_handlers::ErrorHandlersMiddleware::default_client]", "ReturnValue.Field[actix_web::middleware::err_handlers::ErrorHandlersFuture::ServiceFuture::default_client]", "value", "dfc-generated"] + - ["::call", "Argument[self].Reference.Field[actix_web::middleware::err_handlers::ErrorHandlersMiddleware::default_server]", "ReturnValue.Field[actix_web::middleware::err_handlers::ErrorHandlersFuture::ServiceFuture::default_server]", "value", "dfc-generated"] + - ["::call", "Argument[self].Reference.Field[actix_web::middleware::err_handlers::ErrorHandlersMiddleware::handlers]", "ReturnValue.Field[actix_web::middleware::err_handlers::ErrorHandlersFuture::ServiceFuture::handlers]", "value", "dfc-generated"] - ["::call", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::call", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[actix_web::middleware::from_fn::MiddlewareFnService::mw_fn]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[actix_web::middleware::from_fn::MiddlewareFnService::service]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::logger::CustomRequestFn::inner_fn].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[actix_web::middleware::logger::CustomRequestFn::inner_fn].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::logger::CustomRequestFn::inner_fn].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[actix_web::middleware::logger::CustomRequestFn::inner_fn].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::logger::CustomRequestFn::inner_fn]", "ReturnValue.Field[actix_web::middleware::logger::CustomRequestFn::inner_fn]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::logger::CustomResponseFn::inner_fn].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[actix_web::middleware::logger::CustomResponseFn::inner_fn].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::logger::CustomResponseFn::inner_fn].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[actix_web::middleware::logger::CustomResponseFn::inner_fn].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::logger::CustomResponseFn::inner_fn]", "ReturnValue.Field[actix_web::middleware::logger::CustomResponseFn::inner_fn]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::middleware::logger::Format(0)]", "ReturnValue.Field[actix_web::middleware::logger::Format(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::fmt", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::custom_request_replace", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::custom_response_replace", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::exclude", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::exclude_regex", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::log_level", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::log_target", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::middleware::normalize::NormalizePath(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::permanent", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::see_other", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::temporary", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::to", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::using_status_code", "Argument[0]", "Argument[self].Field[actix_web::redirect::Redirect::status_code]", "value", "dfc-generated"] - ["::using_status_code", "Argument[0]", "ReturnValue.Field[actix_web::redirect::Redirect::status_code]", "value", "dfc-generated"] - ["::using_status_code", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::extensions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::extensions_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::request::HttpRequest::inner].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[actix_web::request::HttpRequest::inner].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::request::HttpRequest::inner].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[actix_web::request::HttpRequest::inner].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::request::HttpRequest::inner]", "ReturnValue.Field[actix_web::request::HttpRequest::inner]", "value", "dfc-generated"] + - ["::app_config", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::connection_info", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::head", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::match_info", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::match_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::match_pattern", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::method", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::resource_map", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::uri", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::version", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_capacity", "Argument[0]", "ReturnValue.Field[actix_web::request::HttpRequestPool::cap]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::request_data::ReqData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_web::request_data::ReqData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_web::request_data::ReqData(0)]", "ReturnValue", "value", "dfc-generated"] - ["::add_guards", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::app_data", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::data", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::default_service", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::delete", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::get", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::guard", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::head", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::patch", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::post", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::put", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::route", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::to", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::trace", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::wrap", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrap_fn", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::append_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::content_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::extensions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::extensions_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::force_close", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::insert_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -751,6 +913,7 @@ extensions: - ["::set_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::status", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::upgrade", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::respond_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::add_cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::append_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::insert_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -760,15 +923,18 @@ extensions: - ["::respond_to", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[actix_web::service::ServiceResponse::response]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res]", "value", "dfc-generated"] - - ["::body", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::body]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::body", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::drop_body", "Argument[self].Field[actix_web::response::response::HttpResponse::error]", "ReturnValue.Field[actix_web::response::response::HttpResponse::error]", "value", "dfc-generated"] - ["::drop_body", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::extensions]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::extensions]", "value", "dfc-generated"] - ["::drop_body", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::head]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::head]", "value", "dfc-generated"] - - ["::error", "Argument[self].Field[actix_web::response::response::HttpResponse::error].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::error", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extensions", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extensions_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::head", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::head]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::head_mut", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::head]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_error", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::head", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::head_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_body", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::body]", "ReturnValue", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_web::response::response::HttpResponse::error]", "ReturnValue.Field[0].Field[actix_web::response::response::HttpResponse::error]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::body]", "ReturnValue.Field[1]", "value", "dfc-generated"] @@ -787,20 +953,24 @@ extensions: - ["::set_body", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::extensions]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::extensions]", "value", "dfc-generated"] - ["::set_body", "Argument[self].Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::head]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::head]", "value", "dfc-generated"] - ["::with_body", "Argument[1]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::add", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::match_name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::match_pattern", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::rmap::ResourceMap::pattern]", "value", "dfc-generated"] - - ["::new_service", "Argument[self].Field[actix_web::route::Route::guards]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::guard", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::method", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::service", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::to", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::wrap", "Argument[self].Field[actix_web::route::Route::guards]", "ReturnValue.Field[actix_web::route::Route::guards]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::app_data", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::configure", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::data", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::default_service", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::guard", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::route", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::service", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::wrap", "Argument[self]", "ReturnValue", "taint", "df-generated"] @@ -809,12 +979,19 @@ extensions: - ["::backlog", "Argument[0]", "ReturnValue.Field[actix_web::server::HttpServer::backlog]", "value", "dfc-generated"] - ["::backlog", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::bind", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind_auto_h2c", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::bind_auto_h2c", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind_openssl", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::bind_openssl", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind_rustls", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::bind_rustls", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind_rustls_021", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::bind_rustls_021", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind_rustls_0_22", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::bind_rustls_0_22", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind_rustls_0_23", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::bind_rustls_0_23", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bind_uds", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::client_disconnect_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::client_request_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -842,26 +1019,42 @@ extensions: - ["::worker_max_blocking_threads", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::workers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::service::ServiceFactoryWrapper::factory].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::extensions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::extensions_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::app_config", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::connection_info", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::error_response", "Argument[self].Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Field[actix_web::service::ServiceResponse::request]", "value", "dfc-generated"] - ["::from_parts", "Argument[0]", "ReturnValue.Field[actix_web::service::ServiceRequest::req]", "value", "dfc-generated"] - ["::from_parts", "Argument[1]", "ReturnValue.Field[actix_web::service::ServiceRequest::payload]", "value", "dfc-generated"] - ["::from_request", "Argument[0]", "ReturnValue.Field[actix_web::service::ServiceRequest::req]", "value", "dfc-generated"] - ["::guard_ctx", "Argument[self]", "ReturnValue.Field[actix_web::guard::GuardContext::req]", "value", "dfc-generated"] + - ["::head", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_parts", "Argument[self].Field[actix_web::service::ServiceRequest::payload]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_response", "Argument[self].Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Field[actix_web::service::ServiceResponse::request]", "value", "dfc-generated"] + - ["::match_info", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::match_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::match_pattern", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::method", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::service::ServiceRequest::req]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_web::service::ServiceRequest::payload]", "value", "dfc-generated"] - - ["::parts", "Argument[self].Field[actix_web::service::ServiceRequest::payload]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - - ["::parts", "Argument[self].Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - - ["::parts_mut", "Argument[self].Field[actix_web::service::ServiceRequest::payload]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - - ["::parts_mut", "Argument[self].Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - - ["::request", "Argument[self].Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::set_payload", "Argument[0]", "Argument[self].Field[actix_web::service::ServiceRequest::payload]", "value", "dfc-generated"] + - ["::parts", "Argument[self].Reference.Field[actix_web::service::ServiceRequest::payload]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] + - ["::parts", "Argument[self].Reference.Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] + - ["::parts_mut", "Argument[self].Reference.Field[actix_web::service::ServiceRequest::payload]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] + - ["::parts_mut", "Argument[self].Reference.Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::request", "Argument[self].Reference.Field[actix_web::service::ServiceRequest::req]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::resource_map", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set_payload", "Argument[0]", "Argument[self].Reference.Field[actix_web::service::ServiceRequest::payload]", "value", "dfc-generated"] + - ["::uri", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::version", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::map_body", "Argument[self].Field[actix_web::service::ServiceResponse::request]", "ReturnValue.Field[actix_web::service::ServiceResponse::request]", "value", "dfc-generated"] - ["::map_body", "Argument[self].Field[actix_web::service::ServiceResponse::response].Field[actix_web::response::response::HttpResponse::error]", "ReturnValue.Field[actix_web::service::ServiceResponse::response].Field[actix_web::response::response::HttpResponse::error]", "value", "dfc-generated"] - ["::error_response", "Argument[self].Field[actix_web::service::ServiceResponse::request]", "ReturnValue.Field[actix_web::service::ServiceResponse::request]", "value", "dfc-generated"] - ["::from_err", "Argument[1]", "ReturnValue.Field[actix_web::service::ServiceResponse::request]", "value", "dfc-generated"] + - ["::into_body", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_parts", "Argument[self].Field[actix_web::service::ServiceResponse::request]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[actix_web::service::ServiceResponse::response]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::into_response", "Argument[0]", "ReturnValue.Field[actix_web::service::ServiceResponse::response]", "value", "dfc-generated"] @@ -876,9 +1069,9 @@ extensions: - ["::map_into_right_body", "Argument[self].Field[actix_web::service::ServiceResponse::response].Field[actix_web::response::response::HttpResponse::error]", "ReturnValue.Field[actix_web::service::ServiceResponse::response].Field[actix_web::response::response::HttpResponse::error]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::service::ServiceResponse::request]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[actix_web::service::ServiceResponse::response]", "value", "dfc-generated"] - - ["::request", "Argument[self].Field[actix_web::service::ServiceResponse::request]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::response", "Argument[self].Field[actix_web::service::ServiceResponse::response]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::response_mut", "Argument[self].Field[actix_web::service::ServiceResponse::response]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::request", "Argument[self].Reference.Field[actix_web::service::ServiceResponse::request]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::response", "Argument[self].Reference.Field[actix_web::service::ServiceResponse::response]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::response_mut", "Argument[self].Reference.Field[actix_web::service::ServiceResponse::response]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::finish", "Argument[self].Field[actix_web::service::WebService::guards]", "ReturnValue.Field[actix_web::service::WebServiceImpl::guards]", "value", "dfc-generated"] - ["::finish", "Argument[self].Field[actix_web::service::WebService::name]", "ReturnValue.Field[actix_web::service::WebServiceImpl::name]", "value", "dfc-generated"] - ["::finish", "Argument[self].Field[actix_web::service::WebService::rdef]", "ReturnValue.Field[actix_web::service::WebServiceImpl::rdef]", "value", "dfc-generated"] @@ -900,30 +1093,34 @@ extensions: - ["::set_form", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_json", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_payload", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::to_srv_response", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::uri", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::version", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0].Reference", "ReturnValue.Field[actix_web::types::either::EitherExtractFut::req]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut", "Argument[self].Reference.Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[actix_web::thin_data::ThinData(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_request", "Argument[0].Field[actix_web::request::HttpRequest::inner]", "ReturnValue.Field[actix_web::types::either::EitherExtractFut::req].Field[actix_web::request::HttpRequest::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[self].Field[actix_web::types::either::Either::Left(0)].Field[actix_web::types::form::Form(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::into_inner", "Argument[self].Field[actix_web::types::either::Either::Left(0)].Field[actix_web::types::json::Json(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::into_inner", "Argument[self].Field[actix_web::types::either::Either::Right(0)].Field[actix_web::types::form::Form(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::into_inner", "Argument[self].Field[actix_web::types::either::Either::Right(0)].Field[actix_web::types::json::Json(0)]", "ReturnValue", "value", "dfc-generated"] - ["::unwrap_left", "Argument[self].Field[actix_web::types::either::Either::Left(0)]", "ReturnValue", "value", "dfc-generated"] - ["::unwrap_right", "Argument[self].Field[actix_web::types::either::Either::Right(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::types::either::EitherExtractFut::req]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::types::either::EitherExtractFut::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::types::either::EitherExtractFut::req]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[actix_web::types::either::EitherExtractFut::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::from_request", "Argument[0].Reference", "ReturnValue.Field[actix_web::types::form::FormExtractFut::req]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::types::form::Form(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::types::form::Form(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::either::tests::TestForm::hello]", "ReturnValue.Field[actix_web::types::either::tests::TestForm::hello]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_request", "Argument[0].Field[actix_web::request::HttpRequest::inner]", "ReturnValue.Field[actix_web::types::form::FormExtractFut::req].Field[actix_web::request::HttpRequest::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_web::types::form::Form(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[actix_web::types::form::Form(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_web::types::form::Form(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::form::FormConfig::err_handler]", "ReturnValue.Field[actix_web::types::form::FormConfig::err_handler]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::form::FormConfig::limit]", "ReturnValue.Field[actix_web::types::form::FormConfig::limit].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::form::FormConfig::limit]", "ReturnValue.Field[actix_web::types::form::FormConfig::limit]", "value", "dfc-generated"] - ["::error_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::limit", "Argument[0]", "Argument[self].Field[actix_web::types::form::FormConfig::limit]", "value", "dfc-generated"] - ["::limit", "Argument[0]", "ReturnValue.Field[actix_web::types::form::FormConfig::limit]", "value", "dfc-generated"] @@ -931,22 +1128,22 @@ extensions: - ["::limit", "Argument[0]", "Argument[self].Field[actix_web::types::form::UrlEncoded::limit]", "value", "dfc-generated"] - ["::limit", "Argument[0]", "ReturnValue.Field[actix_web::types::form::UrlEncoded::limit]", "value", "dfc-generated"] - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::types::header::Header(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::types::header::Header(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_web::types::header::Header(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[actix_web::types::header::Header(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_web::types::header::Header(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::respond_to", "Argument[self].Field[0]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] - ["::respond_to", "Argument[self].Field[actix_web::types::html::Html(0)]", "ReturnValue.Field[actix_web::response::response::HttpResponse::res].Field[actix_http::responses::response::Response::body]", "value", "dfc-generated"] - - ["::from_request", "Argument[0].Reference", "ReturnValue.Field[actix_web::types::json::JsonExtractFut::req].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::types::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::types::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::html::Html(0)]", "ReturnValue.Field[actix_web::types::html::Html(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_request", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_web::types::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[actix_web::types::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_web::types::json::Json(0)]", "ReturnValue", "value", "dfc-generated"] - ["::limit", "Argument[0]", "ReturnValue.Field[actix_web::types::json::JsonBody::Body::limit]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::content_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::content_type_required", "Argument[0]", "Argument[self].Field[actix_web::types::json::JsonConfig::content_type_required]", "value", "dfc-generated"] - ["::content_type_required", "Argument[0]", "ReturnValue.Field[actix_web::types::json::JsonConfig::content_type_required]", "value", "dfc-generated"] @@ -955,21 +1152,21 @@ extensions: - ["::limit", "Argument[0]", "Argument[self].Field[actix_web::types::json::JsonConfig::limit]", "value", "dfc-generated"] - ["::limit", "Argument[0]", "ReturnValue.Field[actix_web::types::json::JsonConfig::limit]", "value", "dfc-generated"] - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[actix_web::types::path::Path(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[actix_web::types::path::Path(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[actix_web::types::path::Path(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::types::path::Path(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::types::path::Path(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[actix_web::types::path::Path(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::path::PathConfig::err_handler]", "ReturnValue.Field[actix_web::types::path::PathConfig::err_handler]", "value", "dfc-generated"] - ["::error_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::limit", "Argument[0]", "Argument[self].Field[actix_web::types::payload::HttpMessageBody::limit]", "value", "dfc-generated"] - ["::limit", "Argument[0]", "ReturnValue.Field[actix_web::types::payload::HttpMessageBody::limit]", "value", "dfc-generated"] - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_web::types::payload::Payload(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::payload::PayloadConfig::limit]", "ReturnValue.Field[actix_web::types::payload::PayloadConfig::limit].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::payload::PayloadConfig::limit]", "ReturnValue.Field[actix_web::types::payload::PayloadConfig::limit]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::payload::PayloadConfig::mimetype]", "ReturnValue.Field[actix_web::types::payload::PayloadConfig::mimetype]", "value", "dfc-generated"] - ["::limit", "Argument[0]", "Argument[self].Field[actix_web::types::payload::PayloadConfig::limit]", "value", "dfc-generated"] - ["::limit", "Argument[0]", "ReturnValue.Field[actix_web::types::payload::PayloadConfig::limit]", "value", "dfc-generated"] - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -977,18 +1174,19 @@ extensions: - ["::mimetype", "Argument[0]", "ReturnValue.Field[actix_web::types::payload::PayloadConfig::mimetype].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::mimetype", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[actix_web::types::payload::PayloadConfig::limit]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[actix_web::types::query::Query(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[actix_web::types::query::Query(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::from_request", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[actix_web::types::query::Query(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[actix_web::types::query::Query(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[actix_web::types::query::Query(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[actix_web::types::query::QueryConfig::err_handler]", "ReturnValue.Field[actix_web::types::query::QueryConfig::err_handler]", "value", "dfc-generated"] - ["::error_handler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::limit", "Argument[0]", "Argument[self].Field[actix_web::types::readlines::Readlines::limit]", "value", "dfc-generated"] - ["::limit", "Argument[0]", "ReturnValue.Field[actix_web::types::readlines::Readlines::limit]", "value", "dfc-generated"] - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::parts", "Argument[self].Field[actix_web_actors::context::HttpContext::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::parts", "Argument[self].Field[actix_web_actors::ws::WebsocketContext::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::parts", "Argument[self].Reference.Field[actix_web_actors::context::HttpContext::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::parts", "Argument[self].Reference.Field[actix_web_actors::ws::WebsocketContext::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::with_codec", "Argument[2]", "ReturnValue.Field[actix_web_actors::ws::WebsocketContextFut::encoder]", "value", "dfc-generated"] - ["::codec", "Argument[0]", "Argument[self].Field[actix_web_actors::ws::WsResponseBuilder::codec].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::codec", "Argument[0]", "ReturnValue.Field[actix_web_actors::ws::WsResponseBuilder::codec].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] @@ -1002,20 +1200,24 @@ extensions: - ["::protocols", "Argument[0]", "Argument[self].Field[actix_web_actors::ws::WsResponseBuilder::protocols].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::protocols", "Argument[0]", "ReturnValue.Field[actix_web_actors::ws::WsResponseBuilder::protocols].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::protocols", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[actix_web_codegen::route::MethodTypeExt::Custom(0)]", "ReturnValue.Field[actix_web_codegen::route::MethodTypeExt::Custom(0)]", "value", "dfc-generated"] - ["::try_from", "Argument[0].Reference", "ReturnValue.Field[core::result::Result::Ok(0)].Field[actix_web_codegen::route::MethodTypeExt::Custom(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0].Field[actix_web_codegen::route::RouteArgs::path]", "ReturnValue.Field[actix_web_codegen::route::Args::path]", "value", "dfc-generated"] - ["::new", "Argument[1].Field[syn::item::ItemFn::sig].Field[syn::item::Signature::ident]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[actix_web_codegen::route::Route::name]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[actix_web_codegen::route::Route::ast]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::size", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::patterns", "Argument[self].Field[alloc::string::String::vec].Reference", "ReturnValue.Field[actix_router::pattern::Patterns::Single(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::patterns", "Argument[self].Field[alloc::string::String::vec]", "ReturnValue.Field[actix_router::pattern::Patterns::Single(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] + - ["::try_into_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::patterns", "Argument[self].Reference", "ReturnValue.Field[actix_router::pattern::Patterns::Single(0)]", "value", "dfc-generated"] - ["::path", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::size", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::handle_field", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle_field", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle_field", "Argument[2]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle_field", "Argument[3]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_into_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_message_body", "Argument[0]", "ReturnValue.Field[awc::any_body::AnyBody::Body::body]", "value", "dfc-generated"] + - ["::into_boxed", "Argument[self].Field[awc::any_body::AnyBody::Bytes::body]", "ReturnValue.Field[awc::any_body::AnyBody::Bytes::body]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[awc::any_body::AnyBody::Body::body]", "value", "dfc-generated"] - ["::add_default_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::basic_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bearer_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -1044,6 +1246,7 @@ extensions: - ["::timeout", "Argument[0]", "ReturnValue.Field[awc::builder::ClientBuilder::timeout].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::wrap", "Argument[0]", "ReturnValue.Field[awc::builder::ClientBuilder::middleware].Field[awc::middleware::NestTransform::parent]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::delete", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::head", "Argument[self]", "ReturnValue", "taint", "df-generated"] @@ -1052,15 +1255,23 @@ extensions: - ["::post", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::put", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::request", "Argument[0]", "ReturnValue.Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "value", "dfc-generated"] - - ["::request_from", "Argument[1].Field[actix_http::requests::head::RequestHead::method].Reference", "ReturnValue.Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "value", "dfc-generated"] - - ["::request_from", "Argument[1].Field[actix_http::requests::head::RequestHead::method]", "ReturnValue.Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "value", "dfc-generated"] + - ["::request_from", "Argument[1].Reference.Field[actix_http::requests::head::RequestHead::method]", "ReturnValue.Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "value", "dfc-generated"] - ["::ws", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::no_disconnect_timeout", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::open_tunnel", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::open_tunnel", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::send_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::send_request", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::send_request", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[awc::client::Connect::addr]", "ReturnValue.Field[awc::client::Connect::addr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[awc::client::Connect::uri]", "ReturnValue.Field[awc::client::Connect::uri]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::no_disconnect_timeout", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_h1", "Argument[1]", "ReturnValue.Field[awc::client::connection::ConnectionType::H1(0)].Field[awc::client::connection::H1Connection::created]", "value", "dfc-generated"] + - ["::from_h1", "Argument[2]", "ReturnValue.Field[awc::client::connection::ConnectionType::H1(0)].Field[awc::client::connection::H1Connection::acquired]", "value", "dfc-generated"] + - ["::from_h2", "Argument[1]", "ReturnValue.Field[awc::client::connection::ConnectionType::H2(0)].Field[awc::client::connection::H2Connection::created]", "value", "dfc-generated"] + - ["::from_h2", "Argument[2]", "ReturnValue.Field[awc::client::connection::ConnectionType::H2(0)].Field[awc::client::connection::H2Connection::acquired]", "value", "dfc-generated"] + - ["::from_pool", "Argument[1]", "ReturnValue.Field[awc::client::connection::ConnectionType::H1(0)].Field[awc::client::connection::H1Connection::created]", "value", "dfc-generated"] + - ["::from_pool", "Argument[1]", "ReturnValue.Field[awc::client::connection::ConnectionType::H2(0)].Field[awc::client::connection::H2Connection::created]", "value", "dfc-generated"] + - ["::from_pool", "Argument[2]", "ReturnValue.Field[awc::client::connection::ConnectionType::H1(0)].Field[awc::client::connection::H1Connection::acquired]", "value", "dfc-generated"] + - ["::from_pool", "Argument[2]", "ReturnValue.Field[awc::client::connection::ConnectionType::H2(0)].Field[awc::client::connection::H2Connection::acquired]", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[awc::client::connection::H2ConnectionInner::sender]", "value", "dfc-generated"] - ["::conn_keep_alive", "Argument[0]", "Argument[self].Field[awc::client::connector::Connector::config].Field[awc::client::config::ConnectorConfig::conn_keep_alive]", "value", "dfc-generated"] - ["::conn_keep_alive", "Argument[0]", "ReturnValue.Field[awc::client::connector::Connector::config].Field[awc::client::config::ConnectorConfig::conn_keep_alive]", "value", "dfc-generated"] @@ -1072,7 +1283,6 @@ extensions: - ["::connector", "Argument[self].Field[awc::client::connector::Connector::config]", "ReturnValue.Field[awc::client::connector::Connector::config]", "value", "dfc-generated"] - ["::connector", "Argument[self].Field[awc::client::connector::Connector::tls]", "ReturnValue.Field[awc::client::connector::Connector::tls]", "value", "dfc-generated"] - ["::disconnect_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::handshake_timeout", "Argument[0]", "Argument[self].Field[awc::client::connector::Connector::config].Field[awc::client::config::ConnectorConfig::handshake_timeout]", "value", "dfc-generated"] - ["::handshake_timeout", "Argument[0]", "ReturnValue.Field[awc::client::connector::Connector::config].Field[awc::client::config::ConnectorConfig::handshake_timeout]", "value", "dfc-generated"] - ["::handshake_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -1108,26 +1318,22 @@ extensions: - ["::timeout", "Argument[0]", "Argument[self].Field[awc::client::connector::Connector::config].Field[awc::client::config::ConnectorConfig::timeout]", "value", "dfc-generated"] - ["::timeout", "Argument[0]", "ReturnValue.Field[awc::client::connector::Connector::config].Field[awc::client::config::ConnectorConfig::timeout]", "value", "dfc-generated"] - ["::timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::connector::TcpConnectorFuture::fut]", "ReturnValue.Field[awc::client::connector::TcpConnectorFutureProj::fut].Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::connector::TcpConnectorFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::connector::TcpConnectorInnerFuture::fut]", "ReturnValue.Field[awc::client::connector::TcpConnectorInnerFutureProj::fut].Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::connector::TcpConnectorInnerFuture::timeout]", "ReturnValue.Field[awc::client::connector::TcpConnectorInnerFutureProj::timeout].Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::connector::TcpConnectorInnerFuture::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::connector::TcpConnectorInnerFuture::timeout]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[awc::client::connector::TlsConnectorService::timeout]", "ReturnValue.Field[awc::client::connector::TlsConnectorFuture::TcpConnect::timeout]", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[awc::client::connector::TlsConnectorService::tls_service].Reference", "ReturnValue.Field[awc::client::connector::TlsConnectorFuture::TcpConnect::tls_service].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[awc::client::connector::TlsConnectorService::tls_service]", "ReturnValue.Field[awc::client::connector::TlsConnectorFuture::TcpConnect::tls_service].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[awc::client::connector::TcpConnectorInnerService::local_address]", "ReturnValue.Field[awc::client::connector::TcpConnectorInnerService::local_address]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[awc::client::connector::TcpConnectorInnerService::timeout]", "ReturnValue.Field[awc::client::connector::TcpConnectorInnerService::timeout]", "value", "dfc-generated"] + - ["::call", "Argument[self].Reference.Field[awc::client::connector::TlsConnectorService::timeout]", "ReturnValue.Field[awc::client::connector::TlsConnectorFuture::TcpConnect::timeout]", "value", "dfc-generated"] + - ["::call", "Argument[self].Reference.Field[awc::client::connector::TlsConnectorService::tls_service]", "ReturnValue.Field[awc::client::connector::TlsConnectorFuture::TcpConnect::tls_service].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::ConnectError::H2(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::ConnectError::Io(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::ConnectError::Resolver(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::ConnectError::SslError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[awc::client::error::FreezeRequestError::Custom(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[awc::client::error::FreezeRequestError::Custom(1)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::FreezeRequestError::Http(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::FreezeRequestError::Url(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::InvalidUrl::HttpError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[awc::client::error::SendRequestError::Custom(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[awc::client::error::SendRequestError::Custom(1)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::SendRequestError::Body(0)]", "value", "dfc-generated"] @@ -1137,15 +1343,16 @@ extensions: - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::SendRequestError::Response(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::SendRequestError::Send(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::error::SendRequestError::Url(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::h1proto::PlStream::framed]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::client::h1proto::PlStream::framed]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::call", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[awc::client::pool::ConnectionPool::connector]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[awc::client::pool::ConnectionPoolInner(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[awc::client::pool::ConnectionPoolInner(0)]", "ReturnValue.Field[awc::client::pool::ConnectionPoolInner(0)]", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[awc::client::pool::ConnectionPoolInner(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[awc::client::pool::Key::authority]", "ReturnValue.Field[awc::client::pool::Key::authority]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::client::pool::Key::authority]", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[awc::client::pool::test::TestPoolConnector::generated].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[awc::client::pool::test::TestPoolConnector::generated]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[awc::client::pool::test::TestPoolConnector::generated].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[awc::client::pool::test::TestPoolConnector::generated].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[awc::client::pool::test::TestPoolConnector::generated].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[awc::client::pool::test::TestPoolConnector::generated].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[awc::client::pool::test::TestPoolConnector::generated]", "ReturnValue.Field[awc::client::pool::test::TestPoolConnector::generated]", "value", "dfc-generated"] - ["::into_client_response", "Argument[self].Field[awc::connect::ConnectResponse::Client(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_tunnel_response", "Argument[self].Field[awc::connect::ConnectResponse::Tunnel(0)]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_tunnel_response", "Argument[self].Field[awc::connect::ConnectResponse::Tunnel(1)]", "ReturnValue.Field[1]", "value", "dfc-generated"] @@ -1153,20 +1360,25 @@ extensions: - ["::new", "Argument[0]", "ReturnValue.Field[awc::connect::DefaultConnector::connector]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::error::JsonPayloadError::Deserialize(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::error::JsonPayloadError::Payload(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[awc::error::WsClientError::InvalidChallengeResponse(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[awc::error::WsClientError::InvalidChallengeResponse(1)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::error::WsClientError::InvalidConnectionHeader(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::error::WsClientError::InvalidResponseStatus(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::error::WsClientError::Protocol(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::error::WsClientError::SendRequest(0)]", "value", "dfc-generated"] - - ["::extra_header", "Argument[self].Reference", "ReturnValue.Field[awc::frozen::FrozenSendBuilder::req]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::extra_header", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extra_headers", "Argument[0]", "ReturnValue.Field[awc::frozen::FrozenSendBuilder::extra_headers]", "value", "dfc-generated"] - - ["::extra_headers", "Argument[self].Reference", "ReturnValue.Field[awc::frozen::FrozenSendBuilder::req]", "value", "dfc-generated"] - - ["::send", "Argument[self].Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - - ["::send_body", "Argument[self].Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - - ["::send_form", "Argument[self].Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - - ["::send_json", "Argument[self].Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - - ["::send_stream", "Argument[self].Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::get_method", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_uri", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[self].Reference.Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_body", "Argument[self].Reference.Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_form", "Argument[self].Reference.Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_json", "Argument[self].Reference.Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_stream", "Argument[self].Reference.Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - ["::extra_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[awc::frozen::FrozenSendBuilder::req]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[awc::frozen::FrozenSendBuilder::extra_headers]", "value", "dfc-generated"] @@ -1177,12 +1389,13 @@ extensions: - ["::send_stream", "Argument[self].Field[awc::frozen::FrozenSendBuilder::req].Field[awc::frozen::FrozenClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[awc::middleware::NestTransform::child]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[awc::middleware::NestTransform::parent]", "value", "dfc-generated"] + - ["::new_transform", "Argument[self].Field[awc::middleware::redirect::Redirect::max_redirect_times]", "ReturnValue.Field[awc::middleware::redirect::RedirectService::max_redirect_times]", "value", "dfc-generated"] - ["::max_redirect_times", "Argument[0]", "Argument[self].Field[awc::middleware::redirect::Redirect::max_redirect_times]", "value", "dfc-generated"] - ["::max_redirect_times", "Argument[0]", "ReturnValue.Field[awc::middleware::redirect::Redirect::max_redirect_times]", "value", "dfc-generated"] - ["::max_redirect_times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::call", "Argument[0].Field[awc::connect::ConnectRequest::Client(2)]", "ReturnValue.Field[awc::middleware::redirect::RedirectServiceFuture::Client::addr]", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[awc::middleware::redirect::RedirectService::connector]", "ReturnValue.Field[awc::middleware::redirect::RedirectServiceFuture::Client::connector].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[awc::middleware::redirect::RedirectService::max_redirect_times]", "ReturnValue.Field[awc::middleware::redirect::RedirectServiceFuture::Client::max_redirect_times]", "value", "dfc-generated"] + - ["::call", "Argument[self].Reference.Field[awc::middleware::redirect::RedirectService::connector]", "ReturnValue.Field[awc::middleware::redirect::RedirectServiceFuture::Client::connector].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::call", "Argument[self].Reference.Field[awc::middleware::redirect::RedirectService::max_redirect_times]", "ReturnValue.Field[awc::middleware::redirect::RedirectServiceFuture::Client::max_redirect_times]", "value", "dfc-generated"] - ["::address", "Argument[0]", "Argument[self].Field[awc::request::ClientRequest::addr].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::address", "Argument[0]", "ReturnValue.Field[awc::request::ClientRequest::addr].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::address", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -1194,12 +1407,13 @@ extensions: - ["::content_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::force_close", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_method", "Argument[self].Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_peer_addr", "Argument[self].Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::peer_addr]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_uri", "Argument[self].Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::uri]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_version", "Argument[self].Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::version]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers_mut", "Argument[self].Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::freeze", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_method", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_uri", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_version", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::insert_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::insert_header_if_none", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::method", "Argument[0]", "Argument[self].Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::method]", "value", "dfc-generated"] @@ -1209,6 +1423,11 @@ extensions: - ["::new", "Argument[2]", "ReturnValue.Field[awc::request::ClientRequest::config]", "value", "dfc-generated"] - ["::no_decompress", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::query", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::send", "Argument[self].Field[awc::request::ClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_body", "Argument[self].Field[awc::request::ClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_form", "Argument[self].Field[awc::request::ClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_json", "Argument[self].Field[awc::request::ClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] + - ["::send_stream", "Argument[self].Field[awc::request::ClientRequest::response_decompress]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - ["::timeout", "Argument[0]", "Argument[self].Field[awc::request::ClientRequest::timeout].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::timeout", "Argument[0]", "ReturnValue.Field[awc::request::ClientRequest::timeout].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -1217,40 +1436,30 @@ extensions: - ["::version", "Argument[0]", "ReturnValue.Field[awc::request::ClientRequest::head].Field[actix_http::requests::head::RequestHead::version]", "value", "dfc-generated"] - ["::version", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[awc::responses::read_body::ReadBody::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[awc::responses::read_body::ReadBody::limit]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::responses::read_body::ReadBody::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::responses::read_body::ReadBody::limit]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::responses::read_body::ReadBody::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::responses::read_body::ReadBody::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::responses::read_body::ReadBody::limit]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[awc::responses::read_body::ReadBody::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::extensions", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extensions_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::headers", "Argument[self].Field[awc::responses::response::ClientResponse::head].Field[actix_http::responses::head::ResponseHead::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::_timeout", "Argument[0]", "Argument[self].Field[awc::responses::response::ClientResponse::timeout].Field[awc::responses::ResponseTimeout::Disabled(0)]", "value", "dfc-generated"] - ["::_timeout", "Argument[0]", "ReturnValue.Field[awc::responses::response::ClientResponse::timeout].Field[awc::responses::ResponseTimeout::Disabled(0)]", "value", "dfc-generated"] - ["::_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::cookies", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::head", "Argument[self].Field[awc::responses::response::ClientResponse::head]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::head", "Argument[self].Reference.Field[awc::responses::response::ClientResponse::head]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::map_body", "Argument[0].ReturnValue", "ReturnValue.Field[awc::responses::response::ClientResponse::payload]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[awc::responses::response::ClientResponse::head]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[awc::responses::response::ClientResponse::payload]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::status", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::timeout", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::version", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::sender::PrepForSendingError::Form(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::sender::PrepForSendingError::Http(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::sender::PrepForSendingError::Json(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[awc::sender::PrepForSendingError::Url(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::send", "Argument[1]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - ["::send_body", "Argument[1]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] - ["::send_form", "Argument[1]", "ReturnValue.Field[awc::sender::SendClientRequest::Fut(2)]", "value", "dfc-generated"] @@ -1261,6 +1470,7 @@ extensions: - ["::append_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::finish", "Argument[self].Field[awc::test::TestResponse::head]", "ReturnValue.Field[awc::responses::response::ClientResponse::head]", "value", "dfc-generated"] + - ["::finish", "Argument[self].Field[awc::test::TestResponse::payload].Field[core::option::Option::Some(0)]", "ReturnValue.Field[awc::responses::response::ClientResponse::payload]", "value", "dfc-generated"] - ["::insert_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_payload", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::version", "Argument[0]", "Argument[self].Field[awc::test::TestResponse::head].Field[actix_http::responses::head::ResponseHead::version]", "value", "dfc-generated"] @@ -1283,26 +1493,29 @@ extensions: - ["::set_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_header_if_none", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::try_into_bytes", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::patterns", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::path", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::handle_field", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle_field", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle_field", "Argument[2]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle_field", "Argument[3]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::respond_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[actix_http::ws::proto::CloseCode::Other(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[actix_web::http::header::content_length::ContentLength(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[actix_web::types::either::EitherExtractError::Bytes(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_as_name", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - ["::try_into_value", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[on-connect::ConnectionInfo::bind]", "ReturnValue.Field[on-connect::ConnectionInfo::bind]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[on-connect::ConnectionInfo::peer]", "ReturnValue.Field[on-connect::ConnectionInfo::peer]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[on-connect::ConnectionInfo::ttl]", "ReturnValue.Field[on-connect::ConnectionInfo::ttl]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[actix_http::header::shared::http_date::HttpDate(0)]", "ReturnValue", "value", "dfc-generated"] - ["actix_files::chunked::new_chunked_read", "Argument[0]", "ReturnValue.Field[actix_files::chunked::ChunkedReadFile::size]", "value", "dfc-generated"] - ["actix_files::chunked::new_chunked_read", "Argument[1]", "ReturnValue.Field[actix_files::chunked::ChunkedReadFile::offset]", "value", "dfc-generated"] - - ["actix_files::directory::directory_listing", "Argument[1].Reference", "ReturnValue.Field[core::result::Result::Ok(0)].Field[actix_web::service::ServiceResponse::request]", "value", "dfc-generated"] - ["actix_files::encoding::equiv_utf8_text", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["actix_router::resource::insert_slash", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - ["actix_web::guard::Method", "Argument[0]", "ReturnValue.Field[actix_web::guard::MethodGuard(0)]", "value", "dfc-generated"] - ["actix_web::guard::fn_guard", "Argument[0]", "ReturnValue.Field[actix_web::guard::FnGuard(0)]", "value", "dfc-generated"] + - ["actix_web::web::redirect", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["actix_web::web::redirect", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["actix_web::web::scope", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["actix_web_codegen::connect", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["actix_web_codegen::delete", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["actix_web_codegen::get", "Argument[1]", "ReturnValue", "value", "dfc-generated"] @@ -1322,26 +1535,68 @@ extensions: pack: codeql/rust-all extensible: sinkModel data: - - ["::respond_to", "Argument[self]", "pointer-access", "df-generated"] - - ["::into_response", "Argument[self]", "pointer-access", "df-generated"] - - ["::last_modified", "Argument[self]", "pointer-access", "df-generated"] - - ["::from_io", "Argument[1]", "pointer-access", "df-generated"] - - ["::new", "Argument[4]", "pointer-access", "df-generated"] - - ["::new", "Argument[4]", "pointer-access", "df-generated"] + - ["::new", "Argument[1]", "log-injection", "df-generated"] + - ["::respond_to", "Argument[self]", "alloc-layout", "df-generated"] + - ["::respond_to", "Argument[self]", "log-injection", "df-generated"] + - ["::etag", "Argument[self]", "log-injection", "df-generated"] + - ["::into_response", "Argument[self]", "alloc-layout", "df-generated"] + - ["::into_response", "Argument[self]", "log-injection", "df-generated"] + - ["::last_modified", "Argument[self]", "alloc-layout", "df-generated"] + - ["::last_modified", "Argument[self]", "log-injection", "df-generated"] + - ["::from_io", "Argument[1]", "alloc-layout", "df-generated"] + - ["::from_io", "Argument[1]", "log-injection", "df-generated"] + - ["::new", "Argument[4]", "alloc-layout", "df-generated"] + - ["::new", "Argument[4]", "log-injection", "df-generated"] + - ["::new", "Argument[4]", "alloc-layout", "df-generated"] + - ["::new", "Argument[4]", "log-injection", "df-generated"] + - ["::new", "Argument[5]", "alloc-layout", "df-generated"] + - ["::new", "Argument[5]", "log-injection", "df-generated"] - ["::call", "Argument[0]", "log-injection", "df-generated"] + - ["::read_stream", "Argument[0]", "pointer-access", "df-generated"] + - ["::read_until", "Argument[0]", "pointer-access", "df-generated"] + - ["::read_until", "Argument[self]", "pointer-access", "df-generated"] + - ["::readline", "Argument[self]", "pointer-access", "df-generated"] + - ["::readline_or_eof", "Argument[self]", "pointer-access", "df-generated"] + - ["::ranked", "Argument[self]", "pointer-access", "df-generated"] + - ["::negotiate", "Argument[self]", "pointer-access", "df-generated"] + - ["::ranked", "Argument[self]", "pointer-access", "df-generated"] + - ["::ranked", "Argument[self]", "pointer-access", "df-generated"] - ["::new", "Argument[1]", "log-injection", "df-generated"] - ["::new_strong", "Argument[0]", "log-injection", "df-generated"] - ["::new_weak", "Argument[0]", "log-injection", "df-generated"] + - ["::set_tag", "Argument[0]", "log-injection", "df-generated"] - ["::strong", "Argument[0]", "log-injection", "df-generated"] - ["::weak", "Argument[0]", "log-injection", "df-generated"] - - ["::new", "Argument[0]", "pointer-access", "df-generated"] + - ["::bytes_multi", "Argument[0]", "pointer-access", "df-generated"] + - ["::from_request", "Argument[0]", "alloc-layout", "df-generated"] + - ["::from_request", "Argument[0]", "log-injection", "df-generated"] + - ["::new", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new", "Argument[0]", "log-injection", "df-generated"] - ["::new", "Argument[0]", "log-injection", "df-generated"] - ["::custom_request_replace", "Argument[0]", "log-injection", "df-generated"] - ["::custom_response_replace", "Argument[0]", "log-injection", "df-generated"] - ["::new", "Argument[0]", "log-injection", "df-generated"] + - ["::call", "Argument[0]", "alloc-layout", "df-generated"] + - ["::call", "Argument[0]", "log-injection", "df-generated"] - ["::respond_to", "Argument[self]", "log-injection", "df-generated"] - - ["::register", "Argument[self]", "pointer-access", "df-generated"] + - ["::connection_info", "Argument[self]", "alloc-layout", "df-generated"] + - ["::connection_info", "Argument[self]", "log-injection", "df-generated"] + - ["::full_url", "Argument[self]", "alloc-layout", "df-generated"] + - ["::full_url", "Argument[self]", "log-injection", "df-generated"] + - ["::url_for", "Argument[self]", "alloc-layout", "df-generated"] + - ["::url_for", "Argument[self]", "log-injection", "df-generated"] + - ["::url_for_static", "Argument[self]", "alloc-layout", "df-generated"] + - ["::url_for_static", "Argument[self]", "log-injection", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::register", "Argument[self]", "alloc-layout", "df-generated"] + - ["::register", "Argument[self]", "log-injection", "df-generated"] + - ["::url_for", "Argument[0]", "alloc-layout", "df-generated"] + - ["::url_for", "Argument[0]", "log-injection", "df-generated"] + - ["::register", "Argument[self]", "alloc-layout", "df-generated"] + - ["::register", "Argument[self]", "log-injection", "df-generated"] - ["::register", "Argument[self]", "pointer-access", "df-generated"] + - ["::connection_info", "Argument[self]", "alloc-layout", "df-generated"] + - ["::connection_info", "Argument[self]", "log-injection", "df-generated"] - ["::write", "Argument[self]", "log-injection", "df-generated"] - ["::write_eof", "Argument[self]", "log-injection", "df-generated"] - ["::binary", "Argument[self]", "log-injection", "df-generated"] @@ -1350,26 +1605,65 @@ extensions: - ["::pong", "Argument[self]", "log-injection", "df-generated"] - ["::text", "Argument[self]", "log-injection", "df-generated"] - ["::write_raw", "Argument[self]", "log-injection", "df-generated"] - - ["::send", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_body", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_form", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_json", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_stream", "Argument[self]", "pointer-access", "df-generated"] - - ["::send", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_body", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_form", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_json", "Argument[self]", "pointer-access", "df-generated"] - - ["::send_stream", "Argument[self]", "pointer-access", "df-generated"] - - ["::send", "Argument[2]", "pointer-access", "df-generated"] - - ["::send", "Argument[3]", "pointer-access", "df-generated"] - - ["::send_body", "Argument[2]", "pointer-access", "df-generated"] - - ["::send_body", "Argument[3]", "pointer-access", "df-generated"] - - ["::send_form", "Argument[2]", "pointer-access", "df-generated"] - - ["::send_form", "Argument[3]", "pointer-access", "df-generated"] - - ["::send_json", "Argument[2]", "pointer-access", "df-generated"] - - ["::send_json", "Argument[3]", "pointer-access", "df-generated"] - - ["::send_stream", "Argument[2]", "pointer-access", "df-generated"] - - ["::send_stream", "Argument[3]", "pointer-access", "df-generated"] - - ["::new", "Argument[2]", "pointer-access", "df-generated"] - - ["actix_http::ws::proto::hash_key", "Argument[0]", "hasher-input", "df-generated"] + - ["::register", "Argument[self]", "pointer-access", "df-generated"] + - ["::send", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send", "Argument[self]", "log-injection", "df-generated"] + - ["::send_body", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_body", "Argument[self]", "log-injection", "df-generated"] + - ["::send_form", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_form", "Argument[self]", "log-injection", "df-generated"] + - ["::send_json", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_json", "Argument[self]", "log-injection", "df-generated"] + - ["::send_stream", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_stream", "Argument[self]", "log-injection", "df-generated"] + - ["::send", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send", "Argument[self]", "log-injection", "df-generated"] + - ["::send_body", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_body", "Argument[self]", "log-injection", "df-generated"] + - ["::send_form", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_form", "Argument[self]", "log-injection", "df-generated"] + - ["::send_json", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_json", "Argument[self]", "log-injection", "df-generated"] + - ["::send_stream", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_stream", "Argument[self]", "log-injection", "df-generated"] + - ["::send", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send", "Argument[self]", "log-injection", "df-generated"] + - ["::send_body", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_body", "Argument[self]", "log-injection", "df-generated"] + - ["::send_form", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_form", "Argument[self]", "log-injection", "df-generated"] + - ["::send_json", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_json", "Argument[self]", "log-injection", "df-generated"] + - ["::send_stream", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send_stream", "Argument[self]", "log-injection", "df-generated"] + - ["::send", "Argument[2]", "alloc-layout", "df-generated"] + - ["::send", "Argument[2]", "log-injection", "df-generated"] + - ["::send", "Argument[3]", "alloc-layout", "df-generated"] + - ["::send", "Argument[3]", "log-injection", "df-generated"] + - ["::send_body", "Argument[2]", "alloc-layout", "df-generated"] + - ["::send_body", "Argument[2]", "log-injection", "df-generated"] + - ["::send_body", "Argument[3]", "alloc-layout", "df-generated"] + - ["::send_body", "Argument[3]", "log-injection", "df-generated"] + - ["::send_form", "Argument[2]", "alloc-layout", "df-generated"] + - ["::send_form", "Argument[2]", "log-injection", "df-generated"] + - ["::send_form", "Argument[3]", "alloc-layout", "df-generated"] + - ["::send_form", "Argument[3]", "log-injection", "df-generated"] + - ["::send_json", "Argument[2]", "alloc-layout", "df-generated"] + - ["::send_json", "Argument[2]", "log-injection", "df-generated"] + - ["::send_json", "Argument[3]", "alloc-layout", "df-generated"] + - ["::send_json", "Argument[3]", "log-injection", "df-generated"] + - ["::send_stream", "Argument[2]", "alloc-layout", "df-generated"] + - ["::send_stream", "Argument[2]", "log-injection", "df-generated"] + - ["::send_stream", "Argument[3]", "alloc-layout", "df-generated"] + - ["::send_stream", "Argument[3]", "log-injection", "df-generated"] + - ["::new", "Argument[2]", "alloc-layout", "df-generated"] + - ["::new", "Argument[2]", "log-injection", "df-generated"] + - ["actix_files::directory::directory_listing", "Argument[0]", "path-injection", "df-generated"] + - ["actix_web_codegen::route::with_methods", "Argument[0]", "pointer-access", "df-generated"] + - ["actix_web_codegen::routes", "Argument[1]", "pointer-access", "df-generated"] - ["awc::client::h2proto::send_request", "Argument[1]", "log-injection", "df-generated"] + - addsTo: + pack: codeql/rust-all + extensible: sourceModel + data: + - ["actix_files::directory::directory_listing", "ReturnValue", "file", "df-generated"] diff --git a/rust/ql/lib/ext/generated/clap.model.yml b/rust/ql/lib/ext/generated/clap.model.yml index 376b4ca530b..a3003f88fac 100644 --- a/rust/ql/lib/ext/generated/clap.model.yml +++ b/rust/ql/lib/ext/generated/clap.model.yml @@ -4,11 +4,18 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: - - ["<04_01_enum::Mode as core::fmt::Display>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["<04_01_enum::Mode as core::str::traits::FromStr>::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_resettable", "Argument[self]", "ReturnValue.Field[clap_builder::builder::resettable::Resettable::Value(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::app_settings::AppFlags(0)]", "ReturnValue.Field[clap_builder::builder::app_settings::AppFlags(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::app_settings::AppFlags(0)]", "ReturnValue.Field[clap_builder::builder::app_settings::AppFlags(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::insert", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::unset", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::action", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::alias", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -33,19 +40,21 @@ extensions: - ["::env", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::env_os", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::exclusive", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_action", "Argument[self].Field[clap_builder::builder::arg::Arg::action].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_default_values", "Argument[self].Field[clap_builder::builder::arg::Arg::default_vals]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_display_order", "Argument[self].Field[clap_builder::builder::arg::Arg::disp_ord].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::get_env", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_help", "Argument[self].Field[clap_builder::builder::arg::Arg::help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_id", "Argument[self].Field[clap_builder::builder::arg::Arg::id]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_index", "Argument[self].Field[clap_builder::builder::arg::Arg::index]", "ReturnValue", "value", "dfc-generated"] - - ["::get_long_help", "Argument[self].Field[clap_builder::builder::arg::Arg::long_help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_num_args", "Argument[self].Field[clap_builder::builder::arg::Arg::num_vals]", "ReturnValue", "value", "dfc-generated"] - - ["::get_short", "Argument[self].Field[clap_builder::builder::arg::Arg::short]", "ReturnValue", "value", "dfc-generated"] - - ["::get_value_delimiter", "Argument[self].Field[clap_builder::builder::arg::Arg::val_delim]", "ReturnValue", "value", "dfc-generated"] - - ["::get_value_names", "Argument[self].Field[clap_builder::builder::arg::Arg::val_names]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_value_terminator", "Argument[self].Field[clap_builder::builder::arg::Arg::terminator].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::get_action", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_default_values", "Argument[self].Reference.Field[clap_builder::builder::arg::Arg::default_vals]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_display_order", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_id", "Argument[self].Reference.Field[clap_builder::builder::arg::Arg::id]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_index", "Argument[self].Reference.Field[clap_builder::builder::arg::Arg::index]", "ReturnValue", "value", "dfc-generated"] + - ["::get_long_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_min_vals", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_num_args", "Argument[self].Reference.Field[clap_builder::builder::arg::Arg::num_vals]", "ReturnValue", "value", "dfc-generated"] + - ["::get_short", "Argument[self].Reference.Field[clap_builder::builder::arg::Arg::short]", "ReturnValue", "value", "dfc-generated"] + - ["::get_value_delimiter", "Argument[self].Reference.Field[clap_builder::builder::arg::Arg::val_delim]", "ReturnValue", "value", "dfc-generated"] + - ["::get_value_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_value_names", "Argument[self].Reference.Field[clap_builder::builder::arg::Arg::val_names]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::get_value_parser", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_value_terminator", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::global", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::group", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::groups", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -64,6 +73,7 @@ extensions: - ["::last", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::long", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::long_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_line_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::num_args", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::number_of_values", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -99,25 +109,39 @@ extensions: - ["::visible_aliases", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::visible_short_alias", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::visible_short_aliases", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::arg", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::args", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::conflicts_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::conflicts_with_all", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_id", "Argument[self].Field[clap_builder::builder::arg_group::ArgGroup::id]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_id", "Argument[self].Reference.Field[clap_builder::builder::arg_group::ArgGroup::id]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::id", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::is_multiple", "Argument[self].Field[clap_builder::builder::arg_group::ArgGroup::multiple]", "ReturnValue", "value", "dfc-generated"] - - ["::is_required_set", "Argument[self].Field[clap_builder::builder::arg_group::ArgGroup::required]", "ReturnValue", "value", "dfc-generated"] + - ["::is_multiple", "Argument[self].Reference.Field[clap_builder::builder::arg_group::ArgGroup::multiple]", "ReturnValue", "value", "dfc-generated"] + - ["::is_required_set", "Argument[self].Reference.Field[clap_builder::builder::arg_group::ArgGroup::required]", "ReturnValue", "value", "dfc-generated"] - ["::multiple", "Argument[0]", "Argument[self].Field[clap_builder::builder::arg_group::ArgGroup::multiple]", "value", "dfc-generated"] - ["::multiple", "Argument[0]", "ReturnValue.Field[clap_builder::builder::arg_group::ArgGroup::multiple]", "value", "dfc-generated"] - ["::multiple", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::required", "Argument[0]", "Argument[self].Field[clap_builder::builder::arg_group::ArgGroup::required]", "value", "dfc-generated"] - ["::required", "Argument[0]", "ReturnValue.Field[clap_builder::builder::arg_group::ArgGroup::required]", "value", "dfc-generated"] - ["::required", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::requires", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::requires_all", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::arg_settings::ArgFlags(0)]", "ReturnValue.Field[clap_builder::builder::arg_settings::ArgFlags(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::arg_settings::ArgFlags(0)]", "ReturnValue.Field[clap_builder::builder::arg_settings::ArgFlags(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::insert", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::unset", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::_render_version", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::about", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::after_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -151,19 +175,24 @@ extensions: - ["::dont_delimit_trailing_values", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::external_subcommand_value_parser", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::flatten_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_about", "Argument[self].Field[clap_builder::builder::command::Command::about].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_after_help", "Argument[self].Field[clap_builder::builder::command::Command::after_help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_after_long_help", "Argument[self].Field[clap_builder::builder::command::Command::after_long_help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_before_help", "Argument[self].Field[clap_builder::builder::command::Command::before_help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_before_long_help", "Argument[self].Field[clap_builder::builder::command::Command::before_long_help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_display_order", "Argument[self].Field[clap_builder::builder::command::Command::disp_ord].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::get_external_subcommand_value_parser", "Argument[self].Field[clap_builder::builder::command::Command::external_value_parser].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_help_template", "Argument[self].Field[clap_builder::builder::command::Command::template].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_keymap", "Argument[self].Field[clap_builder::builder::command::Command::args]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_long_about", "Argument[self].Field[clap_builder::builder::command::Command::long_about].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_override_help", "Argument[self].Field[clap_builder::builder::command::Command::help_str].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_override_usage", "Argument[self].Field[clap_builder::builder::command::Command::usage_str].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_short_flag", "Argument[self].Field[clap_builder::builder::command::Command::short_flag]", "ReturnValue", "value", "dfc-generated"] + - ["::get_about", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_after_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_after_long_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_before_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_before_long_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_bin_name_fallback", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_display_order", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_external_subcommand_value_parser", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_help_template", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_keymap", "Argument[self].Reference.Field[clap_builder::builder::command::Command::args]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_long_about", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_matches", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_matches_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_override_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_override_usage", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_short_flag", "Argument[self].Reference.Field[clap_builder::builder::command::Command::short_flag]", "ReturnValue", "value", "dfc-generated"] + - ["::get_usage_name_fallback", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::global_setting", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::group", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::groups", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -178,7 +207,7 @@ extensions: - ["::long_flag", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::long_flag_alias", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::long_flag_aliases", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::long_help_exists", "Argument[self].Field[clap_builder::builder::command::Command::long_help_exists]", "ReturnValue", "value", "dfc-generated"] + - ["::long_help_exists", "Argument[self].Reference.Field[clap_builder::builder::command::Command::long_help_exists]", "ReturnValue", "value", "dfc-generated"] - ["::long_version", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_term_width", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::multicall", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -187,6 +216,7 @@ extensions: - ["::mut_group", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::mut_subcommand", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_display_order", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::next_help_heading", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::next_line_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -194,6 +224,10 @@ extensions: - ["::override_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::override_usage", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::propagate_version", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::render_long_version", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::render_version", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_bin_name", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::setting", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::short_flag", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::short_flag_alias", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -217,43 +251,103 @@ extensions: - ["::visible_long_flag_aliases", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::visible_short_flag_alias", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::visible_short_flag_aliases", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::write_version_err", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::command::MaxTermWidth(0)]", "ReturnValue.Field[clap_builder::builder::command::MaxTermWidth(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::command::MaxTermWidth(0)]", "ReturnValue.Field[clap_builder::builder::command::MaxTermWidth(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::command::TermWidth(0)]", "ReturnValue.Field[clap_builder::builder::command::TermWidth(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::command::TermWidth(0)]", "ReturnValue.Field[clap_builder::builder::command::TermWidth(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::borrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::os_str::OsStr::name].Field[clap_builder::builder::os_str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::os_str::OsStr::name].Field[clap_builder::builder::os_str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0].Reference", "ReturnValue.Field[clap_builder::builder::os_str::OsStr::name].Field[clap_builder::builder::os_str::inner::Inner::Static(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[clap_builder::builder::os_str::OsStr::name].Field[clap_builder::builder::os_str::inner::Inner::Static(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_os_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ref", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::os_str::OsStr::name].Field[clap_builder::builder::os_str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::from_ref", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::os_str::OsStr::name].Field[clap_builder::builder::os_str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::from_static_ref", "Argument[0]", "ReturnValue.Field[clap_builder::builder::os_str::OsStr::name].Field[clap_builder::builder::os_str::inner::Inner::Static(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::os_str::inner::Inner::Owned(0)]", "ReturnValue.Field[clap_builder::builder::os_str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::as_os_str", "Argument[self].Field[clap_builder::builder::os_str::inner::Inner::Owned(0)].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_os_str", "Argument[self].Field[clap_builder::builder::os_str::inner::Inner::Static(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_static_ref", "Argument[0]", "ReturnValue.Field[clap_builder::builder::os_str::inner::Inner::Static(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::alias", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::aliases", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_help", "Argument[self].Field[clap_builder::builder::possible_value::PossibleValue::help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::get_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::hide", "Argument[0]", "Argument[self].Field[clap_builder::builder::possible_value::PossibleValue::hide]", "value", "dfc-generated"] - ["::hide", "Argument[0]", "ReturnValue.Field[clap_builder::builder::possible_value::PossibleValue::hide]", "value", "dfc-generated"] - ["::hide", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::is_hide_set", "Argument[self].Field[clap_builder::builder::possible_value::PossibleValue::hide]", "ReturnValue", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[clap_builder::builder::range::ValueRange::end_inclusive]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[clap_builder::builder::range::ValueRange::start_inclusive]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::max_values", "Argument[self].Field[clap_builder::builder::range::ValueRange::end_inclusive]", "ReturnValue", "value", "dfc-generated"] - - ["::min_values", "Argument[self].Field[clap_builder::builder::range::ValueRange::start_inclusive]", "ReturnValue", "value", "dfc-generated"] - - ["::num_values", "Argument[self].Field[clap_builder::builder::range::ValueRange::start_inclusive]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::is_hide_set", "Argument[self].Reference.Field[clap_builder::builder::possible_value::PossibleValue::hide]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0].Field[core::ops::range::Range::start]", "ReturnValue.Field[clap_builder::builder::range::ValueRange::start_inclusive]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[clap_builder::builder::range::ValueRange::start_inclusive]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[clap_builder::builder::range::ValueRange::end_inclusive]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[clap_builder::builder::range::ValueRange::start_inclusive]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[core::ops::range::RangeToInclusive::end]", "ReturnValue.Field[clap_builder::builder::range::ValueRange::end_inclusive]", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[clap_builder::builder::range::ValueRange::end_inclusive]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[clap_builder::builder::range::ValueRange::start_inclusive]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::max_values", "Argument[self].Reference.Field[clap_builder::builder::range::ValueRange::end_inclusive]", "ReturnValue", "value", "dfc-generated"] + - ["::min_values", "Argument[self].Reference.Field[clap_builder::builder::range::ValueRange::start_inclusive]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::num_values", "Argument[self].Reference.Field[clap_builder::builder::range::ValueRange::start_inclusive]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::raw", "Argument[0]", "ReturnValue.Field[clap_builder::builder::range::ValueRange::start_inclusive]", "value", "dfc-generated"] - ["::raw", "Argument[1]", "ReturnValue.Field[clap_builder::builder::range::ValueRange::end_inclusive]", "value", "dfc-generated"] - ["::into_resettable", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue.Field[clap_builder::builder::resettable::Resettable::Value(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[clap_builder::builder::resettable::Resettable::Value(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_option", "Argument[self].Field[clap_builder::builder::resettable::Resettable::Value(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::borrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::str::Str::name].Field[clap_builder::builder::str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::str::Str::name].Field[clap_builder::builder::str::inner::Inner::Owned(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[clap_builder::util::id::Id(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[clap_builder::builder::str::Str::name].Field[clap_builder::builder::str::inner::Inner::Static(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ref", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::str::Str::name].Field[clap_builder::builder::str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::from_ref", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[clap_builder::builder::str::Str::name].Field[clap_builder::builder::str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::from_static_ref", "Argument[0]", "ReturnValue.Field[clap_builder::builder::str::Str::name].Field[clap_builder::builder::str::inner::Inner::Static(0)]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[clap_builder::builder::str::Str::name]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::str::inner::Inner::Owned(0)]", "ReturnValue.Field[clap_builder::builder::str::inner::Inner::Owned(0)]", "value", "dfc-generated"] + - ["::as_str", "Argument[self].Field[clap_builder::builder::str::inner::Inner::Owned(0)].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_str", "Argument[self].Field[clap_builder::builder::str::inner::Inner::Static(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_static_ref", "Argument[0]", "ReturnValue.Field[clap_builder::builder::str::inner::Inner::Static(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::styled_str::StyledStr(0)]", "ReturnValue.Field[clap_builder::builder::styled_str::StyledStr(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[clap_builder::builder::styled_str::StyledStr(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::ansi", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_styled_str", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_styled_str", "Argument[self].Field[clap_builder::builder::styled_str::StyledStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ansi", "Argument[self].Reference.Field[clap_builder::builder::styled_str::StyledStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_styled_str", "Argument[self].Reference.Field[clap_builder::builder::styled_str::StyledStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::error", "Argument[0]", "Argument[self].Field[clap_builder::builder::styling::Styles::error]", "value", "dfc-generated"] - ["::error", "Argument[0]", "ReturnValue.Field[clap_builder::builder::styling::Styles::error]", "value", "dfc-generated"] - ["::error", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_error", "Argument[self].Field[clap_builder::builder::styling::Styles::error]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_header", "Argument[self].Field[clap_builder::builder::styling::Styles::header]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_invalid", "Argument[self].Field[clap_builder::builder::styling::Styles::invalid]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_literal", "Argument[self].Field[clap_builder::builder::styling::Styles::literal]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_placeholder", "Argument[self].Field[clap_builder::builder::styling::Styles::placeholder]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_usage", "Argument[self].Field[clap_builder::builder::styling::Styles::usage]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_valid", "Argument[self].Field[clap_builder::builder::styling::Styles::valid]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_error", "Argument[self].Reference.Field[clap_builder::builder::styling::Styles::error]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_header", "Argument[self].Reference.Field[clap_builder::builder::styling::Styles::header]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_invalid", "Argument[self].Reference.Field[clap_builder::builder::styling::Styles::invalid]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_literal", "Argument[self].Reference.Field[clap_builder::builder::styling::Styles::literal]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_placeholder", "Argument[self].Reference.Field[clap_builder::builder::styling::Styles::placeholder]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_usage", "Argument[self].Reference.Field[clap_builder::builder::styling::Styles::usage]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_valid", "Argument[self].Reference.Field[clap_builder::builder::styling::Styles::valid]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::header", "Argument[0]", "Argument[self].Field[clap_builder::builder::styling::Styles::header]", "value", "dfc-generated"] - ["::header", "Argument[0]", "ReturnValue.Field[clap_builder::builder::styling::Styles::header]", "value", "dfc-generated"] - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -274,20 +368,67 @@ extensions: - ["::valid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::into_resettable", "Argument[self]", "ReturnValue.Field[clap_builder::builder::resettable::Resettable::Value(0)]", "value", "dfc-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::value_parser::EnumValueParser(0)]", "ReturnValue.Field[clap_builder::builder::value_parser::EnumValueParser(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::parse", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::parse_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::parse", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse", "Argument[2].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::parse", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::path::PathBuf::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::value_parser::PossibleValuesParser(0)]", "ReturnValue.Field[clap_builder::builder::value_parser::PossibleValuesParser(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::value_parser::RangedI64ValueParser::target]", "ReturnValue.Field[clap_builder::builder::value_parser::RangedI64ValueParser::target]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::range", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::value_parser::RangedU64ValueParser::target]", "ReturnValue.Field[clap_builder::builder::value_parser::RangedU64ValueParser::target]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::range", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::parse", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::parse_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::value_parser::UnknownArgumentValueParser::arg]", "ReturnValue.Field[clap_builder::builder::value_parser::UnknownArgumentValueParser::arg]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::builder::value_parser::UnknownArgumentValueParser::suggestions]", "ReturnValue.Field[clap_builder::builder::value_parser::UnknownArgumentValueParser::suggestions]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::and_suggest", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::suggest_arg", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[clap_builder::builder::value_parser::_AnonymousValueParser(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::apply", "Argument[self].Field[clap_builder::error::Error::inner]", "ReturnValue.Field[clap_builder::error::Error::inner]", "value", "dfc-generated"] - ["::extend_context_unchecked", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::format", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::insert", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::insert_context_unchecked", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::raw", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::kind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::render", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::set_color", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_colored_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_help_flag", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -295,10 +436,26 @@ extensions: - ["::set_source", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_styles", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::with_cmd", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::error::Message::Raw(0)]", "ReturnValue.Field[clap_builder::error::Message::Raw(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[clap_builder::error::Message::Formatted(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[clap_builder::error::Message::Raw(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::mkeymap::Key::index]", "ReturnValue.Field[clap_builder::mkeymap::Key::index].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::mkeymap::Key::index]", "ReturnValue.Field[clap_builder::mkeymap::Key::index]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::mkeymap::MKeyMap::args]", "ReturnValue.Field[clap_builder::mkeymap::MKeyMap::args]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::mkeymap::MKeyMap::keys]", "ReturnValue.Field[clap_builder::mkeymap::MKeyMap::keys]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remove_by_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[clap_builder::output::fmt::Colorizer::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[clap_builder::output::fmt::Colorizer::color_when]", "value", "dfc-generated"] - ["::with_content", "Argument[0]", "Argument[self].Field[clap_builder::output::fmt::Colorizer::content]", "value", "dfc-generated"] @@ -312,87 +469,183 @@ extensions: - ["::new", "Argument[1]", "ReturnValue.Field[clap_builder::output::help_template::HelpTemplate::cmd]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[clap_builder::output::help_template::HelpTemplate::usage]", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[clap_builder::output::help_template::HelpTemplate::use_long]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[clap_builder::output::textwrap::wrap_algorithms::LineWrapper::hard_width]", "value", "dfc-generated"] - ["::wrap", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[clap_builder::output::usage::Usage::cmd]", "value", "dfc-generated"] - ["::required", "Argument[0]", "Argument[self].Field[clap_builder::output::usage::Usage::required].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::required", "Argument[0]", "ReturnValue.Field[clap_builder::output::usage::Usage::required].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::required", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[clap_builder::parser::arg_matcher::ArgMatcher::matches]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[clap_builder::parser::arg_matcher::ArgMatcher::matches]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::check_explicit", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::entry", "Argument[0]", "ReturnValue.Field[clap_builder::util::flat_map::Entry::Vacant(0)].Field[clap_builder::util::flat_map::VacantEntry::key]", "value", "dfc-generated"] - - ["::entry", "Argument[self].Field[clap_builder::parser::arg_matcher::ArgMatcher::matches].Field[clap_builder::parser::matches::arg_matches::ArgMatches::args]", "ReturnValue.Field[clap_builder::util::flat_map::Entry::Occupied(0)].Field[clap_builder::util::flat_map::OccupiedEntry::v]", "value", "dfc-generated"] - - ["::entry", "Argument[self].Field[clap_builder::parser::arg_matcher::ArgMatcher::matches].Field[clap_builder::parser::matches::arg_matches::ArgMatches::args]", "ReturnValue.Field[clap_builder::util::flat_map::Entry::Vacant(0)].Field[clap_builder::util::flat_map::VacantEntry::v]", "value", "dfc-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[clap_builder::parser::arg_matcher::ArgMatcher::matches]", "ReturnValue", "value", "dfc-generated"] - - ["::pending_arg_id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::pending_values_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::unwrap", "Argument[1].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::subcommand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::subcommand_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::GroupedValues::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::GroupedValues::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[clap_builder::parser::matches::arg_matches::IdsRef::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Indices::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Indices::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::ArgMatches::subcommand]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::ArgMatches::subcommand]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_count", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_flag", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_flag", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_occurrences", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_get_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_get_occurrences", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_get_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::GroupedValues::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::GroupedValues::iter]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::GroupedValues::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::GroupedValues::len].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::GroupedValues::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::GroupedValues::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::GroupedValues::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::GroupedValues::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Indices::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::Indices::iter]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Indices::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::Indices::len].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Indices::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::Indices::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::Indices::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::Indices::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::OccurrenceValues::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::OccurrenceValues::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::OccurrenceValuesRef::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::OccurrenceValuesRef::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Occurrences::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::Occurrences::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::OccurrencesRef::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::OccurrencesRef::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::RawOccurrenceValues::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::RawOccurrenceValues::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::RawOccurrences::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::RawOccurrences::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::RawValues::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::RawValues::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Values::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Values::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::ValuesRef::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[clap_builder::parser::matches::arg_matches::ValuesRef::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::RawValues::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::RawValues::iter]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::RawValues::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::RawValues::len].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::RawValues::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::RawValues::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::RawValues::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::RawValues::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::SubCommand::name]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::SubCommand::name]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Values::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::Values::iter]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Values::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::Values::len].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::Values::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::Values::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::Values::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::Values::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::ValuesRef::iter]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::ValuesRef::iter]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::ValuesRef::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::ValuesRef::len].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::matches::arg_matches::ValuesRef::len]", "ReturnValue.Field[clap_builder::parser::matches::arg_matches::ValuesRef::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::ValuesRef::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[clap_builder::parser::matches::arg_matches::ValuesRef::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::infer_type_id", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::infer_type_id", "Argument[self].Field[clap_builder::parser::matches::matched_arg::MatchedArg::type_id].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_vals", "Argument[self].Field[clap_builder::parser::matches::matched_arg::MatchedArg::vals]", "ReturnValue", "value", "dfc-generated"] - - ["::set_source", "Argument[0]", "Argument[self].Field[clap_builder::parser::matches::matched_arg::MatchedArg::source].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::source", "Argument[self].Field[clap_builder::parser::matches::matched_arg::MatchedArg::source]", "ReturnValue", "value", "dfc-generated"] - - ["::type_id", "Argument[self].Field[clap_builder::parser::matches::matched_arg::MatchedArg::type_id]", "ReturnValue", "value", "dfc-generated"] - - ["::get_matches_with", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::set_source", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::source", "Argument[self].Reference.Field[clap_builder::parser::matches::matched_arg::MatchedArg::source]", "ReturnValue", "value", "dfc-generated"] + - ["::type_id", "Argument[self].Reference.Field[clap_builder::parser::matches::matched_arg::MatchedArg::type_id]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_matches_with", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_matches_with", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["::get_matches_with", "Argument[1]", "Argument[self]", "taint", "df-generated"] + - ["::get_matches_with", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::get_matches_with", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[clap_builder::parser::parser::Parser::cmd]", "value", "dfc-generated"] - - ["::parse", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::parse", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["::parse", "Argument[1]", "Argument[self]", "taint", "df-generated"] + - ["::parse", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::parser::PendingArg::ident]", "ReturnValue.Field[clap_builder::parser::parser::PendingArg::ident]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::parser::PendingArg::raw_vals]", "ReturnValue.Field[clap_builder::parser::parser::PendingArg::raw_vals]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::parser::parser::PendingArg::trailing_idx]", "ReturnValue.Field[clap_builder::parser::parser::PendingArg::trailing_idx]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[clap_builder::parser::validator::Validator::cmd]", "value", "dfc-generated"] - - ["::type_id", "Argument[self].Field[clap_builder::util::any_value::AnyValue::id]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::util::any_value::AnyValue::inner].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[clap_builder::util::any_value::AnyValue::inner].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::util::any_value::AnyValue::inner].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[clap_builder::util::any_value::AnyValue::inner].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::util::any_value::AnyValue::inner]", "ReturnValue.Field[clap_builder::util::any_value::AnyValue::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downcast_into", "Argument[self].Field[clap_builder::util::any_value::AnyValue::id]", "ReturnValue.Field[core::result::Result::Err(0)].Field[clap_builder::util::any_value::AnyValue::id]", "value", "dfc-generated"] + - ["::type_id", "Argument[self].Reference.Field[clap_builder::util::any_value::AnyValue::id]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::util::any_value::AnyValueId::type_id]", "ReturnValue.Field[clap_builder::util::any_value::AnyValueId::type_id]", "value", "dfc-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::or_insert", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::or_insert_with", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::util::flat_map::FlatMap::keys]", "ReturnValue.Field[clap_builder::util::flat_map::FlatMap::keys]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_builder::util::flat_map::FlatMap::values]", "ReturnValue.Field[clap_builder::util::flat_map::FlatMap::values]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::entry", "Argument[0]", "ReturnValue.Field[clap_builder::util::flat_map::Entry::Vacant(0)].Field[clap_builder::util::flat_map::VacantEntry::key]", "value", "dfc-generated"] - ["::entry", "Argument[self]", "ReturnValue.Field[clap_builder::util::flat_map::Entry::Occupied(0)].Field[clap_builder::util::flat_map::OccupiedEntry::v]", "value", "dfc-generated"] - ["::entry", "Argument[self]", "ReturnValue.Field[clap_builder::util::flat_map::Entry::Vacant(0)].Field[clap_builder::util::flat_map::VacantEntry::v]", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[clap_builder::util::flat_map::FlatMap::values].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[clap_builder::util::flat_map::FlatMap::values].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::insert", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[clap_builder::util::flat_map::Iter::keys].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[clap_builder::util::flat_map::Iter::values].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] - - ["::insert_child", "Argument[self].Field[0].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::insert_child", "Argument[self].Field[clap_builder::util::graph::ChildGraph(0)].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::as_internal_str", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_internal_str", "Argument[self].Field[clap_builder::util::id::Id(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_builder::util::flat_set::FlatSet::inner]", "ReturnValue.Field[clap_builder::util::flat_set::FlatSet::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::sort_by_key", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::insert", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::insert", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::insert_child", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::borrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[clap_builder::util::id::Id(0)]", "value", "dfc-generated"] + - ["::as_internal_str", "Argument[self].Reference.Field[clap_builder::util::id::Id(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::add_prefix", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::display_order", "Argument[0]", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::display_order]", "value", "dfc-generated"] - ["::display_order", "Argument[0]", "ReturnValue.Field[clap_complete::engine::candidate::CompletionCandidate::display_order]", "value", "dfc-generated"] - ["::display_order", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_display_order", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::display_order]", "ReturnValue", "value", "dfc-generated"] - - ["::get_help", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::help].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_id", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::id].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_tag", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::tag].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::get_value", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_display_order", "Argument[self].Reference.Field[clap_complete::engine::candidate::CompletionCandidate::display_order]", "ReturnValue", "value", "dfc-generated"] + - ["::get_help", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_tag", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_value", "Argument[self].Reference.Field[clap_complete::engine::candidate::CompletionCandidate::value]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::help", "Argument[0]", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::help]", "value", "dfc-generated"] - ["::help", "Argument[0]", "ReturnValue.Field[clap_complete::engine::candidate::CompletionCandidate::help]", "value", "dfc-generated"] - ["::help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -402,32 +655,54 @@ extensions: - ["::id", "Argument[0]", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::id]", "value", "dfc-generated"] - ["::id", "Argument[0]", "ReturnValue.Field[clap_complete::engine::candidate::CompletionCandidate::id]", "value", "dfc-generated"] - ["::id", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::is_hide_set", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::hidden]", "ReturnValue", "value", "dfc-generated"] + - ["::is_hide_set", "Argument[self].Reference.Field[clap_complete::engine::candidate::CompletionCandidate::hidden]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::tag", "Argument[0]", "Argument[self].Field[clap_complete::engine::candidate::CompletionCandidate::tag]", "value", "dfc-generated"] - ["::tag", "Argument[0]", "ReturnValue.Field[clap_complete::engine::candidate::CompletionCandidate::tag]", "value", "dfc-generated"] - ["::tag", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::ArgValueCandidates(0)].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[clap_complete::engine::custom::ArgValueCandidates(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::ArgValueCandidates(0)].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[clap_complete::engine::custom::ArgValueCandidates(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::ArgValueCandidates(0)]", "ReturnValue.Field[clap_complete::engine::custom::ArgValueCandidates(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::ArgValueCompleter(0)].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[clap_complete::engine::custom::ArgValueCompleter(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::ArgValueCompleter(0)].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[clap_complete::engine::custom::ArgValueCompleter(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::ArgValueCompleter(0)]", "ReturnValue.Field[clap_complete::engine::custom::ArgValueCompleter(0)]", "value", "dfc-generated"] - ["::current_dir", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::filter", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::stdio", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::SubcommandCandidates(0)].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[clap_complete::engine::custom::SubcommandCandidates(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::SubcommandCandidates(0)].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[clap_complete::engine::custom::SubcommandCandidates(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_complete::engine::custom::SubcommandCandidates(0)]", "ReturnValue.Field[clap_complete::engine::custom::SubcommandCandidates(0)]", "value", "dfc-generated"] - ["::bin", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::completer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::shells", "Argument[0]", "Argument[self].Field[clap_complete::env::CompleteEnv::shells]", "value", "dfc-generated"] - ["::shells", "Argument[0]", "ReturnValue.Field[clap_complete::env::CompleteEnv::shells]", "value", "dfc-generated"] - ["::shells", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::try_complete", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::var", "Argument[0]", "Argument[self].Field[clap_complete::env::CompleteEnv::var]", "value", "dfc-generated"] - ["::var", "Argument[0]", "ReturnValue.Field[clap_complete::env::CompleteEnv::var]", "value", "dfc-generated"] - ["::var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::with_factory", "Argument[0]", "ReturnValue.Field[clap_complete::env::CompleteEnv::factory]", "value", "dfc-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::lit_str_or_abort", "Argument[self].Field[clap_derive::attr::ClapAttr::value].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::value_or_abort", "Argument[self].Field[clap_derive::attr::ClapAttr::value].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - - ["::value_or_abort", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::action", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_derive::attr::AttrValue::Call(0)]", "ReturnValue.Field[clap_derive::attr::AttrValue::Call(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::attr::AttrValue::Expr(0)]", "ReturnValue.Field[clap_derive::attr::AttrValue::Expr(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::attr::AttrValue::LitStr(0)]", "ReturnValue.Field[clap_derive::attr::AttrValue::LitStr(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::attr::ClapAttr::magic]", "ReturnValue.Field[clap_derive::attr::ClapAttr::magic]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::attr::ClapAttr::name]", "ReturnValue.Field[clap_derive::attr::ClapAttr::name]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::attr::ClapAttr::value]", "ReturnValue.Field[clap_derive::attr::ClapAttr::value]", "value", "dfc-generated"] + - ["::lit_str_or_abort", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::value_or_abort", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Action::Implicit(0)]", "ReturnValue.Field[clap_derive::item::Action::Implicit(0)]", "value", "dfc-generated"] + - ["::resolve", "Argument[self].Field[clap_derive::item::Action::Explicit(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Deprecation::description]", "ReturnValue.Field[clap_derive::item::Deprecation::description]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Deprecation::span]", "ReturnValue.Field[clap_derive::item::Deprecation::span]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::action", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::action", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::cased_name", "Argument[self].Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Assigned(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::casing", "Argument[self].Field[clap_derive::item::Item::casing]", "ReturnValue", "value", "dfc-generated"] - - ["::env_casing", "Argument[self].Field[clap_derive::item::Item::env_casing]", "ReturnValue", "value", "dfc-generated"] + - ["::cased_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::casing", "Argument[self].Reference.Field[clap_derive::item::Item::casing]", "ReturnValue", "value", "dfc-generated"] + - ["::env_casing", "Argument[self].Reference.Field[clap_derive::item::Item::env_casing]", "ReturnValue", "value", "dfc-generated"] - ["::from_args_field", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[clap_derive::item::Item::casing]", "value", "dfc-generated"] - ["::from_args_field", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[clap_derive::item::Item::env_casing]", "value", "dfc-generated"] - ["::from_args_struct", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[clap_derive::item::Item::name]", "value", "dfc-generated"] @@ -437,29 +712,55 @@ extensions: - ["::from_value_enum", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[clap_derive::item::Item::name]", "value", "dfc-generated"] - ["::from_value_enum_variant", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[clap_derive::item::Item::casing]", "value", "dfc-generated"] - ["::from_value_enum_variant", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[clap_derive::item::Item::env_casing]", "value", "dfc-generated"] - - ["::group_id", "Argument[self].Field[clap_derive::item::Item::group_id]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::id", "Argument[self].Field[clap_derive::item::Item::name]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::is_positional", "Argument[self].Field[clap_derive::item::Item::is_positional]", "ReturnValue", "value", "dfc-generated"] - - ["::kind", "Argument[self].Field[clap_derive::item::Item::kind].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::kind", "Argument[self].Field[clap_derive::item::Item::kind]", "ReturnValue", "value", "dfc-generated"] - - ["::skip_group", "Argument[self].Field[clap_derive::item::Item::skip_group]", "ReturnValue", "value", "dfc-generated"] - - ["::value_name", "Argument[self].Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Assigned(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::value_parser", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::group_id", "Argument[self].Reference.Field[clap_derive::item::Item::group_id]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::id", "Argument[self].Reference.Field[clap_derive::item::Item::name]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::is_positional", "Argument[self].Reference.Field[clap_derive::item::Item::is_positional]", "ReturnValue", "value", "dfc-generated"] + - ["::kind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::skip_group", "Argument[self].Reference.Field[clap_derive::item::Item::skip_group]", "ReturnValue", "value", "dfc-generated"] + - ["::value_name", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::value_parser", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::value_parser", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::args", "Argument[self].Field[clap_derive::item::Method::args]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Kind::Skip(0)]", "ReturnValue.Field[clap_derive::item::Kind::Skip(0)]", "value", "dfc-generated"] + - ["::attr_kind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ty", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Method::args]", "ReturnValue.Field[clap_derive::item::Method::args]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Method::name]", "ReturnValue.Field[clap_derive::item::Method::name]", "value", "dfc-generated"] + - ["::args", "Argument[self].Reference.Field[clap_derive::item::Method::args]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[clap_derive::item::Method::name]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[clap_derive::item::Method::args]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Name::Assigned(0)]", "ReturnValue.Field[clap_derive::item::Name::Assigned(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::Name::Derived(0)]", "ReturnValue.Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - ["::translate", "Argument[self].Field[clap_derive::item::Name::Assigned(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::item::ValueParser::Implicit(0)]", "ReturnValue.Field[clap_derive::item::ValueParser::Implicit(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_derive::utils::spanned::Sp::span]", "ReturnValue.Field[clap_derive::utils::spanned::Sp::span]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[clap_derive::utils::spanned::Sp::span]", "ReturnValue.Field[clap_derive::utils::spanned::Sp::span]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[clap_derive::utils::spanned::Sp::val]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[clap_derive::utils::spanned::Sp::val]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[clap_derive::utils::spanned::Sp::val]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[clap_derive::utils::spanned::Sp::val]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[clap_derive::utils::spanned::Sp::val]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get", "Argument[self].Reference.Field[clap_derive::utils::spanned::Sp::val]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[clap_derive::utils::spanned::Sp::val]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[clap_derive::utils::spanned::Sp::span]", "value", "dfc-generated"] - - ["::span", "Argument[self].Field[clap_derive::utils::spanned::Sp::span]", "ReturnValue", "value", "dfc-generated"] - - ["::to_value", "Argument[self].Field[clap_lex::ParsedArg::inner]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::to_value_os", "Argument[self].Field[clap_lex::ParsedArg::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::remaining", "Argument[self].Field[clap_lex::RawArgs::items].Field[alloc::vec::Vec::len]", "Argument[0].Field[clap_lex::ArgCursor::cursor]", "value", "dfc-generated"] + - ["::span", "Argument[self].Reference.Field[clap_derive::utils::spanned::Sp::span]", "ReturnValue", "value", "dfc-generated"] + - ["::from_syn_ty", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_lex::ArgCursor::cursor]", "ReturnValue.Field[clap_lex::ArgCursor::cursor].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_lex::ArgCursor::cursor]", "ReturnValue.Field[clap_lex::ArgCursor::cursor]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self].Reference.Field[clap_lex::ParsedArg::inner]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::to_value_os", "Argument[self].Reference.Field[clap_lex::ParsedArg::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_lex::RawArgs::items]", "ReturnValue.Field[clap_lex::RawArgs::items]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::remaining", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::seek", "Argument[1]", "Argument[0]", "taint", "df-generated"] + - ["::seek", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[clap_lex::ShortFlags::invalid_suffix]", "ReturnValue.Field[clap_lex::ShortFlags::invalid_suffix]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[clap_lex::ShortFlags::utf8_prefix]", "ReturnValue.Field[clap_lex::ShortFlags::utf8_prefix]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_flag", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_value_os", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::date", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::generate_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] @@ -469,57 +770,142 @@ extensions: - ["::section", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::source", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::title", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::args", "Argument[self].Field[1]", "ReturnValue", "value", "dfc-generated"] - - ["::args", "Argument[self].Field[complex::Args(1)]", "ReturnValue", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[complex::Args(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::args", "Argument[self].Reference.Field[complex::Args(1)]", "ReturnValue", "value", "dfc-generated"] + - ["::name", "Argument[self].Reference.Field[complex::Args(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::into_resettable", "Argument[self]", "ReturnValue.Field[clap_builder::builder::resettable::Resettable::Value(0)]", "value", "dfc-generated"] - ["::into_resettable", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[clap_builder::builder::resettable::Resettable::Value(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_resettable", "Argument[self]", "ReturnValue.Field[clap_builder::builder::resettable::Resettable::Value(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[find::Value::Bool(0)]", "ReturnValue.Field[find::Value::Bool(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[find::Value::Bool(0)]", "ReturnValue.Field[find::Value::Bool(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[find::Value::String(0)]", "ReturnValue.Field[find::Value::String(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[find::Value::Bool(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[find::Value::String(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::split", "Argument[0]", "ReturnValue.Field[clap_lex::ext::Split::needle]", "value", "dfc-generated"] - ["::split", "Argument[self]", "ReturnValue.Field[clap_lex::ext::Split::haystack].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["clap_builder::output::textwrap::word_separators::find_words_ascii_space", "Argument[0]", "ReturnValue.Field[core::iter::sources::from_fn::FromFn(0)]", "value", "dfc-generated"] + - ["clap_builder::output::textwrap::word_separators::find_words_ascii_space", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["clap_complete::aot::generator::generate", "Argument[2]", "Argument[1]", "taint", "df-generated"] + - ["clap_complete::aot::generator::generate_to", "Argument[2]", "Argument[1]", "taint", "df-generated"] + - ["clap_complete::aot::generator::generate_to", "Argument[3]", "ReturnValue", "taint", "df-generated"] - ["clap_complete::aot::generator::utils::find_subcommand_with_path", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["clap_derive::derives::args::derive_args", "Argument[0].Field[syn::derive::DeriveInput::ident].Reference", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::args::derive_args", "Argument[0].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::args::derive_args", "Argument[0].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::parser::derive_parser", "Argument[0].Field[syn::derive::DeriveInput::ident].Reference", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::parser::derive_parser", "Argument[0].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::subcommand::derive_subcommand", "Argument[0].Field[syn::derive::DeriveInput::ident].Reference", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::subcommand::derive_subcommand", "Argument[0].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::subcommand::derive_subcommand", "Argument[0].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::value_enum::derive_value_enum", "Argument[0].Field[syn::derive::DeriveInput::ident].Reference", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::value_enum::derive_value_enum", "Argument[0].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] - - ["clap_derive::derives::value_enum::derive_value_enum", "Argument[0].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_complete::engine::custom::complete_path", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["clap_complete::engine::custom::complete_path", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["clap_derive::derives::args::derive_args", "Argument[0].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_derive::derives::args::derive_args", "Argument[0].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_derive::derives::parser::derive_parser", "Argument[0].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_derive::derives::subcommand::derive_subcommand", "Argument[0].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_derive::derives::subcommand::derive_subcommand", "Argument[0].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_derive::derives::value_enum::derive_value_enum", "Argument[0].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::group_id].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_derive::derives::value_enum::derive_value_enum", "Argument[0].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[clap_derive::item::Item::name].Field[clap_derive::item::Name::Derived(0)]", "value", "dfc-generated"] + - ["clap_derive::utils::doc_comments::format_doc_comment", "Argument[2]", "ReturnValue", "taint", "df-generated"] - ["clap_derive::utils::ty::inner_type", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["clap_derive::utils::ty::is_simple_ty", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["clap_mangen::generate_to", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["clap_mangen::render::version", "Argument[0]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: + - ["<01_quick_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<01_quick_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<02_app_settings_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<02_app_settings_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<02_apps_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<02_apps_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<02_crate_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<02_crate_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_01_flag_bool_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_01_flag_bool_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_01_flag_count_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_01_flag_count_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_02_option_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_02_option_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_02_option_mult_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_02_option_mult_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_03_positional_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_03_positional_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_03_positional_mult_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_03_positional_mult_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_04_subcommands_alt_derive::AddArgs as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_04_subcommands_alt_derive::AddArgs as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_05_default_values_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_05_default_values_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_06_optional_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<03_06_optional_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_01_enum_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_01_enum_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_02_parse_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_02_parse_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_02_validate_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_02_validate_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_03_relations_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_03_relations_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_03_relations_derive::Vers as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_03_relations_derive::Vers as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_04_custom_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<04_04_custom_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<05_01_assert_derive::Cli as clap_builder::derive::FromArgMatches>::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["<05_01_assert_derive::Cli as clap_builder::derive::FromArgMatches>::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - ["::value_hint", "Argument[self]", "log-injection", "df-generated"] - ["::_panic_on_missing_help", "Argument[self]", "log-injection", "df-generated"] + - ["::mut_arg", "Argument[self]", "log-injection", "df-generated"] - ["::mut_group", "Argument[self]", "log-injection", "df-generated"] - ["::mut_subcommand", "Argument[self]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - - ["::parse_ref", "Argument[1]", "pointer-access", "df-generated"] - - ["::parse_ref", "Argument[1]", "pointer-access", "df-generated"] - - ["::parse_ref", "Argument[1]", "pointer-access", "df-generated"] - - ["::parse_ref", "Argument[1]", "pointer-access", "df-generated"] - - ["::parse", "Argument[1]", "pointer-access", "df-generated"] - - ["::parse", "Argument[1]", "pointer-access", "df-generated"] - - ["::parse_ref", "Argument[1]", "pointer-access", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] + - ["::parse", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse", "Argument[1]", "log-injection", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] + - ["::parse", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse", "Argument[1]", "log-injection", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] - ["::range", "Argument[self]", "log-injection", "df-generated"] - - ["::parse_ref", "Argument[1]", "pointer-access", "df-generated"] + - ["::parse_ref", "Argument[1]", "alloc-layout", "df-generated"] + - ["::parse_ref", "Argument[1]", "log-injection", "df-generated"] - ["::range", "Argument[self]", "log-injection", "df-generated"] + - ["::remove", "Argument[self]", "log-injection", "df-generated"] + - ["::remove_by_name", "Argument[self]", "log-injection", "df-generated"] - ["::wrap", "Argument[0]", "log-injection", "df-generated"] - - ["::get_required_usage_from", "Argument[1]", "pointer-access", "df-generated"] + - ["::get_required_usage_from", "Argument[1]", "alloc-layout", "df-generated"] + - ["::get_required_usage_from", "Argument[1]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - ["::unwrap", "Argument[0]", "log-injection", "df-generated"] - - ["::unwrap", "Argument[1]", "log-injection", "df-generated"] - ["::contains_id", "Argument[0]", "log-injection", "df-generated"] - ["::get_count", "Argument[0]", "log-injection", "df-generated"] - ["::get_flag", "Argument[0]", "log-injection", "df-generated"] @@ -538,13 +924,19 @@ extensions: - ["::try_remove_many", "Argument[self]", "log-injection", "df-generated"] - ["::try_remove_occurrences", "Argument[self]", "log-injection", "df-generated"] - ["::try_remove_one", "Argument[self]", "log-injection", "df-generated"] - - ["::check_explicit", "Argument[self]", "pointer-access", "df-generated"] + - ["::check_explicit", "Argument[self]", "alloc-layout", "df-generated"] + - ["::check_explicit", "Argument[self]", "log-injection", "df-generated"] + - ["::into_vals_flatten", "Argument[self]", "pointer-access", "df-generated"] - ["::get_matches_with", "Argument[0]", "log-injection", "df-generated"] - - ["::get_matches_with", "Argument[self]", "pointer-access", "df-generated"] + - ["::get_matches_with", "Argument[self]", "alloc-layout", "df-generated"] + - ["::get_matches_with", "Argument[self]", "log-injection", "df-generated"] - ["::parse", "Argument[0]", "log-injection", "df-generated"] - - ["::parse", "Argument[self]", "pointer-access", "df-generated"] + - ["::parse", "Argument[self]", "alloc-layout", "df-generated"] + - ["::parse", "Argument[self]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - ["::remove_entry", "Argument[self]", "log-injection", "df-generated"] + - ["::into_iter", "Argument[self]", "pointer-access", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::write_complete", "Argument[1]", "log-injection", "df-generated"] - ["::write_complete", "Argument[2]", "log-injection", "df-generated"] - ["::write_complete", "Argument[1]", "log-injection", "df-generated"] @@ -555,14 +947,36 @@ extensions: - ["::write_complete", "Argument[2]", "log-injection", "df-generated"] - ["::write_complete", "Argument[1]", "log-injection", "df-generated"] - ["::write_complete", "Argument[2]", "log-injection", "df-generated"] - - ["::action", "Argument[self]", "pointer-access", "df-generated"] - - ["::value_parser", "Argument[self]", "pointer-access", "df-generated"] + - ["::action", "Argument[self]", "alloc-layout", "df-generated"] + - ["::action", "Argument[self]", "log-injection", "df-generated"] + - ["::value_parser", "Argument[self]", "alloc-layout", "df-generated"] + - ["::value_parser", "Argument[self]", "log-injection", "df-generated"] - ["::generate_to", "Argument[self]", "path-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] - ["::from_matches", "Argument[0]", "log-injection", "df-generated"] - - ["::from_arg_matches", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] - - ["::update_from_arg_matches", "Argument[0]", "log-injection", "df-generated"] - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::update_from_arg_matches_mut", "Argument[0]", "log-injection", "df-generated"] - ["clap_complete::engine::complete::complete", "Argument[1]", "log-injection", "df-generated"] - ["clap_complete::engine::complete::complete", "Argument[2]", "log-injection", "df-generated"] - ["clap_complete::engine::complete::complete", "Argument[3]", "log-injection", "df-generated"] diff --git a/rust/ql/lib/ext/generated/hyper.model.yml b/rust/ql/lib/ext/generated/hyper.model.yml index 306bf248543..a86ecc4c67f 100644 --- a/rust/ql/lib/ext/generated/hyper.model.yml +++ b/rust/ql/lib/ext/generated/hyper.model.yml @@ -4,193 +4,213 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: - - ["::from", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[client::Error::Hyper(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[client::Error::Io(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[client::HttpInfo::remote_addr]", "ReturnValue.Field[client::HttpInfo::remote_addr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CReq::body].Field[integration::support::__CReq::body].Field[server::support::__CReq::body]", "ReturnValue.Field[client::support::__CReq::body].Field[integration::support::__CReq::body].Field[server::support::__CReq::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CReq::headers].Field[integration::support::__CReq::headers].Field[server::support::__CReq::headers]", "ReturnValue.Field[client::support::__CReq::headers].Field[integration::support::__CReq::headers].Field[server::support::__CReq::headers]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::body].Field[integration::support::__CRes::body].Field[server::support::__CRes::body]", "ReturnValue.Field[client::support::__CRes::body].Field[integration::support::__CRes::body].Field[server::support::__CRes::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::headers].Field[integration::support::__CRes::headers].Field[server::support::__CRes::headers]", "ReturnValue.Field[client::support::__CRes::headers].Field[integration::support::__CRes::headers].Field[server::support::__CRes::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::status].Field[integration::support::__CRes::status].Field[server::support::__CRes::status]", "ReturnValue.Field[client::support::__CRes::status].Field[integration::support::__CRes::status].Field[server::support::__CRes::status]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SReq::body].Field[integration::support::__SReq::body].Field[server::support::__SReq::body]", "ReturnValue.Field[client::support::__SReq::body].Field[integration::support::__SReq::body].Field[server::support::__SReq::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SReq::headers].Field[integration::support::__SReq::headers].Field[server::support::__SReq::headers]", "ReturnValue.Field[client::support::__SReq::headers].Field[integration::support::__SReq::headers].Field[server::support::__SReq::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::body].Field[integration::support::__SRes::body].Field[server::support::__SRes::body]", "ReturnValue.Field[client::support::__SRes::body].Field[integration::support::__SRes::body].Field[server::support::__SRes::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::headers].Field[integration::support::__SRes::headers].Field[server::support::__SRes::headers]", "ReturnValue.Field[client::support::__SRes::headers].Field[integration::support::__SRes::headers].Field[server::support::__SRes::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::status].Field[integration::support::__SRes::status].Field[server::support::__SRes::status]", "ReturnValue.Field[client::support::__SRes::status].Field[integration::support::__SRes::status].Field[server::support::__SRes::status]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue", "value", "dfc-generated"] - - ["::set_trailers", "Argument[0]", "Argument[self].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::set_trailers", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::with_trailers", "Argument[0]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "value", "dfc-generated"] - ["::with_trailers", "Argument[1]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::as_ffi_mut", "Argument[self].Field[hyper::body::incoming::Incoming::kind].Field[hyper::body::incoming::Kind::Ffi(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_ffi_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::h2", "Argument[0]", "ReturnValue.Field[hyper::body::incoming::Incoming::kind].Field[hyper::body::incoming::Kind::H2::recv]", "value", "dfc-generated"] - ["::h2", "Argument[1]", "ReturnValue.Field[hyper::body::incoming::Incoming::kind].Field[hyper::body::incoming::Kind::H2::content_length]", "value", "dfc-generated"] - ["::h2", "Argument[2]", "ReturnValue.Field[hyper::body::incoming::Incoming::kind].Field[hyper::body::incoming::Kind::H2::ping]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[core::option::Option::Some(0)].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[core::option::Option::Some(0)].Field[std::path::Component::Normal(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::body::length::DecodedLength(0)]", "ReturnValue.Field[hyper::body::length::DecodedLength(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::body::length::DecodedLength(0)]", "ReturnValue.Field[hyper::body::length::DecodedLength(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::checked_new", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[hyper::body::length::DecodedLength(0)]", "value", "dfc-generated"] - - ["::danger_len", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::danger_len", "Argument[self].Field[hyper::body::length::DecodedLength(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_opt", "Argument[self].Field[hyper::body::length::DecodedLength(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::body::length::DecodedLength(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::allow_obsolete_multiline_headers_in_responses", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::allow_spaces_after_header_name_in_responses", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::handshake", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::handshake", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::http09_responses", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h09_responses]", "value", "dfc-generated"] - - ["::http09_responses", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h09_responses]", "value", "dfc-generated"] + - ["::handshake", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::handshake", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::http09_responses", "Argument[0]", "Argument[self].Reference.Field[hyper::client::conn::http1::Builder::h09_responses]", "value", "dfc-generated"] - ["::http09_responses", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::ignore_invalid_headers_in_responses", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_buf_size", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h1_max_buf_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max_buf_size", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h1_max_buf_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max_buf_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_headers", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h1_max_headers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max_headers", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h1_max_headers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max_headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::preserve_header_case", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h1_preserve_header_case]", "value", "dfc-generated"] - - ["::preserve_header_case", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h1_preserve_header_case]", "value", "dfc-generated"] + - ["::preserve_header_case", "Argument[0]", "Argument[self].Reference.Field[hyper::client::conn::http1::Builder::h1_preserve_header_case]", "value", "dfc-generated"] - ["::preserve_header_case", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::preserve_header_order", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h1_preserve_header_order]", "value", "dfc-generated"] - - ["::preserve_header_order", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h1_preserve_header_order]", "value", "dfc-generated"] + - ["::preserve_header_order", "Argument[0]", "Argument[self].Reference.Field[hyper::client::conn::http1::Builder::h1_preserve_header_order]", "value", "dfc-generated"] - ["::preserve_header_order", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::read_buf_exact_size", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h1_read_buf_exact_size]", "value", "dfc-generated"] - - ["::read_buf_exact_size", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h1_read_buf_exact_size]", "value", "dfc-generated"] + - ["::read_buf_exact_size", "Argument[0]", "Argument[self].Reference.Field[hyper::client::conn::http1::Builder::h1_read_buf_exact_size]", "value", "dfc-generated"] - ["::read_buf_exact_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::title_case_headers", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h1_title_case_headers]", "value", "dfc-generated"] - - ["::title_case_headers", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h1_title_case_headers]", "value", "dfc-generated"] + - ["::title_case_headers", "Argument[0]", "Argument[self].Reference.Field[hyper::client::conn::http1::Builder::h1_title_case_headers]", "value", "dfc-generated"] - ["::title_case_headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::writev", "Argument[0]", "Argument[self].Field[hyper::client::conn::http1::Builder::h1_writev].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::writev", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http1::Builder::h1_writev].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::writev", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_parts", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_upgrades", "Argument[self]", "ReturnValue.Field[hyper::client::conn::http1::upgrades::UpgradeableConnection::inner].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::send_request", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::try_send_request", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::adaptive_window", "Argument[0]", "Argument[self].Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::adaptive_window]", "value", "dfc-generated"] - - ["::adaptive_window", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::adaptive_window]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send_request", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_send_request", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::adaptive_window", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::handshake", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::handshake", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::handshake", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::header_table_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::initial_connection_window_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::initial_max_send_streams", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::initial_stream_window_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::keep_alive_interval", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::keep_alive_timeout", "Argument[0]", "Argument[self].Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::keep_alive_timeout]", "value", "dfc-generated"] - - ["::keep_alive_timeout", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::keep_alive_timeout]", "value", "dfc-generated"] - ["::keep_alive_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::keep_alive_while_idle", "Argument[0]", "Argument[self].Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::keep_alive_while_idle]", "value", "dfc-generated"] - - ["::keep_alive_while_idle", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::keep_alive_while_idle]", "value", "dfc-generated"] - ["::keep_alive_while_idle", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_concurrent_reset_streams", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_concurrent_streams", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_frame_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_header_list_size", "Argument[0]", "Argument[self].Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::max_header_list_size]", "value", "dfc-generated"] - - ["::max_header_list_size", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::max_header_list_size]", "value", "dfc-generated"] - ["::max_header_list_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_pending_accept_reset_streams", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_send_buf_size", "Argument[0]", "Argument[self].Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::max_send_buffer_size]", "value", "dfc-generated"] - - ["::max_send_buf_size", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::client::Config::max_send_buffer_size]", "value", "dfc-generated"] - ["::max_send_buf_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::client::conn::http2::Builder::exec]", "value", "dfc-generated"] - ["::timer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::client::dispatch::SendWhen::call_back]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::client::dispatch::SendWhen::when]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::client::dispatch::SendWhen::call_back]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::client::dispatch::SendWhen::when]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::unbound", "Argument[self].Field[hyper::client::dispatch::Sender::inner]", "ReturnValue.Field[hyper::client::dispatch::UnboundedSender::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_error", "Argument[self].Field[hyper::client::dispatch::TrySendError::error]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bufs_cnt", "Argument[self].Field[hyper::common::buf::BufList::bufs].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[hyper::client::dispatch::UnboundedSender::giver]", "ReturnValue.Field[hyper::client::dispatch::UnboundedSender::giver]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[hyper::client::dispatch::UnboundedSender::inner]", "ReturnValue.Field[hyper::client::dispatch::UnboundedSender::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bufs_cnt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::common::io::compat::Compat(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[hyper::common::io::rewind::Rewind::inner]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[hyper::common::io::rewind::Rewind::pre].Field[core::option::Option::Some(0)]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::common::io::rewind::Rewind::inner]", "value", "dfc-generated"] - ["::new_buffered", "Argument[0]", "ReturnValue.Field[hyper::common::io::rewind::Rewind::inner]", "value", "dfc-generated"] - ["::new_buffered", "Argument[1]", "ReturnValue.Field[hyper::common::io::rewind::Rewind::pre].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::rewind", "Argument[0]", "Argument[self].Field[hyper::common::io::rewind::Rewind::pre].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::rewind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::common::time::Dur::Configured(0)]", "ReturnValue.Field[hyper::common::time::Dur::Configured(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::common::time::Dur::Default(0)]", "ReturnValue.Field[hyper::common::time::Dur::Default(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::common::time::Time::Timer(0)].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[hyper::common::time::Time::Timer(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::common::time::Time::Timer(0)].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[hyper::common::time::Time::Timer(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::common::time::Time::Timer(0)]", "ReturnValue.Field[hyper::common::time::Time::Timer(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::check", "Argument[0].Field[hyper::common::time::Dur::Configured(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::check", "Argument[0].Field[hyper::common::time::Dur::Default(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::kind", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::HeaderCaseMap(0)]", "ReturnValue.Field[hyper::ext::HeaderCaseMap(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::OriginalHeaderOrder::entry_order]", "ReturnValue.Field[hyper::ext::OriginalHeaderOrder::entry_order]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::OriginalHeaderOrder::num_entries].Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[hyper::ext::OriginalHeaderOrder::num_entries].Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::OriginalHeaderOrder::num_entries]", "ReturnValue.Field[hyper::ext::OriginalHeaderOrder::num_entries]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::Protocol::inner]", "ReturnValue.Field[hyper::ext::Protocol::inner]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[hyper::ext::Protocol::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[hyper::ext::Protocol::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "ReturnValue.Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_from", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "value", "dfc-generated"] + - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes", "Argument[self].Reference.Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_bytes_unchecked", "Argument[0]", "ReturnValue.Field[hyper::ext::h1_reason_phrase::ReasonPhrase(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::informational::OnInformational(0)].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[hyper::ext::informational::OnInformational(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::informational::OnInformational(0)].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[hyper::ext::informational::OnInformational(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ext::informational::OnInformational(0)]", "ReturnValue.Field[hyper::ext::informational::OnInformational(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::ffi::UserDataPointer(0)]", "ReturnValue.Field[hyper::ffi::UserDataPointer(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ffi::UserDataPointer(0)]", "ReturnValue.Field[hyper::ffi::UserDataPointer(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::ffi::http_types::hyper_headers::headers]", "ReturnValue.Field[hyper::ffi::http_types::hyper_headers::headers]", "value", "dfc-generated"] - ["::wrap", "Argument[0]", "ReturnValue.Field[hyper::ffi::http_types::hyper_response(0)]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::sync::Arc::alloc].Reference", "ReturnValue.Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] - - ["::boxed", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::alloc]", "ReturnValue.Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::ptr]", "ReturnValue.Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::ffi::task::WeakExec(0)]", "ReturnValue.Field[hyper::ffi::task::WeakExec(0)]", "value", "dfc-generated"] + - ["::downgrade", "Argument[0].Reference.Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[hyper::ffi::task::WeakExec(0)].Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::Wants(0)]", "ReturnValue.Field[hyper::proto::h1::Wants(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::Wants(0)]", "ReturnValue.Field[hyper::proto::h1::Wants(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[hyper::proto::h1::conn::Conn::io].Field[hyper::proto::h1::io::Buffered::io]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::conn::Conn::io].Field[hyper::proto::h1::io::Buffered::io]", "value", "dfc-generated"] - - ["::set_flush_pipeline", "Argument[0]", "Argument[self].Field[hyper::proto::h1::conn::Conn::io].Field[hyper::proto::h1::io::Buffered::flush_pipeline]", "value", "dfc-generated"] - - ["::set_h1_parser_config", "Argument[0]", "Argument[self].Field[hyper::proto::h1::conn::Conn::state].Field[hyper::proto::h1::conn::State::h1_parser_config]", "value", "dfc-generated"] - - ["::set_timer", "Argument[0]", "Argument[self].Field[hyper::proto::h1::conn::Conn::state].Field[hyper::proto::h1::conn::State::timer]", "value", "dfc-generated"] - - ["::wants_read_again", "Argument[self].Field[hyper::proto::h1::conn::Conn::state].Field[hyper::proto::h1::conn::State::notify_read]", "ReturnValue", "value", "dfc-generated"] + - ["::set_flush_pipeline", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_h1_parser_config", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_timer", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::wants_read_again", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::chunked", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::decode::Decoder::kind].Field[hyper::proto::h1::decode::Kind::Chunked::h1_max_headers]", "value", "dfc-generated"] - ["::chunked", "Argument[1]", "ReturnValue.Field[hyper::proto::h1::decode::Decoder::kind].Field[hyper::proto::h1::decode::Kind::Chunked::h1_max_header_size]", "value", "dfc-generated"] - ["::length", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::decode::Decoder::kind].Field[hyper::proto::h1::decode::Kind::Length(0)]", "value", "dfc-generated"] + - ["::new", "Argument[0].Field[hyper::body::length::DecodedLength(0)]", "ReturnValue.Field[hyper::proto::h1::decode::Decoder::kind].Field[hyper::proto::h1::decode::Kind::Length(0)]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[hyper::proto::h1::decode::Decoder::kind].Field[hyper::proto::h1::decode::Kind::Chunked::h1_max_headers]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[hyper::proto::h1::decode::Decoder::kind].Field[hyper::proto::h1::decode::Kind::Chunked::h1_max_header_size]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::recv_msg", "Argument[0].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::dispatch::Client::rx]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h1::dispatch::Client::callback]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h1::dispatch::Client::rx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h1::dispatch::Client::rx_closed]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h1::dispatch::Client::callback]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h1::dispatch::Client::rx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h1::dispatch::Client::rx_closed]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[hyper::proto::h1::dispatch::Dispatcher::dispatch]", "ReturnValue.Field[2]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::dispatch::Dispatcher::dispatch]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[hyper::proto::h1::dispatch::Dispatcher::conn]", "value", "dfc-generated"] @@ -198,228 +218,224 @@ extensions: - ["::recv_msg", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_service", "Argument[self].Field[hyper::proto::h1::dispatch::Server::service]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::dispatch::Server::service]", "value", "dfc-generated"] - - ["::chunk", "Argument[self].Field[hyper::proto::h1::encode::ChunkSize::bytes].Element", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::advance", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::chunk", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::encode::EncodedBuf::kind].Field[hyper::proto::h1::encode::BufKind::Chunked(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::encode::EncodedBuf::kind].Field[hyper::proto::h1::encode::BufKind::Exact(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::encode::EncodedBuf::kind].Field[hyper::proto::h1::encode::BufKind::Limited(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::encode::Encoder::is_last]", "ReturnValue.Field[hyper::proto::h1::encode::Encoder::is_last].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::encode::Encoder::is_last]", "ReturnValue.Field[hyper::proto::h1::encode::Encoder::is_last]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::encode", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::encode::EncodedBuf::kind].Field[hyper::proto::h1::encode::BufKind::Exact(0)]", "value", "dfc-generated"] - ["::encode_and_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::end", "Argument[self].Field[hyper::proto::h1::encode::Encoder::kind].Field[hyper::proto::h1::encode::Kind::Length(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Field[hyper::proto::h1::encode::NotEof(0)]", "value", "dfc-generated"] + - ["::end", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_chunked_with_trailing_fields", "Argument[self].Field[hyper::proto::h1::encode::Encoder::is_last]", "ReturnValue.Field[hyper::proto::h1::encode::Encoder::is_last]", "value", "dfc-generated"] - ["::into_chunked_with_trailing_fields", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::is_last", "Argument[self].Field[hyper::proto::h1::encode::Encoder::is_last]", "ReturnValue", "value", "dfc-generated"] + - ["::is_last", "Argument[self].Reference.Field[hyper::proto::h1::encode::Encoder::is_last]", "ReturnValue", "value", "dfc-generated"] - ["::length", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::encode::Encoder::kind].Field[hyper::proto::h1::encode::Kind::Length(0)]", "value", "dfc-generated"] - ["::set_last", "Argument[0]", "Argument[self].Field[hyper::proto::h1::encode::Encoder::is_last]", "value", "dfc-generated"] - ["::set_last", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::encode::Encoder::is_last]", "value", "dfc-generated"] - ["::set_last", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::encode::Kind::Chunked(0)]", "ReturnValue.Field[hyper::proto::h1::encode::Kind::Chunked(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::encode::Kind::Length(0)]", "ReturnValue.Field[hyper::proto::h1::encode::Kind::Length(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::encode::Kind::Length(0)]", "ReturnValue.Field[hyper::proto::h1::encode::Kind::Length(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::headers_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[hyper::proto::h1::io::Buffered::io]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::io_mut", "Argument[self].Field[hyper::proto::h1::io::Buffered::io]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::is_read_blocked", "Argument[self].Field[hyper::proto::h1::io::Buffered::read_blocked]", "ReturnValue", "value", "dfc-generated"] + - ["::io_mut", "Argument[self].Reference.Field[hyper::proto::h1::io::Buffered::io]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::is_read_blocked", "Argument[self].Reference.Field[hyper::proto::h1::io::Buffered::read_blocked]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::io::Buffered::io]", "value", "dfc-generated"] - - ["::read_buf_mut", "Argument[self].Field[hyper::proto::h1::io::Buffered::read_buf]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::set_flush_pipeline", "Argument[0]", "Argument[self].Field[hyper::proto::h1::io::Buffered::flush_pipeline]", "value", "dfc-generated"] - - ["::set_max_buf_size", "Argument[0]", "Argument[self].Field[hyper::proto::h1::io::Buffered::read_buf_strategy].Field[hyper::proto::h1::io::ReadStrategy::Adaptive::max]", "value", "dfc-generated"] - - ["::set_max_buf_size", "Argument[0]", "Argument[self].Field[hyper::proto::h1::io::Buffered::write_buf].Field[hyper::proto::h1::io::WriteBuf::max_buf_size]", "value", "dfc-generated"] - - ["::set_read_buf_exact_size", "Argument[0]", "Argument[self].Field[hyper::proto::h1::io::Buffered::read_buf_strategy].Field[hyper::proto::h1::io::ReadStrategy::Exact(0)]", "value", "dfc-generated"] - - ["::write_buf", "Argument[self].Field[hyper::proto::h1::io::Buffered::write_buf]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::read_buf_mut", "Argument[self].Reference.Field[hyper::proto::h1::io::Buffered::read_buf]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::set_flush_pipeline", "Argument[0]", "Argument[self].Reference.Field[hyper::proto::h1::io::Buffered::flush_pipeline]", "value", "dfc-generated"] + - ["::set_max_buf_size", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_read_buf_exact_size", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::write_buf", "Argument[self].Reference.Field[hyper::proto::h1::io::Buffered::write_buf]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::advance", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::remaining", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::io::Cursor::pos]", "ReturnValue.Field[hyper::proto::h1::io::Cursor::pos].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h1::io::Cursor::pos]", "ReturnValue.Field[hyper::proto::h1::io::Cursor::pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::proto::h1::io::Cursor::bytes]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::advance", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::remaining", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::PipeToSendStream::body_tx]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::PipeToSendStream::data_done]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::PipeToSendStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::PipeToSendStream::body_tx]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::PipeToSendStream::data_done]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::PipeToSendStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ConnTask::cancel_tx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ConnTask::conn]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ConnTask::drop_rx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ConnTask::cancel_tx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ConnTask::conn]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ConnTask::drop_rx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::PipeMap::conn_drop_ref]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::PipeMap::ping]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::PipeMap::pipe]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::PipeMap::conn_drop_ref]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::PipeMap::ping]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::PipeMap::pipe]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ResponseFutMap::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ResponseFutMap::ping]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ResponseFutMap::send_stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ResponseFutMap::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ResponseFutMap::ping]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::client::ResponseFutMap::send_stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::encode", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::encode", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_terminated", "Argument[self].Reference.Field[hyper::proto::h2::client::ConnMapErr::is_terminated]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::proto::h2::ping::Recorder::shared]", "ReturnValue.Field[hyper::proto::h2::ping::Recorder::shared]", "value", "dfc-generated"] - ["::for_stream", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::server::H2Stream::date_header]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::server::H2Stream::reply]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::server::H2Stream::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::server::H2Stream::date_header]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::server::H2Stream::reply]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::proto::h2::server::H2Stream::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[hyper::proto::h2::server::Server::service]", "value", "dfc-generated"] - - ["::new", "Argument[2].Field[hyper::proto::h2::server::Config::date_header]", "ReturnValue.Field[hyper::proto::h2::server::Server::date_header]", "value", "dfc-generated"] + - ["::new", "Argument[2].Reference.Field[hyper::proto::h2::server::Config::date_header]", "ReturnValue.Field[hyper::proto::h2::server::Server::date_header]", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[hyper::proto::h2::server::Server::exec]", "value", "dfc-generated"] - ["::new", "Argument[4]", "ReturnValue.Field[hyper::proto::h2::server::Server::timer]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::init_len", "Argument[self].Field[hyper::rt::io::ReadBuf::init]", "ReturnValue", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[hyper::rt::io::ReadBuf::filled]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::filled", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::init_len", "Argument[self].Reference.Field[hyper::rt::io::ReadBuf::init]", "ReturnValue", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[hyper::rt::io::ReadBuf::filled]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_filled", "Argument[0]", "Argument[self].Reference.Field[hyper::rt::io::ReadBuf::filled]", "value", "dfc-generated"] + - ["::set_init", "Argument[0]", "Argument[self].Reference.Field[hyper::rt::io::ReadBuf::init]", "value", "dfc-generated"] - ["::uninit", "Argument[0]", "ReturnValue.Field[hyper::rt::io::ReadBuf::raw]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::remaining", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::auto_date_header", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::date_header]", "value", "dfc-generated"] - - ["::auto_date_header", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::date_header]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::auto_date_header", "Argument[0]", "Argument[self].Reference.Field[hyper::server::conn::http1::Builder::date_header]", "value", "dfc-generated"] - ["::auto_date_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::half_close", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::h1_half_close]", "value", "dfc-generated"] - - ["::half_close", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::h1_half_close]", "value", "dfc-generated"] + - ["::half_close", "Argument[0]", "Argument[self].Reference.Field[hyper::server::conn::http1::Builder::h1_half_close]", "value", "dfc-generated"] - ["::half_close", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::header_read_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::ignore_invalid_headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::keep_alive", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::h1_keep_alive]", "value", "dfc-generated"] - - ["::keep_alive", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::h1_keep_alive]", "value", "dfc-generated"] + - ["::keep_alive", "Argument[0]", "Argument[self].Reference.Field[hyper::server::conn::http1::Builder::h1_keep_alive]", "value", "dfc-generated"] - ["::keep_alive", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_buf_size", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::max_buf_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max_buf_size", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::max_buf_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max_buf_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_headers", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::h1_max_headers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max_headers", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::h1_max_headers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max_headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::pipeline_flush", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::pipeline_flush]", "value", "dfc-generated"] - - ["::pipeline_flush", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::pipeline_flush]", "value", "dfc-generated"] + - ["::pipeline_flush", "Argument[0]", "Argument[self].Reference.Field[hyper::server::conn::http1::Builder::pipeline_flush]", "value", "dfc-generated"] - ["::pipeline_flush", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::preserve_header_case", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::h1_preserve_header_case]", "value", "dfc-generated"] - - ["::preserve_header_case", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::h1_preserve_header_case]", "value", "dfc-generated"] + - ["::preserve_header_case", "Argument[0]", "Argument[self].Reference.Field[hyper::server::conn::http1::Builder::h1_preserve_header_case]", "value", "dfc-generated"] - ["::preserve_header_case", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::timer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::title_case_headers", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::h1_title_case_headers]", "value", "dfc-generated"] - - ["::title_case_headers", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::h1_title_case_headers]", "value", "dfc-generated"] + - ["::title_case_headers", "Argument[0]", "Argument[self].Reference.Field[hyper::server::conn::http1::Builder::h1_title_case_headers]", "value", "dfc-generated"] - ["::title_case_headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::writev", "Argument[0]", "Argument[self].Field[hyper::server::conn::http1::Builder::h1_writev].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::writev", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http1::Builder::h1_writev].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::writev", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::server::conn::http1::Connection::conn]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::server::conn::http1::Connection::conn]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_parts", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_upgrades", "Argument[self]", "ReturnValue.Field[hyper::server::conn::http1::UpgradeableConnection::inner].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::adaptive_window", "Argument[0]", "Argument[self].Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::adaptive_window]", "value", "dfc-generated"] - - ["::adaptive_window", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::adaptive_window]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::adaptive_window", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::auto_date_header", "Argument[0]", "Argument[self].Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::date_header]", "value", "dfc-generated"] - - ["::auto_date_header", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::date_header]", "value", "dfc-generated"] - ["::auto_date_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::enable_connect_protocol", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::initial_connection_window_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::initial_stream_window_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::keep_alive_interval", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::keep_alive_timeout", "Argument[0]", "Argument[self].Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::keep_alive_timeout]", "value", "dfc-generated"] - - ["::keep_alive_timeout", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::keep_alive_timeout]", "value", "dfc-generated"] - ["::keep_alive_timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_concurrent_streams", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_frame_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_header_list_size", "Argument[0]", "Argument[self].Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::max_header_list_size]", "value", "dfc-generated"] - - ["::max_header_list_size", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http2::Builder::h2_builder].Field[hyper::proto::h2::server::Config::max_header_list_size]", "value", "dfc-generated"] - ["::max_header_list_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_local_error_reset_streams", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_pending_accept_reset_streams", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::max_send_buf_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[hyper::server::conn::http2::Builder::exec]", "value", "dfc-generated"] - ["::serve_connection", "Argument[1]", "ReturnValue.Field[hyper::server::conn::http2::Connection::conn].Field[hyper::proto::h2::server::Server::service]", "value", "dfc-generated"] - - ["::serve_connection", "Argument[self].Field[hyper::server::conn::http2::Builder::timer].Reference", "ReturnValue.Field[hyper::server::conn::http2::Connection::conn].Field[hyper::proto::h2::server::Server::timer]", "value", "dfc-generated"] - - ["::serve_connection", "Argument[self].Field[hyper::server::conn::http2::Builder::timer]", "ReturnValue.Field[hyper::server::conn::http2::Connection::conn].Field[hyper::proto::h2::server::Server::timer]", "value", "dfc-generated"] - ["::timer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::server::conn::http2::Connection::conn]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[hyper::server::conn::http2::Connection::conn]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[hyper::service::util::ServiceFn::f].Reference", "ReturnValue.Field[hyper::service::util::ServiceFn::f]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[hyper::service::util::ServiceFn::f]", "ReturnValue.Field[hyper::service::util::ServiceFn::f]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[hyper::service::util::ServiceFn::f]", "ReturnValue.Field[hyper::service::util::ServiceFn::f]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::call", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[hyper::upgrade::OnUpgrade::rx]", "ReturnValue.Field[hyper::upgrade::OnUpgrade::rx]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downcast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[client::support::__CReq::body].Field[integration::support::__CReq::body].Field[server::support::__CReq::body]", "ReturnValue.Field[client::support::__CReq::body].Field[integration::support::__CReq::body].Field[server::support::__CReq::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CReq::headers].Field[integration::support::__CReq::headers].Field[server::support::__CReq::headers]", "ReturnValue.Field[client::support::__CReq::headers].Field[integration::support::__CReq::headers].Field[server::support::__CReq::headers]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::body].Field[integration::support::__CRes::body].Field[server::support::__CRes::body]", "ReturnValue.Field[client::support::__CRes::body].Field[integration::support::__CRes::body].Field[server::support::__CRes::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::headers].Field[integration::support::__CRes::headers].Field[server::support::__CRes::headers]", "ReturnValue.Field[client::support::__CRes::headers].Field[integration::support::__CRes::headers].Field[server::support::__CRes::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::status].Field[integration::support::__CRes::status].Field[server::support::__CRes::status]", "ReturnValue.Field[client::support::__CRes::status].Field[integration::support::__CRes::status].Field[server::support::__CRes::status]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SReq::body].Field[integration::support::__SReq::body].Field[server::support::__SReq::body]", "ReturnValue.Field[client::support::__SReq::body].Field[integration::support::__SReq::body].Field[server::support::__SReq::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SReq::headers].Field[integration::support::__SReq::headers].Field[server::support::__SReq::headers]", "ReturnValue.Field[client::support::__SReq::headers].Field[integration::support::__SReq::headers].Field[server::support::__SReq::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::body].Field[integration::support::__SRes::body].Field[server::support::__SRes::body]", "ReturnValue.Field[client::support::__SRes::body].Field[integration::support::__SRes::body].Field[server::support::__SRes::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::headers].Field[integration::support::__SRes::headers].Field[server::support::__SRes::headers]", "ReturnValue.Field[client::support::__SRes::headers].Field[integration::support::__SRes::headers].Field[server::support::__SRes::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::status].Field[integration::support::__SRes::status].Field[server::support::__SRes::status]", "ReturnValue.Field[client::support::__SRes::status].Field[integration::support::__SRes::status].Field[server::support::__SRes::status]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue", "value", "dfc-generated"] - - ["::set_trailers", "Argument[0]", "Argument[self].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::set_trailers", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::with_trailers", "Argument[0]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "value", "dfc-generated"] - ["::with_trailers", "Argument[1]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::call", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[server::Dropped(0)].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[server::Dropped(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[server::Dropped(0)].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[server::Dropped(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[server::Dropped(0)]", "ReturnValue.Field[server::Dropped(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[server::TestService::reply]", "ReturnValue.Field[server::TestService::reply]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[server::TestService::trailers_tx]", "ReturnValue.Field[server::TestService::trailers_tx]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[server::TestService::tx]", "ReturnValue.Field[server::TestService::tx]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CReq::body].Field[integration::support::__CReq::body].Field[server::support::__CReq::body]", "ReturnValue.Field[client::support::__CReq::body].Field[integration::support::__CReq::body].Field[server::support::__CReq::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CReq::headers].Field[integration::support::__CReq::headers].Field[server::support::__CReq::headers]", "ReturnValue.Field[client::support::__CReq::headers].Field[integration::support::__CReq::headers].Field[server::support::__CReq::headers]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::body].Field[integration::support::__CRes::body].Field[server::support::__CRes::body]", "ReturnValue.Field[client::support::__CRes::body].Field[integration::support::__CRes::body].Field[server::support::__CRes::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::headers].Field[integration::support::__CRes::headers].Field[server::support::__CRes::headers]", "ReturnValue.Field[client::support::__CRes::headers].Field[integration::support::__CRes::headers].Field[server::support::__CRes::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__CRes::status].Field[integration::support::__CRes::status].Field[server::support::__CRes::status]", "ReturnValue.Field[client::support::__CRes::status].Field[integration::support::__CRes::status].Field[server::support::__CRes::status]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SReq::body].Field[integration::support::__SReq::body].Field[server::support::__SReq::body]", "ReturnValue.Field[client::support::__SReq::body].Field[integration::support::__SReq::body].Field[server::support::__SReq::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SReq::headers].Field[integration::support::__SReq::headers].Field[server::support::__SReq::headers]", "ReturnValue.Field[client::support::__SReq::headers].Field[integration::support::__SReq::headers].Field[server::support::__SReq::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::body].Field[integration::support::__SRes::body].Field[server::support::__SRes::body]", "ReturnValue.Field[client::support::__SRes::body].Field[integration::support::__SRes::body].Field[server::support::__SRes::body]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::headers].Field[integration::support::__SRes::headers].Field[server::support::__SRes::headers]", "ReturnValue.Field[client::support::__SRes::headers].Field[integration::support::__SRes::headers].Field[server::support::__SRes::headers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::__SRes::status].Field[integration::support::__SRes::status].Field[server::support::__SRes::status]", "ReturnValue.Field[client::support::__SRes::status].Field[integration::support::__SRes::status].Field[server::support::__SRes::status]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers]", "ReturnValue", "value", "dfc-generated"] - - ["::set_trailers", "Argument[0]", "Argument[self].Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::set_trailers", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::with_trailers", "Argument[0]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::stream].Field[integration::support::trailers::StreamBodyWithTrailers::stream].Field[server::support::trailers::StreamBodyWithTrailers::stream]", "value", "dfc-generated"] - ["::with_trailers", "Argument[1]", "ReturnValue.Field[client::support::trailers::StreamBodyWithTrailers::trailers].Field[integration::support::trailers::StreamBodyWithTrailers::trailers].Field[server::support::trailers::StreamBodyWithTrailers::trailers].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[service_struct_impl::Svc::counter].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[service_struct_impl::Svc::counter].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[service_struct_impl::Svc::counter].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[service_struct_impl::Svc::counter].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[service_struct_impl::Svc::counter]", "ReturnValue.Field[service_struct_impl::Svc::counter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::inner", "Argument[self].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioIo::inner].Field[client_json::support::tokiort::TokioIo::inner].Field[echo::support::tokiort::TokioIo::inner].Field[end_to_end::support::tokiort::TokioIo::inner].Field[gateway::support::tokiort::TokioIo::inner].Field[graceful_shutdown::support::tokiort::TokioIo::inner].Field[hello-http2::support::tokiort::TokioIo::inner].Field[hello::support::tokiort::TokioIo::inner].Field[http_proxy::support::tokiort::TokioIo::inner].Field[multi_server::support::tokiort::TokioIo::inner].Field[params::support::tokiort::TokioIo::inner].Field[pipeline::support::tokiort::TokioIo::inner].Field[send_file::support::tokiort::TokioIo::inner].Field[server::support::tokiort::TokioIo::inner].Field[service_struct_impl::support::tokiort::TokioIo::inner].Field[single_threaded::support::tokiort::TokioIo::inner].Field[state::support::tokiort::TokioIo::inner].Field[upgrades::support::tokiort::TokioIo::inner].Field[web_api::support::tokiort::TokioIo::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[client::support::tokiort::TokioSleep::inner].Field[client_json::support::tokiort::TokioSleep::inner].Field[echo::support::tokiort::TokioSleep::inner].Field[end_to_end::support::tokiort::TokioSleep::inner].Field[gateway::support::tokiort::TokioSleep::inner].Field[graceful_shutdown::support::tokiort::TokioSleep::inner].Field[hello-http2::support::tokiort::TokioSleep::inner].Field[hello::support::tokiort::TokioSleep::inner].Field[http_proxy::support::tokiort::TokioSleep::inner].Field[multi_server::support::tokiort::TokioSleep::inner].Field[params::support::tokiort::TokioSleep::inner].Field[pipeline::support::tokiort::TokioSleep::inner].Field[send_file::support::tokiort::TokioSleep::inner].Field[server::support::tokiort::TokioSleep::inner].Field[service_struct_impl::support::tokiort::TokioSleep::inner].Field[single_threaded::support::tokiort::TokioSleep::inner].Field[state::support::tokiort::TokioSleep::inner].Field[upgrades::support::tokiort::TokioSleep::inner].Field[web_api::support::tokiort::TokioSleep::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["hyper::client::conn::http1::handshake", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["hyper::client::conn::http2::handshake", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["hyper::proto::h2::client::handshake", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[hyper::proto::h2::client::ClientTask::req_rx]", "value", "dfc-generated"] - ["hyper::proto::h2::client::handshake", "Argument[3]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[hyper::proto::h2::client::ClientTask::executor]", "value", "dfc-generated"] - - ["hyper::proto::h2::ping::channel", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["hyper::service::util::service_fn", "Argument[0]", "ReturnValue.Field[hyper::service::util::ServiceFn::f]", "value", "dfc-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: + - ["::poll_recv", "Argument[0]", "alloc-layout", "df-generated"] + - ["::poll_recv", "Argument[0]", "log-injection", "df-generated"] - ["::push", "Argument[self]", "log-injection", "df-generated"] - ["::check", "Argument[1]", "log-injection", "df-generated"] - ["::end_body", "Argument[self]", "log-injection", "df-generated"] @@ -433,13 +449,31 @@ extensions: - ["::buffer", "Argument[self]", "log-injection", "df-generated"] - ["::encode", "Argument[0]", "log-injection", "df-generated"] - ["::encode", "Argument[0]", "log-injection", "df-generated"] - - ["hyper::proto::h2::client::handshake", "Argument[2]", "pointer-access", "df-generated"] - - ["hyper::proto::h2::ping::channel", "Argument[1]", "pointer-access", "df-generated"] + - ["hyper::proto::h2::client::handshake", "Argument[2]", "alloc-layout", "df-generated"] + - ["hyper::proto::h2::client::handshake", "Argument[2]", "log-injection", "df-generated"] + - ["hyper::proto::h2::ping::channel", "Argument[1]", "alloc-layout", "df-generated"] + - ["hyper::proto::h2::ping::channel", "Argument[1]", "log-injection", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sourceModel data: + - ["hyper::ffi::body::hyper_body_data", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::body::hyper_body_foreach", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::body::hyper_body_new", "ReturnValue", "pointer-invalidate", "df-generated"] - ["hyper::ffi::body::hyper_buf_bytes", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::body::hyper_buf_copy", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::client::hyper_clientconn_handshake", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::client::hyper_clientconn_options_new", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::client::hyper_clientconn_send", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::http_types::hyper_request_headers", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::http_types::hyper_request_new", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::http_types::hyper_response_body", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::http_types::hyper_response_headers", "ReturnValue", "pointer-invalidate", "df-generated"] - ["hyper::ffi::http_types::hyper_response_reason_phrase", "ReturnValue", "pointer-invalidate", "df-generated"] - ["hyper::ffi::hyper_version", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::io::hyper_io_new", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::task::hyper_context_waker", "ReturnValue", "pointer-invalidate", "df-generated"] - ["hyper::ffi::task::hyper_executor_new", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::task::hyper_executor_poll", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::task::hyper_task_userdata", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["hyper::ffi::task::hyper_task_value", "ReturnValue", "pointer-invalidate", "df-generated"] diff --git a/rust/ql/lib/ext/generated/libc.model.yml b/rust/ql/lib/ext/generated/libc.model.yml index 352eb1338a8..91311b799b1 100644 --- a/rust/ql/lib/ext/generated/libc.model.yml +++ b/rust/ql/lib/ext/generated/libc.model.yml @@ -4,22 +4,52 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::si_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::si_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::check_file", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "Argument[self].Field[style::style::StyleChecker::path].Field[style_tests::style::StyleChecker::path]", "value", "dfc-generated"] - - ["::check_file", "Argument[0]", "Argument[self].Field[style::style::StyleChecker::path].Field[style_tests::style::StyleChecker::path].Field[std::path::PathBuf::inner]", "value", "dfc-generated"] - - ["::check_file", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "Argument[self].Field[style::style::StyleChecker::path].Field[style_tests::style::StyleChecker::path]", "value", "dfc-generated"] - - ["::check_file", "Argument[0]", "Argument[self].Field[style::style::StyleChecker::path].Field[style_tests::style::StyleChecker::path].Field[std::path::PathBuf::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::check_file", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "Argument[self].Reference.Field[style::style::StyleChecker::path].Field[style_tests::style::StyleChecker::path]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::check_file", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "Argument[self].Reference.Field[style::style::StyleChecker::path].Field[style_tests::style::StyleChecker::path]", "value", "dfc-generated"] + - ["libc::unix::linux_like::CMSG_FIRSTHDR", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::CMSG_LEN", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::CMSG_SPACE", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::IPOPT_CLASS", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -52,6 +82,8 @@ extensions: - ["libc::unix::linux_like::linux::BPF_STMT", "Argument[1]", "ReturnValue.Field[libc::unix::linux_like::linux::sock_filter::k]", "value", "dfc-generated"] - ["libc::unix::linux_like::linux::CMSG_NXTHDR", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::CPU_ALLOC_SIZE", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libc::unix::linux_like::linux::CPU_CLR", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["libc::unix::linux_like::linux::CPU_SET", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["libc::unix::linux_like::linux::ELF32_R_INFO", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::ELF32_R_INFO", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::ELF32_R_SYM", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -71,6 +103,7 @@ extensions: - ["libc::unix::linux_like::linux::RT_TOS", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::SCTP_PR_INDEX", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::SCTP_PR_POLICY", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libc::unix::linux_like::linux::SCTP_PR_SET_POLICY", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["libc::unix::linux_like::linux::TPACKET_ALIGN", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::_IO", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::_IO", "Argument[1]", "ReturnValue", "taint", "df-generated"] @@ -80,12 +113,17 @@ extensions: - ["libc::unix::linux_like::linux::_IOW", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::_IOWR", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["libc::unix::linux_like::linux::_IOWR", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libc::unix::linux_like::linux::major", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libc::unix::linux_like::linux::makedev", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libc::unix::linux_like::linux::minor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: - ["::check_file", "Argument[0]", "path-injection", "df-generated"] + - ["::finalize", "Argument[self]", "path-injection", "df-generated"] - ["::check_file", "Argument[0]", "path-injection", "df-generated"] + - ["::finalize", "Argument[self]", "path-injection", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sourceModel diff --git a/rust/ql/lib/ext/generated/log.model.yml b/rust/ql/lib/ext/generated/log.model.yml index 4b8a9ebfc1a..9372ee29e01 100644 --- a/rust/ql/lib/ext/generated/log.model.yml +++ b/rust/ql/lib/ext/generated/log.model.yml @@ -4,70 +4,103 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["<& as log::__private_api::sealed::KVs>::into_kvs", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<& as log::kv::source::Source>::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_key", "Argument[self]", "ReturnValue.Field[log::kv::key::Key::key]", "value", "dfc-generated"] - - ["::count", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue", "value", "dfc-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue", "value", "dfc-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_key", "Argument[self]", "ReturnValue.Field[log::kv::key::Key::key]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::level", "Argument[self].Field[log::Metadata::level]", "ReturnValue", "value", "dfc-generated"] - - ["::target", "Argument[self].Field[log::Metadata::target]", "ReturnValue", "value", "dfc-generated"] - - ["::build", "Argument[self].Field[log::MetadataBuilder::metadata].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::build", "Argument[self].Field[log::MetadataBuilder::metadata]", "ReturnValue", "value", "dfc-generated"] - - ["::level", "Argument[0]", "Argument[self].Field[log::MetadataBuilder::metadata].Field[log::Metadata::level]", "value", "dfc-generated"] - - ["::level", "Argument[0]", "ReturnValue.Field[log::MetadataBuilder::metadata].Field[log::Metadata::level]", "value", "dfc-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::count", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_key", "Argument[self]", "ReturnValue.Field[log::kv::key::Key::key]", "value", "dfc-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::level", "Argument[self].Reference.Field[log::Metadata::level]", "ReturnValue", "value", "dfc-generated"] + - ["::target", "Argument[self].Reference.Field[log::Metadata::target]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::level", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::target", "Argument[0]", "Argument[self].Field[log::MetadataBuilder::metadata].Field[log::Metadata::target]", "value", "dfc-generated"] - - ["::target", "Argument[0]", "ReturnValue.Field[log::MetadataBuilder::metadata].Field[log::Metadata::target]", "value", "dfc-generated"] - ["::target", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::args", "Argument[self].Field[log::Record::args]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::file", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::key_values", "Argument[self].Field[log::Record::key_values].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::key_values", "Argument[self].Field[log::Record::key_values].Field[log::KeyValues(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::level", "Argument[self].Field[log::Record::metadata].Field[log::Metadata::level]", "ReturnValue", "value", "dfc-generated"] - - ["::line", "Argument[self].Field[log::Record::line]", "ReturnValue", "value", "dfc-generated"] - - ["::metadata", "Argument[self].Field[log::Record::metadata]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::module_path", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::target", "Argument[self].Field[log::Record::metadata].Field[log::Metadata::target]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::args", "Argument[self].Reference.Field[log::Record::args]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::file_static", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::key_values", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::level", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::line", "Argument[self].Reference.Field[log::Record::line]", "ReturnValue", "value", "dfc-generated"] + - ["::metadata", "Argument[self].Reference.Field[log::Record::metadata]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::module_path_static", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::target", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_builder", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::args", "Argument[0]", "Argument[self].Field[log::RecordBuilder::record].Field[log::Record::args]", "value", "dfc-generated"] - - ["::args", "Argument[0]", "ReturnValue.Field[log::RecordBuilder::record].Field[log::Record::args]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::args", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::build", "Argument[self].Field[log::RecordBuilder::record].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::build", "Argument[self].Field[log::RecordBuilder::record]", "ReturnValue", "value", "dfc-generated"] + - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::file", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::file_static", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::key_values", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::level", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::line", "Argument[0]", "Argument[self].Field[log::RecordBuilder::record].Field[log::Record::line]", "value", "dfc-generated"] - - ["::line", "Argument[0]", "ReturnValue.Field[log::RecordBuilder::record].Field[log::Record::line]", "value", "dfc-generated"] - ["::line", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::metadata", "Argument[0]", "Argument[self].Field[log::RecordBuilder::record].Field[log::Record::metadata]", "value", "dfc-generated"] - - ["::metadata", "Argument[0]", "ReturnValue.Field[log::RecordBuilder::record].Field[log::Record::metadata]", "value", "dfc-generated"] - ["::metadata", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::module_path", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::module_path_static", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::target", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::boxed", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_value", "Argument[0]", "ReturnValue.Field[log::kv::error::Error::inner].Field[log::kv::error::Inner::Value(0)]", "value", "dfc-generated"] - ["::into_value", "Argument[self].Field[log::kv::error::Error::inner].Field[log::kv::error::Inner::Value(0)]", "ReturnValue", "value", "dfc-generated"] - ["::msg", "Argument[0]", "ReturnValue.Field[log::kv::error::Error::inner].Field[log::kv::error::Inner::Msg(0)]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[log::kv::key::Key::key]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[log::kv::key::Key::key]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::borrow", "Argument[self].Reference.Field[log::kv::key::Key::key]", "ReturnValue", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[log::kv::key::Key::key]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[log::kv::key::Key::key]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::to_key", "Argument[self].Field[log::kv::key::Key::key]", "ReturnValue.Field[log::kv::key::Key::key]", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[log::kv::key::Key::key]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_key", "Argument[self].Reference.Field[log::kv::key::Key::key]", "ReturnValue.Field[log::kv::key::Key::key]", "value", "dfc-generated"] + - ["::as_str", "Argument[self].Reference.Field[log::kv::key::Key::key]", "ReturnValue", "value", "dfc-generated"] - ["::from_str", "Argument[0]", "ReturnValue.Field[log::kv::key::Key::key]", "value", "dfc-generated"] - - ["::to_borrowed_str", "Argument[self].Field[log::kv::key::Key::key]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::to_value", "Argument[self].Field[log::kv::value::Value::inner].Reference", "ReturnValue.Field[log::kv::value::Value::inner]", "value", "dfc-generated"] - - ["::to_value", "Argument[self].Field[log::kv::value::Value::inner]", "ReturnValue.Field[log::kv::value::Value::inner]", "value", "dfc-generated"] + - ["::to_borrowed_str", "Argument[self].Reference.Field[log::kv::key::Key::key]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[log::kv::value::Value::inner]", "ReturnValue.Field[log::kv::value::Value::inner]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_value", "Argument[self].Reference.Field[log::kv::value::Value::inner]", "ReturnValue.Field[log::kv::value::Value::inner]", "value", "dfc-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: - - ["::file", "Argument[self]", "pointer-access", "df-generated"] - - ["::module_path", "Argument[self]", "pointer-access", "df-generated"] - - ["::file", "Argument[0]", "pointer-access", "df-generated"] - - ["::file_static", "Argument[0]", "pointer-access", "df-generated"] - - ["::module_path", "Argument[0]", "pointer-access", "df-generated"] - - ["::module_path_static", "Argument[0]", "pointer-access", "df-generated"] + - ["::get", "Argument[self]", "alloc-layout", "df-generated"] + - ["::get", "Argument[self]", "log-injection", "df-generated"] + - ["::file", "Argument[self]", "alloc-layout", "df-generated"] + - ["::file", "Argument[self]", "log-injection", "df-generated"] + - ["::module_path", "Argument[self]", "alloc-layout", "df-generated"] + - ["::module_path", "Argument[self]", "log-injection", "df-generated"] + - ["::file", "Argument[0]", "alloc-layout", "df-generated"] + - ["::file", "Argument[0]", "log-injection", "df-generated"] + - ["::file_static", "Argument[0]", "alloc-layout", "df-generated"] + - ["::file_static", "Argument[0]", "log-injection", "df-generated"] + - ["::module_path", "Argument[0]", "alloc-layout", "df-generated"] + - ["::module_path", "Argument[0]", "log-injection", "df-generated"] + - ["::module_path_static", "Argument[0]", "alloc-layout", "df-generated"] + - ["::module_path_static", "Argument[0]", "log-injection", "df-generated"] diff --git a/rust/ql/lib/ext/generated/memchr.model.yml b/rust/ql/lib/ext/generated/memchr.model.yml index 4555f3ffe48..3883cc6376b 100644 --- a/rust/ql/lib/ext/generated/memchr.model.yml +++ b/rust/ql/lib/ext/generated/memchr.model.yml @@ -4,69 +4,169 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["<*const as memchr::ext::Pointer>::as_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut as memchr::ext::Pointer>::as_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::load_aligned", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::load_aligned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_char", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::all::memchr::OneIter::searcher]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::arch::all::memchr::One::s1]", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::memchr::One::s1]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::all::memchr::OneIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::memchr::OneIter::searcher].Field[memchr::arch::all::memchr::One::s1]", "ReturnValue.Field[memchr::arch::all::memchr::OneIter::searcher].Field[memchr::arch::all::memchr::One::s1]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::memchr::OneIter::searcher].Field[memchr::arch::all::memchr::One::v1]", "ReturnValue.Field[memchr::arch::all::memchr::OneIter::searcher].Field[memchr::arch::all::memchr::One::v1]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::all::memchr::ThreeIter::searcher]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::arch::all::memchr::Three::s1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::arch::all::memchr::Three::s2]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[memchr::arch::all::memchr::Three::s3]", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::memchr::Three::s1]", "value", "dfc-generated"] - ["::try_new", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::memchr::Three::s2]", "value", "dfc-generated"] - ["::try_new", "Argument[2]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::memchr::Three::s3]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::all::memchr::ThreeIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::all::memchr::TwoIter::searcher]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::arch::all::memchr::Two::s1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::arch::all::memchr::Two::s2]", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::memchr::Two::s1]", "value", "dfc-generated"] - ["::try_new", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::memchr::Two::s2]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::all::memchr::TwoIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte1]", "value", "dfc-generated"] - - ["::new", "Argument[0].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte2]", "value", "dfc-generated"] - - ["::pair", "Argument[self].Field[memchr::arch::all::packedpair::Finder::pair]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::with_pair", "Argument[0].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte1]", "value", "dfc-generated"] - - ["::with_pair", "Argument[0].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte2]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find_prefilter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte1]", "value", "dfc-generated"] + - ["::new", "Argument[0].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte2]", "value", "dfc-generated"] + - ["::pair", "Argument[self].Reference.Field[memchr::arch::all::packedpair::Finder::pair]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::with_pair", "Argument[0].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte1]", "value", "dfc-generated"] + - ["::with_pair", "Argument[0].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::byte2]", "value", "dfc-generated"] - ["::with_pair", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Finder::pair]", "value", "dfc-generated"] - - ["::index1", "Argument[self].Field[memchr::arch::all::packedpair::Pair::index1]", "ReturnValue", "value", "dfc-generated"] - - ["::index2", "Argument[self].Field[memchr::arch::all::packedpair::Pair::index2]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::index1", "Argument[self].Reference.Field[memchr::arch::all::packedpair::Pair::index1]", "ReturnValue", "value", "dfc-generated"] + - ["::index2", "Argument[self].Reference.Field[memchr::arch::all::packedpair::Pair::index2]", "ReturnValue", "value", "dfc-generated"] - ["::with_indices", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Pair::index1]", "value", "dfc-generated"] - ["::with_indices", "Argument[2]", "ReturnValue.Field[core::option::Option::Some(0)].Field[memchr::arch::all::packedpair::Pair::index2]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::rabinkarp::Finder::hash_2pow]", "ReturnValue.Field[memchr::arch::all::rabinkarp::Finder::hash_2pow].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::rabinkarp::Finder::hash_2pow]", "ReturnValue.Field[memchr::arch::all::rabinkarp::Finder::hash_2pow]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::rfind_raw", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::rabinkarp::Hash(0)]", "ReturnValue.Field[memchr::arch::all::rabinkarp::Hash(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::rabinkarp::Hash(0)]", "ReturnValue.Field[memchr::arch::all::rabinkarp::Hash(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::twoway::ApproximateByteSet(0)]", "ReturnValue.Field[memchr::arch::all::twoway::ApproximateByteSet(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::twoway::ApproximateByteSet(0)]", "ReturnValue.Field[memchr::arch::all::twoway::ApproximateByteSet(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::find_with_prefilter", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find_with_prefilter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::twoway::TwoWay::critical_pos]", "ReturnValue.Field[memchr::arch::all::twoway::TwoWay::critical_pos].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::all::twoway::TwoWay::critical_pos]", "ReturnValue.Field[memchr::arch::all::twoway::TwoWay::critical_pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::count", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::count", "Argument[self].Field[memchr::arch::generic::memchr::Iter::end]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - ["::count", "Argument[self].Field[memchr::arch::generic::memchr::Iter::start]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::generic::memchr::Iter::end]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::generic::memchr::Iter::start]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[memchr::arch::generic::memchr::Iter::end]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[memchr::arch::generic::memchr::Iter::start]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::needle1", "Argument[self].Field[memchr::arch::generic::memchr::One::s1]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Iter::end]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Iter::start]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Iter::end]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Iter::start]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::generic::memchr::One::s1]", "ReturnValue.Field[memchr::arch::generic::memchr::One::s1].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::generic::memchr::One::s1]", "ReturnValue.Field[memchr::arch::generic::memchr::One::s1]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::count_raw", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::needle1", "Argument[self].Reference.Field[memchr::arch::generic::memchr::One::s1]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::arch::generic::memchr::One::s1]", "value", "dfc-generated"] - - ["::needle1", "Argument[self].Field[memchr::arch::generic::memchr::Three::s1]", "ReturnValue", "value", "dfc-generated"] - - ["::needle2", "Argument[self].Field[memchr::arch::generic::memchr::Three::s2]", "ReturnValue", "value", "dfc-generated"] - - ["::needle3", "Argument[self].Field[memchr::arch::generic::memchr::Three::s3]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::needle1", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Three::s1]", "ReturnValue", "value", "dfc-generated"] + - ["::needle2", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Three::s2]", "ReturnValue", "value", "dfc-generated"] + - ["::needle3", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Three::s3]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::arch::generic::memchr::Three::s1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::arch::generic::memchr::Three::s2]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[memchr::arch::generic::memchr::Three::s3]", "value", "dfc-generated"] - - ["::needle1", "Argument[self].Field[memchr::arch::generic::memchr::Two::s1]", "ReturnValue", "value", "dfc-generated"] - - ["::needle2", "Argument[self].Field[memchr::arch::generic::memchr::Two::s2]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::needle1", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Two::s1]", "ReturnValue", "value", "dfc-generated"] + - ["::needle2", "Argument[self].Reference.Field[memchr::arch::generic::memchr::Two::s2]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::arch::generic::memchr::Two::s1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::arch::generic::memchr::Two::s2]", "value", "dfc-generated"] - - ["::min_haystack_len", "Argument[self].Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "ReturnValue.Field[memchr::arch::generic::packedpair::Finder::min_haystack_len].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "ReturnValue.Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::min_haystack_len", "Argument[self].Reference.Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::arch::generic::packedpair::Finder::pair]", "value", "dfc-generated"] - - ["::pair", "Argument[self].Field[memchr::arch::generic::packedpair::Finder::pair]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::pair", "Argument[self].Reference.Field[memchr::arch::generic::packedpair::Finder::pair]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::count_raw", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::OneIter::searcher]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::One::avx2].Field[memchr::arch::generic::memchr::One::s1]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::One::sse2].Field[memchr::arch::generic::memchr::One::s1]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::x86_64::avx2::memchr::OneIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::ThreeIter::searcher]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Three::avx2].Field[memchr::arch::generic::memchr::Three::s1]", "value", "dfc-generated"] @@ -75,101 +175,265 @@ extensions: - ["::new_unchecked", "Argument[1]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Three::sse2].Field[memchr::arch::generic::memchr::Three::s2]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[2]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Three::avx2].Field[memchr::arch::generic::memchr::Three::s3]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[2]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Three::sse2].Field[memchr::arch::generic::memchr::Three::s3]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::x86_64::avx2::memchr::ThreeIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::TwoIter::searcher]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Two::avx2].Field[memchr::arch::generic::memchr::Two::s1]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Two::sse2].Field[memchr::arch::generic::memchr::Two::s1]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[1]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Two::avx2].Field[memchr::arch::generic::memchr::Two::s2]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[1]", "ReturnValue.Field[memchr::arch::x86_64::avx2::memchr::Two::sse2].Field[memchr::arch::generic::memchr::Two::s2]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::x86_64::avx2::memchr::TwoIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] - - ["::min_haystack_len", "Argument[self].Field[memchr::arch::x86_64::avx2::packedpair::Finder::sse2].Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "ReturnValue", "value", "dfc-generated"] - - ["::pair", "Argument[self].Field[memchr::arch::x86_64::avx2::packedpair::Finder::avx2].Field[memchr::arch::generic::packedpair::Finder::pair]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::min_haystack_len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pair", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::count_raw", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::OneIter::searcher]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::One(0)].Field[memchr::arch::generic::memchr::One::s1]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::x86_64::sse2::memchr::OneIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::ThreeIter::searcher]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::Three(0)].Field[memchr::arch::generic::memchr::Three::s1]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[1]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::Three(0)].Field[memchr::arch::generic::memchr::Three::s2]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[2]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::Three(0)].Field[memchr::arch::generic::memchr::Three::s3]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::x86_64::sse2::memchr::ThreeIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_raw", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::TwoIter::searcher]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::Two(0)].Field[memchr::arch::generic::memchr::Two::s1]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[1]", "ReturnValue.Field[memchr::arch::x86_64::sse2::memchr::Two(0)].Field[memchr::arch::generic::memchr::Two::s2]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[memchr::arch::x86_64::sse2::memchr::TwoIter::it].Field[memchr::arch::generic::memchr::Iter::start]", "ReturnValue", "value", "dfc-generated"] - - ["::min_haystack_len", "Argument[self].Field[0].Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "ReturnValue", "value", "dfc-generated"] - - ["::min_haystack_len", "Argument[self].Field[memchr::arch::x86_64::sse2::packedpair::Finder(0)].Field[memchr::arch::generic::packedpair::Finder::min_haystack_len]", "ReturnValue", "value", "dfc-generated"] - - ["::pair", "Argument[self].Field[0].Field[memchr::arch::generic::packedpair::Finder::pair]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::pair", "Argument[self].Field[memchr::arch::x86_64::sse2::packedpair::Finder(0)].Field[memchr::arch::generic::packedpair::Finder::pair]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[0].Field[memchr::cow::Imp::Owned(0)]", "ReturnValue.Field[memchr::cow::CowBytes(0)].Field[memchr::cow::Imp::Owned(0)]", "value", "dfc-generated"] + - ["::rfind", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::min_haystack_len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pair", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_owned", "Argument[self].Field[memchr::cow::CowBytes(0)].Field[memchr::cow::Imp::Owned(0)]", "ReturnValue.Field[memchr::cow::CowBytes(0)].Field[memchr::cow::Imp::Owned(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::cow::Imp::Owned(0)]", "ReturnValue.Field[memchr::cow::Imp::Owned(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[memchr::memchr::Memchr::needle1]", "ReturnValue.Field[memchr::memchr::Memchr::needle1].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::memchr::Memchr::needle1]", "ReturnValue.Field[memchr::memchr::Memchr::needle1]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::memchr::Memchr2::needle1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::memchr::Memchr2::needle2]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::memchr::Memchr3::needle1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::memchr::Memchr3::needle2]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[memchr::memchr::Memchr3::needle3]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::memchr::Memchr::needle1]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::memmem::FindIter::pos]", "ReturnValue.Field[memchr::memmem::FindIter::pos].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::memmem::FindIter::pos]", "ReturnValue.Field[memchr::memmem::FindIter::pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_owned", "Argument[self].Field[memchr::memmem::FindIter::haystack]", "ReturnValue.Field[memchr::memmem::FindIter::haystack]", "value", "dfc-generated"] + - ["::into_owned", "Argument[self].Field[memchr::memmem::FindIter::pos]", "ReturnValue.Field[memchr::memmem::FindIter::pos]", "value", "dfc-generated"] + - ["::into_owned", "Argument[self].Field[memchr::memmem::FindIter::prestate]", "ReturnValue.Field[memchr::memmem::FindIter::prestate]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::memmem::FindIter::haystack]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::memmem::FindIter::finder]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[memchr::memmem::FindRevIter::finder].Field[memchr::memmem::FinderRev::searcher]", "ReturnValue.Field[memchr::memmem::FindRevIter::finder].Field[memchr::memmem::FinderRev::searcher]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::memmem::FindRevIter::pos]", "ReturnValue.Field[memchr::memmem::FindRevIter::pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_owned", "Argument[self].Field[memchr::memmem::FindRevIter::haystack]", "ReturnValue.Field[memchr::memmem::FindRevIter::haystack]", "value", "dfc-generated"] - ["::into_owned", "Argument[self].Field[memchr::memmem::FindRevIter::pos]", "ReturnValue.Field[memchr::memmem::FindRevIter::pos]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[memchr::memmem::FindRevIter::haystack]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[memchr::memmem::FindRevIter::finder]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[memchr::memmem::Finder::searcher].Reference", "ReturnValue.Field[memchr::memmem::Finder::searcher]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[memchr::memmem::Finder::searcher]", "ReturnValue.Field[memchr::memmem::Finder::searcher]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::find_iter", "Argument[0]", "ReturnValue.Field[memchr::memmem::FindIter::haystack]", "value", "dfc-generated"] - - ["::find_iter", "Argument[self].Field[memchr::memmem::Finder::searcher].Reference", "ReturnValue.Field[memchr::memmem::FindIter::finder].Field[memchr::memmem::Finder::searcher]", "value", "dfc-generated"] - - ["::find_iter", "Argument[self].Field[memchr::memmem::Finder::searcher]", "ReturnValue.Field[memchr::memmem::FindIter::finder].Field[memchr::memmem::Finder::searcher]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[memchr::memmem::Finder::searcher].Reference", "ReturnValue.Field[memchr::memmem::Finder::searcher]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[memchr::memmem::Finder::searcher]", "ReturnValue.Field[memchr::memmem::Finder::searcher]", "value", "dfc-generated"] - - ["::prefilter", "Argument[0]", "Argument[self].Field[memchr::memmem::FinderBuilder::prefilter]", "value", "dfc-generated"] - - ["::prefilter", "Argument[0]", "ReturnValue.Field[memchr::memmem::FinderBuilder::prefilter]", "value", "dfc-generated"] + - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::prefilter", "Argument[0]", "Argument[self].Reference.Field[memchr::memmem::FinderBuilder::prefilter]", "value", "dfc-generated"] - ["::prefilter", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[memchr::memmem::FinderRev::searcher].Reference", "ReturnValue.Field[memchr::memmem::FinderRev::searcher]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[memchr::memmem::FinderRev::searcher]", "ReturnValue.Field[memchr::memmem::FinderRev::searcher]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[memchr::memmem::FinderRev::searcher].Reference", "ReturnValue.Field[memchr::memmem::FinderRev::searcher]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[memchr::memmem::FinderRev::searcher]", "ReturnValue.Field[memchr::memmem::FinderRev::searcher]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::rfind_iter", "Argument[0]", "ReturnValue.Field[memchr::memmem::FindRevIter::haystack]", "value", "dfc-generated"] - - ["::rfind_iter", "Argument[self].Field[memchr::memmem::FinderRev::searcher].Reference", "ReturnValue.Field[memchr::memmem::FindRevIter::finder].Field[memchr::memmem::FinderRev::searcher]", "value", "dfc-generated"] - - ["::rfind_iter", "Argument[self].Field[memchr::memmem::FinderRev::searcher]", "ReturnValue.Field[memchr::memmem::FindRevIter::finder].Field[memchr::memmem::FinderRev::searcher]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[memchr::memmem::searcher::Searcher::kind]", "ReturnValue.Field[memchr::memmem::searcher::Searcher::kind]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::find", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::find", "Argument[1]", "Argument[self]", "taint", "df-generated"] - ["::find", "Argument[2]", "Argument[self]", "taint", "df-generated"] - ["::find", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0].Element", "ReturnValue.Field[memchr::memmem::searcher::SearcherRev::kind].Field[memchr::memmem::searcher::SearcherRevKind::OneByte::needle]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0].Reference.Element", "ReturnValue.Field[memchr::memmem::searcher::SearcherRev::kind].Field[memchr::memmem::searcher::SearcherRevKind::OneByte::needle]", "value", "dfc-generated"] + - ["::rfind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[memchr::memmem::searcher::SearcherRevKind::OneByte::needle]", "ReturnValue.Field[memchr::memmem::searcher::SearcherRevKind::OneByte::needle].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::memmem::searcher::SearcherRevKind::OneByte::needle]", "ReturnValue.Field[memchr::memmem::searcher::SearcherRevKind::OneByte::needle]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[memchr::vector::SensibleMoveMask(0)]", "ReturnValue.Field[memchr::vector::SensibleMoveMask(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[memchr::vector::SensibleMoveMask(0)]", "ReturnValue.Field[memchr::vector::SensibleMoveMask(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::all_zeros_except_least_significant", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::and", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::and", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clear_least_significant_bit", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::or", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::or", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["memchr::arch::generic::memchr::count_byte_by_byte", "Argument[0].Reference", "Argument[2].Parameter[0]", "value", "dfc-generated"] - - ["memchr::arch::generic::memchr::fwd_byte_by_byte", "Argument[0].Reference", "Argument[2].Parameter[0]", "value", "dfc-generated"] + - ["memchr::arch::generic::memchr::count_byte_by_byte", "Argument[0]", "Argument[2]", "taint", "df-generated"] - ["memchr::arch::generic::memchr::fwd_byte_by_byte", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["memchr::arch::generic::memchr::search_slice_with_raw", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["memchr::arch::generic::memchr::search_slice_with_raw", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["memchr::arch::generic::memchr::search_slice_with_raw", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memchr2", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memchr2", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memchr2", "Argument[2]", "Argument[0]", "taint", "df-generated"] + - ["memchr::memchr::memchr2", "Argument[2]", "Argument[1]", "taint", "df-generated"] - ["memchr::memchr::memchr2_iter", "Argument[0]", "ReturnValue.Field[memchr::memchr::Memchr2::needle1]", "value", "dfc-generated"] - ["memchr::memchr::memchr2_iter", "Argument[1]", "ReturnValue.Field[memchr::memchr::Memchr2::needle2]", "value", "dfc-generated"] + - ["memchr::memchr::memchr3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memchr3", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memchr3", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memchr3", "Argument[3]", "Argument[0]", "taint", "df-generated"] + - ["memchr::memchr::memchr3", "Argument[3]", "Argument[1]", "taint", "df-generated"] + - ["memchr::memchr::memchr3", "Argument[3]", "Argument[2]", "taint", "df-generated"] - ["memchr::memchr::memchr3_iter", "Argument[0]", "ReturnValue.Field[memchr::memchr::Memchr3::needle1]", "value", "dfc-generated"] - ["memchr::memchr::memchr3_iter", "Argument[1]", "ReturnValue.Field[memchr::memchr::Memchr3::needle2]", "value", "dfc-generated"] - ["memchr::memchr::memchr3_iter", "Argument[2]", "ReturnValue.Field[memchr::memchr::Memchr3::needle3]", "value", "dfc-generated"] + - ["memchr::memchr::memchr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memchr", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["memchr::memchr::memchr_iter", "Argument[0]", "ReturnValue.Field[memchr::memchr::Memchr::needle1]", "value", "dfc-generated"] + - ["memchr::memchr::memrchr2", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memrchr2", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memrchr2", "Argument[2]", "Argument[0]", "taint", "df-generated"] + - ["memchr::memchr::memrchr2", "Argument[2]", "Argument[1]", "taint", "df-generated"] + - ["memchr::memchr::memrchr3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memrchr3", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memrchr3", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memrchr3", "Argument[3]", "Argument[0]", "taint", "df-generated"] + - ["memchr::memchr::memrchr3", "Argument[3]", "Argument[1]", "taint", "df-generated"] + - ["memchr::memchr::memrchr3", "Argument[3]", "Argument[2]", "taint", "df-generated"] + - ["memchr::memchr::memrchr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["memchr::memchr::memrchr", "Argument[1]", "Argument[0]", "taint", "df-generated"] + - ["memchr::memmem::find", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["memchr::memmem::find_iter", "Argument[0]", "ReturnValue.Field[memchr::memmem::FindIter::haystack]", "value", "dfc-generated"] - ["memchr::memmem::rfind_iter", "Argument[0]", "ReturnValue.Field[memchr::memmem::FindRevIter::haystack]", "value", "dfc-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: + - ["::count", "Argument[0]", "pointer-access", "df-generated"] + - ["::count_raw", "Argument[0]", "pointer-access", "df-generated"] + - ["::find", "Argument[0]", "pointer-access", "df-generated"] + - ["::find_raw", "Argument[0]", "pointer-access", "df-generated"] + - ["::rfind_raw", "Argument[1]", "pointer-access", "df-generated"] + - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] + - ["::count", "Argument[self]", "pointer-access", "df-generated"] + - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::find", "Argument[0]", "pointer-access", "df-generated"] + - ["::find_raw", "Argument[0]", "pointer-access", "df-generated"] + - ["::rfind_raw", "Argument[1]", "pointer-access", "df-generated"] + - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] + - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::find", "Argument[0]", "pointer-access", "df-generated"] + - ["::find_raw", "Argument[0]", "pointer-access", "df-generated"] + - ["::rfind_raw", "Argument[1]", "pointer-access", "df-generated"] + - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] + - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::find", "Argument[0]", "pointer-access", "df-generated"] + - ["::find", "Argument[1]", "pointer-access", "df-generated"] + - ["::find_raw", "Argument[0]", "pointer-access", "df-generated"] + - ["::find_raw", "Argument[2]", "pointer-access", "df-generated"] + - ["::rfind", "Argument[1]", "pointer-access", "df-generated"] + - ["::rfind_raw", "Argument[1]", "pointer-access", "df-generated"] + - ["::rfind_raw", "Argument[2]", "pointer-access", "df-generated"] + - ["::count", "Argument[self]", "pointer-access", "df-generated"] + - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] + - ["::find", "Argument[1]", "pointer-access", "df-generated"] - ["::find", "Argument[self]", "log-injection", "df-generated"] - ["::find_prefilter", "Argument[self]", "log-injection", "df-generated"] + - ["::find", "Argument[1]", "pointer-access", "df-generated"] - ["::find", "Argument[self]", "log-injection", "df-generated"] - ["::find_prefilter", "Argument[self]", "log-injection", "df-generated"] + - ["::find", "Argument[1]", "pointer-access", "df-generated"] - ["::find", "Argument[self]", "log-injection", "df-generated"] - ["::find_prefilter", "Argument[self]", "log-injection", "df-generated"] + - ["::rfind", "Argument[1]", "pointer-access", "df-generated"] + - ["memchr::arch::all::is_equal", "Argument[0]", "pointer-access", "df-generated"] + - ["memchr::arch::all::is_equal", "Argument[1]", "pointer-access", "df-generated"] + - ["memchr::arch::all::is_equal_raw", "Argument[0]", "pointer-access", "df-generated"] + - ["memchr::arch::all::is_equal_raw", "Argument[1]", "pointer-access", "df-generated"] + - ["memchr::arch::all::is_prefix", "Argument[1]", "pointer-access", "df-generated"] + - ["memchr::arch::all::is_suffix", "Argument[1]", "pointer-access", "df-generated"] + - ["memchr::arch::generic::memchr::search_slice_with_raw", "Argument[0]", "pointer-access", "df-generated"] + - ["memchr::memmem::find", "Argument[0]", "pointer-access", "df-generated"] + - ["memchr::memmem::find", "Argument[1]", "pointer-access", "df-generated"] + - ["memchr::memmem::rfind", "Argument[1]", "pointer-access", "df-generated"] + - addsTo: + pack: codeql/rust-all + extensible: sourceModel + data: + - ["::load_unaligned", "ReturnValue", "constant-source", "df-generated"] + - ["::load_unaligned", "ReturnValue", "constant-source", "df-generated"] diff --git a/rust/ql/lib/ext/generated/once_cell.model.yml b/rust/ql/lib/ext/generated/once_cell.model.yml index ef8ffdc2228..199a07a0424 100644 --- a/rust/ql/lib/ext/generated/once_cell.model.yml +++ b/rust/ql/lib/ext/generated/once_cell.model.yml @@ -4,21 +4,51 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[once_cell::imp::OnceCell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get_or_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_or_try_init", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::get_or_try_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get_or_init", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::get_or_try_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_or_init", "Argument[0].ReturnValue", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_or_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get_or_try_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::into_value", "Argument[0].Field[once_cell::sync::Lazy::init]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Reference", "Argument[self].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::force", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::force_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_try_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::try_insert", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[1]", "value", "dfc-generated"] - - ["::into_value", "Argument[0].Field[once_cell::unsync::Lazy::init]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Reference", "Argument[self].Reference", "value", "dfc-generated"] + - ["::wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::force", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::force_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_or_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_or_try_init", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::get_or_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_try_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_try_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[once_cell::unsync::OnceCell::inner].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::try_insert", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[1]", "value", "dfc-generated"] + - ["::try_insert", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] diff --git a/rust/ql/lib/ext/generated/rand.model.yml b/rust/ql/lib/ext/generated/rand.model.yml index 2425829bce1..02ca2db59e2 100644 --- a/rust/ql/lib/ext/generated/rand.model.yml +++ b/rust/ql/lib/ext/generated/rand.model.yml @@ -4,84 +4,199 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["<& as rand::distr::uniform::SampleBorrow>::borrow", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::any", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::extract_lane", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::replace", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::decrease_masked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::extract_lane", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::replace", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["::cast_from_int", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checked_add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::extract_lane", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::replace", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["::cast_from_int", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checked_add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::wmul", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::wmul", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand::distr::bernoulli::Bernoulli::p_int]", "ReturnValue.Field[rand::distr::bernoulli::Bernoulli::p_int].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::distr::bernoulli::Bernoulli::p_int]", "ReturnValue.Field[rand::distr::bernoulli::Bernoulli::p_int]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_ratio", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_ratio", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::p", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::sample", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand::distr::slice::Choose::num_choices]", "ReturnValue.Field[rand::distr::slice::Choose::num_choices].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::distr::slice::Choose::num_choices]", "ReturnValue.Field[rand::distr::slice::Choose::num_choices]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[rand::distr::slice::Choose::slice]", "value", "dfc-generated"] - - ["::num_choices", "Argument[self].Field[rand::distr::slice::Choose::num_choices]", "ReturnValue", "value", "dfc-generated"] + - ["::num_choices", "Argument[self].Reference.Field[rand::distr::slice::Choose::num_choices]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::sample", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sample", "Argument[self].Field[rand::distr::uniform::other::UniformDuration::mode].Field[rand::distr::uniform::other::UniformDurationMode::Small::secs]", "ReturnValue.Field[core::time::Duration::secs]", "value", "dfc-generated"] - - ["::total_weight", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndex::total_weight].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::total_weight", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndex::total_weight]", "ReturnValue", "value", "dfc-generated"] - - ["::weight", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndex::cumulative_weights].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::weight", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndex::total_weight].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::weight", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndex::total_weight]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand::distr::uniform::other::UniformDuration::offset]", "ReturnValue.Field[rand::distr::uniform::other::UniformDuration::offset].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::distr::uniform::other::UniformDuration::offset]", "ReturnValue.Field[rand::distr::uniform::other::UniformDuration::offset]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sample", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndex::cumulative_weights]", "ReturnValue.Field[rand::distr::weighted::weighted_index::WeightedIndex::cumulative_weights]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::total_weight", "Argument[self].Reference.Field[rand::distr::weighted::weighted_index::WeightedIndex::total_weight]", "ReturnValue", "value", "dfc-generated"] + - ["::update_weights", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::weight", "Argument[self].Reference.Field[rand::distr::weighted::weighted_index::WeightedIndex::total_weight]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::weights", "Argument[self]", "ReturnValue.Field[rand::distr::weighted::weighted_index::WeightedIndexIter::weighted_index]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndexIter::index]", "ReturnValue.Field[rand::distr::weighted::weighted_index::WeightedIndexIter::index]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndexIter::weighted_index]", "ReturnValue.Field[rand::distr::weighted::weighted_index::WeightedIndexIter::weighted_index]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[rand::distr::weighted::weighted_index::WeightedIndexIter::weighted_index].Field[rand::distr::weighted::weighted_index::WeightedIndex::total_weight]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[rand::distr::weighted::weighted_index::WeightedIndexIter::index]", "ReturnValue.Field[rand::distr::weighted::weighted_index::WeightedIndexIter::index]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[rand::distr::weighted::weighted_index::WeightedIndexIter::weighted_index]", "ReturnValue.Field[rand::distr::weighted::weighted_index::WeightedIndexIter::weighted_index]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_u32", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_u64", "Argument[self].Field[rand::rngs::mock::StepRng::v]", "ReturnValue", "value", "dfc-generated"] + - ["::next_u64", "Argument[self].Reference.Field[rand::rngs::mock::StepRng::v]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand::rngs::mock::StepRng::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[rand::rngs::mock::StepRng::a]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self].Field[0].Field[rand_core::block::BlockRng::core]", "ReturnValue.Field[rand::rngs::reseeding::ReseedingRng(0)].Field[rand_core::block::BlockRng::core]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[rand::rngs::reseeding::ReseedingRng(0)].Field[rand_core::block::BlockRng::core]", "ReturnValue.Field[rand::rngs::reseeding::ReseedingRng(0)].Field[rand_core::block::BlockRng::core]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[rand::rngs::reseeding::ReseedingCore::inner]", "ReturnValue.Field[rand::rngs::reseeding::ReseedingCore::inner]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[rand::rngs::reseeding::ReseedingCore::reseeder]", "ReturnValue.Field[rand::rngs::reseeding::ReseedingCore::reseeder]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[rand::rngs::reseeding::ReseedingCore::threshold]", "ReturnValue.Field[rand::rngs::reseeding::ReseedingCore::threshold]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[rand::rngs::reseeding::ReseedingCore::reseeder]", "value", "dfc-generated"] + - ["::reseed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand::rngs::thread::ThreadRng::rng].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[rand::rngs::thread::ThreadRng::rng].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::rngs::thread::ThreadRng::rng].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[rand::rngs::thread::ThreadRng::rng].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::rngs::thread::ThreadRng::rng]", "ReturnValue.Field[rand::rngs::thread::ThreadRng::rng]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::rngs::xoshiro256plusplus::Xoshiro256PlusPlus::s]", "ReturnValue.Field[rand::rngs::xoshiro256plusplus::Xoshiro256PlusPlus::s]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand::seq::coin_flipper::CoinFlipper::rng]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand::seq::increasing_uniform::IncreasingUniform::rng]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[rand::seq::increasing_uniform::IncreasingUniform::n]", "value", "dfc-generated"] - ["::next_index", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand::seq::index_::IndexVec::U32(0)]", "ReturnValue.Field[rand::seq::index_::IndexVec::U32(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::seq::index_::IndexVec::U64(0)]", "ReturnValue.Field[rand::seq::index_::IndexVec::U64(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[rand::seq::index_::IndexVec::U32(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[rand::seq::index_::IndexVec::U64(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next", "Argument[self].Field[rand::seq::iterator::test::ChunkHintedIterator::chunk_size]", "Argument[self].Field[rand::seq::iterator::test::ChunkHintedIterator::chunk_remaining]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[rand::seq::iterator::test::ChunkHintedIterator::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[rand::seq::iterator::test::ChunkHintedIterator::chunk_remaining]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[rand::seq::iterator::test::UnhintedIterator::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[rand::seq::iterator::test::WindowHintedIterator::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[rand::seq::iterator::test::WindowHintedIterator::window_size]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::len", "Argument[self].Field[rand::seq::index_::IndexVec::U32(0)].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] + - ["::len", "Argument[self].Field[rand::seq::index_::IndexVec::U64(0)].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::seq::index_::IndexVecIntoIter::U32(0)]", "ReturnValue.Field[rand::seq::index_::IndexVecIntoIter::U32(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand::seq::index_::IndexVecIntoIter::U64(0)]", "ReturnValue.Field[rand::seq::index_::IndexVecIntoIter::U64(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[rand::seq::iterator::test::ChunkHintedIterator::chunk_size]", "Argument[self].Reference.Field[rand::seq::iterator::test::ChunkHintedIterator::chunk_remaining]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[rand::seq::iterator::test::ChunkHintedIterator::chunk_remaining]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[rand::seq::iterator::test::WindowHintedIterator::window_size]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[rand_chacha::chacha::Array64(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[rand_chacha::chacha::Array64(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[rand_chacha::chacha::Array64(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[rand_chacha::chacha::Array64(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[rand_chacha::chacha::ChaCha12Rng::rng].Field[rand_core::block::BlockRng::core]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get_word_pos", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::set_word_pos", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[rand_chacha::chacha::ChaCha20Rng::rng].Field[rand_core::block::BlockRng::core]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get_word_pos", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::set_word_pos", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[rand_chacha::chacha::ChaCha8Rng::rng].Field[rand_core::block::BlockRng::core]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get_word_pos", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::set_word_pos", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::re", "Argument[self].Field[0]", "ReturnValue.Field[rand_core::UnwrapMut(0)]", "value", "dfc-generated"] - - ["::re", "Argument[self].Field[rand_core::UnwrapMut(0)]", "ReturnValue.Field[rand_core::UnwrapMut(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand_chacha::guts::ChaCha::b]", "ReturnValue.Field[rand_chacha::guts::ChaCha::b]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_chacha::guts::ChaCha::c]", "ReturnValue.Field[rand_chacha::guts::ChaCha::c]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_chacha::guts::ChaCha::d]", "ReturnValue.Field[rand_chacha::guts::ChaCha::d]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::re", "Argument[self].Reference.Field[rand_core::UnwrapMut(0)]", "ReturnValue.Field[rand_core::UnwrapMut(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_core::block::BlockRng::index]", "ReturnValue.Field[rand_core::block::BlockRng::index].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_core::block::BlockRng::index]", "ReturnValue.Field[rand_core::block::BlockRng::index]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_u32", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::generate_and_set", "Argument[0]", "Argument[self].Field[rand_core::block::BlockRng64::index]", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[rand_core::block::BlockRng64::index]", "ReturnValue", "value", "dfc-generated"] + - ["::generate_and_set", "Argument[0]", "Argument[self].Reference.Field[rand_core::block::BlockRng64::index]", "value", "dfc-generated"] + - ["::index", "Argument[self].Reference.Field[rand_core::block::BlockRng64::index]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand_core::block::BlockRng64::core]", "value", "dfc-generated"] - - ["::generate_and_set", "Argument[0]", "Argument[self].Field[rand_core::block::BlockRng::index]", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[rand_core::block::BlockRng::index]", "ReturnValue", "value", "dfc-generated"] + - ["::generate_and_set", "Argument[0]", "Argument[self].Reference.Field[rand_core::block::BlockRng::index]", "value", "dfc-generated"] + - ["::index", "Argument[self].Reference.Field[rand_core::block::BlockRng::index]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand_core::block::BlockRng::core]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_core::block::test::DummyRng::counter]", "ReturnValue.Field[rand_core::block::test::DummyRng::counter].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_core::block::test::DummyRng::counter]", "ReturnValue.Field[rand_core::block::test::DummyRng::counter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand_core::block::test::DummyRng64::counter]", "ReturnValue.Field[rand_core::block::test::DummyRng64::counter].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_core::block::test::DummyRng64::counter]", "ReturnValue.Field[rand_core::block::test::DummyRng64::counter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[rand_core::os::OsError(0)]", "ReturnValue.Field[rand_core::os::OsError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand_pcg::pcg128::Lcg128Xsl64::state]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_pcg::pcg128::Mcg128Xsl64::state]", "ReturnValue.Field[rand_pcg::pcg128::Mcg128Xsl64::state].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[rand_pcg::pcg128::Mcg128Xsl64::state]", "ReturnValue.Field[rand_pcg::pcg128::Mcg128Xsl64::state]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand_pcg::pcg128cm::Lcg128CmDxsm64::state]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[rand_pcg::pcg64::Lcg64Xsh32::state]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[seq_choose::UnhintedIterator::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[seq_choose::WindowHintedIterator::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[seq_choose::WindowHintedIterator::window_size]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[seq_choose::WindowHintedIterator::window_size]", "ReturnValue.Field[seq_choose::WindowHintedIterator::window_size].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[seq_choose::WindowHintedIterator::window_size]", "ReturnValue.Field[seq_choose::WindowHintedIterator::window_size]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[seq_choose::WindowHintedIterator::window_size]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["rand::seq::index_::sample", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["rand::test::rng", "Argument[0]", "ReturnValue.Field[rand_pcg::pcg64::Lcg64Xsh32::state]", "value", "dfc-generated"] - ["rand_chacha::guts::diagonalize", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["rand_chacha::guts::round", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["rand_chacha::guts::undiagonalize", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - addsTo: + pack: codeql/rust-all + extensible: sinkModel + data: + - ["::into_iter", "Argument[self]", "pointer-access", "df-generated"] + - ["::into_vec", "Argument[self]", "pointer-access", "df-generated"] + - ["rand::random_bool", "Argument[0]", "log-injection", "df-generated"] + - ["rand::random_ratio", "Argument[0]", "log-injection", "df-generated"] + - ["rand::random_ratio", "Argument[1]", "log-injection", "df-generated"] + - ["rand::seq::index_::sample", "Argument[1]", "alloc-layout", "df-generated"] + - ["rand::seq::index_::sample", "Argument[2]", "alloc-layout", "df-generated"] diff --git a/rust/ql/lib/ext/generated/reqwest.model.yml b/rust/ql/lib/ext/generated/reqwest.model.yml index ac907669ce9..a0e88b881d4 100644 --- a/rust/ql/lib/ext/generated/reqwest.model.yml +++ b/rust/ql/lib/ext/generated/reqwest.model.yml @@ -4,32 +4,36 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["<& as reqwest::into_url::IntoUrlSealed>::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as reqwest::into_url::IntoUrlSealed>::as_str", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::as_str", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_str", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_str", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[connect_via_lower_priority_tokio_runtime::background_threadpool::BackgroundProcessor::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::layer", "Argument[0]", "ReturnValue.Field[connect_via_lower_priority_tokio_runtime::background_threadpool::BackgroundProcessor::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[connect_via_lower_priority_tokio_runtime::background_threadpool::BackgroundResponseFuture::rx]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[connect_via_lower_priority_tokio_runtime::background_threadpool::BackgroundResponseFuture::rx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[connect_via_lower_priority_tokio_runtime::background_threadpool::BackgroundResponseFuture::rx]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::body::Body::inner].Field[reqwest::async_impl::body::Inner::Reusable(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_stream", "Argument[self]", "ReturnValue.Field[reqwest::async_impl::body::DataStream(0)]", "value", "dfc-generated"] - ["::reusable", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::body::Body::inner].Field[reqwest::async_impl::body::Inner::Reusable(0)]", "value", "dfc-generated"] + - ["::try_reuse", "Argument[self].Field[reqwest::async_impl::body::Body::inner].Field[reqwest::async_impl::body::Inner::Reusable(0)]", "ReturnValue.Field[0].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::try_reuse", "Argument[self]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::ReadTimeoutBody::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::ReadTimeoutBody::sleep]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::ReadTimeoutBody::timeout]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::ReadTimeoutBody::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::ReadTimeoutBody::sleep]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::ReadTimeoutBody::timeout]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::TotalTimeoutBody::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::TotalTimeoutBody::timeout]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::TotalTimeoutBody::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::body::TotalTimeoutBody::timeout]", "ReturnValue", "value", "dfc-generated"] - - ["::delete", "Argument[self].Reference", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::get", "Argument[self].Reference", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::head", "Argument[self].Reference", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::patch", "Argument[self].Reference", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::post", "Argument[self].Reference", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::put", "Argument[self].Reference", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::request", "Argument[self].Reference", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::client::Client::inner].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[reqwest::async_impl::client::Client::inner].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::client::Client::inner].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[reqwest::async_impl::client::Client::inner].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::delete", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client].Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::get", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client].Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::head", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client].Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::patch", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client].Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::post", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client].Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::put", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client].Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::request", "Argument[self].Field[reqwest::async_impl::client::Client::inner]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client].Field[reqwest::async_impl::client::Client::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::add_crl", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add_crls", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add_root_certificate", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -139,56 +143,81 @@ extensions: - ["::use_rustls_tls", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::user_agent", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::zstd", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::call", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[reqwest::async_impl::client::HyperService::cookie_store].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::call", "Argument[self].Field[reqwest::async_impl::client::HyperService::cookie_store]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::client::Pending::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::async_impl::client::Pending::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::client::HyperService::cookie_store]", "ReturnValue.Field[reqwest::async_impl::client::HyperService::cookie_store]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::client::HyperService::hyper]", "ReturnValue.Field[reqwest::async_impl::client::HyperService::hyper]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::detect", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::decoder::Decoder::inner].Field[reqwest::async_impl::decoder::Inner::PlainText(0)]", "value", "dfc-generated"] - ["::into_stream", "Argument[self]", "ReturnValue.Field[reqwest::async_impl::decoder::IoStream(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::H3Client::cookie_store]", "ReturnValue.Field[reqwest::async_impl::h3_client::H3Client::cookie_store]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::h3_client::H3Client::connector]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[reqwest::async_impl::h3_client::H3Client::cookie_store]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::connect::H3ClientConfig::max_field_section_size]", "ReturnValue.Field[reqwest::async_impl::h3_client::connect::H3ClientConfig::max_field_section_size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::connect::H3ClientConfig::send_grease]", "ReturnValue.Field[reqwest::async_impl::h3_client::connect::H3ClientConfig::send_grease]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::connect::H3Connector::endpoint]", "ReturnValue.Field[reqwest::async_impl::h3_client::connect::H3Connector::endpoint]", "value", "dfc-generated"] + - ["::connect", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[reqwest::async_impl::h3_client::connect::H3Connector::resolver]", "value", "dfc-generated"] - ["::new", "Argument[4]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[reqwest::async_impl::h3_client::connect::H3Connector::client_config]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::pool::Pool::inner].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::Pool::inner].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::pool::Pool::inner].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::Pool::inner].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::pool::Pool::inner]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::Pool::inner]", "value", "dfc-generated"] - ["::new_connection", "Argument[2]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::PoolClient::inner]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::async_impl::h3_client::pool::PoolClient::inner]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::PoolClient::inner]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::PoolClient::inner]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::PoolConnection::client]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::h3_client::pool::PoolConnection::close_rx]", "value", "dfc-generated"] - - ["::pool", "Argument[self].Field[reqwest::async_impl::h3_client::pool::PoolConnection::client].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::pool", "Argument[self].Field[reqwest::async_impl::h3_client::pool::PoolConnection::client]", "ReturnValue", "value", "dfc-generated"] - - ["::boundary", "Argument[self].Field[reqwest::async_impl::multipart::Form::inner].Field[reqwest::async_impl::multipart::FormParts::boundary]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::boundary", "Argument[self].Field[reqwest::async_impl::multipart::FormParts::boundary]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::pool", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::boundary", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::file", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::part", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::part", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::part", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::part", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::text", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::text", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::boundary", "Argument[self].Reference.Field[reqwest::async_impl::multipart::FormParts::boundary]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt_fields", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::part", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::percent_encode_attr_chars", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::percent_encode_noop", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::percent_encode_path_segment", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::metadata", "Argument[self].Field[reqwest::async_impl::multipart::Part::meta]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::value_len", "Argument[self].Field[reqwest::async_impl::multipart::Part::body_length]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::metadata", "Argument[self].Reference.Field[reqwest::async_impl::multipart::Part::meta]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::value_len", "Argument[self].Reference.Field[reqwest::async_impl::multipart::Part::body_length]", "ReturnValue", "value", "dfc-generated"] + - ["::file_name", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::file_name", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::headers", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::headers", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::stream", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::stream_with_length", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::multipart::Part::body_length].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::file_name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt_fields", "Argument[0].Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::fmt_fields", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::mime", "Argument[0]", "Argument[self].Field[reqwest::async_impl::multipart::PartMetadata::mime].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::mime", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::multipart::PartMetadata::mime].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::mime", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::body", "Argument[self].Field[reqwest::async_impl::request::Request::body].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::body_mut", "Argument[self].Field[reqwest::async_impl::request::Request::body]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::extensions", "Argument[self].Field[reqwest::async_impl::request::Request::extensions]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::extensions_mut", "Argument[self].Field[reqwest::async_impl::request::Request::extensions]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[reqwest::async_impl::request::Request::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers_mut", "Argument[self].Field[reqwest::async_impl::request::Request::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::method", "Argument[self].Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::method_mut", "Argument[self].Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::body", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::body_mut", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::body]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::extensions", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::extensions]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::extensions_mut", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::extensions]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::headers", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::headers_mut", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::method", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::method_mut", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::request::Request::method]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::request::Request::url]", "value", "dfc-generated"] - ["::pieces", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::try_clone", "Argument[self].Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Field[core::option::Option::Some(0)].Field[reqwest::async_impl::request::Request::method]", "value", "dfc-generated"] - - ["::try_clone", "Argument[self].Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Field[core::option::Option::Some(0)].Field[reqwest::async_impl::request::Request::url]", "value", "dfc-generated"] - - ["::url", "Argument[self].Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::url_mut", "Argument[self].Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::version", "Argument[self].Field[reqwest::async_impl::request::Request::version]", "ReturnValue", "value", "dfc-generated"] - - ["::version_mut", "Argument[self].Field[reqwest::async_impl::request::Request::version]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_clone", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Field[core::option::Option::Some(0)].Field[reqwest::async_impl::request::Request::method]", "value", "dfc-generated"] + - ["::try_clone", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Field[core::option::Option::Some(0)].Field[reqwest::async_impl::request::Request::url]", "value", "dfc-generated"] + - ["::url", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::url_mut", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::version", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::version]", "ReturnValue", "value", "dfc-generated"] + - ["::version_mut", "Argument[self].Reference.Field[reqwest::async_impl::request::Request::version]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::basic_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bearer_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -198,36 +227,40 @@ extensions: - ["::fetch_mode_no_cors", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::form", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from_parts", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] + - ["::from_parts", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::request].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::json", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::multipart", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::client]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::request::RequestBuilder::request]", "value", "dfc-generated"] - ["::query", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::try_clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::version", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::error_for_status", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::error_for_status_ref", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::json", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::response::Response::url].Reference", "value", "dfc-generated"] + - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::response::Response::url].Field[alloc::boxed::Box(0)]", "value", "dfc-generated"] - ["::text_with_charset", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::url", "Argument[self].Field[reqwest::async_impl::response::Response::url]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::url", "Argument[self].Reference.Field[reqwest::async_impl::response::Response::url]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Bytes(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_async", "Argument[self].Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Reader(1)]", "ReturnValue.Field[2]", "value", "dfc-generated"] - ["::into_reader", "Argument[self].Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Bytes(0)]", "ReturnValue.Field[reqwest::blocking::body::Reader::Bytes(0)].Field[std::io::cursor::Cursor::inner]", "value", "dfc-generated"] - ["::into_reader", "Argument[self].Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Reader(0)]", "ReturnValue.Field[reqwest::blocking::body::Reader::Reader(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Reader(1)]", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sized", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::delete", "Argument[self].Reference", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::get", "Argument[self].Reference", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::head", "Argument[self].Reference", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::patch", "Argument[self].Reference", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::post", "Argument[self].Reference", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::put", "Argument[self].Reference", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] - - ["::request", "Argument[self].Reference", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue.Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Reader(0)]", "value", "dfc-generated"] + - ["::new", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Reader(0)]", "value", "dfc-generated"] + - ["::sized", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue.Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Reader(0)]", "value", "dfc-generated"] + - ["::sized", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[reqwest::blocking::body::Body::kind].Field[reqwest::blocking::body::Kind::Reader(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::execute", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[reqwest::blocking::client::ClientBuilder::inner]", "value", "dfc-generated"] - ["::add_crl", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add_crls", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -294,26 +327,43 @@ extensions: - ["::use_rustls_tls", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::user_agent", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::zstd", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::boundary", "Argument[self].Field[reqwest::blocking::multipart::Form::inner].Field[reqwest::async_impl::multipart::FormParts::boundary]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::blocking::client::ClientHandle::inner].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[reqwest::blocking::client::ClientHandle::inner].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::blocking::client::ClientHandle::inner].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[reqwest::blocking::client::ClientHandle::inner].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::blocking::client::ClientHandle::inner]", "ReturnValue.Field[reqwest::blocking::client::ClientHandle::inner]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::blocking::client::Timeout(0)]", "ReturnValue.Field[reqwest::blocking::client::Timeout(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::boundary", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::file", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::into_reader", "Argument[self]", "ReturnValue.Field[reqwest::blocking::multipart::Reader::form]", "value", "dfc-generated"] + - ["::part", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::part", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::part", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::part", "Argument[self]", "Argument[1]", "taint", "df-generated"] - ["::reader", "Argument[self]", "ReturnValue.Field[reqwest::blocking::multipart::Reader::form]", "value", "dfc-generated"] - - ["::metadata", "Argument[self].Field[reqwest::blocking::multipart::Part::meta]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::text", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::text", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::metadata", "Argument[self].Reference.Field[reqwest::blocking::multipart::Part::meta]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::value_len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::file_name", "Argument[self].Field[reqwest::blocking::multipart::Part::value]", "ReturnValue.Field[reqwest::blocking::multipart::Part::value]", "value", "dfc-generated"] - ["::headers", "Argument[self].Field[reqwest::blocking::multipart::Part::value]", "ReturnValue.Field[reqwest::blocking::multipart::Part::value]", "value", "dfc-generated"] - ["::mime_str", "Argument[self].Field[reqwest::blocking::multipart::Part::value]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[reqwest::blocking::multipart::Part::value]", "value", "dfc-generated"] - - ["::body", "Argument[self].Field[reqwest::blocking::request::Request::body].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::body_mut", "Argument[self].Field[reqwest::blocking::request::Request::body]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers_mut", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::headers]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::body", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::body_mut", "Argument[self].Reference.Field[reqwest::blocking::request::Request::body]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::headers_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_async", "Argument[self].Field[reqwest::blocking::request::Request::inner]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::method", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::method_mut", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::method]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::method", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::method_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::method]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::url]", "value", "dfc-generated"] - - ["::url", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::url_mut", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::url]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::version", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::version]", "ReturnValue", "value", "dfc-generated"] - - ["::version_mut", "Argument[self].Field[reqwest::blocking::request::Request::inner].Field[reqwest::async_impl::request::Request::version]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::url", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::url_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::version", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::version_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::basic_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bearer_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -322,6 +372,7 @@ extensions: - ["::build_split", "Argument[self].Field[reqwest::blocking::request::RequestBuilder::request]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::form", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from_parts", "Argument[0]", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::client]", "value", "dfc-generated"] + - ["::from_parts", "Argument[1]", "ReturnValue.Field[reqwest::blocking::request::RequestBuilder::request].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::json", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -334,15 +385,18 @@ extensions: - ["::timeout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::try_clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::version", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::error_for_status_ref", "Argument[self].Field[reqwest::blocking::response::Response::inner]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - - ["::error_for_status_ref", "Argument[self].Field[reqwest::blocking::response::Response::inner]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::error_for_status_ref", "Argument[self].Reference.Field[reqwest::blocking::response::Response::inner]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] + - ["::error_for_status_ref", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::blocking::response::Response::inner]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::blocking::response::Response::timeout]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[reqwest::blocking::response::Response::_thread_handle]", "value", "dfc-generated"] - - ["::url", "Argument[self].Field[reqwest::blocking::response::Response::inner].Field[reqwest::async_impl::response::Response::url]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::fetch", "Argument[self].Field[0].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::fetch", "Argument[self].Field[reqwest::config::RequestConfig(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::url", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[reqwest::config::RequestConfig(0)]", "ReturnValue.Field[reqwest::config::RequestConfig(0)]", "value", "dfc-generated"] + - ["::fetch", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::config::RequestConfig(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::connect::Connector::WithLayers(0)]", "ReturnValue.Field[reqwest::connect::Connector::WithLayers(0)]", "value", "dfc-generated"] - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_built_default_tls", "Argument[0]", "ReturnValue.Field[reqwest::connect::ConnectorBuilder::inner].Field[reqwest::connect::Inner::DefaultTls(0)]", "value", "dfc-generated"] - ["::from_built_default_tls", "Argument[1]", "ReturnValue.Field[reqwest::connect::ConnectorBuilder::inner].Field[reqwest::connect::Inner::DefaultTls(1)]", "value", "dfc-generated"] @@ -359,35 +413,54 @@ extensions: - ["::new_rustls_tls", "Argument[3]", "ReturnValue.Field[reqwest::connect::ConnectorBuilder::user_agent]", "value", "dfc-generated"] - ["::new_rustls_tls", "Argument[6]", "ReturnValue.Field[reqwest::connect::ConnectorBuilder::nodelay]", "value", "dfc-generated"] - ["::new_rustls_tls", "Argument[7]", "ReturnValue.Field[reqwest::connect::ConnectorBuilder::tls_info]", "value", "dfc-generated"] - - ["::set_socks_resolver", "Argument[0]", "Argument[self].Field[reqwest::connect::ConnectorBuilder::resolver].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::set_timeout", "Argument[0]", "Argument[self].Field[reqwest::connect::ConnectorBuilder::timeout]", "value", "dfc-generated"] - - ["::set_verbose", "Argument[0]", "Argument[self].Field[reqwest::connect::ConnectorBuilder::verbose].Field[0]", "value", "dfc-generated"] - - ["::set_verbose", "Argument[0]", "Argument[self].Field[reqwest::connect::ConnectorBuilder::verbose].Field[reqwest::connect::verbose::Wrapper(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::native_tls_conn::NativeTlsConn::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::native_tls_conn::NativeTlsConn::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::rustls_tls_conn::RustlsTlsConn::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::rustls_tls_conn::RustlsTlsConn::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::sealed::Conn::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::sealed::Conn::is_proxy]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::sealed::Conn::tls_info]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::sealed::Conn::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::sealed::Conn::is_proxy]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[reqwest::connect::sealed::Conn::tls_info]", "ReturnValue", "value", "dfc-generated"] - - ["::wrap", "Argument[0]", "ReturnValue.Reference.Field[reqwest::connect::verbose::Verbose::inner]", "value", "dfc-generated"] - - ["::wrap", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::resolve", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::resolve", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::resolve", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::source", "Argument[self].Field[0]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::source", "Argument[self].Field[reqwest::dns::hickory::HickoryDnsSystemConfError(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::set_socks_resolver", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_timeout", "Argument[0]", "Argument[self].Reference.Field[reqwest::connect::ConnectorBuilder::timeout]", "value", "dfc-generated"] + - ["::set_verbose", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[reqwest::connect::verbose::Wrapper(0)]", "ReturnValue.Field[reqwest::connect::verbose::Wrapper(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::connect::verbose::Wrapper(0)]", "ReturnValue.Field[reqwest::connect::verbose::Wrapper(0)]", "value", "dfc-generated"] + - ["::wrap", "Argument[0]", "ReturnValue.Field[alloc::boxed::Box(0)].Field[reqwest::connect::verbose::Verbose::inner]", "value", "dfc-generated"] + - ["::wrap", "Argument[0]", "ReturnValue.Field[alloc::boxed::Box(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[reqwest::dns::hickory::HickoryDnsResolver::state].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[reqwest::dns::hickory::HickoryDnsResolver::state].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::dns::hickory::HickoryDnsResolver::state].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[reqwest::dns::hickory::HickoryDnsResolver::state].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::dns::hickory::HickoryDnsResolver::state]", "ReturnValue.Field[reqwest::dns::hickory::HickoryDnsResolver::state]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::source", "Argument[self].Reference.Field[reqwest::dns::hickory::HickoryDnsSystemConfError(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::dns::resolve::DnsResolverWithOverrides::dns_resolver]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::dns::resolve::DynResolver::resolver].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[reqwest::dns::resolve::DynResolver::resolver].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::dns::resolve::DynResolver::resolver].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[reqwest::dns::resolve::DynResolver::resolver].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::dns::resolve::DynResolver::resolver]", "ReturnValue.Field[reqwest::dns::resolve::DynResolver::resolver]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::dns::resolve::DynResolver::resolver]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::status", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::url", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::url_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_url", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::without_url", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::maybe_has_http_auth", "Argument[self].Field[reqwest::proxy::Matcher::maybe_has_http_auth]", "ReturnValue", "value", "dfc-generated"] - - ["::maybe_has_http_custom_headers", "Argument[self].Field[reqwest::proxy::Matcher::maybe_has_http_custom_headers]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[reqwest::proxy::Extra::auth]", "ReturnValue.Field[reqwest::proxy::Extra::auth]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::proxy::Extra::misc]", "ReturnValue.Field[reqwest::proxy::Extra::misc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::proxy::Intercept::All(0)]", "ReturnValue.Field[reqwest::proxy::Intercept::All(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::proxy::Intercept::Http(0)]", "ReturnValue.Field[reqwest::proxy::Intercept::Http(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::proxy::Intercept::Https(0)]", "ReturnValue.Field[reqwest::proxy::Intercept::Https(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::basic_auth", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::custom_headers", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::intercept", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::maybe_has_http_auth", "Argument[self].Reference.Field[reqwest::proxy::Matcher::maybe_has_http_auth]", "ReturnValue", "value", "dfc-generated"] + - ["::maybe_has_http_custom_headers", "Argument[self].Reference.Field[reqwest::proxy::Matcher::maybe_has_http_custom_headers]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::proxy::NoProxy::inner]", "ReturnValue.Field[reqwest::proxy::NoProxy::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[reqwest::proxy::Proxy::no_proxy]", "ReturnValue.Field[reqwest::proxy::Proxy::no_proxy]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::basic_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::custom_http_auth", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::headers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -396,44 +469,84 @@ extensions: - ["::no_proxy", "Argument[0]", "Argument[self].Field[reqwest::proxy::Proxy::no_proxy]", "value", "dfc-generated"] - ["::no_proxy", "Argument[0]", "ReturnValue.Field[reqwest::proxy::Proxy::no_proxy]", "value", "dfc-generated"] - ["::no_proxy", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::previous", "Argument[self].Field[reqwest::redirect::Attempt::previous]", "ReturnValue", "value", "dfc-generated"] - - ["::status", "Argument[self].Field[reqwest::redirect::Attempt::status]", "ReturnValue", "value", "dfc-generated"] - - ["::url", "Argument[self].Field[reqwest::redirect::Attempt::next]", "ReturnValue", "value", "dfc-generated"] - - ["::custom", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::error", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::previous", "Argument[self].Reference.Field[reqwest::redirect::Attempt::previous]", "ReturnValue", "value", "dfc-generated"] + - ["::status", "Argument[self].Reference.Field[reqwest::redirect::Attempt::status]", "ReturnValue", "value", "dfc-generated"] + - ["::url", "Argument[self].Reference.Field[reqwest::redirect::Attempt::next]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::check", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::limited", "Argument[0]", "ReturnValue.Field[reqwest::redirect::Policy::inner].Field[reqwest::redirect::PolicyKind::Limit(0)]", "value", "dfc-generated"] + - ["::redirect", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::with_https_only", "Argument[0]", "Argument[self].Field[reqwest::redirect::TowerRedirectPolicy::https_only]", "value", "dfc-generated"] - - ["::with_https_only", "Argument[0]", "ReturnValue.Field[reqwest::redirect::TowerRedirectPolicy::https_only]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::with_https_only", "Argument[0]", "Argument[self].Reference.Field[reqwest::redirect::TowerRedirectPolicy::https_only]", "value", "dfc-generated"] - ["::with_https_only", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_referer", "Argument[0]", "Argument[self].Field[reqwest::redirect::TowerRedirectPolicy::referer]", "value", "dfc-generated"] - - ["::with_referer", "Argument[0]", "ReturnValue.Field[reqwest::redirect::TowerRedirectPolicy::referer]", "value", "dfc-generated"] + - ["::with_referer", "Argument[0]", "Argument[self].Reference.Field[reqwest::redirect::TowerRedirectPolicy::referer]", "value", "dfc-generated"] - ["::with_referer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_rustls_crl", "Argument[self].Field[reqwest::tls::CertificateRevocationList::inner].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::as_rustls_crl", "Argument[self].Field[reqwest::tls::CertificateRevocationList::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::response::ResponseUrl(0)]", "ReturnValue.Field[reqwest::response::ResponseUrl(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[reqwest::tls::Cert::Der(0)]", "ReturnValue.Field[reqwest::tls::Cert::Der(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::tls::Cert::Pem(0)]", "ReturnValue.Field[reqwest::tls::Cert::Pem(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::tls::Certificate::native]", "ReturnValue.Field[reqwest::tls::Certificate::native]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_rustls_crl", "Argument[self].Reference.Field[reqwest::tls::CertificateRevocationList::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::tls::ClientCert::Pem::certs]", "ReturnValue.Field[reqwest::tls::ClientCert::Pem::certs]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::tls::ClientCert::Pkcs12(0)]", "ReturnValue.Field[reqwest::tls::ClientCert::Pkcs12(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[reqwest::tls::ClientCert::Pkcs8(0)]", "ReturnValue.Field[reqwest::tls::ClientCert::Pkcs8(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::tls::IgnoreHostname::roots]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[reqwest::tls::IgnoreHostname::signature_algorithms]", "value", "dfc-generated"] - - ["::peer_certificate", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[reqwest::tls::TlsInfo::peer_certificate]", "ReturnValue.Field[reqwest::tls::TlsInfo::peer_certificate]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[reqwest::util::Escape(0)]", "value", "dfc-generated"] - ["::into_url", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["reqwest::async_impl::body::total_timeout", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::body::TotalTimeoutBody::inner]", "value", "dfc-generated"] - ["reqwest::async_impl::body::total_timeout", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::body::TotalTimeoutBody::timeout]", "value", "dfc-generated"] - ["reqwest::async_impl::body::with_read_timeout", "Argument[0]", "ReturnValue.Field[reqwest::async_impl::body::ReadTimeoutBody::inner]", "value", "dfc-generated"] - ["reqwest::async_impl::body::with_read_timeout", "Argument[1]", "ReturnValue.Field[reqwest::async_impl::body::ReadTimeoutBody::timeout]", "value", "dfc-generated"] + - ["reqwest::async_impl::h3_client::dns::resolve", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["reqwest::blocking::body::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["reqwest::error::cast_to_internal_error", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["reqwest::into_url::try_uri", "Argument[0]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: + - ["<& as tower_service::Service>::call", "Argument[self]", "alloc-layout", "df-generated"] + - ["<& as tower_service::Service>::call", "Argument[self]", "log-injection", "df-generated"] + - ["::call", "Argument[self]", "alloc-layout", "df-generated"] + - ["::call", "Argument[self]", "log-injection", "df-generated"] - ["::delete", "Argument[0]", "request-url", "df-generated"] + - ["::execute", "Argument[self]", "alloc-layout", "df-generated"] + - ["::execute", "Argument[self]", "log-injection", "df-generated"] + - ["::execute_request", "Argument[self]", "alloc-layout", "df-generated"] + - ["::execute_request", "Argument[self]", "log-injection", "df-generated"] - ["::get", "Argument[0]", "request-url", "df-generated"] - ["::head", "Argument[0]", "request-url", "df-generated"] - ["::patch", "Argument[0]", "request-url", "df-generated"] - ["::post", "Argument[0]", "request-url", "df-generated"] - ["::put", "Argument[0]", "request-url", "df-generated"] + - ["::build", "Argument[self]", "disable-certificate", "df-generated"] - ["::into_stream", "Argument[self]", "log-injection", "df-generated"] - ["::stream", "Argument[self]", "log-injection", "df-generated"] - ["::multipart", "Argument[0]", "log-injection", "df-generated"] + - ["::send", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send", "Argument[self]", "log-injection", "df-generated"] + - ["::buffer", "Argument[self]", "alloc-layout", "df-generated"] - ["::delete", "Argument[0]", "request-url", "df-generated"] + - ["::execute", "Argument[self]", "alloc-layout", "df-generated"] + - ["::execute", "Argument[self]", "log-injection", "df-generated"] - ["::get", "Argument[0]", "request-url", "df-generated"] - ["::head", "Argument[0]", "request-url", "df-generated"] - ["::patch", "Argument[0]", "request-url", "df-generated"] @@ -443,22 +556,20 @@ extensions: - ["::reader", "Argument[self]", "log-injection", "df-generated"] - ["::read", "Argument[self]", "log-injection", "df-generated"] - ["::multipart", "Argument[0]", "log-injection", "df-generated"] - - ["::read", "Argument[self]", "pointer-access", "df-generated"] - - ["::bytes", "Argument[self]", "pointer-access", "df-generated"] - - ["::json", "Argument[self]", "pointer-access", "df-generated"] - - ["::text", "Argument[self]", "pointer-access", "df-generated"] - - ["::text_with_charset", "Argument[self]", "pointer-access", "df-generated"] + - ["::send", "Argument[self]", "alloc-layout", "df-generated"] + - ["::send", "Argument[self]", "log-injection", "df-generated"] + - ["::call", "Argument[0]", "log-injection", "df-generated"] - ["::call", "Argument[0]", "log-injection", "df-generated"] - - ["::new", "Argument[1]", "pointer-access", "df-generated"] + - ["::new", "Argument[1]", "alloc-layout", "df-generated"] + - ["::new", "Argument[1]", "log-injection", "df-generated"] - ["reqwest::blocking::get", "Argument[0]", "request-url", "df-generated"] - - ["reqwest::blocking::wait::timeout", "Argument[1]", "pointer-access", "df-generated"] + - ["reqwest::blocking::wait::timeout", "Argument[1]", "alloc-layout", "df-generated"] + - ["reqwest::blocking::wait::timeout", "Argument[1]", "log-injection", "df-generated"] - ["reqwest::get", "Argument[0]", "request-url", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sourceModel data: - - ["::file", "ReturnValue", "file", "df-generated"] - - ["::file", "ReturnValue", "file", "df-generated"] - ["::file", "ReturnValue", "file", "df-generated"] - ["::file", "ReturnValue", "file", "df-generated"] - ["::from_env", "ReturnValue", "environment", "df-generated"] diff --git a/rust/ql/lib/ext/generated/rocket.model.yml b/rust/ql/lib/ext/generated/rocket.model.yml deleted file mode 100644 index d1729726763..00000000000 --- a/rust/ql/lib/ext/generated/rocket.model.yml +++ /dev/null @@ -1,930 +0,0 @@ -# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT. -extensions: - - addsTo: - pack: codeql/rust-all - extensible: summaryModel - data: - - ["::from", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Owned(0)]", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Field[alloc::borrow::Cow::Owned(0)]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::finalize", "Argument[0].Field[rocket::form::from_form::MapContext::errors]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::init", "Argument[0]", "ReturnValue.Field[rocket::form::from_form::MapContext::opts]", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue", "value", "dfc-generated"] - - ["::len_into_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::string::String::vec].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::string::String::vec].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::len_into_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_ignite", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_shutdown", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_shutdown", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::finalize", "Argument[0].Field[rocket::form::from_form::VecContext::errors]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::finalize", "Argument[0].Field[rocket::form::from_form::VecContext::items]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::init", "Argument[0]", "ReturnValue.Field[rocket::form::from_form::VecContext::opts]", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::len_into_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::into_collection", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::or_error", "Argument[0]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)]", "value", "dfc-generated"] - - ["::or_error", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::or_forward", "Argument[0]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)]", "value", "dfc-generated"] - - ["::or_forward", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::fs::File::inner]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::or_error", "Argument[0]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)].Field[0]", "value", "dfc-generated"] - - ["::or_error", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)].Field[1]", "value", "dfc-generated"] - - ["::or_error", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::or_forward", "Argument[0].Field[0]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)].Field[0]", "value", "dfc-generated"] - - ["::or_forward", "Argument[0].Field[1]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)].Field[1]", "value", "dfc-generated"] - - ["::or_forward", "Argument[0]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)]", "value", "dfc-generated"] - - ["::or_forward", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::fs::File::inner]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[databases::diesel_mysql::Db(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[databases::diesel_mysql::Db(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[databases::sqlx::Db(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[databases::sqlx::Db(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::close", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::init", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_ignite", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::close", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::get", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::init", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_param", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::file_path", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::with_span", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[rocket::catcher::catcher::StaticInfo::handler]", "ReturnValue.Field[rocket::catcher::catcher::Catcher::handler].Reference", "value", "dfc-generated"] - - ["::map_base", "Argument[self].Field[rocket::catcher::catcher::Catcher::base]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::map_base", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::catcher::catcher::Catcher::handler].Reference", "value", "dfc-generated"] - - ["::profile", "Argument[self].Field[rocket::config::config::Config::profile].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::profile", "Argument[self].Field[rocket::config::config::Config::profile]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::ca_certs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mandatory", "Argument[0]", "Argument[self].Field[rocket::config::tls::MutualTls::mandatory]", "value", "dfc-generated"] - - ["::mandatory", "Argument[0]", "ReturnValue.Field[rocket::config::tls::MutualTls::mandatory]", "value", "dfc-generated"] - - ["::mandatory", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::certs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::key", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mutual", "Argument[self].Field[rocket::config::tls::TlsConfig::mutual].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::prefer_server_cipher_order", "Argument[self].Field[rocket::config::tls::TlsConfig::prefer_server_cipher_order]", "ReturnValue", "value", "dfc-generated"] - - ["::to_native_config", "Argument[self].Field[rocket::config::tls::TlsConfig::prefer_server_cipher_order]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[rocket_http::tls::listener::Config::prefer_server_order]", "value", "dfc-generated"] - - ["::with_ciphers", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_mutual", "Argument[0]", "Argument[self].Field[rocket::config::tls::TlsConfig::mutual].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_mutual", "Argument[0]", "ReturnValue.Field[rocket::config::tls::TlsConfig::mutual].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_mutual", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_preferred_server_cipher_order", "Argument[0]", "Argument[self].Field[rocket::config::tls::TlsConfig::prefer_server_cipher_order]", "value", "dfc-generated"] - - ["::with_preferred_server_cipher_order", "Argument[0]", "ReturnValue.Field[rocket::config::tls::TlsConfig::prefer_server_cipher_order]", "value", "dfc-generated"] - - ["::with_preferred_server_cipher_order", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[rocket::cookies::CookieJar::config]", "ReturnValue.Field[rocket::cookies::CookieJar::config]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::cookies::CookieJar::jar]", "value", "dfc-generated"] - - ["::from", "Argument[1]", "ReturnValue.Field[rocket::cookies::CookieJar::config]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::cookies::CookieJar::config]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::data::capped::Capped::value]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::data::capped::Capped::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::data::capped::Capped::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_value", "Argument[0].Field[rocket::form::field::ValueField::value]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[rocket::data::capped::Capped::value]", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::complete", "Argument[0]", "ReturnValue.Field[rocket::data::capped::Capped::value]", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[rocket::data::capped::Capped::value]", "ReturnValue", "value", "dfc-generated"] - - ["::is_complete", "Argument[self].Field[rocket::data::capped::Capped::n].Field[rocket::data::capped::N::complete]", "ReturnValue", "value", "dfc-generated"] - - ["::map", "Argument[0].ReturnValue", "ReturnValue.Field[rocket::data::capped::Capped::value]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[rocket::data::capped::Capped::n]", "ReturnValue.Field[rocket::data::capped::Capped::n]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[rocket::data::capped::Capped::value]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::data::capped::Capped::value]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::data::capped::Capped::n]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::data::capped::N::written]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::local", "Argument[0]", "ReturnValue.Field[rocket::data::data::Data::buffer]", "value", "dfc-generated"] - - ["::peek", "Argument[self].Field[rocket::data::data::Data::buffer].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::peek_complete", "Argument[self].Field[rocket::data::data::Data::is_complete]", "ReturnValue", "value", "dfc-generated"] - - ["::hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::data::data_stream::StreamReader::inner].Field[rocket::data::data_stream::StreamKind::Body(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::data::data_stream::StreamReader::inner].Field[rocket::data::data_stream::StreamKind::Multipart(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::data::io_stream::IoStream::kind].Field[rocket::data::io_stream::IoStreamKind::Upgraded(0)]", "value", "dfc-generated"] - - ["::limit", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::error::Error::kind]", "value", "dfc-generated"] - - ["::kind", "Argument[self].Field[rocket::error::Error::kind]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::error::Error::kind]", "value", "dfc-generated"] - - ["::shutdown", "Argument[0]", "ReturnValue.Field[rocket::error::Error::kind].Field[rocket::error::ErrorKind::Shutdown(0)]", "value", "dfc-generated"] - - ["::io", "Argument[self].Field[rocket::ext::CancellableIo::io].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::ext::CancellableIo::io].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::new", "Argument[2]", "ReturnValue.Field[rocket::ext::CancellableIo::grace]", "value", "dfc-generated"] - - ["::new", "Argument[3]", "ReturnValue.Field[rocket::ext::CancellableIo::mercy]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::ext::CancellableListener::trigger]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::ext::CancellableListener::listener]", "value", "dfc-generated"] - - ["::new", "Argument[2]", "ReturnValue.Field[rocket::ext::CancellableListener::grace].Field[core::time::Duration::secs]", "value", "dfc-generated"] - - ["::new", "Argument[3]", "ReturnValue.Field[rocket::ext::CancellableListener::mercy].Field[core::time::Duration::secs]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_ref", "Argument[self].Field[rocket::ext::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[rocket::ext::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::ext::Chain::first]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::ext::Chain::second]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::Chain::done_first]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::Chain::first]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::Chain::second]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::Chain::done_first]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::Chain::first]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::Chain::second]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::ext::Join::a]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::ext::Join::b]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::ReaderStream::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::ReaderStream::cap]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::ReaderStream::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::ReaderStream::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::ReaderStream::cap]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::ext::ReaderStream::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::info", "Argument[self].Field[rocket::fairing::ad_hoc::AdHoc::name]", "ReturnValue.Field[rocket::fairing::info_kind::Info::name]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_ignite", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_request", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_shutdown", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_shutdown", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Field[rocket::fairing::ad_hoc::AdHoc::name]", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[0]", "ReturnValue.Field[rocket::fairing::ad_hoc::AdHoc::name]", "value", "dfc-generated"] - - ["::on_request", "Argument[0]", "ReturnValue.Field[rocket::fairing::ad_hoc::AdHoc::name]", "value", "dfc-generated"] - - ["::on_response", "Argument[0]", "ReturnValue.Field[rocket::fairing::ad_hoc::AdHoc::name]", "value", "dfc-generated"] - - ["::on_shutdown", "Argument[0]", "ReturnValue.Field[rocket::fairing::ad_hoc::AdHoc::name]", "value", "dfc-generated"] - - ["::try_on_ignite", "Argument[0]", "ReturnValue.Field[rocket::fairing::ad_hoc::AdHoc::name]", "value", "dfc-generated"] - - ["::audit", "Argument[self].Field[rocket::fairing::fairings::Fairings::failures]", "ReturnValue.Field[core::result::Result::Err(0)].Reference", "value", "dfc-generated"] - - ["::handle_ignite", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::push_error", "Argument[0].Field[rocket::form::error::Error::kind].Field[rocket::form::error::ErrorKind::Custom(0)]", "Argument[self].Field[rocket::form::context::Context::status]", "value", "dfc-generated"] - - ["::status", "Argument[self].Field[rocket::form::context::Context::status]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::form::error::Error::kind]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::set_entity", "Argument[0]", "Argument[self].Field[rocket::form::error::Error::entity]", "value", "dfc-generated"] - - ["::status", "Argument[self].Field[rocket::form::error::Error::kind].Field[rocket::form::error::ErrorKind::Custom(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::with_entity", "Argument[0]", "Argument[self].Field[rocket::form::error::Error::entity]", "value", "dfc-generated"] - - ["::with_entity", "Argument[0]", "ReturnValue.Field[rocket::form::error::Error::entity]", "value", "dfc-generated"] - - ["::with_entity", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_value", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[rocket::form::error::ErrorKind::Custom(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[rocket::form::error::ErrorKind::InvalidLength::min]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[rocket::form::error::ErrorKind::OutOfRange::start]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[rocket::form::error::ErrorKind::Custom(1)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[rocket::form::error::ErrorKind::InvalidLength::max]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[rocket::form::error::ErrorKind::OutOfRange::end]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::form::error::ErrorKind::Custom(1)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::form::error::Errors(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::form::error::Errors(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::form::error::Errors(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::with_name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_value", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::shift", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[rocket::form::field::ValueField::value]", "value", "dfc-generated"] - - ["::from_value", "Argument[0]", "ReturnValue.Field[rocket::form::field::ValueField::value]", "value", "dfc-generated"] - - ["::shift", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::form::form::Form(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::form::form::Form(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::form::form::Form(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[rocket::form::form::Form(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::form::lenient::Lenient(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::form::lenient::Lenient(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::form::lenient::Lenient(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[rocket::form::lenient::Lenient(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0].Field[core::option::Option::Some(0)]", "ReturnValue.Field[rocket::form::name::buf::NameBuf::left]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[rocket::form::name::buf::NameBuf::left].Field[0]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[rocket::form::name::buf::NameBuf::right]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[rocket::form::name::view::NameView::name].Element", "ReturnValue.Field[rocket::form::name::buf::NameBuf::left].Reference", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::form::name::buf::NameBuf::left]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket::form::name::buf::NameBuf::right].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Field[rocket::form::name::buf::NameBuf::right].Field[alloc::borrow::Cow::Owned(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::form::name::key::Key(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[0]", "ReturnValue.Reference.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[rocket::form::name::key::Key(0)]", "ReturnValue.Reference.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::form::name::name::Name(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[rocket::form::name::name::Name(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[rocket::form::name::view::NameView::name].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_name", "Argument[self].Field[rocket::form::name::view::NameView::name].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::parent", "Argument[self].Field[rocket::form::name::view::NameView::name].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::shift", "Argument[self].Field[rocket::form::name::view::NameView::end]", "Argument[self].Reference.Field[rocket::form::name::view::NameView::start]", "value", "dfc-generated"] - - ["::shift", "Argument[self].Field[rocket::form::name::view::NameView::name]", "Argument[self].Reference.Field[rocket::form::name::view::NameView::name]", "value", "dfc-generated"] - - ["::source", "Argument[self].Field[rocket::form::name::view::NameView::name]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[rocket::form::parser::RawStrParser::source].Element", "Argument[self].Field[rocket::form::parser::RawStrParser::source].Reference", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::form::parser::RawStrParser::buffer]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::form::parser::RawStrParser::source]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::form::strict::Strict(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::form::strict::Strict(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::form::strict::Strict(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[rocket::form::strict::Strict(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::fs::named_file::NamedFile(1)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::fs::named_file::NamedFile(1)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::file", "Argument[self].Field[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::file", "Argument[self].Field[rocket::fs::named_file::NamedFile(1)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::file_mut", "Argument[self].Field[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::file_mut", "Argument[self].Field[rocket::fs::named_file::NamedFile(1)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::path", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::take_file", "Argument[self].Field[1]", "ReturnValue", "value", "dfc-generated"] - - ["::take_file", "Argument[self].Field[rocket::fs::named_file::NamedFile(1)]", "ReturnValue", "value", "dfc-generated"] - - ["::handle", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle", "Argument[1]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)].Field[0]", "value", "dfc-generated"] - - ["::handle", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::handle", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket::fs::server::FileServer::options]", "value", "dfc-generated"] - - ["::rank", "Argument[0]", "Argument[self].Field[rocket::fs::server::FileServer::rank]", "value", "dfc-generated"] - - ["::rank", "Argument[0]", "ReturnValue.Field[rocket::fs::server::FileServer::rank]", "value", "dfc-generated"] - - ["::rank", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[rocket::fs::temp_file::TempFile::File::len].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::len_into_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::len", "Argument[self].Field[rocket::fs::temp_file::TempFile::File::len].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::open", "Argument[self].Field[rocket::fs::temp_file::TempFile::Buffered::content].Reference", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio_util::either::Either::Right(0)]", "value", "dfc-generated"] - - ["::raw_name", "Argument[self].Reference.Field[rocket::fs::temp_file::TempFile::File::file_name]", "ReturnValue", "value", "dfc-generated"] - - ["::_new", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[rocket::local::asynchronous::client::Client::tracked]", "value", "dfc-generated"] - - ["::_rocket", "Argument[self].Field[rocket::local::asynchronous::client::Client::rocket]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::_with_raw_cookies", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::_with_raw_cookies_mut", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::_body_mut", "Argument[self].Field[rocket::local::asynchronous::request::LocalRequest::data]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::_request", "Argument[self].Field[rocket::local::asynchronous::request::LocalRequest::request]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::_request_mut", "Argument[self].Field[rocket::local::asynchronous::request::LocalRequest::request]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::cookies", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::identity", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::local::asynchronous::request::LocalRequest::client]", "value", "dfc-generated"] - - ["::private_cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::remote", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::_cookies", "Argument[self].Field[rocket::local::asynchronous::response::LocalResponse::cookies]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::_response", "Argument[self].Field[rocket::local::asynchronous::response::LocalResponse::response]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - - ["::_test", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::_with_raw_cookies", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::inner", "Argument[self].Field[rocket::local::blocking::client::Client::inner].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::cookies", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::identity", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::local::blocking::request::LocalRequest::client]", "value", "dfc-generated"] - - ["::private_cookie", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::remote", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::_cookies", "Argument[self].Field[rocket::local::blocking::response::LocalResponse::inner].Field[rocket::local::asynchronous::response::LocalResponse::cookies]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::and_then", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::and_then", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)]", "value", "dfc-generated"] - - ["::and_then", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)]", "value", "dfc-generated"] - - ["::and_then", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)].Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)].Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)].Reference", "value", "dfc-generated"] - - ["::error_then", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::error_then", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::error_then", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)]", "value", "dfc-generated"] - - ["::error_then", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::expect", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::failed", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::forward_then", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::forward_then", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)]", "value", "dfc-generated"] - - ["::forward_then", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::forward_then", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::forwarded", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::map", "Argument[0].ReturnValue", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::map_error", "Argument[0].ReturnValue", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)]", "value", "dfc-generated"] - - ["::map_error", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::map_error", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)]", "value", "dfc-generated"] - - ["::map_error", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::map_forward", "Argument[0].ReturnValue", "ReturnValue.Field[rocket::outcome::Outcome::Forward(0)]", "value", "dfc-generated"] - - ["::map_forward", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Error(0)]", "value", "dfc-generated"] - - ["::map_forward", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::map_forward", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[rocket::outcome::Outcome::Success(0)]", "value", "dfc-generated"] - - ["::ok_map_error", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::ok_map_error", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::ok_map_error", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::ok_map_error", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::ok_map_forward", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::ok_map_forward", "Argument[self].Field[rocket::outcome::Outcome::Error(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::ok_map_forward", "Argument[self].Field[rocket::outcome::Outcome::Forward(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::ok_map_forward", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::pin", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::succeeded", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::success_or", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::success_or", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::success_or_else", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::success_or_else", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::unwrap", "Argument[self].Field[rocket::outcome::Outcome::Success(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::as_state_ref", "Argument[self]", "ReturnValue.Field[rocket::phase::StateRef::Build(0)]", "value", "dfc-generated"] - - ["::into_state", "Argument[self]", "ReturnValue.Field[rocket::phase::State::Build(0)]", "value", "dfc-generated"] - - ["::as_state_ref", "Argument[self]", "ReturnValue.Field[rocket::phase::StateRef::Ignite(0)]", "value", "dfc-generated"] - - ["::into_state", "Argument[self]", "ReturnValue.Field[rocket::phase::State::Ignite(0)]", "value", "dfc-generated"] - - ["::as_state_ref", "Argument[self]", "ReturnValue.Field[rocket::phase::StateRef::Orbit(0)]", "value", "dfc-generated"] - - ["::into_state", "Argument[self]", "ReturnValue.Field[rocket::phase::State::Orbit(0)]", "value", "dfc-generated"] - - ["::client_ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::cookies", "Argument[self].Field[rocket::request::request::Request::state].Field[rocket::request::request::RequestState::cookies]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::cookies_mut", "Argument[self].Field[rocket::request::request::Request::state].Field[rocket::request::request::RequestState::cookies]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[rocket::request::request::Request::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::request::request::Request::state].Field[rocket::request::request::RequestState::rocket]", "value", "dfc-generated"] - - ["::new", "Argument[2]", "ReturnValue.Field[rocket::request::request::Request::uri]", "value", "dfc-generated"] - - ["::remote", "Argument[self].Field[rocket::request::request::Request::connection].Field[rocket::request::request::ConnectionMeta::remote]", "ReturnValue", "value", "dfc-generated"] - - ["::rocket", "Argument[self].Field[rocket::request::request::Request::state].Field[rocket::request::request::RequestState::rocket]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::routed_segments", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::set_uri", "Argument[0]", "Argument[self].Field[rocket::request::request::Request::uri]", "value", "dfc-generated"] - - ["::uri", "Argument[self].Field[rocket::request::request::Request::uri]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::max_chunk_size", "Argument[self].Field[rocket::response::body::Body::max_chunk]", "ReturnValue", "value", "dfc-generated"] - - ["::preset_size", "Argument[self].Field[rocket::response::body::Body::size]", "ReturnValue", "value", "dfc-generated"] - - ["::set_max_chunk_size", "Argument[0]", "Argument[self].Field[rocket::response::body::Body::max_chunk]", "value", "dfc-generated"] - - ["::with_sized", "Argument[1]", "ReturnValue.Field[rocket::response::body::Body::size]", "value", "dfc-generated"] - - ["::with_unsized", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::response::debug::Debug(0)]", "value", "dfc-generated"] - - ["::error", "Argument[0]", "ReturnValue.Field[rocket::response::flash::Flash::inner]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::response::flash::Flash::inner]", "value", "dfc-generated"] - - ["::success", "Argument[0]", "ReturnValue.Field[rocket::response::flash::Flash::inner]", "value", "dfc-generated"] - - ["::warning", "Argument[0]", "ReturnValue.Field[rocket::response::flash::Flash::inner]", "value", "dfc-generated"] - - ["::header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::header_adjoin", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::join", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_chunk_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::merge", "Argument[0].Field[rocket::response::response::Response::body]", "Argument[self].Field[rocket::response::response::Builder::response].Field[rocket::response::response::Response::body]", "value", "dfc-generated"] - - ["::merge", "Argument[0].Field[rocket::response::response::Response::body]", "ReturnValue.Field[rocket::response::response::Builder::response].Field[rocket::response::response::Response::body]", "value", "dfc-generated"] - - ["::merge", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::response::response::Builder::response]", "value", "dfc-generated"] - - ["::raw_header", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::raw_header_adjoin", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::sized_body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::status", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::streamed_body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::upgrade", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::body", "Argument[self].Field[rocket::response::response::Response::body]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::body_mut", "Argument[self].Field[rocket::response::response::Response::body]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::build_from", "Argument[0]", "ReturnValue.Field[rocket::response::response::Builder::response]", "value", "dfc-generated"] - - ["::headers", "Argument[self].Field[rocket::response::response::Response::headers]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::join", "Argument[0].Field[rocket::response::response::Response::body]", "Argument[self].Field[rocket::response::response::Response::body]", "value", "dfc-generated"] - - ["::join", "Argument[0].Field[rocket::response::response::Response::status]", "Argument[self].Field[rocket::response::response::Response::status]", "value", "dfc-generated"] - - ["::merge", "Argument[0].Field[rocket::response::response::Response::body]", "Argument[self].Field[rocket::response::response::Response::body]", "value", "dfc-generated"] - - ["::set_status", "Argument[0]", "Argument[self].Field[rocket::response::response::Response::status].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::status", "Argument[self].Field[rocket::response::response::Response::status].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::tagged_body", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::response::stream::bytes::ByteStream(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::response::stream::one::One(0)].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::response::stream::reader::ReaderStream::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::response::stream::reader::ReaderStream::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::response::stream::reader::ReaderStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::response::stream::reader::ReaderStream::state]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[rocket::response::stream::reader::ReaderStream::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::event", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::id", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::retry", "Argument[0]", "ReturnValue.Field[rocket::response::stream::sse::Event::retry].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_comment", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_data", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::with_retry", "Argument[0]", "Argument[self].Field[rocket::response::stream::sse::Event::retry].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_retry", "Argument[0]", "ReturnValue.Field[rocket::response::stream::sse::Event::retry].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_retry", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::response::stream::sse::EventStream::stream]", "value", "dfc-generated"] - - ["::heartbeat", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::response::stream::text::TextStream(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::rkt::Rocket(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::rkt::Rocket(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::rkt::Rocket(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::attach", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::configure", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::default_tcp_http_server", "Argument[self]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - - ["::manage", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::mount", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::register", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::map_base", "Argument[self].Field[rocket::route::route::Route::uri].Field[rocket::route::uri::RouteUri::base]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::map_base", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket::route::route::Route::method]", "value", "dfc-generated"] - - ["::new", "Argument[2]", "ReturnValue.Field[rocket::route::route::Route::handler].Reference", "value", "dfc-generated"] - - ["::ranked", "Argument[1]", "ReturnValue.Field[rocket::route::route::Route::method]", "value", "dfc-generated"] - - ["::ranked", "Argument[3]", "ReturnValue.Field[rocket::route::route::Route::handler].Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::route::uri::RouteUri::origin]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[rocket::route::uri::RouteUri::source]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::default_rank", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::query", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::serde::json::Json(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::serde::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::serde::json::Json(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue.Field[rocket::serde::json::Json(0)]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[rocket::serde::json::Json(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket::serde::msgpack::MsgPack(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::serde::msgpack::MsgPack(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket::serde::msgpack::MsgPack(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[rocket::serde::msgpack::MsgPack(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::allow", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::block", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_response", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::disable", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::enable", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::state::State(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::inner", "Argument[self].Field[rocket::state::State(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[rocket::trip_wire::TripWire::state].Reference", "ReturnValue.Field[rocket::trip_wire::TripWire::state]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[rocket::trip_wire::TripWire::state]", "ReturnValue.Field[rocket::trip_wire::TripWire::state]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket::trip_wire::TripWire::state]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::attribute::param::Dynamic::name]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::parse", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::segment]", "value", "dfc-generated"] - - ["::parse", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::source]", "value", "dfc-generated"] - - ["::parse", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::source_span]", "value", "dfc-generated"] - - ["::parse", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::span]", "value", "dfc-generated"] - - ["::parse", "Argument[1]", "ReturnValue.Field[rocket_codegen::attribute::param::Parameter::Static(0)].Field[rocket_codegen::name::Name::span]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::attribute::param::Guard::source]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_codegen::attribute::param::Guard::source]", "value", "dfc-generated"] - - ["::from", "Argument[1]", "ReturnValue.Field[rocket_codegen::attribute::param::Guard::fn_ident]", "value", "dfc-generated"] - - ["::from", "Argument[2]", "ReturnValue.Field[rocket_codegen::attribute::param::Guard::ty]", "value", "dfc-generated"] - - ["::dynamic", "Argument[self].Field[rocket_codegen::attribute::param::Parameter::Dynamic(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::dynamic_mut", "Argument[self].Field[rocket_codegen::attribute::param::Parameter::Dynamic(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::guard", "Argument[self].Field[rocket_codegen::attribute::param::Parameter::Guard(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::ignored", "Argument[self].Field[rocket_codegen::attribute::param::Parameter::Ignored(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::parse", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::segment]", "value", "dfc-generated"] - - ["::parse", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::source]", "value", "dfc-generated"] - - ["::parse", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::source_span]", "value", "dfc-generated"] - - ["::parse", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[rocket_codegen::attribute::param::parse::Error::span]", "value", "dfc-generated"] - - ["::r#static", "Argument[self].Field[rocket_codegen::attribute::param::Parameter::Static(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::take_dynamic", "Argument[self].Field[rocket_codegen::attribute::param::Parameter::Dynamic(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_codegen::attribute::param::parse::Error::segment]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_codegen::attribute::param::parse::Error::source]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket_codegen::attribute::param::parse::Error::source_span]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket_codegen::attribute::param::parse::Error::span]", "value", "dfc-generated"] - - ["::new", "Argument[2]", "ReturnValue.Field[rocket_codegen::attribute::param::parse::Error::kind]", "value", "dfc-generated"] - - ["::source", "Argument[0]", "Argument[self].Field[rocket_codegen::attribute::param::parse::Error::source]", "value", "dfc-generated"] - - ["::source", "Argument[0]", "ReturnValue.Field[rocket_codegen::attribute::param::parse::Error::source]", "value", "dfc-generated"] - - ["::source", "Argument[1]", "Argument[self].Field[rocket_codegen::attribute::param::parse::Error::source_span]", "value", "dfc-generated"] - - ["::source", "Argument[1]", "ReturnValue.Field[rocket_codegen::attribute::param::parse::Error::source_span]", "value", "dfc-generated"] - - ["::source", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[rocket_codegen::attribute::route::parse::Route::attr]", "value", "dfc-generated"] - - ["::from", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[rocket_codegen::attribute::route::parse::Route::handler]", "value", "dfc-generated"] - - ["::upgrade_dynamic", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[rocket_codegen::attribute::param::Guard::source]", "value", "dfc-generated"] - - ["::upgrade_param", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::attribute::route::parse::RouteUri::origin]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_expr", "Argument[self].Field[rocket_codegen::bang::uri_parsing::ArgExpr::Expr(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::unwrap_expr", "Argument[self].Field[rocket_codegen::bang::uri_parsing::ArgExpr::Expr(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::bang::uri_parsing::UriLit(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::derive::form_field::FieldName::Cased(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::derive::form_field::FieldName::Uncased(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::respanned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[rocket_codegen::name::Name::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::name::Name::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[rocket_codegen::name::Name::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket_codegen::name::Name::span]", "value", "dfc-generated"] - - ["::span", "Argument[self].Field[rocket_codegen::name::Name::span]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_codegen::proc_macro_ext::Diagnostics(0)]", "value", "dfc-generated"] - - ["::head_err_or", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::proc_macro_ext::StringLit(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_codegen::syn_ext::Child::ty]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_codegen::syn_ext::Child::ty].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Field[rocket_codegen::syn_ext::Child::ty].Field[alloc::borrow::Cow::Owned(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_db_pools::database::Connection(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[rocket_db_pools::database::Connection(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[rocket_db_pools::database::Connection(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::info", "Argument[self].Field[0].Field[core::option::Option::Some(0)]", "ReturnValue.Field[rocket::fairing::info_kind::Info::name]", "value", "dfc-generated"] - - ["::info", "Argument[self].Field[rocket_db_pools::database::Initializer(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[rocket::fairing::info_kind::Info::name]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_ignite", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_shutdown", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_shutdown", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::context", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::context", "Argument[self].Field[rocket_dyn_templates::context::manager::ContextManager(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_dyn_templates::context::manager::ContextManager(0)]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::on_ignite", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_ignite", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::custom", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::try_custom", "Argument[0]", "ReturnValue.Field[rocket_dyn_templates::fairing::TemplateFairing::callback].Reference", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::header::accept::QMediaType(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_http::header::accept::QMediaType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::media_type", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::media_type", "Argument[self].Field[rocket_http::header::accept::QMediaType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::weight", "Argument[self].Field[1]", "ReturnValue", "value", "dfc-generated"] - - ["::weight", "Argument[self].Field[rocket_http::header::accept::QMediaType(1)]", "ReturnValue", "value", "dfc-generated"] - - ["::weight_or", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::weight_or", "Argument[self].Field[1].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::weight_or", "Argument[self].Field[rocket_http::header::accept::QMediaType(1)].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::header::content_type::ContentType(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_http::header::content_type::ContentType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::media_type", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::media_type", "Argument[self].Field[rocket_http::header::content_type::ContentType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::with_params", "Argument[self].Field[0]", "ReturnValue.Field[rocket_http::header::content_type::ContentType(0)]", "value", "dfc-generated"] - - ["::with_params", "Argument[self].Field[rocket_http::header::content_type::ContentType(0)]", "ReturnValue.Field[rocket_http::header::content_type::ContentType(0)]", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[rocket_http::header::header::Header::name]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::value", "Argument[self].Field[rocket_http::header::header::Header::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::const_new", "Argument[2]", "ReturnValue.Field[rocket_http::header::media_type::MediaType::params].Field[rocket_http::header::media_type::MediaParams::Static(0)]", "value", "dfc-generated"] - - ["::known_source", "Argument[self].Field[rocket_http::header::media_type::MediaType::source].Field[rocket_http::header::media_type::Source::Known(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::new_known", "Argument[0]", "ReturnValue.Field[rocket_http::header::media_type::MediaType::source].Field[rocket_http::header::media_type::Source::Known(0)]", "value", "dfc-generated"] - - ["::new_known", "Argument[3]", "ReturnValue.Field[rocket_http::header::media_type::MediaType::params].Field[rocket_http::header::media_type::MediaParams::Static(0)]", "value", "dfc-generated"] - - ["::with_params", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::header::media_type::Source::Custom(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_http::listener::Incoming::listener]", "value", "dfc-generated"] - - ["::nodelay", "Argument[0]", "Argument[self].Field[rocket_http::listener::Incoming::nodelay]", "value", "dfc-generated"] - - ["::nodelay", "Argument[0]", "ReturnValue.Field[rocket_http::listener::Incoming::nodelay]", "value", "dfc-generated"] - - ["::nodelay", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sleep_on_errors", "Argument[0]", "Argument[self].Field[rocket_http::listener::Incoming::sleep_on_errors]", "value", "dfc-generated"] - - ["::sleep_on_errors", "Argument[0]", "ReturnValue.Field[rocket_http::listener::Incoming::sleep_on_errors]", "value", "dfc-generated"] - - ["::sleep_on_errors", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[pear::input::cursor::Extent::end]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[pear::input::cursor::Extent::start]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Concrete(0)]", "value", "dfc-generated"] - - ["::add", "Argument[0].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::add", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::coerce", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::coerce", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::coerce_lifetime", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::coerce_lifetime", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::from_cow_source", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_source", "Argument[0].Field[core::option::Option::Some(0)].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_source", "Argument[self].Reference.Field[rocket_http::parse::indexed::Indexed::Concrete(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::indices", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::indices", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::into_concrete", "Argument[self].Field[rocket_http::parse::indexed::Indexed::Concrete(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::parse::uri::error::Error::index]", "ReturnValue.Field[rocket_http::parse::uri::error::Error::index]", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[rocket_http::parse::uri::error::Error::index]", "ReturnValue", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[rocket_http::raw_str::RawStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[rocket_http::raw_str::RawStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_str", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[rocket_http::raw_str::RawStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::html_escape", "Argument[self].Field[0]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)].Reference", "value", "dfc-generated"] - - ["::html_escape", "Argument[self].Field[rocket_http::raw_str::RawStr(0)]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)].Reference", "value", "dfc-generated"] - - ["::split_at_byte", "Argument[self].Element", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - - ["::split_at_byte", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::url_decode", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::url_decode_lossy", "Argument[self].Field[0]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)].Reference", "value", "dfc-generated"] - - ["::url_decode_lossy", "Argument[self].Field[rocket_http::raw_str::RawStr(0)]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)].Reference", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::raw_str::RawStrBuf(0)]", "value", "dfc-generated"] - - ["::into_string", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_string", "Argument[self].Field[rocket_http::raw_str::RawStrBuf(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::respond_to", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_http::status::Status::code]", "value", "dfc-generated"] - - ["::visit_i64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::visit_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::peer_address", "Argument[self].Field[rocket_http::tls::listener::TlsStream::remote]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::peer_certificates", "Argument[self].Field[rocket_http::tls::listener::TlsStream::certs].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::peer_certificates", "Argument[self].Field[rocket_http::tls::listener::TlsStream::certs]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_http::tls::mtls::Certificate::x509].Field[x509_parser::certificate::X509Certificate::tbs_certificate]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[rocket_http::tls::mtls::Certificate::data].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::has_serial", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0].Field[nom::internal::Err::Error(0)]", "ReturnValue.Field[rocket_http::tls::mtls::Error::Parse(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[nom::internal::Err::Failure(0)]", "ReturnValue.Field[rocket_http::tls::mtls::Error::Parse(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[nom::internal::Err::Incomplete(0)].Field[nom::internal::Needed::Size(0)]", "ReturnValue.Field[rocket_http::tls::mtls::Error::Incomplete(0)].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_http::tls::mtls::Name(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_from", "Argument[0].Field[rocket_http::uri::uri::Uri::Absolute(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::uri::absolute::Absolute::scheme].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::uri::absolute::Absolute::scheme].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::uri::absolute::Absolute::scheme].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::uri::absolute::Absolute::scheme].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::append", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::prepend", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::authority", "Argument[self].Field[rocket_http::uri::absolute::Absolute::authority].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::const_new", "Argument[1]", "ReturnValue.Field[rocket_http::uri::absolute::Absolute::authority]", "value", "dfc-generated"] - - ["::into_normalized", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[rocket_http::uri::absolute::Absolute::path]", "ReturnValue.Field[rocket_http::uri::path_query::Path::data].Reference", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[rocket_http::uri::absolute::Absolute::source]", "ReturnValue.Field[rocket_http::uri::path_query::Path::source].Reference", "value", "dfc-generated"] - - ["::query", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::raw", "Argument[2]", "ReturnValue.Field[rocket_http::uri::absolute::Absolute::authority]", "value", "dfc-generated"] - - ["::scheme", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::set_authority", "Argument[0]", "Argument[self].Field[rocket_http::uri::absolute::Absolute::authority].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_authority", "Argument[0]", "Argument[self].Field[rocket_http::uri::absolute::Absolute::authority].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_authority", "Argument[0]", "ReturnValue.Field[rocket_http::uri::absolute::Absolute::authority].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::with_authority", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::try_from", "Argument[0].Field[rocket_http::uri::uri::Uri::Asterisk(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::try_from", "Argument[0].Field[rocket_http::uri::uri::Uri::Authority(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::uri::authority::Authority::host].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::uri::authority::Authority::host].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::uri::authority::Authority::host].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::uri::authority::Authority::host].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::const_new", "Argument[2]", "ReturnValue.Field[rocket_http::uri::authority::Authority::port]", "value", "dfc-generated"] - - ["::host", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::port", "Argument[self].Field[rocket_http::uri::authority::Authority::port]", "ReturnValue", "value", "dfc-generated"] - - ["::raw", "Argument[3]", "ReturnValue.Field[rocket_http::uri::authority::Authority::port]", "value", "dfc-generated"] - - ["::user_info", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_http::uri::fmt::formatter::Formatter::inner]", "value", "dfc-generated"] - - ["::render", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::render", "Argument[self].Field[rocket_http::uri::fmt::formatter::PrefixedRouteUri(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::render", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::render", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::render", "Argument[self].Field[rocket_http::uri::fmt::formatter::SuffixedRouteUri(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::uri::host::Host(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_http::uri::host::Host(0)]", "value", "dfc-generated"] - - ["::port", "Argument[self].Field[0].Field[rocket_http::uri::authority::Authority::port]", "ReturnValue", "value", "dfc-generated"] - - ["::port", "Argument[self].Field[rocket_http::uri::host::Host(0)].Field[rocket_http::uri::authority::Authority::port]", "ReturnValue", "value", "dfc-generated"] - - ["::to_absolute", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_from", "Argument[0].Field[rocket_http::uri::uri::Uri::Origin(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::append", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::into_normalized", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::map_path", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::path", "Argument[self].Field[rocket_http::uri::origin::Origin::path]", "ReturnValue.Field[rocket_http::uri::path_query::Path::data].Reference", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[rocket_http::uri::origin::Origin::source]", "ReturnValue.Field[rocket_http::uri::path_query::Path::source].Reference", "value", "dfc-generated"] - - ["::query", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::raw", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::uri::path_query::Data::value].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "ReturnValue.Field[rocket_http::uri::path_query::Data::value].Field[rocket_http::parse::indexed::Indexed::Indexed(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::uri::path_query::Data::value].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "ReturnValue.Field[rocket_http::uri::path_query::Data::value].Field[rocket_http::parse::indexed::Indexed::Indexed(1)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[rocket_http::uri::origin::Origin::path]", "ReturnValue.Field[rocket_http::uri::reference::Reference::path]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[rocket_http::uri::origin::Origin::query]", "ReturnValue.Field[rocket_http::uri::reference::Reference::query]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[rocket_http::uri::origin::Origin::source]", "ReturnValue.Field[rocket_http::uri::reference::Reference::source]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::uri::reference::Reference::authority].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::try_from", "Argument[0].Field[rocket_http::uri::uri::Uri::Reference(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::prepend", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::authority", "Argument[self].Field[rocket_http::uri::reference::Reference::authority].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::const_new", "Argument[1]", "ReturnValue.Field[rocket_http::uri::reference::Reference::authority]", "value", "dfc-generated"] - - ["::fragment", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::into_normalized", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[rocket_http::uri::reference::Reference::path]", "ReturnValue.Field[rocket_http::uri::path_query::Path::data].Reference", "value", "dfc-generated"] - - ["::path", "Argument[self].Field[rocket_http::uri::reference::Reference::source]", "ReturnValue.Field[rocket_http::uri::path_query::Path::source].Reference", "value", "dfc-generated"] - - ["::query", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::raw", "Argument[2]", "ReturnValue.Field[rocket_http::uri::reference::Reference::authority]", "value", "dfc-generated"] - - ["::scheme", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::with_query_fragment_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from_segments", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[rocket_http::uri::segments::Segments::source]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[rocket_http::uri::segments::Segments::segments]", "value", "dfc-generated"] - - ["::skip", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::uri::uri::Uri::Absolute(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::uri::uri::Uri::Asterisk(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::uri::uri::Uri::Authority(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::uri::uri::Uri::Origin(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_http::uri::uri::Uri::Reference(0)]", "value", "dfc-generated"] - - ["::into_owned", "Argument[self].Field[rocket_http::uri::uri::Uri::Asterisk(0)]", "ReturnValue.Field[rocket_http::uri::uri::Uri::Asterisk(0)]", "value", "dfc-generated"] - - ["::absolute", "Argument[self].Field[rocket_http::uri::uri::Uri::Absolute(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::authority", "Argument[self].Field[rocket_http::uri::uri::Uri::Authority(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::origin", "Argument[self].Field[rocket_http::uri::uri::Uri::Origin(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::reference", "Argument[self].Field[rocket_http::uri::uri::Uri::Reference(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fairing", "Argument[0]", "ReturnValue.Field[rocket::fairing::ad_hoc::AdHoc::name]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_sync_db_pools::error::Error::Config(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[rocket_sync_db_pools::error::Error::Pool(0)]", "value", "dfc-generated"] - - ["::io", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::io", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::io", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::io", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::accept_key", "Argument[self].Field[rocket_ws::websocket::WebSocket::key]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::channel", "Argument[0]", "ReturnValue.Field[rocket_ws::websocket::Channel::handler].Reference", "value", "dfc-generated"] - - ["::channel", "Argument[self]", "ReturnValue.Field[rocket_ws::websocket::Channel::ws]", "value", "dfc-generated"] - - ["::config", "Argument[0]", "Argument[self].Field[rocket_ws::websocket::WebSocket::config]", "value", "dfc-generated"] - - ["::config", "Argument[0]", "ReturnValue.Field[rocket_ws::websocket::WebSocket::config]", "value", "dfc-generated"] - - ["::config", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::stream", "Argument[0]", "ReturnValue.Field[rocket_ws::websocket::MessageStream::handler].Reference", "value", "dfc-generated"] - - ["::stream", "Argument[self]", "ReturnValue.Field[rocket_ws::websocket::MessageStream::ws]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[rocket_http::tls::mtls::Certificate::x509].Field[x509_parser::certificate::X509Certificate::tbs_certificate]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[rocket_http::tls::mtls::Certificate::data].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::has_serial", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_request", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::finalize", "Argument[0].Field[rocket::form::from_form::MapContext::errors]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::init", "Argument[0]", "ReturnValue.Field[rocket::form::from_form::MapContext::opts]", "value", "dfc-generated"] - - ["::push_data", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::push_data", "Argument[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len_into_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::ty", "Argument[self].Field[syn::ty::ReturnType::Type(1)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::on_liftoff", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_launch", "Argument[self].Field[tls::redirector::Redirector::port]", "Argument[0].Field[rocket::config::config::Config::port]", "value", "dfc-generated"] - - ["::raw", "Argument[1]", "ReturnValue.Field[todo::Context::flash]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from_param", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_uri_param", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["rocket::form::validate::try_with", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["rocket::form::validate::with", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["rocket_codegen::derive::form_field::first_duplicate", "Argument[0].Element", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["rocket_http::parse::uri::parser::complete::complete", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["rocket_http::parse::uri::parser::complete", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["rocket_http::parse::uri::scheme_from_str", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["rocket_http::uri::uri::as_utf8_unchecked", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] - - addsTo: - pack: codeql/rust-all - extensible: sinkModel - data: - - ["::from_request", "Argument[0]", "pointer-access", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::from_uri_param", "Argument[0]", "pointer-access", "df-generated"] - - ["::from_uri_param", "Argument[0]", "pointer-access", "df-generated"] - - ["::render", "Argument[0]", "log-injection", "df-generated"] - - ["::signal_stream", "Argument[self]", "log-injection", "df-generated"] - - ["::limit", "Argument[self]", "log-injection", "df-generated"] - - ["::add", "Argument[self]", "log-injection", "df-generated"] - - ["::append", "Argument[self]", "log-injection", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::handle", "Argument[0]", "pointer-access", "df-generated"] - - ["::log", "Argument[0]", "pointer-access", "df-generated"] - - ["::expect", "Argument[0]", "log-injection", "df-generated"] - - ["::client_ip", "Argument[self]", "pointer-access", "df-generated"] - - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - - ["::respond_to", "Argument[self]", "pointer-access", "df-generated"] - - ["::dispatch", "Argument[1]", "log-injection", "df-generated"] - - ["::handle_error", "Argument[0]", "log-injection", "df-generated"] - - ["::matches", "Argument[0]", "log-injection", "df-generated"] - - ["::from", "Argument[0]", "pointer-access", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::render", "Argument[self]", "log-injection", "df-generated"] - - ["::finalize", "Argument[0]", "log-injection", "df-generated"] - - ["::respond_to", "Argument[self]", "log-injection", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::raw", "Argument[4]", "pointer-access", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::raw", "Argument[1]", "pointer-access", "df-generated"] - - ["::render", "Argument[self]", "pointer-access", "df-generated"] - - ["::with_suffix", "Argument[self]", "pointer-access", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::append", "Argument[1]", "pointer-access", "df-generated"] - - ["::new", "Argument[1]", "pointer-access", "df-generated"] - - ["::raw", "Argument[2]", "pointer-access", "df-generated"] - - ["::into_owned", "Argument[self]", "pointer-access", "df-generated"] - - ["::raw", "Argument[1]", "pointer-access", "df-generated"] - - ["::raw", "Argument[4]", "pointer-access", "df-generated"] - - ["::raw", "Argument[5]", "pointer-access", "df-generated"] - - ["::render", "Argument[0]", "log-injection", "df-generated"] - - addsTo: - pack: codeql/rust-all - extensible: sourceModel - data: - - ["::open", "ReturnValue", "file", "df-generated"] - - ["::open", "ReturnValue", "file", "df-generated"] diff --git a/rust/ql/lib/ext/generated/rust.model.yml b/rust/ql/lib/ext/generated/rust.model.yml index 9c39cc54595..f4662062329 100644 --- a/rust/ql/lib/ext/generated/rust.model.yml +++ b/rust/ql/lib/ext/generated/rust.model.yml @@ -4,176 +4,582 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["<& as core::borrow::Borrow>::borrow", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::clone::Clone>::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::convert::TryFrom>::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::fmt::Pointer>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::Iter::head]", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::Iter::len]", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::Iter::tail]", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self]", "ReturnValue.Field[std::os::unix::net::listener::Incoming::listener]", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self]", "ReturnValue.Field[std::sync::mpmc::Iter::rx]", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self]", "ReturnValue.Field[std::sync::mpsc::Iter::rx]", "value", "dfc-generated"] + - ["<& as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::ops::arith::Div>::div", "Argument[self].Field[core::num::saturating::Saturating(0)]", "ReturnValue.Field[core::num::saturating::Saturating(0)]", "value", "dfc-generated"] + - ["<& as core::ops::arith::Div>::div", "Argument[self].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "value", "dfc-generated"] + - ["<& as core::ops::arith::Div>::div", "Argument[self].Reference.Field[core::num::saturating::Saturating(0)]", "ReturnValue.Field[core::num::saturating::Saturating(0)]", "value", "dfc-generated"] + - ["<& as core::ops::arith::Div>::div", "Argument[self].Reference.Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "value", "dfc-generated"] + - ["<& as core::ops::arith::Neg>::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::ops::arith::Sub>::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::ops::bit::BitAnd>::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::ops::bit::BitAnd>::bitand", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::ops::bit::BitAnd>::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::ops::bit::BitAnd>::bitand", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::ops::bit::BitOr>::bitor", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::ops::bit::BitOr>::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::ops::bit::Not>::not", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::ops::bit::Not>::not", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::ops::deref::Deref>::deref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<& as core::str::pattern::Pattern>::as_utf8_pattern", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::str::pattern::Utf8Pattern::StringPattern(0)]", "value", "dfc-generated"] + - ["<& as core::str::pattern::Pattern>::as_utf8_pattern", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as core::str::pattern::Pattern>::into_searcher", "Argument[0]", "ReturnValue.Field[core::str::pattern::StrSearcher::haystack]", "value", "dfc-generated"] + - ["<& as core::str::pattern::Pattern>::into_searcher", "Argument[self]", "ReturnValue.Field[core::str::pattern::StrSearcher::needle]", "value", "dfc-generated"] + - ["<& as proc_macro::bridge::Mark>::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<& as proc_macro::bridge::Unmark>::unmark", "Argument[self].Reference.Field[proc_macro::bridge::Marked::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["<& as proc_macro::bridge::Unmark>::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<& as proc_macro::bridge::rpc::Decode>::decode", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["<& as proc_macro::bridge::rpc::DecodeMut>::decode", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::BufRead>::fill_buf", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["<& as std::io::BufRead>::fill_buf", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["<& as std::io::Read>::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<& as std::io::Read>::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Read>::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Read>::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<& as std::io::Read>::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<& as std::io::Read>::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Read>::read_to_string", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["<& as std::io::Read>::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Read>::read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Write>::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Write>::write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as core::borrow::Borrow>::borrow", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::borrow::BorrowMut>::borrow_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::convert::TryFrom>::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as core::fmt::Pointer>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Element", "ReturnValue.Element", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::IterMut::length]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::head]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::len]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::collect::IntoIterator>::into_iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::tail]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIterator>::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIterator>::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIterator>::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIterator>::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIterator>::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_rfold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::fold", "Argument[self].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::fold", "Argument[self].Reference.Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::next", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::next", "Argument[self].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::nth", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::nth", "Argument[self].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::try_fold", "Argument[self].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::Iterator>::try_fold", "Argument[self].Reference.Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_fold", "Argument[self].Reference.Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_try_fold", "Argument[self].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["<&mut as core::iter::traits::iterator::IteratorRefSpec>::spec_try_fold", "Argument[self].Reference.Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["<&mut as core::ops::deref::Deref>::deref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as core::ops::deref::DerefMut>::deref_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as proc_macro::bridge::Unmark>::unmark", "Argument[self].Reference.Field[proc_macro::bridge::Marked::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["<&mut as proc_macro::bridge::rpc::DecodeMut>::decode", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as proc_macro::quote::ext::RepAsIteratorExt>::quote_into_iter", "Argument[self].Reference", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<&mut as proc_macro::quote::ext::RepAsIteratorExt>::quote_into_iter", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<&mut as std::io::BufRead>::fill_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as std::io::BufRead>::read_line", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["<&mut as std::io::BufRead>::read_line", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<&mut as std::io::BufRead>::read_line", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as std::io::BufRead>::read_until", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_to_string", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as std::io::Read>::read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as std::io::Write>::write_fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<&mut as std::io::Write>::write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<() as alloc::vec::spec_from_elem::SpecFromElem>::from_elem", "Argument[1]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["<() as proc_macro::bridge::Mark>::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["<() as proc_macro::bridge::Unmark>::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<(,) as core::convert::From>::from", "Argument[0].Element", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<(,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,) as libm_test::generate::random::RandomInput>::get_cases", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,) as libm_test::test_traits::TupleCall>::call", "Argument[0].ReturnValue", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<(,) as libm_test::test_traits::TupleCall>::call", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["<(,) as libm_test::test_traits::TupleCall>::call", "Argument[self].Field[0]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["<(,,) as core::convert::From>::from", "Argument[0].Element", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<(,,) as core::convert::From>::from", "Argument[0].Element", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["<(,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,) as core::ops::range::IntoBounds>::into_bounds", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<(,,) as core::ops::range::RangeBounds>::end_bound", "Argument[self].Field[1].Field[core::ops::range::Bound::Excluded(0)]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] + - ["<(,,) as core::ops::range::RangeBounds>::end_bound", "Argument[self].Field[1].Field[core::ops::range::Bound::Included(0)]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["<(,,) as core::ops::range::RangeBounds>::end_bound", "Argument[self].Reference.Field[1]", "ReturnValue", "value", "dfc-generated"] + - ["<(,,) as core::ops::range::RangeBounds>::start_bound", "Argument[self].Field[0].Field[core::ops::range::Bound::Excluded(0)]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] + - ["<(,,) as core::ops::range::RangeBounds>::start_bound", "Argument[self].Field[0].Field[core::ops::range::Bound::Included(0)]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["<(,,) as core::ops::range::RangeBounds>::start_bound", "Argument[self].Reference.Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["<(,,) as libm_test::test_traits::TupleCall>::call", "Argument[0].ReturnValue", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<(,,) as libm_test::test_traits::TupleCall>::call", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["<(,,) as libm_test::test_traits::TupleCall>::call", "Argument[self].Field[0]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["<(,,) as libm_test::test_traits::TupleCall>::call", "Argument[self].Field[1]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["<(,,,) as core::convert::From>::from", "Argument[0].Element", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<(,,,) as core::convert::From>::from", "Argument[0].Element", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["<(,,,) as core::convert::From>::from", "Argument[0].Element", "ReturnValue.Field[2]", "value", "dfc-generated"] + - ["<(,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,) as libm_test::test_traits::TupleCall>::call", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["<(,,,) as libm_test::test_traits::TupleCall>::call", "Argument[self].Field[0]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["<(,,,) as libm_test::test_traits::TupleCall>::call", "Argument[self].Field[1]", "Argument[0].Parameter[1]", "value", "dfc-generated"] + - ["<(,,,) as libm_test::test_traits::TupleCall>::call", "Argument[self].Field[2]", "Argument[0].Parameter[2]", "value", "dfc-generated"] + - ["<(,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,,,) as core::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<(,,,,,,,,,,,,) as core::fmt::Debug>::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const as core::clone::Clone>::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*const as core::clone::Clone>::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<*const as core::fmt::Debug>::fmt", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["<*const as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<*const as core::fmt::Pointer>::fmt", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["<*const as core::fmt::Pointer>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::as_ref_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::as_slice", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<*const>::as_uninit_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::cast_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::expose_provenance", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::read", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*const>::read_unaligned", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*const>::read_volatile", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*const>::sub", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<*const>::to_raw_parts", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*const>::try_cast_aligned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut as core::clone::Clone>::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*mut as core::clone::Clone>::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<*mut as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<*mut as core::fmt::Pointer>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_mut_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_mut_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_mut_slice", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<*mut>::as_mut_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_ref_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_uninit_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::as_uninit_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::cast_const", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::expose_provenance", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::read", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*mut>::read_unaligned", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*mut>::read_volatile", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<*mut>::sub", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<*mut>::to_raw_parts", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::try_cast_aligned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<*mut>::write", "Argument[0]", "Argument[self].Reference", "value", "dfc-generated"] + - ["<*mut>::write_unaligned", "Argument[0]", "Argument[self].Reference", "value", "dfc-generated"] + - ["<*mut>::write_volatile", "Argument[0]", "Argument[self].Reference", "value", "dfc-generated"] + - ["<[] as alloc::slice::Concat>::concat", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<[] as alloc::slice::Join>::join", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<[] as alloc::slice::Join>::join", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["<[] as core::convert::AsMut>::as_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[] as core::convert::AsRef>::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[] as core::fmt::Debug>::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<[] as core::num::dec2flt::common::ByteSlice>::parse_digits", "Argument[self].Element.Element", "ReturnValue", "value", "dfc-generated"] + - ["<[] as core::num::dec2flt::common::ByteSlice>::parse_digits", "Argument[self].Element", "ReturnValue", "value", "dfc-generated"] + - ["<[] as core::num::dec2flt::common::ByteSlice>::parse_digits", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[] as core::slice::SlicePattern>::as_slice", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::align_to", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::align_to_mut", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::align_to_uninit_mut", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::array_windows", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_ascii", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_ascii_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_mut_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_mut_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::as_simd", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::as_simd_mut", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::assume_init_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::assume_init_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::chunk_by", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunkBy::predicate]", "value", "dfc-generated"] + - ["<[]>::chunk_by", "Argument[self]", "ReturnValue.Field[core::slice::iter::ChunkBy::slice]", "value", "dfc-generated"] + - ["<[]>::chunk_by_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunkByMut::predicate]", "value", "dfc-generated"] + - ["<[]>::chunk_by_mut", "Argument[self]", "ReturnValue.Field[core::slice::iter::ChunkByMut::slice]", "value", "dfc-generated"] + - ["<[]>::chunks", "Argument[0]", "ReturnValue.Field[core::slice::iter::Chunks::chunk_size]", "value", "dfc-generated"] + - ["<[]>::chunks", "Argument[self]", "ReturnValue.Field[core::slice::iter::Chunks::v]", "value", "dfc-generated"] + - ["<[]>::chunks_exact", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunksExact::chunk_size]", "value", "dfc-generated"] + - ["<[]>::chunks_exact_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunksExactMut::chunk_size]", "value", "dfc-generated"] + - ["<[]>::chunks_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunksMut::chunk_size]", "value", "dfc-generated"] + - ["<[]>::chunks_mut", "Argument[self]", "ReturnValue.Field[core::slice::iter::ChunksMut::v]", "value", "dfc-generated"] + - ["<[]>::concat", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::first", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<[]>::first_chunk", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::first_chunk_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::first_mut", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<[]>::last", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<[]>::last_mut", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<[]>::partition_dedup", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::partition_dedup_by", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::partition_dedup_by_key", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["<[]>::rchunks", "Argument[0]", "ReturnValue.Field[core::slice::iter::RChunks::chunk_size]", "value", "dfc-generated"] + - ["<[]>::rchunks", "Argument[self]", "ReturnValue.Field[core::slice::iter::RChunks::v]", "value", "dfc-generated"] + - ["<[]>::rchunks_exact", "Argument[0]", "ReturnValue.Field[core::slice::iter::RChunksExact::chunk_size]", "value", "dfc-generated"] + - ["<[]>::rchunks_exact_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::RChunksExactMut::chunk_size]", "value", "dfc-generated"] + - ["<[]>::rchunks_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::RChunksMut::chunk_size]", "value", "dfc-generated"] + - ["<[]>::rchunks_mut", "Argument[self]", "ReturnValue.Field[core::slice::iter::RChunksMut::v]", "value", "dfc-generated"] + - ["<[]>::rsplit", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplit::inner].Field[core::slice::iter::Split::pred]", "value", "dfc-generated"] + - ["<[]>::rsplit", "Argument[self]", "ReturnValue.Field[core::slice::iter::RSplit::inner].Field[core::slice::iter::Split::v]", "value", "dfc-generated"] + - ["<[]>::rsplit_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplitMut::inner].Field[core::slice::iter::SplitMut::pred]", "value", "dfc-generated"] + - ["<[]>::rsplit_mut", "Argument[self]", "ReturnValue.Field[core::slice::iter::RSplitMut::inner].Field[core::slice::iter::SplitMut::v]", "value", "dfc-generated"] + - ["<[]>::rsplit_once", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::rsplitn", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplitN::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] + - ["<[]>::rsplitn_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplitNMut::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] + - ["<[]>::select_nth_unstable_by", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["<[]>::select_nth_unstable_by_key", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["<[]>::sort_by", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<[]>::sort_by_key", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<[]>::sort_unstable_by", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<[]>::sort_unstable_by_key", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["<[]>::split", "Argument[0]", "ReturnValue.Field[core::slice::iter::Split::pred]", "value", "dfc-generated"] + - ["<[]>::split", "Argument[self]", "ReturnValue.Field[core::slice::iter::Split::v]", "value", "dfc-generated"] + - ["<[]>::split_first", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] + - ["<[]>::split_first", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] + - ["<[]>::split_first_mut", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] + - ["<[]>::split_first_mut", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] + - ["<[]>::split_inclusive", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitInclusive::pred]", "value", "dfc-generated"] + - ["<[]>::split_inclusive", "Argument[self]", "ReturnValue.Field[core::slice::iter::SplitInclusive::v]", "value", "dfc-generated"] + - ["<[]>::split_inclusive_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitInclusiveMut::pred]", "value", "dfc-generated"] + - ["<[]>::split_inclusive_mut", "Argument[self]", "ReturnValue.Field[core::slice::iter::SplitInclusiveMut::v]", "value", "dfc-generated"] + - ["<[]>::split_last", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] + - ["<[]>::split_last", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] + - ["<[]>::split_last_mut", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] + - ["<[]>::split_last_mut", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] + - ["<[]>::split_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitMut::pred]", "value", "dfc-generated"] + - ["<[]>::split_mut", "Argument[self]", "ReturnValue.Field[core::slice::iter::SplitMut::v]", "value", "dfc-generated"] + - ["<[]>::split_off_first", "Argument[self].Reference.Element", "Argument[self].Reference", "value", "dfc-generated"] + - ["<[]>::split_off_first", "Argument[self].Reference.Element", "Argument[self]", "value", "dfc-generated"] + - ["<[]>::split_off_first", "Argument[self].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<[]>::split_off_last", "Argument[self].Reference.Element", "Argument[self].Reference", "value", "dfc-generated"] + - ["<[]>::split_off_last", "Argument[self].Reference.Element", "Argument[self]", "value", "dfc-generated"] + - ["<[]>::split_off_last", "Argument[self].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["<[]>::split_once", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::splitn", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitN::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] + - ["<[]>::splitn_mut", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitNMut::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] + - ["<[]>::trim_ascii", "Argument[self].Element.Element", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii", "Argument[self].Element", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii_end", "Argument[self].Element.Element", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii_end", "Argument[self].Element", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii_end", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii_start", "Argument[self].Element.Element", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii_start", "Argument[self].Element", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_ascii_start", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_prefix", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::trim_suffix", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["<[]>::utf8_chunks", "Argument[self]", "ReturnValue.Field[core::str::lossy::Utf8Chunks::source]", "value", "dfc-generated"] + - ["<[]>::windows", "Argument[self]", "ReturnValue.Field[core::slice::iter::Windows::v]", "value", "dfc-generated"] + - ["<[]>::write_clone_of_slice", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::write_copy_of_slice", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::write_filled", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["<[]>::write_with", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::borrow", "Argument[self].Field[alloc::borrow::Cow::Borrowed(0)].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - ["::borrow", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[alloc::borrow::Cow::Borrowed(0)]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference.Field[alloc::borrow::Cow::Borrowed(0)]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Reference", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)].Reference", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)].Reference", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Owned(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::add", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::add", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] + - ["::add", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::add_assign", "Argument[0]", "Argument[self].Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - ["::add_assign", "Argument[0]", "Argument[self].Reference.Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - ["::add_assign", "Argument[0]", "Argument[self].Reference", "value", "dfc-generated"] + - ["::add_assign", "Argument[0]", "Argument[self]", "value", "dfc-generated"] + - ["::deref", "Argument[self].Field[alloc::borrow::Cow::Borrowed(0)]", "ReturnValue", "value", "dfc-generated"] - ["::deref", "Argument[self].Reference.Field[alloc::borrow::Cow::Borrowed(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_owned", "Argument[self].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::to_mut", "Argument[self].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::to_mut", "Argument[self].Reference.Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Reference", "Argument[self].Reference", "value", "dfc-generated"] - - ["::clone_from", "Argument[0]", "Argument[self].Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[proc_macro::bridge::rpc::PanicMessage::StaticStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[proc_macro::bridge::rpc::PanicMessage::String(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::last", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::last", "Argument[self].Field[alloc::boxed::Box(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::borrow", "Argument[self].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow", "Argument[self].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut", "Argument[self].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue.Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)].Field[alloc::string::String::vec]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Field[alloc::borrow::Cow::Owned(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[proc_macro::bridge::rpc::PanicMessage::StaticStr(0)]", "ReturnValue.Field[alloc::boxed::Box(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[proc_macro::bridge::rpc::PanicMessage::String(0)]", "ReturnValue.Field[alloc::boxed::Box(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[alloc::borrow::Cow::Owned(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[alloc::boxed::Box(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::last", "Argument[self].Field[alloc::boxed::Box(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self].Field[alloc::boxed::Box(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::nth", "Argument[self].Field[alloc::boxed::Box(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::deref", "Argument[self].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fill_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_line", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_line", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_until", "Argument[self]", "Argument[1]", "taint", "df-generated"] - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::allocator", "Argument[0].Field[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::allocator", "Argument[0].Field[alloc::boxed::Box(1)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut_ptr", "Argument[0].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ptr", "Argument[0].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[0].Reference.Field[alloc::boxed::Box(1)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut_ptr", "Argument[0].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut_ptr", "Argument[0].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ptr", "Argument[0].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ptr", "Argument[0].Reference.Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::assume_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::downcast", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::downcast_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_non_null_in", "Argument[1]", "ReturnValue.Field[alloc::boxed::Box(1)]", "value", "dfc-generated"] - ["::from_raw_in", "Argument[1]", "ReturnValue.Field[alloc::boxed::Box(1)]", "value", "dfc-generated"] - - ["::into_inner", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_boxed_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[0].Field[alloc::boxed::Box(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_non_null", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::into_pin", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::into_pin", "Argument[0]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::into_raw", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_raw_with_allocator", "Argument[0]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] + - ["::into_non_null_with_allocator", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_pin", "Argument[0]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::into_raw", "Argument[0].Field[alloc::boxed::Box(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::into_raw_with_allocator", "Argument[0].Field[alloc::boxed::Box(0)]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - ["::into_unique", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::leak", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::leak", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new_uninit_in", "Argument[0]", "ReturnValue.Field[alloc::boxed::Box(1)]", "value", "dfc-generated"] - ["::new_zeroed_in", "Argument[0]", "ReturnValue.Field[alloc::boxed::Box(1)]", "value", "dfc-generated"] - ["::try_new_in", "Argument[1]", "ReturnValue.Field[alloc::boxed::Box(1)]", "value", "dfc-generated"] - ["::try_new_uninit_in", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::boxed::Box(1)]", "value", "dfc-generated"] - ["::try_new_zeroed_in", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::boxed::Box(1)]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[0].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[alloc::bstr::ByteString(0)].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index_mut", "Argument[self].Field[0].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index_mut", "Argument[self].Field[alloc::bstr::ByteString(0)].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::borrow", "Argument[self].Reference.Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Reference.Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut", "Argument[self].Reference.Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::index_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes", "Argument[self].Reference.Field[alloc::bstr::ByteString(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut_bytestr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[alloc::collections::TryReserveError::kind]", "value", "dfc-generated"] - - ["::kind", "Argument[self].Field[alloc::collections::TryReserveError::kind].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::kind", "Argument[self].Field[alloc::collections::TryReserveError::kind]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::binary_heap::BinaryHeap::data].Reference", "ReturnValue.Field[alloc::collections::binary_heap::BinaryHeap::data]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::binary_heap::BinaryHeap::data]", "ReturnValue.Field[alloc::collections::binary_heap::BinaryHeap::data]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::kind", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[alloc::collections::binary_heap::BinaryHeap::data]", "value", "dfc-generated"] - - ["::drain", "Argument[self].Field[alloc::collections::binary_heap::BinaryHeap::data].Field[core::ptr::unique::Unique::pointer]", "ReturnValue.Field[alloc::collections::binary_heap::Drain::iter].Field[alloc::vec::drain::Drain::vec]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::drain_sorted", "Argument[self]", "ReturnValue.Field[alloc::collections::binary_heap::DrainSorted::inner]", "value", "dfc-generated"] - ["::into_iter_sorted", "Argument[self]", "ReturnValue.Field[alloc::collections::binary_heap::IntoIterSorted::inner]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::binary_heap::BinaryHeap::data].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::peek_mut", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)].Field[alloc::collections::binary_heap::PeekMut::heap]", "value", "dfc-generated"] - - ["::as_into_iter", "Argument[self].Field[alloc::collections::binary_heap::IntoIter::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::pop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_into_iter", "Argument[self].Reference.Field[alloc::collections::binary_heap::IntoIter::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_inner", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::allocator", "Argument[self].Field[alloc::collections::binary_heap::IntoIter::iter].Field[alloc::vec::into_iter::IntoIter::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next", "Argument[self].Field[alloc::collections::binary_heap::Iter::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0].Field[core::ptr::unique::Unique::pointer]", "ReturnValue.Field[1].Field[alloc::collections::btree::borrow::DormantMutRef::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pop", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::dedup_sorted_iter::DedupSortedIter::iter].Field[core::iter::adapters::peekable::Peekable::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::alloc].Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue.Field[alloc::collections::btree::map::BTreeMap::alloc].Field[core::mem::manually_drop::ManuallyDrop::value]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bulk_build_from_sorted_iter", "Argument[1]", "ReturnValue.Field[alloc::collections::btree::map::BTreeMap::alloc].Field[core::mem::manually_drop::ManuallyDrop::value]", "value", "dfc-generated"] - ["::entry", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::map::entry::Entry::Vacant(0)].Field[alloc::collections::btree::map::entry::VacantEntry::key]", "value", "dfc-generated"] - - ["::extract_if", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::map::ExtractIf::pred]", "value", "dfc-generated"] - - ["::extract_if", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::alloc].Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue.Field[alloc::collections::btree::map::ExtractIf::alloc]", "value", "dfc-generated"] - - ["::extract_if_inner", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::alloc].Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::first_key_value", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::root].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::root].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_key_value", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::root].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::root].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::extract_if", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::map::ExtractIf::inner].Field[alloc::collections::btree::map::ExtractIfInner::range]", "value", "dfc-generated"] + - ["::extract_if", "Argument[1]", "ReturnValue.Field[alloc::collections::btree::map::ExtractIf::pred]", "value", "dfc-generated"] + - ["::extract_if_inner", "Argument[0]", "ReturnValue.Field[0].Field[alloc::collections::btree::map::ExtractIfInner::range]", "value", "dfc-generated"] + - ["::first_key_value", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::root]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::root]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_key_value", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::root]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::root]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::get_or_insert_with", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["::iter", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] - - ["::iter_mut", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::IterMut::length]", "value", "dfc-generated"] - - ["::keys", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::Keys::inner].Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] - - ["::last_key_value", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::root].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue", "value", "dfc-generated"] + - ["::iter", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] + - ["::iter_mut", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::IterMut::length]", "value", "dfc-generated"] + - ["::keys", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::Keys::inner].Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] + - ["::last_key_value", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::root]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue", "value", "dfc-generated"] - ["::lower_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::lower_bound_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new_in", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::map::BTreeMap::alloc].Field[core::mem::manually_drop::ManuallyDrop::value]", "value", "dfc-generated"] - - ["::split_off", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::alloc].Reference", "ReturnValue.Field[alloc::collections::btree::map::BTreeMap::alloc]", "value", "dfc-generated"] - - ["::split_off", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::alloc]", "ReturnValue.Field[alloc::collections::btree::map::BTreeMap::alloc]", "value", "dfc-generated"] + - ["::split_off", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_insert", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[alloc::collections::btree::map::entry::OccupiedError::value]", "value", "dfc-generated"] - ["::upper_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::upper_bound_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::values", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::Values::inner].Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] - - ["::values_mut", "Argument[self].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::ValuesMut::inner].Field[alloc::collections::btree::map::IterMut::length]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[alloc::collections::btree::map::Cursor::current]", "ReturnValue.Field[alloc::collections::btree::map::Cursor::current]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[alloc::collections::btree::map::Cursor::root]", "ReturnValue.Field[alloc::collections::btree::map::Cursor::root]", "value", "dfc-generated"] + - ["::values", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::Values::inner].Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] + - ["::values_mut", "Argument[self].Reference.Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[alloc::collections::btree::map::ValuesMut::inner].Field[alloc::collections::btree::map::IterMut::length]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek_prev", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_mutable_key", "Argument[self].Field[alloc::collections::btree::map::CursorMut::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::peek_next", "Argument[self].Field[alloc::collections::btree::map::CursorMutKey::current].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::peek_prev", "Argument[self].Field[alloc::collections::btree::map::CursorMutKey::current].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::peek", "Argument[self].Field[alloc::collections::btree::map::ExtractIfInner::cur_leaf_edge].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::ExtractIfInner::length].Reference", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::iter", "Argument[self].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::IntoKeys::inner].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IntoKeys::inner].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IntoKeys::inner].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::IntoValues::inner].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IntoValues::inner].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IntoValues::inner].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::iter", "Argument[self].Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] + - ["::peek_next", "Argument[self].Reference.Field[alloc::collections::btree::map::CursorMutKey::current]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::peek_prev", "Argument[self].Reference.Field[alloc::collections::btree::map::CursorMutKey::current]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[self].Reference.Field[alloc::collections::btree::map::ExtractIfInner::cur_leaf_edge]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::btree::map::ExtractIfInner::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Reference.Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::iter", "Argument[self].Reference.Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Reference.Field[alloc::collections::btree::map::Iter::length]", "ReturnValue", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Reference.Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::iter", "Argument[self].Reference.Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::Keys::inner].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::Keys::inner].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::Keys::inner].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::Values::inner].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::Values::inner].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::Values::inner].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::map::ValuesMut::inner].Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::ValuesMut::inner].Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::map::ValuesMut::inner].Field[alloc::collections::btree::map::IterMut::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::and_modify", "Argument[self].Field[alloc::collections::btree::map::entry::Entry::Occupied(0)]", "ReturnValue.Field[alloc::collections::btree::map::entry::Entry::Occupied(0)]", "value", "dfc-generated"] - ["::and_modify", "Argument[self].Field[alloc::collections::btree::map::entry::Entry::Vacant(0)]", "ReturnValue.Field[alloc::collections::btree::map::entry::Entry::Vacant(0)]", "value", "dfc-generated"] - ["::insert_entry", "Argument[self].Field[alloc::collections::btree::map::entry::Entry::Occupied(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::insert_entry", "Argument[self].Field[alloc::collections::btree::map::entry::Entry::Vacant(0)].Field[alloc::collections::btree::map::entry::VacantEntry::alloc]", "ReturnValue.Field[alloc::collections::btree::map::entry::OccupiedEntry::alloc]", "value", "dfc-generated"] + - ["::insert_entry", "Argument[self].Field[alloc::collections::btree::map::entry::Entry::Vacant(0)].Field[alloc::collections::btree::map::entry::VacantEntry::dormant_map]", "ReturnValue.Field[alloc::collections::btree::map::entry::OccupiedEntry::dormant_map]", "value", "dfc-generated"] + - ["::key", "Argument[self].Field[alloc::collections::btree::map::entry::Entry::Vacant(0)].Field[alloc::collections::btree::map::entry::VacantEntry::key]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::or_insert_with_key", "Argument[self].Field[alloc::collections::btree::map::entry::Entry::Vacant(0)].Field[alloc::collections::btree::map::entry::VacantEntry::key]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::remove", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remove_entry", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remove_kv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::insert_entry", "Argument[self].Field[alloc::collections::btree::map::entry::VacantEntry::alloc]", "ReturnValue.Field[alloc::collections::btree::map::entry::OccupiedEntry::alloc]", "value", "dfc-generated"] - ["::insert_entry", "Argument[self].Field[alloc::collections::btree::map::entry::VacantEntry::dormant_map]", "ReturnValue.Field[alloc::collections::btree::map::entry::OccupiedEntry::dormant_map]", "value", "dfc-generated"] - ["::into_key", "Argument[self].Field[alloc::collections::btree::map::entry::VacantEntry::key]", "ReturnValue", "value", "dfc-generated"] - - ["::key", "Argument[self].Field[alloc::collections::btree::map::entry::VacantEntry::key]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::key", "Argument[self].Reference.Field[alloc::collections::btree::map::entry::VacantEntry::key]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::collections::btree::merge_iter::MergeIterInner::a]", "ReturnValue.Field[alloc::collections::btree::merge_iter::MergeIterInner::a]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::collections::btree::merge_iter::MergeIterInner::b]", "ReturnValue.Field[alloc::collections::btree::merge_iter::MergeIterInner::b]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::merge_iter::MergeIterInner::a]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[alloc::collections::btree::merge_iter::MergeIterInner::b]", "value", "dfc-generated"] - - ["::nexts", "Argument[self].Field[alloc::collections::btree::merge_iter::MergeIterInner::a].Element", "ReturnValue.Field[0].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nexts", "Argument[self].Field[alloc::collections::btree::merge_iter::MergeIterInner::b].Element", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::navigate::LazyLeafHandle::Edge(0)].Reference", "ReturnValue.Field[alloc::collections::btree::navigate::LazyLeafHandle::Edge(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::navigate::LazyLeafHandle::Root(0)].Reference", "ReturnValue.Field[alloc::collections::btree::navigate::LazyLeafHandle::Root(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nexts", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::nexts", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deallocating_next_back_unchecked", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deallocating_next_back_unchecked", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::deallocating_next_unchecked", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deallocating_next_unchecked", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::into_left_child", "Argument[self].Field[alloc::collections::btree::node::BalancingContext::left_child]", "ReturnValue", "value", "dfc-generated"] - ["::into_right_child", "Argument[self].Field[alloc::collections::btree::node::BalancingContext::right_child]", "ReturnValue", "value", "dfc-generated"] - ["::merge_tracking_child", "Argument[self].Field[alloc::collections::btree::node::BalancingContext::left_child]", "ReturnValue", "value", "dfc-generated"] @@ -184,6 +590,7 @@ extensions: - ["::steal_right", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::steal_right", "Argument[self].Field[alloc::collections::btree::node::BalancingContext::left_child]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::awaken", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::awaken", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - ["::awaken", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] @@ -192,15 +599,14 @@ extensions: - ["::cast_to_leaf_unchecked", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - ["::consider_for_balancing", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::node::BalancingContext::parent]", "value", "dfc-generated"] - ["::descend", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::dormant", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - - ["::dormant", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::dormant", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::dormant", "Argument[self].Reference.Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::force", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::ForceResult::Internal(0)].Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::force", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::ForceResult::Leaf(0)].Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::forget_node_type", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::forget_node_type", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - ["::forget_node_type", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::idx", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue", "value", "dfc-generated"] + - ["::idx", "Argument[self].Reference.Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue", "value", "dfc-generated"] + - ["::insert_recursing", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_node", "Argument[self].Field[alloc::collections::btree::node::Handle::node]", "ReturnValue", "value", "dfc-generated"] - ["::left_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::left_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] @@ -210,14 +616,18 @@ extensions: - ["::new_edge", "Argument[1]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::new_kv", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::new_kv", "Argument[1]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - - ["::reborrow", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - - ["::reborrow", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::reborrow", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::reborrow_mut", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - - ["::reborrow_mut", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::reborrow_mut", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::next_back_kv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_back_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] + - ["::next_back_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::next_back_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::next_kv", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] + - ["::next_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::next_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::reborrow", "Argument[self].Reference.Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] + - ["::reborrow_mut", "Argument[self].Reference.Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::remove", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[1].Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::remove", "Argument[self].Field[alloc::collections::btree::node::Handle::node]", "ReturnValue.Field[1].Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] + - ["::remove_kv_tracking", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[1].Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::right_edge", "Argument[self].Field[alloc::collections::btree::node::Handle::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::right_kv", "Argument[self].Field[alloc::collections::btree::node::Handle::idx]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::collections::btree::node::Handle::idx]", "value", "dfc-generated"] - ["::right_kv", "Argument[self].Field[alloc::collections::btree::node::Handle::node]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] @@ -225,170 +635,219 @@ extensions: - ["::split", "Argument[self].Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::SplitResult::right].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - ["::split", "Argument[self].Field[alloc::collections::btree::node::Handle::node]", "ReturnValue.Field[alloc::collections::btree::node::SplitResult::left]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::awaken", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - ["::awaken", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::borrow_valmut", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::borrow_valmut", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::borrow_valmut", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::borrow_valmut", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - ["::cast_to_leaf_unchecked", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - ["::cast_to_leaf_unchecked", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::dormant", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::dormant", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::dormant", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::dormant", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - ["::find_lower_bound_edge", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::find_lower_bound_edge", "Argument[self]", "ReturnValue.Field[0].Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::find_upper_bound_edge", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::find_upper_bound_edge", "Argument[self]", "ReturnValue.Field[0].Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::first_edge", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::first_kv", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] + - ["::first_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::first_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - ["::force", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::forget_type", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - ["::forget_type", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::height", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue", "value", "dfc-generated"] + - ["::height", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue", "value", "dfc-generated"] - ["::into_dying", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - ["::into_dying", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - ["::last_edge", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::last_kv", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - - ["::push_internal_level", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::push_internal_level", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::push_with_handle", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::push_with_handle", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - - ["::reborrow", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] - - ["::reborrow", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::last_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::last_leaf_edge", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::lower_bound", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::lower_bound", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::push_internal_level", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::push_internal_level", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::push_with_handle", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::push_with_handle", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] + - ["::reborrow", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::reborrow", "Argument[self].Reference.Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - ["::search_node", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::search::SearchResult::Found(0)].Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::search_node", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::search::SearchResult::GoDown(0)].Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] + - ["::search_tree", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::search::SearchResult::Found(0)].Field[alloc::collections::btree::node::Handle::node]", "value", "dfc-generated"] - ["::search_tree_for_bifurcation", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[0]", "value", "dfc-generated"] + - ["::upper_bound", "Argument[self].Field[alloc::collections::btree::node::NodeRef::height]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::height]", "value", "dfc-generated"] + - ["::upper_bound", "Argument[self].Field[alloc::collections::btree::node::NodeRef::node]", "ReturnValue.Field[alloc::collections::btree::node::Handle::node].Field[alloc::collections::btree::node::NodeRef::node]", "value", "dfc-generated"] - ["::visit_nodes_in_order", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::forget_node_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_range", "Argument[0].Field[core::ops::range::Bound::Excluded(0)]", "ReturnValue.Field[alloc::collections::btree::search::SearchBound::Excluded(0)]", "value", "dfc-generated"] - ["::from_range", "Argument[0].Field[core::ops::range::Bound::Included(0)]", "ReturnValue.Field[alloc::collections::btree::search::SearchBound::Included(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::BTreeSet::map].Reference", "ReturnValue.Field[alloc::collections::btree::set::BTreeSet::map]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::BTreeSet::map]", "ReturnValue.Field[alloc::collections::btree::set::BTreeSet::map]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Field[alloc::collections::btree::set::BTreeSet::map]", "Argument[self].Field[alloc::collections::btree::set::BTreeSet::map].Reference", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Field[alloc::collections::btree::set::BTreeSet::map]", "Argument[self].Field[alloc::collections::btree::set::BTreeSet::map]", "value", "dfc-generated"] + - ["::clone_from", "Argument[0].Reference.Field[alloc::collections::btree::set::BTreeSet::map]", "Argument[self].Reference.Field[alloc::collections::btree::set::BTreeSet::map]", "value", "dfc-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::difference", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::set::Difference::inner].Field[alloc::collections::btree::set::DifferenceInner::Search::other_set]", "value", "dfc-generated"] - - ["::extract_if", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::set::ExtractIf::pred]", "value", "dfc-generated"] + - ["::extract_if", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::set::ExtractIf::inner].Field[alloc::collections::btree::map::ExtractIfInner::range]", "value", "dfc-generated"] + - ["::extract_if", "Argument[1]", "ReturnValue.Field[alloc::collections::btree::set::ExtractIf::pred]", "value", "dfc-generated"] + - ["::first", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_or_insert_with", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::intersection", "Argument[0]", "ReturnValue.Field[alloc::collections::btree::set::Intersection::inner].Field[alloc::collections::btree::set::IntersectionInner::Search::large_set]", "value", "dfc-generated"] - ["::intersection", "Argument[self]", "ReturnValue.Field[alloc::collections::btree::set::Intersection::inner].Field[alloc::collections::btree::set::IntersectionInner::Search::large_set]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::set::BTreeSet::map].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue", "value", "dfc-generated"] - - ["::split_off", "Argument[self].Field[alloc::collections::btree::set::BTreeSet::map].Field[alloc::collections::btree::map::BTreeMap::alloc]", "ReturnValue.Field[alloc::collections::btree::set::BTreeSet::map].Field[alloc::collections::btree::map::BTreeMap::alloc]", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Cursor::inner].Field[alloc::collections::btree::map::Cursor::current]", "ReturnValue.Field[alloc::collections::btree::set::Cursor::inner].Field[alloc::collections::btree::map::Cursor::current]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Cursor::inner].Field[alloc::collections::btree::map::Cursor::root]", "ReturnValue.Field[alloc::collections::btree::set::Cursor::inner].Field[alloc::collections::btree::map::Cursor::root]", "value", "dfc-generated"] + - ["::peek_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek_prev", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_mutable_key", "Argument[self].Field[alloc::collections::btree::set::CursorMut::inner].Field[alloc::collections::btree::map::CursorMut::inner]", "ReturnValue.Field[alloc::collections::btree::set::CursorMutKey::inner]", "value", "dfc-generated"] + - ["::peek_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek_prev", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::min", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::len", "Argument[self].Field[alloc::collections::btree::set::IntoIter::iter].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::set::IntoIter::iter].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::btree::set::IntoIter::iter].Field[alloc::collections::btree::map::IntoIter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Iter::iter].Field[alloc::collections::btree::map::Keys::inner]", "ReturnValue.Field[alloc::collections::btree::set::Iter::iter].Field[alloc::collections::btree::map::Keys::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Iter::iter].Reference", "ReturnValue.Field[alloc::collections::btree::set::Iter::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Iter::iter]", "ReturnValue.Field[alloc::collections::btree::set::Iter::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Range::iter].Field[alloc::collections::btree::map::Range::inner]", "ReturnValue.Field[alloc::collections::btree::set::Range::iter].Field[alloc::collections::btree::map::Range::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Range::iter].Reference", "ReturnValue.Field[alloc::collections::btree::set::Range::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::collections::btree::set::Range::iter]", "ReturnValue.Field[alloc::collections::btree::set::Range::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::min", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::min", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::insert", "Argument[self].Field[alloc::collections::btree::set::entry::Entry::Occupied(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[alloc::collections::btree::set::entry::VacantEntry::inner].Field[alloc::collections::btree::map::entry::VacantEntry::key]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::remove", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_value", "Argument[self].Field[alloc::collections::btree::set::entry::VacantEntry::inner].Field[alloc::collections::btree::map::entry::VacantEntry::key]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[alloc::collections::linked_list::Cursor::current]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[alloc::collections::linked_list::Cursor::index]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::index]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[alloc::collections::linked_list::Cursor::list]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::list]", "value", "dfc-generated"] - - ["::as_list", "Argument[self].Field[alloc::collections::linked_list::Cursor::list]", "ReturnValue", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[alloc::collections::linked_list::Cursor::current].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[alloc::collections::linked_list::Cursor::current].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[alloc::collections::linked_list::Cursor::index]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::move_next", "Argument[self].Field[alloc::collections::linked_list::Cursor::list].Field[alloc::collections::linked_list::LinkedList::head]", "Argument[self].Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] - - ["::move_prev", "Argument[self].Field[alloc::collections::linked_list::Cursor::list].Field[alloc::collections::linked_list::LinkedList::len]", "Argument[self].Field[alloc::collections::linked_list::Cursor::index]", "value", "dfc-generated"] - - ["::move_prev", "Argument[self].Field[alloc::collections::linked_list::Cursor::list].Field[alloc::collections::linked_list::LinkedList::tail]", "Argument[self].Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] - - ["::as_cursor", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] - - ["::as_cursor", "Argument[self].Field[alloc::collections::linked_list::CursorMut::index]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::index]", "value", "dfc-generated"] - - ["::as_cursor", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::list]", "value", "dfc-generated"] - - ["::as_list", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list]", "ReturnValue", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[alloc::collections::linked_list::CursorMut::index]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::insert_after", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::len]", "Argument[self].Field[alloc::collections::linked_list::CursorMut::index]", "value", "dfc-generated"] - - ["::move_next", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::head]", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current]", "value", "dfc-generated"] - - ["::move_prev", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::len]", "Argument[self].Field[alloc::collections::linked_list::CursorMut::index]", "value", "dfc-generated"] - - ["::move_prev", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::tail]", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current]", "value", "dfc-generated"] - - ["::remove_current", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::remove_current", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::remove_current_as_list", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::remove_current_as_list", "Argument[self].Field[alloc::collections::linked_list::CursorMut::current].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::splice_after", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::len]", "Argument[self].Field[alloc::collections::linked_list::CursorMut::index]", "value", "dfc-generated"] - - ["::split_after", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::alloc]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::alloc]", "value", "dfc-generated"] - - ["::split_after", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::tail]", "value", "dfc-generated"] - - ["::split_before", "Argument[self].Field[alloc::collections::linked_list::CursorMut::index]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::len]", "value", "dfc-generated"] - - ["::split_before", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::alloc]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::alloc]", "value", "dfc-generated"] - - ["::split_before", "Argument[self].Field[alloc::collections::linked_list::CursorMut::list].Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::head]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::linked_list::IntoIter::list].Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::linked_list::IntoIter::list].Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::linked_list::Iter::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::linked_list::Iter::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::linked_list::IterMut::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::linked_list::IterMut::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Field[alloc::collections::linked_list::LinkedList::len]", "Argument[self].Field[alloc::collections::linked_list::LinkedList::len]", "value", "dfc-generated"] - - ["::cursor_back", "Argument[self].Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_list", "Argument[self].Reference.Field[alloc::collections::linked_list::Cursor::list]", "ReturnValue", "value", "dfc-generated"] + - ["::index", "Argument[self].Reference.Field[alloc::collections::linked_list::Cursor::index]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_cursor", "Argument[self].Reference.Field[alloc::collections::linked_list::CursorMut::current]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] + - ["::as_cursor", "Argument[self].Reference.Field[alloc::collections::linked_list::CursorMut::index]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::index]", "value", "dfc-generated"] + - ["::as_cursor", "Argument[self].Reference.Field[alloc::collections::linked_list::CursorMut::list]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::list]", "value", "dfc-generated"] + - ["::as_list", "Argument[self].Reference.Field[alloc::collections::linked_list::CursorMut::list]", "ReturnValue", "value", "dfc-generated"] + - ["::index", "Argument[self].Reference.Field[alloc::collections::linked_list::CursorMut::index]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::remove_current", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remove_current_as_list", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::split_after", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::split_before", "Argument[self].Reference.Field[alloc::collections::linked_list::CursorMut::index]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[alloc::collections::linked_list::IntoIter::list].Field[alloc::collections::linked_list::LinkedList::alloc]", "ReturnValue.Field[alloc::collections::linked_list::IntoIter::list].Field[alloc::collections::linked_list::LinkedList::alloc]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::linked_list::Iter::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::linked_list::Iter::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::linked_list::IterMut::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::linked_list::IterMut::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::alloc]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::alloc]", "value", "dfc-generated"] + - ["::clone_from", "Argument[0].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "value", "dfc-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue.Field[alloc::collections::linked_list::IntoIter::list]", "value", "dfc-generated"] + - ["::cursor_back", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] - ["::cursor_back", "Argument[self]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::list]", "value", "dfc-generated"] - - ["::cursor_back_mut", "Argument[self].Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::CursorMut::current]", "value", "dfc-generated"] + - ["::cursor_back_mut", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::CursorMut::current]", "value", "dfc-generated"] - ["::cursor_back_mut", "Argument[self]", "ReturnValue.Field[alloc::collections::linked_list::CursorMut::list]", "value", "dfc-generated"] - - ["::cursor_front", "Argument[self].Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] + - ["::cursor_front", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::current]", "value", "dfc-generated"] - ["::cursor_front", "Argument[self]", "ReturnValue.Field[alloc::collections::linked_list::Cursor::list]", "value", "dfc-generated"] - - ["::cursor_front_mut", "Argument[self].Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::CursorMut::current]", "value", "dfc-generated"] + - ["::cursor_front_mut", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::CursorMut::current]", "value", "dfc-generated"] - ["::cursor_front_mut", "Argument[self]", "ReturnValue.Field[alloc::collections::linked_list::CursorMut::list]", "value", "dfc-generated"] - ["::extract_if", "Argument[0]", "ReturnValue.Field[alloc::collections::linked_list::ExtractIf::pred]", "value", "dfc-generated"] - - ["::extract_if", "Argument[self].Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::ExtractIf::it]", "value", "dfc-generated"] - - ["::extract_if", "Argument[self].Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::ExtractIf::old_len]", "value", "dfc-generated"] + - ["::extract_if", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::ExtractIf::it]", "value", "dfc-generated"] + - ["::extract_if", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::ExtractIf::old_len]", "value", "dfc-generated"] - ["::extract_if", "Argument[self]", "ReturnValue.Field[alloc::collections::linked_list::ExtractIf::list]", "value", "dfc-generated"] - - ["::iter", "Argument[self].Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::Iter::head]", "value", "dfc-generated"] - - ["::iter", "Argument[self].Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::Iter::len]", "value", "dfc-generated"] - - ["::iter", "Argument[self].Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::Iter::tail]", "value", "dfc-generated"] - - ["::iter_mut", "Argument[self].Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::head]", "value", "dfc-generated"] - - ["::iter_mut", "Argument[self].Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::len]", "value", "dfc-generated"] - - ["::iter_mut", "Argument[self].Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::tail]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue", "value", "dfc-generated"] + - ["::iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::Iter::head]", "value", "dfc-generated"] + - ["::iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::Iter::len]", "value", "dfc-generated"] + - ["::iter", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::Iter::tail]", "value", "dfc-generated"] + - ["::iter_mut", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::head]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::head]", "value", "dfc-generated"] + - ["::iter_mut", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::len]", "value", "dfc-generated"] + - ["::iter_mut", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::IterMut::tail]", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "ReturnValue", "value", "dfc-generated"] - ["::new_in", "Argument[0]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::alloc]", "value", "dfc-generated"] - - ["::split_off", "Argument[0]", "Argument[self].Field[alloc::collections::linked_list::LinkedList::len]", "value", "dfc-generated"] - - ["::split_off", "Argument[self].Field[alloc::collections::linked_list::LinkedList::alloc].Reference", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::alloc]", "value", "dfc-generated"] - - ["::split_off", "Argument[self].Field[alloc::collections::linked_list::LinkedList::alloc]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::alloc]", "value", "dfc-generated"] - - ["::split_off", "Argument[self].Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::tail]", "value", "dfc-generated"] + - ["::remove", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::split_off", "Argument[0]", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::len]", "value", "dfc-generated"] + - ["::split_off", "Argument[self].Reference.Field[alloc::collections::linked_list::LinkedList::tail]", "ReturnValue.Field[alloc::collections::linked_list::LinkedList::tail]", "value", "dfc-generated"] - ["::spec_from_iter", "Argument[0].Field[alloc::collections::vec_deque::into_iter::IntoIter::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::read_to_end", "Argument[self].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::read_to_string", "Argument[self].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::vec::Vec::len]", "ReturnValue.Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue.Field[alloc::collections::vec_deque::into_iter::IntoIter::inner]", "value", "dfc-generated"] + - ["::read_to_end", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::read_to_string", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::copy_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::drain", "Argument[self].Field[core::ptr::unique::Unique::pointer]", "ReturnValue.Field[alloc::collections::vec_deque::drain::Drain::deque]", "value", "dfc-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::drain", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_contiguous_raw_parts_in", "Argument[1].Field[core::ops::range::Range::start]", "ReturnValue.Field[alloc::collections::vec_deque::VecDeque::head]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue", "value", "dfc-generated"] - - ["::resize", "Argument[0]", "Argument[self].Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] - - ["::resize_with", "Argument[0]", "Argument[self].Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] - - ["::retain", "Argument[self].Element", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - - ["::retain_mut", "Argument[self].Element", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - - ["::shrink_to", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::split_off", "Argument[0]", "Argument[self].Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] - - ["::truncate", "Argument[0]", "Argument[self].Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::vec_deque::drain::Drain::remaining]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::vec_deque::drain::Drain::remaining]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0].Field[core::ptr::unique::Unique::pointer]", "ReturnValue.Field[alloc::collections::vec_deque::drain::Drain::deque]", "value", "dfc-generated"] + - ["::insert_mut", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue", "value", "dfc-generated"] + - ["::push_back_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::push_front_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::resize", "Argument[0]", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] + - ["::resize_with", "Argument[0]", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] + - ["::split_off", "Argument[0]", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] + - ["::truncate", "Argument[0]", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] + - ["::truncate_front", "Argument[0]", "Argument[self].Reference.Field[alloc::collections::vec_deque::VecDeque::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::vec_deque::drain::Drain::remaining]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[alloc::collections::vec_deque::drain::Drain::remaining]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[alloc::collections::vec_deque::drain::Drain::idx]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[alloc::collections::vec_deque::drain::Drain::drain_len]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[alloc::collections::vec_deque::drain::Drain::remaining]", "value", "dfc-generated"] - - ["::advance_back_by", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::rfold", "Argument[0].Field[core::option::Option::Some(0)].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[0].Field[core::result::Result::Ok(0)].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::count", "Argument[self].Field[alloc::collections::vec_deque::into_iter::IntoIter::inner].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::vec_deque::into_iter::IntoIter::inner].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[alloc::collections::vec_deque::into_iter::IntoIter::inner].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fold", "Argument[0].Field[core::option::Option::Some(0)].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[0].Field[core::result::Result::Ok(0)].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::try_fold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_vecdeque", "Argument[self].Field[alloc::collections::vec_deque::into_iter::IntoIter::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[alloc::collections::vec_deque::into_iter::IntoIter::inner]", "value", "dfc-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[alloc::collections::vec_deque::iter::Iter::i1].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::try_fold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::try_fold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[alloc::collections::vec_deque::iter::Iter::i1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[alloc::collections::vec_deque::iter::Iter::i2]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] @@ -398,392 +857,584 @@ extensions: - ["::new", "Argument[0]", "ReturnValue.Field[alloc::collections::vec_deque::iter_mut::IterMut::i1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[alloc::collections::vec_deque::iter_mut::IterMut::i2]", "value", "dfc-generated"] - ["::borrow", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[alloc::ffi::c_str::CString::inner]", "ReturnValue.Field[alloc::ffi::c_str::CString::inner]", "value", "dfc-generated"] + - ["::cmp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::index", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_bytes_with_nul", "Argument[self].Field[alloc::ffi::c_str::CString::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_c_str", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_c_str", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes_with_nul", "Argument[self].Reference.Field[alloc::ffi::c_str::CString::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_vec_with_nul", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[alloc::ffi::c_str::FromVecWithNulError::bytes]", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[alloc::ffi::c_str::FromVecWithNulError::bytes].Element", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[alloc::ffi::c_str::FromBytesWithNulErrorKind::InteriorNul(0)]", "ReturnValue.Field[alloc::ffi::c_str::FromBytesWithNulErrorKind::InteriorNul(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[alloc::ffi::c_str::FromBytesWithNulErrorKind::InteriorNul(0)]", "ReturnValue.Field[alloc::ffi::c_str::FromBytesWithNulErrorKind::InteriorNul(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_bytes", "Argument[self].Field[alloc::ffi::c_str::FromVecWithNulError::bytes]", "ReturnValue", "value", "dfc-generated"] - - ["::source", "Argument[self].Field[alloc::ffi::c_str::IntoStringError::error]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::source", "Argument[self].Reference.Field[alloc::ffi::c_str::IntoStringError::error]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_cstring", "Argument[self].Field[alloc::ffi::c_str::IntoStringError::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::utf8_error", "Argument[self].Field[alloc::ffi::c_str::IntoStringError::error]", "ReturnValue", "value", "dfc-generated"] - - ["::into_vec", "Argument[self].Field[1]", "ReturnValue", "value", "dfc-generated"] + - ["::utf8_error", "Argument[self].Reference.Field[alloc::ffi::c_str::IntoStringError::error]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[alloc::ffi::c_str::NulError(0)]", "ReturnValue.Field[alloc::ffi::c_str::NulError(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[alloc::ffi::c_str::NulError(0)]", "ReturnValue.Field[alloc::ffi::c_str::NulError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_vec", "Argument[self].Field[alloc::ffi::c_str::NulError(1)]", "ReturnValue", "value", "dfc-generated"] - - ["::nul_position", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::nul_position", "Argument[self].Field[alloc::ffi::c_str::NulError(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::allocator", "Argument[self].Field[alloc::raw_vec::RawVec::inner].Field[alloc::raw_vec::RawVecInner::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nul_position", "Argument[self].Reference.Field[alloc::ffi::c_str::NulError(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_nonnull_in", "Argument[2]", "ReturnValue.Field[alloc::raw_vec::RawVec::inner].Field[alloc::raw_vec::RawVecInner::alloc]", "value", "dfc-generated"] - ["::from_raw_parts_in", "Argument[2]", "ReturnValue.Field[alloc::raw_vec::RawVec::inner].Field[alloc::raw_vec::RawVecInner::alloc]", "value", "dfc-generated"] - ["::new_in", "Argument[0]", "ReturnValue.Field[alloc::raw_vec::RawVec::inner].Field[alloc::raw_vec::RawVecInner::alloc]", "value", "dfc-generated"] - ["::with_capacity_in", "Argument[1]", "ReturnValue.Field[alloc::raw_vec::RawVec::inner].Field[alloc::raw_vec::RawVecInner::alloc]", "value", "dfc-generated"] - ["::with_capacity_zeroed_in", "Argument[1]", "ReturnValue.Field[alloc::raw_vec::RawVec::inner].Field[alloc::raw_vec::RawVecInner::alloc]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::allocator", "Argument[0].Field[alloc::rc::Rc::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[0].Reference.Field[alloc::rc::Rc::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::downcast", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::rc::Rc::alloc].Reference", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[alloc::rc::Weak::ptr]", "value", "dfc-generated"] - - ["::into_inner", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::downgrade", "Argument[0].Reference.Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[alloc::rc::Weak::ptr]", "value", "dfc-generated"] + - ["::from_raw_in", "Argument[1]", "ReturnValue.Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::into_inner", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new_in", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::new_uninit_in", "Argument[0]", "ReturnValue.Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] - ["::new_uninit_slice_in", "Argument[1]", "ReturnValue.Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] - ["::new_zeroed_in", "Argument[0]", "ReturnValue.Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] - ["::new_zeroed_slice_in", "Argument[1]", "ReturnValue.Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::pin_in", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_new_in", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_new_uninit_in", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] - ["::try_new_zeroed_in", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] - ["::try_unwrap", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::try_unwrap", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - - ["::try_unwrap", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::unwrap_or_clone", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::unwrap_or_clone", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::strong_ref", "Argument[self].Field[alloc::rc::RcInner::strong]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::weak_ref", "Argument[self].Field[alloc::rc::RcInner::weak]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::rc::UniqueRc::alloc].Reference", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::rc::UniqueRc::alloc]", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::rc::UniqueRc::ptr]", "ReturnValue.Field[alloc::rc::Weak::ptr]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::rc::Weak::alloc].Reference", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::rc::Weak::alloc]", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::rc::Weak::ptr]", "ReturnValue.Field[alloc::rc::Weak::ptr]", "value", "dfc-generated"] - - ["::allocator", "Argument[self].Field[alloc::rc::Weak::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::unwrap_or_clone", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::strong_ref", "Argument[self].Reference.Field[alloc::rc::RcInner::strong]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::weak_ref", "Argument[self].Reference.Field[alloc::rc::RcInner::weak]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade", "Argument[0].Reference.Field[alloc::rc::UniqueRc::alloc]", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] + - ["::downgrade", "Argument[0].Reference.Field[alloc::rc::UniqueRc::ptr]", "ReturnValue.Field[alloc::rc::Weak::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::rc::Weak::alloc]", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::rc::Weak::ptr]", "ReturnValue.Field[alloc::rc::Weak::ptr]", "value", "dfc-generated"] + - ["::allocator", "Argument[self].Reference.Field[alloc::rc::Weak::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_raw", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_raw_in", "Argument[1]", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - ["::new_in", "Argument[0]", "ReturnValue.Field[alloc::rc::Weak::alloc]", "value", "dfc-generated"] - - ["::upgrade", "Argument[self].Field[alloc::rc::Weak::ptr]", "ReturnValue.Field[core::option::Option::Some(0)].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] - - ["::strong_ref", "Argument[self].Field[alloc::rc::WeakInner::strong]", "ReturnValue", "value", "dfc-generated"] - - ["::weak_ref", "Argument[self].Field[alloc::rc::WeakInner::weak]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_bytes", "Argument[self].Field[alloc::string::FromUtf8Error::bytes].Element", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::upgrade", "Argument[self].Reference.Field[alloc::rc::Weak::ptr]", "ReturnValue.Field[core::option::Option::Some(0)].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::strong_ref", "Argument[self].Reference.Field[alloc::rc::WeakInner::strong]", "ReturnValue", "value", "dfc-generated"] + - ["::weak_ref", "Argument[self].Reference.Field[alloc::rc::WeakInner::weak]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_bytes", "Argument[self].Field[alloc::string::FromUtf8Error::bytes]", "ReturnValue", "value", "dfc-generated"] - - ["::utf8_error", "Argument[self].Field[alloc::string::FromUtf8Error::error]", "ReturnValue", "value", "dfc-generated"] + - ["::utf8_error", "Argument[self].Reference.Field[alloc::string::FromUtf8Error::error]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_string", "Argument[self].Field[alloc::string::IntoChars::bytes].Element", "ReturnValue.Field[alloc::string::String::vec].Element", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::string::String::vec].Reference", "ReturnValue.Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::string::String::vec]", "ReturnValue.Field[alloc::string::String::vec]", "value", "dfc-generated"] + - ["::borrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::borrow_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[alloc::string::String::vec].Reference", "ReturnValue.Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_from", "Argument[0].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Field[alloc::string::FromUtf8Error::bytes]", "value", "dfc-generated"] + - ["::try_from", "Argument[0].Field[alloc::bstr::ByteString(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] + - ["::try_from", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[alloc::string::FromUtf8Error::bytes]", "value", "dfc-generated"] + - ["::try_from", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["::add", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::deref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_mut_vec", "Argument[self].Field[alloc::string::String::vec]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut_vec", "Argument[self].Reference.Field[alloc::string::String::vec]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::drain", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_raw_parts", "Argument[1]", "ReturnValue.Field[alloc::string::String::vec].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - ["::from_utf8", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[alloc::string::FromUtf8Error::bytes]", "value", "dfc-generated"] - ["::from_utf8", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["::from_utf8_lossy_owned", "Argument[0]", "ReturnValue.Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["::from_utf8_unchecked", "Argument[0]", "ReturnValue.Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["::into_bytes", "Argument[self].Field[alloc::string::String::vec]", "ReturnValue", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::string::String::vec].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::remove", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::split_off", "Argument[0]", "Argument[self].Field[alloc::string::String::vec].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::truncate", "Argument[0]", "Argument[self].Field[alloc::string::String::vec].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::into_raw_parts", "Argument[self].Field[alloc::string::String::vec].Field[alloc::vec::Vec::len]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::split_off", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::truncate", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_end", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::allocator", "Argument[0].Field[alloc::sync::Arc::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[0].Reference.Field[alloc::sync::Arc::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::downcast", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::sync::Arc::alloc].Reference", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] + - ["::downgrade", "Argument[0].Reference.Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] + - ["::from_raw_in", "Argument[1]", "ReturnValue.Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] - ["::new_uninit_in", "Argument[0]", "ReturnValue.Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] - ["::new_uninit_slice_in", "Argument[1]", "ReturnValue.Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] - ["::new_zeroed_in", "Argument[0]", "ReturnValue.Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] - ["::new_zeroed_slice_in", "Argument[1]", "ReturnValue.Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::try_new_in", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_new_uninit_in", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] - ["::try_new_zeroed_in", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::try_pin_in", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_unwrap", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::sync::Weak::alloc].Reference", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::sync::Weak::alloc]", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::sync::Weak::ptr]", "ReturnValue.Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] - - ["::allocator", "Argument[self].Field[alloc::sync::Weak::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::unwrap_or_clone", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade", "Argument[0].Reference.Field[alloc::sync::UniqueArc::alloc]", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] + - ["::downgrade", "Argument[0].Reference.Field[alloc::sync::UniqueArc::ptr]", "ReturnValue.Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::sync::Weak::alloc]", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[alloc::sync::Weak::ptr]", "ReturnValue.Field[alloc::sync::Weak::ptr]", "value", "dfc-generated"] + - ["::allocator", "Argument[self].Reference.Field[alloc::sync::Weak::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_raw", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_raw_in", "Argument[1]", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - ["::new_in", "Argument[0]", "ReturnValue.Field[alloc::sync::Weak::alloc]", "value", "dfc-generated"] - - ["::upgrade", "Argument[self].Field[alloc::sync::Weak::ptr]", "ReturnValue.Field[core::option::Option::Some(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Element", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::upgrade", "Argument[self].Reference.Field[alloc::sync::Weak::ptr]", "ReturnValue.Field[core::option::Option::Some(0)].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::borrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::borrow_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::bstr::ByteString(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::collections::binary_heap::BinaryHeap::data]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_spans", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::buffer_size", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::copy_from", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::drain", "Argument[self].Field[core::ptr::unique::Unique::pointer]", "ReturnValue.Field[alloc::vec::drain::Drain::vec]", "value", "dfc-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::drain", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::extract_if", "Argument[1]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::pred]", "value", "dfc-generated"] - - ["::extract_if", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::old_len]", "value", "dfc-generated"] + - ["::extract_if", "Argument[self].Reference.Field[alloc::vec::Vec::len]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::old_len]", "value", "dfc-generated"] - ["::extract_if", "Argument[self]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::vec]", "value", "dfc-generated"] + - ["::from_parts", "Argument[1]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - ["::from_parts_in", "Argument[1]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::from_raw_parts", "Argument[1]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - ["::from_raw_parts_in", "Argument[1]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] + - ["::insert_mut", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::into_chunks", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_parts", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["::into_parts_with_alloc", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["::into_raw_parts", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["::into_raw_parts_with_alloc", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] + - ["::peek_mut", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)].Field[alloc::vec::peek_mut::PeekMut::vec]", "value", "dfc-generated"] + - ["::push_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::push_mut_within_capacity", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::push_within_capacity", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::resize", "Argument[0]", "Argument[self].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::resize_with", "Argument[0]", "Argument[self].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::set_len", "Argument[0]", "Argument[self].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::splice", "Argument[self].Field[core::ptr::unique::Unique::pointer]", "ReturnValue.Field[alloc::vec::splice::Splice::drain].Field[alloc::vec::drain::Drain::vec]", "value", "dfc-generated"] - - ["::split_off", "Argument[0]", "Argument[self].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::truncate", "Argument[0]", "Argument[self].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::resize", "Argument[0]", "Argument[self].Reference.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::resize_with", "Argument[0]", "Argument[self].Reference.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::set_len", "Argument[0]", "Argument[self].Reference.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::split_at_spare_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::split_off", "Argument[0]", "Argument[self].Reference.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::truncate", "Argument[0]", "Argument[self].Reference.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - ["::try_with_capacity_in", "Argument[1]", "ReturnValue.Field[alloc::raw_vec::RawVec::inner].Field[alloc::raw_vec::RawVecInner::alloc]", "value", "dfc-generated"] - - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[0].Field[alloc::vec::Vec::len]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::old_len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::allocator", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0].Reference.Field[alloc::vec::Vec::len]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::old_len]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::vec]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[alloc::vec::extract_if::ExtractIf::pred]", "value", "dfc-generated"] - ["::as_into_iter", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_inner", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[alloc::vec::into_iter::IntoIter::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::allocator", "Argument[self].Field[alloc::vec::into_iter::IntoIter::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::forget_allocation_drop_remaining", "Argument[self].Field[alloc::vec::into_iter::IntoIter::buf]", "Argument[self].Field[alloc::vec::into_iter::IntoIter::ptr]", "value", "dfc-generated"] - - ["::drop", "Argument[self].Field[alloc::vec::set_len_on_drop::SetLenOnDrop::local_len]", "Argument[self].Field[alloc::vec::set_len_on_drop::SetLenOnDrop::len].Reference", "value", "dfc-generated"] - - ["::current_len", "Argument[self].Field[alloc::vec::set_len_on_drop::SetLenOnDrop::local_len]", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self].Field[alloc::vec::into_iter::IntoIter::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::allocator", "Argument[self].Reference.Field[alloc::vec::into_iter::IntoIter::alloc]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::forget_allocation_drop_remaining", "Argument[self].Reference.Field[alloc::vec::into_iter::IntoIter::buf]", "Argument[self].Reference.Field[alloc::vec::into_iter::IntoIter::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[alloc::vec::peek_mut::PeekMut::vec]", "value", "dfc-generated"] + - ["::drop", "Argument[self].Reference.Field[alloc::vec::set_len_on_drop::SetLenOnDrop::local_len]", "Argument[self].Reference.Field[alloc::vec::set_len_on_drop::SetLenOnDrop::len]", "value", "dfc-generated"] + - ["::current_len", "Argument[self].Reference.Field[alloc::vec::set_len_on_drop::SetLenOnDrop::local_len]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0].Reference", "ReturnValue.Field[alloc::vec::set_len_on_drop::SetLenOnDrop::local_len]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[alloc::vec::set_len_on_drop::SetLenOnDrop::len]", "value", "dfc-generated"] - - ["::sp", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::Frame::inner].Field[backtrace::backtrace::Frame::inner].Field[std::backtrace_rs::backtrace::Frame::inner].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[alloc::vec::set_len_on_drop::SetLenOnDrop::local_len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[allocbenches::vec::Droppable(0)]", "ReturnValue.Field[allocbenches::vec::Droppable(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[allocbenches::vec::Droppable(0)]", "ReturnValue.Field[allocbenches::vec::Droppable(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::sp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::ip].Field[backtrace::backtrace::libunwind::Frame::Cloned::ip].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::ip]", "ReturnValue", "value", "dfc-generated"] + - ["::ip", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::ip].Field[backtrace::backtrace::libunwind::Frame::Cloned::ip].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::ip]", "ReturnValue", "value", "dfc-generated"] + - ["::sp", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - ["::sp", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "value", "dfc-generated"] - - ["::into", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "ReturnValue", "value", "dfc-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::frames", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::BacktraceFrame::frame].Field[backtrace::capture::BacktraceFrame::frame].Field[std::backtrace_rs::capture::BacktraceFrame::frame].Field[as_if_std::the_backtrace_crate::capture::Frame::Raw(0)].Field[backtrace::capture::Frame::Raw(0)].Field[std::backtrace_rs::capture::Frame::Raw(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::symbols", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::colno].Field[backtrace::capture::BacktraceSymbol::colno].Field[std::backtrace_rs::capture::BacktraceSymbol::colno]", "ReturnValue", "value", "dfc-generated"] - - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::lineno].Field[backtrace::capture::BacktraceSymbol::lineno].Field[std::backtrace_rs::capture::BacktraceSymbol::lineno]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::colno].Field[backtrace::capture::BacktraceSymbol::colno].Field[std::backtrace_rs::capture::BacktraceSymbol::colno]", "ReturnValue", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::lineno].Field[backtrace::capture::BacktraceSymbol::lineno].Field[std::backtrace_rs::capture::BacktraceSymbol::lineno]", "ReturnValue", "value", "dfc-generated"] - ["::name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::formatter", "Argument[self].Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "value", "dfc-generated"] + - ["::formatter", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "ReturnValue", "value", "dfc-generated"] - ["::frame", "Argument[self]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFrameFmt::fmt].Field[backtrace::print::BacktraceFrameFmt::fmt].Field[std::backtrace_rs::print::BacktraceFrameFmt::fmt]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::format].Field[backtrace::print::BacktraceFmt::format].Field[std::backtrace_rs::print::BacktraceFmt::format]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::print_path].Field[backtrace::print::BacktraceFmt::print_path].Field[std::backtrace_rs::print::BacktraceFmt::print_path]", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::Symbol::inner].Field[backtrace::symbolize::Symbol::inner].Field[std::backtrace_rs::symbolize::Symbol::inner].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Symtab::name].Field[backtrace::symbolize::gimli::Symbol::Symtab::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Symtab::name]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] + - ["::backtrace_frame", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::backtrace_symbol", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::print_raw", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::print_raw_with_column", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filename", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filename_raw", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lineno", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_bytes", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "ReturnValue", "value", "dfc-generated"] + - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] - - ["::addr", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::addr].Field[backtrace::symbolize::gimli::Symbol::Frame::addr].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::addr].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[addr2line::frame::Location::column]", "ReturnValue", "value", "dfc-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename_raw", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename_raw", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[addr2line::frame::Location::line]", "ReturnValue", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::name].Field[backtrace::symbolize::gimli::Symbol::Frame::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::name].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::name].Field[backtrace::symbolize::gimli::Symbol::Frame::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::name]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Symtab::name].Field[backtrace::symbolize::gimli::Symbol::Symtab::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Symtab::name]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] - - ["::section", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::map", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::gimli::mmap::Mmap::len].Field[backtrace::symbolize::gimli::mmap::Mmap::len].Field[std::backtrace_rs::symbolize::gimli::mmap::Mmap::len]", "value", "dfc-generated"] - - ["::pathname", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[backtrace::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[std::backtrace_rs::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::allocate", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sp", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::Frame::inner].Field[backtrace::backtrace::Frame::inner].Field[std::backtrace_rs::backtrace::Frame::inner].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pathname", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[backtrace::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[std::backtrace_rs::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::cache_mmap", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::sp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::ip].Field[backtrace::backtrace::libunwind::Frame::Cloned::ip].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::ip]", "ReturnValue", "value", "dfc-generated"] + - ["::ip", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::ip].Field[backtrace::backtrace::libunwind::Frame::Cloned::ip].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::ip]", "ReturnValue", "value", "dfc-generated"] + - ["::sp", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - ["::sp", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "value", "dfc-generated"] - - ["::into", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "ReturnValue", "value", "dfc-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::frames", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::BacktraceFrame::frame].Field[backtrace::capture::BacktraceFrame::frame].Field[std::backtrace_rs::capture::BacktraceFrame::frame].Field[as_if_std::the_backtrace_crate::capture::Frame::Raw(0)].Field[backtrace::capture::Frame::Raw(0)].Field[std::backtrace_rs::capture::Frame::Raw(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::symbols", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::colno].Field[backtrace::capture::BacktraceSymbol::colno].Field[std::backtrace_rs::capture::BacktraceSymbol::colno]", "ReturnValue", "value", "dfc-generated"] - - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::lineno].Field[backtrace::capture::BacktraceSymbol::lineno].Field[std::backtrace_rs::capture::BacktraceSymbol::lineno]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::colno].Field[backtrace::capture::BacktraceSymbol::colno].Field[std::backtrace_rs::capture::BacktraceSymbol::colno]", "ReturnValue", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::lineno].Field[backtrace::capture::BacktraceSymbol::lineno].Field[std::backtrace_rs::capture::BacktraceSymbol::lineno]", "ReturnValue", "value", "dfc-generated"] - ["::name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::formatter", "Argument[self].Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "value", "dfc-generated"] + - ["::formatter", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "ReturnValue", "value", "dfc-generated"] - ["::frame", "Argument[self]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFrameFmt::fmt].Field[backtrace::print::BacktraceFrameFmt::fmt].Field[std::backtrace_rs::print::BacktraceFrameFmt::fmt]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::format].Field[backtrace::print::BacktraceFmt::format].Field[std::backtrace_rs::print::BacktraceFmt::format]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::print_path].Field[backtrace::print::BacktraceFmt::print_path].Field[std::backtrace_rs::print::BacktraceFmt::print_path]", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::Symbol::inner].Field[backtrace::symbolize::Symbol::inner].Field[std::backtrace_rs::symbolize::Symbol::inner].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Symtab::name].Field[backtrace::symbolize::gimli::Symbol::Symtab::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Symtab::name]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] + - ["::backtrace_frame", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::backtrace_symbol", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::print_raw", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::print_raw_with_column", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filename", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filename_raw", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lineno", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_bytes", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "ReturnValue", "value", "dfc-generated"] + - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] - - ["::addr", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::addr].Field[backtrace::symbolize::gimli::Symbol::Frame::addr].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::addr].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[addr2line::frame::Location::column]", "ReturnValue", "value", "dfc-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename_raw", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename_raw", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[addr2line::frame::Location::line]", "ReturnValue", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::name].Field[backtrace::symbolize::gimli::Symbol::Frame::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::name].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::name].Field[backtrace::symbolize::gimli::Symbol::Frame::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::name]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Symtab::name].Field[backtrace::symbolize::gimli::Symbol::Symtab::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Symtab::name]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] - - ["::section", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::map", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::gimli::mmap::Mmap::len].Field[backtrace::symbolize::gimli::mmap::Mmap::len].Field[std::backtrace_rs::symbolize::gimli::mmap::Mmap::len]", "value", "dfc-generated"] - - ["::pathname", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[backtrace::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[std::backtrace_rs::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::allocate", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "Argument[self].Field[connect5::List::p_move].Element", "value", "dfc-generated"] - - ["::size", "Argument[self].Field[connect5::List::p_size]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pathname", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[backtrace::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[std::backtrace_rs::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::cache_mmap", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self].Field[compiler_builtins::int::big::i256(0)]", "ReturnValue.Field[compiler_builtins::int::big::u256(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shr", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self].Field[compiler_builtins::int::big::u256(0)]", "ReturnValue.Field[compiler_builtins::int::big::i256(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::i256::hi].Field[libm::math::support::big::i256::hi]", "ReturnValue", "value", "dfc-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::not", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shl", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shr", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::i256::lo].Field[libm::math::support::big::i256::lo]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "value", "dfc-generated"] + - ["::hi", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::u256::hi].Field[libm::math::support::big::u256::hi]", "ReturnValue", "value", "dfc-generated"] + - ["::lo", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::not", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shl", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shr", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::i256::lo].Field[libm::math::support::big::i256::lo]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["::new", "Argument[1]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::status].Field[libm::math::support::env::FpResult::status]", "value", "dfc-generated"] + - ["::ok", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bits", "Argument[self].Reference.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from_bits", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size", "Argument[self].Reference.Field[connect5::List::p_size]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::alloc::layout::Layout::size]", "ReturnValue.Field[core::alloc::layout::Layout::size].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::alloc::layout::Layout::size]", "ReturnValue.Field[core::alloc::layout::Layout::size]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::align", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::align_to", "Argument[self].Field[core::alloc::layout::Layout::align]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::align]", "value", "dfc-generated"] - - ["::align_to", "Argument[self].Field[core::alloc::layout::Layout::size]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::size]", "value", "dfc-generated"] - - ["::extend_packed", "Argument[self].Field[core::alloc::layout::Layout::align]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::align]", "value", "dfc-generated"] + - ["::align_to", "Argument[self].Reference.Field[core::alloc::layout::Layout::size]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::size]", "value", "dfc-generated"] + - ["::alignment", "Argument[self].Reference.Field[core::alloc::layout::Layout::align]", "ReturnValue", "value", "dfc-generated"] + - ["::extend_packed", "Argument[self].Reference.Field[core::alloc::layout::Layout::align]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::align]", "value", "dfc-generated"] - ["::from_size_align", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::size]", "value", "dfc-generated"] - ["::from_size_align_unchecked", "Argument[0]", "ReturnValue.Field[core::alloc::layout::Layout::size]", "value", "dfc-generated"] + - ["::repeat", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::repeat", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::repeat_packed", "Argument[self].Field[core::alloc::layout::Layout::align]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::align]", "value", "dfc-generated"] - - ["::size", "Argument[self].Field[core::alloc::layout::Layout::size]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rfold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::array::iter::IntoIter::data]", "value", "dfc-generated"] - - ["::new_unchecked", "Argument[1].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::array::iter::IntoIter::alive].Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] - - ["::new_unchecked", "Argument[1].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::array::iter::IntoIter::alive].Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] + - ["::repeat_packed", "Argument[self].Reference.Field[core::alloc::layout::Layout::align]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::alloc::layout::Layout::align]", "value", "dfc-generated"] + - ["::size", "Argument[self].Reference.Field[core::alloc::layout::Layout::size]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::array::iter::IntoIter::inner].Field[core::array::iter::iter_inner::PolymorphicIter::data]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::array::iter::iter_inner::PolymorphicIter::alive]", "value", "dfc-generated"] + - ["::new_unchecked", "Argument[1]", "ReturnValue.Field[core::array::iter::iter_inner::PolymorphicIter::data]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_char", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::try_capture", "Argument[self].Field[0].Reference", "Argument[0].Field[core::asserting::Capture::elem].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::try_capture", "Argument[self].Field[core::asserting::Wrapper(0)].Reference", "Argument[0].Field[core::asserting::Capture::elem].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::try_capture", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clamp", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::clamp", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::clamp", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::max", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::max", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::min", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::min", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::select_unpredictable", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::select_unpredictable", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::ok_or", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::ok_or_else", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::then", "Argument[0].ReturnValue", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::then_some", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[0].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[core::bstr::ByteStr(0)].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::index_mut", "Argument[self].Field[0].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index_mut", "Argument[self].Field[core::bstr::ByteStr(0)].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_bytes", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_bytes_mut", "Argument[self].Reference.Field[core::bstr::ByteStr(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_bytes", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_bytes_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self].Field[core::cell::BorrowRef::borrow]", "ReturnValue.Field[core::cell::BorrowRef::borrow]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::cell::BorrowRef::borrow]", "ReturnValue.Field[core::cell::BorrowRef::borrow]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::cell::Cell::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_array_of_cells", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_slice_of_cells", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::cell::Cell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::cell::Cell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::cell::Cell::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - - ["::update", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::update", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::clone", "Argument[0].Reference.Field[core::cell::Ref::value]", "ReturnValue.Field[core::cell::Ref::value]", "value", "dfc-generated"] - ["::filter_map", "Argument[0].Field[core::cell::Ref::borrow]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::cell::Ref::borrow]", "value", "dfc-generated"] - - ["::filter_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map", "Argument[0].Field[core::cell::Ref::borrow]", "ReturnValue.Field[core::cell::Ref::borrow]", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::map_split", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["::map_split", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::map_split", "Argument[0].Field[core::cell::Ref::borrow]", "ReturnValue.Field[1].Field[core::cell::Ref::borrow]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::cell::RefCell::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::borrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::borrow_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::cell::RefCell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::cell::RefCell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::cell::RefCell::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::try_borrow_unguarded", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::undo_leak", "Argument[self].Field[core::cell::RefCell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::undo_leak", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::filter_map", "Argument[0].Field[core::cell::RefMut::borrow]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::cell::RefMut::borrow]", "value", "dfc-generated"] - - ["::filter_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map", "Argument[0].Field[core::cell::RefMut::borrow]", "ReturnValue.Field[core::cell::RefMut::borrow]", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::map_split", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["::map_split", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::map_split", "Argument[0].Field[core::cell::RefMut::borrow]", "ReturnValue.Field[1].Field[core::cell::RefMut::borrow]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::cell::SyncUnsafeCell::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::cell::SyncUnsafeCell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::cell::SyncUnsafeCell::value].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::cell::SyncUnsafeCell::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::raw_get", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::raw_get", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_or_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_or_try_init", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::force", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::force_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut_or_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut_or_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut_or_try_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut_or_try_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_init", "Argument[0].ReturnValue", "ReturnValue.Reference.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::get_or_init", "Argument[0].ReturnValue", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_or_try_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_try_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::cell::once::OnceCell::inner].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::try_insert", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - ["::try_insert", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[1]", "value", "dfc-generated"] + - ["::try_insert", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_utf8_pattern", "Argument[self].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::str::pattern::Utf8Pattern::CharPattern(0)]", "value", "dfc-generated"] + - ["::as_utf8_pattern", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::str::pattern::Utf8Pattern::CharPattern(0)]", "value", "dfc-generated"] - ["::into_searcher", "Argument[0]", "ReturnValue.Field[core::str::pattern::CharSearcher::haystack]", "value", "dfc-generated"] - ["::into_searcher", "Argument[self]", "ReturnValue.Field[core::str::pattern::CharSearcher::needle]", "value", "dfc-generated"] - - ["::rfold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[0].Field[core::char::EscapeDebugInner::Char(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::char::EscapeDebug(0)].Field[core::char::EscapeDebugInner::Char(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::rfold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::rfold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::next", "Argument[self].Field[core::char::decode::DecodeUtf16::iter].Element", "Argument[self].Field[core::char::decode::DecodeUtf16::buf].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::char::decode::DecodeUtf16::iter].Element", "ReturnValue", "value", "dfc-generated"] - - ["::unpaired_surrogate", "Argument[self].Field[core::char::decode::DecodeUtf16Error::code]", "ReturnValue", "value", "dfc-generated"] + - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::char::decode::DecodeUtf16Error::code]", "ReturnValue.Field[core::char::decode::DecodeUtf16Error::code].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::char::decode::DecodeUtf16Error::code]", "ReturnValue.Field[core::char::decode::DecodeUtf16Error::code]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::unpaired_surrogate", "Argument[self].Reference.Field[core::char::decode::DecodeUtf16Error::code]", "ReturnValue", "value", "dfc-generated"] - ["::from_digit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_ascii_lowercase", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::to_ascii_lowercase", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::to_ascii_uppercase", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::to_ascii_uppercase", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::then", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::then", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::then_with", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::then_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone_from", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::cmp::Reverse(0)]", "ReturnValue.Field[core::cmp::Reverse(0)]", "value", "dfc-generated"] + - ["::clone_from", "Argument[0].Reference.Field[core::cmp::Reverse(0)]", "Argument[self].Reference.Field[core::cmp::Reverse(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] @@ -801,6 +1452,8 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] @@ -834,11 +1487,15 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] @@ -848,6 +1505,8 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] @@ -865,14 +1524,20 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x2(0)].Field[core_arch::core_arch::simd::f32x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x2(0)].Field[core_arch::core_arch::simd::f32x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f32x2(0)].Field[core_arch::core_arch::simd::f32x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] @@ -882,16 +1547,24 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x1(0)].Field[core_arch::core_arch::simd::f64x1(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x1(0)].Field[core_arch::core_arch::simd::f64x1(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x2(0)].Field[core_arch::core_arch::simd::f64x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x2(0)].Field[core_arch::core_arch::simd::f64x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f64x2(0)].Field[core_arch::core_arch::simd::f64x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] @@ -901,6 +1574,8 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] @@ -918,9 +1593,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x2(0)].Field[core_arch::core_arch::simd::i16x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x2(0)].Field[core_arch::core_arch::simd::i16x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i16x2(0)].Field[core_arch::core_arch::simd::i16x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] @@ -954,11 +1633,15 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] @@ -968,6 +1651,8 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] @@ -985,9 +1670,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x2(0)].Field[core_arch::core_arch::simd::i32x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x2(0)].Field[core_arch::core_arch::simd::i32x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i32x2(0)].Field[core_arch::core_arch::simd::i32x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] @@ -1021,11 +1710,15 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] @@ -1035,16 +1728,24 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x1(0)].Field[core_arch::core_arch::simd::i64x1(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x1(0)].Field[core_arch::core_arch::simd::i64x1(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x2(0)].Field[core_arch::core_arch::simd::i64x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x2(0)].Field[core_arch::core_arch::simd::i64x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i64x2(0)].Field[core_arch::core_arch::simd::i64x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] @@ -1054,6 +1755,8 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] @@ -1071,9 +1774,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x2(0)].Field[core_arch::core_arch::simd::i8x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x2(0)].Field[core_arch::core_arch::simd::i8x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i8x2(0)].Field[core_arch::core_arch::simd::i8x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] @@ -1107,11 +1814,15 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] @@ -1177,6 +1888,8 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] @@ -1186,6 +1899,22 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] @@ -1203,9 +1932,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x2(0)].Field[core_arch::core_arch::simd::u16x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x2(0)].Field[core_arch::core_arch::simd::u16x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u16x2(0)].Field[core_arch::core_arch::simd::u16x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] @@ -1239,11 +1972,15 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] @@ -1309,6 +2046,8 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] @@ -1318,6 +2057,8 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] @@ -1335,9 +2076,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x2(0)].Field[core_arch::core_arch::simd::u32x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x2(0)].Field[core_arch::core_arch::simd::u32x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u32x2(0)].Field[core_arch::core_arch::simd::u32x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] @@ -1371,11 +2116,15 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] @@ -1385,16 +2134,24 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x1(0)].Field[core_arch::core_arch::simd::u64x1(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x1(0)].Field[core_arch::core_arch::simd::u64x1(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x2(0)].Field[core_arch::core_arch::simd::u64x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x2(0)].Field[core_arch::core_arch::simd::u64x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u64x2(0)].Field[core_arch::core_arch::simd::u64x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] @@ -1404,6 +2161,8 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] @@ -1421,9 +2180,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x2(0)].Field[core_arch::core_arch::simd::u8x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x2(0)].Field[core_arch::core_arch::simd::u8x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u8x2(0)].Field[core_arch::core_arch::simd::u8x2(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] @@ -1457,11 +2220,15 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] @@ -1527,6 +2294,8 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] @@ -1536,65 +2305,96 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)]", "ReturnValue.Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)]", "ReturnValue.Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_bits", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)]", "value", "dfc-generated"] - - ["::to_bits", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::to_bits", "Argument[self].Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::simd_clamp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::simd_clamp", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::simd_clamp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::simd_max", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::simd_max", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::simd_min", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::simd_min", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitand_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitxor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::select_mask", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::select_mask", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::select_mask", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::as_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::recip", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::to_degrees", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::to_radians", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::index_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fract", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fract", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_bits", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::without_provenance", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::without_provenance", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_mut_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::provide_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::provide_ref_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::provide_value", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::provide_value_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::error::Source::current]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[core::error::Source::current]", "ReturnValue", "value", "dfc-generated"] - ["::as_request", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::backslash", "Argument[0]", "ReturnValue.Field[core::escape::EscapeIterInner::data].Element", "value", "dfc-generated"] - - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next", "Argument[self].Field[core::escape::EscapeIterInner::alive].Field[core::ops::range::Range::start]", "ReturnValue", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::escape::EscapeIterInner::alive].Field[core::ops::range::Range::end]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::escape::EscapeIterInner::data]", "ReturnValue.Field[core::escape::EscapeIterInner::data].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::escape::EscapeIterInner::data]", "ReturnValue.Field[core::escape::EscapeIterInner::data]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hexf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::flush", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clamp", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::clamp", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["::clamp", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fract", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::maximum", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::maximum", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::minimum", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -1602,130 +2402,315 @@ extensions: - ["::next_down", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::next_up", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::recip", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_degrees", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_radians", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::narrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::narrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hexf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::flush", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clamp", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::clamp", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["::clamp", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fract", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::maximum", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::maximum", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::minimum", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::minimum", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::next_down", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::next_up", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::recip", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_degrees", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_radians", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::ffi::c_str::Bytes::ptr]", "ReturnValue.Field[core::ffi::c_str::Bytes::ptr].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::ffi::c_str::Bytes::ptr]", "ReturnValue.Field[core::ffi::c_str::Bytes::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::into_c_string", "Argument[self].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[core::ffi::va_list::VaList::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[core::ffi::va_list::VaList::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::to_bytes_with_nul", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::ffi::c_str::FromBytesWithNulError::InteriorNul::position]", "ReturnValue.Field[core::ffi::c_str::FromBytesWithNulError::InteriorNul::position].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::ffi::c_str::FromBytesWithNulError::InteriorNul::position]", "ReturnValue.Field[core::ffi::c_str::FromBytesWithNulError::InteriorNul::position]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[core::ffi::va_list::VaList::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[core::ffi::va_list::VaList::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_va_list", "Argument[self]", "ReturnValue.Field[core::ffi::va_list::VaList::inner]", "value", "dfc-generated"] - ["::with_copy", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::spec_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_statically_known_str", "Argument[self].Field[core::fmt::Arguments::pieces].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::as_str", "Argument[self].Field[core::fmt::Arguments::pieces].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::as_statically_known_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new_const", "Argument[0]", "ReturnValue.Field[core::fmt::Arguments::pieces]", "value", "dfc-generated"] - ["::new_v1", "Argument[0]", "ReturnValue.Field[core::fmt::Arguments::pieces]", "value", "dfc-generated"] - ["::new_v1", "Argument[1]", "ReturnValue.Field[core::fmt::Arguments::args]", "value", "dfc-generated"] - ["::new_v1_formatted", "Argument[0]", "ReturnValue.Field[core::fmt::Arguments::pieces]", "value", "dfc-generated"] - ["::new_v1_formatted", "Argument[1]", "ReturnValue.Field[core::fmt::Arguments::args]", "value", "dfc-generated"] - ["::new_v1_formatted", "Argument[2]", "ReturnValue.Field[core::fmt::Arguments::fmt].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::debug_list", "Argument[self]", "ReturnValue.Field[core::fmt::builders::DebugList::inner].Field[core::fmt::builders::DebugInner::fmt]", "value", "dfc-generated"] - ["::debug_map", "Argument[self]", "ReturnValue.Field[core::fmt::builders::DebugMap::fmt]", "value", "dfc-generated"] - ["::debug_set", "Argument[self]", "ReturnValue.Field[core::fmt::builders::DebugSet::inner].Field[core::fmt::builders::DebugInner::fmt]", "value", "dfc-generated"] - ["::debug_struct", "Argument[self]", "ReturnValue.Field[core::fmt::builders::DebugStruct::fmt]", "value", "dfc-generated"] + - ["::debug_struct_field1_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field1_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field1_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_struct_field1_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_struct_field1_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[1]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[2]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[self]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[self]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field2_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[1]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[1]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[1]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[2]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[2]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[2]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[3]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[3]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[4]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[4]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[5]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[6]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[self]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[self]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[self]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[self]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field3_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[1]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[1]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[1]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[1]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[1]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[2]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[2]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[2]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[2]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[2]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[3]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[3]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[3]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[3]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[4]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[4]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[4]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[4]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[5]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[5]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[5]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[6]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[6]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[6]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[7]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[8]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field4_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[10]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[3]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[3]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[3]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[3]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[3]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[3]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[4]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[4]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[4]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[4]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[4]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[4]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[5]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[5]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[5]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[5]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[5]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[6]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[6]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[6]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[6]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[6]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[7]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[7]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[7]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[8]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[8]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[8]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[9]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[10]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[3]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[4]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[5]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[6]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[7]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[8]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "Argument[9]", "taint", "df-generated"] + - ["::debug_struct_field5_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_struct_fields_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::debug_tuple", "Argument[self]", "ReturnValue.Field[core::fmt::builders::DebugTuple::fmt]", "value", "dfc-generated"] - - ["::flags", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field1_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field1_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_tuple_field1_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field2_finish", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field2_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field2_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field2_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_tuple_field2_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field2_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[self]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field3_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[1]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[2]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[3]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[self]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[self]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field4_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[1]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[1]", "Argument[5]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[2]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[2]", "Argument[5]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[3]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[3]", "Argument[5]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[4]", "Argument[5]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[5]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[self]", "Argument[3]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[self]", "Argument[4]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[self]", "Argument[5]", "taint", "df-generated"] + - ["::debug_tuple_field5_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_fields_finish", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::debug_tuple_fields_finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::fmt::Formatter::buf]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::fmt::Formatter::options]", "value", "dfc-generated"] - - ["::options", "Argument[self].Field[core::fmt::Formatter::options]", "ReturnValue", "value", "dfc-generated"] - - ["::pad", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pad_integral", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::padding", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::options", "Argument[self].Reference.Field[core::fmt::Formatter::options]", "ReturnValue", "value", "dfc-generated"] - ["::precision", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::width", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_options", "Argument[0]", "ReturnValue.Field[core::fmt::Formatter::options]", "value", "dfc-generated"] - - ["::with_options", "Argument[self].Field[core::fmt::Formatter::buf]", "ReturnValue.Field[core::fmt::Formatter::buf]", "value", "dfc-generated"] + - ["::with_options", "Argument[self].Reference.Field[core::fmt::Formatter::buf]", "ReturnValue.Field[core::fmt::Formatter::buf]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::align", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::alternate", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::create_formatter", "Argument[0]", "ReturnValue.Field[core::fmt::Formatter::buf]", "value", "dfc-generated"] - ["::create_formatter", "Argument[self]", "ReturnValue.Field[core::fmt::Formatter::options]", "value", "dfc-generated"] - ["::debug_as_hex", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::fill", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_precision", "Argument[self].Field[core::fmt::FormattingOptions::precision]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::get_width", "Argument[self].Field[core::fmt::FormattingOptions::width]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::get_precision", "Argument[self].Reference.Field[core::fmt::FormattingOptions::precision]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::get_width", "Argument[self].Reference.Field[core::fmt::FormattingOptions::width]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::precision", "Argument[0].Field[core::option::Option::Some(0)]", "Argument[self].Reference.Field[core::fmt::FormattingOptions::precision]", "value", "dfc-generated"] - ["::precision", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::sign", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::sign_aware_zero_pad", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::width", "Argument[0].Field[core::option::Option::Some(0)]", "Argument[self].Reference.Field[core::fmt::FormattingOptions::width]", "value", "dfc-generated"] - ["::width", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::entries", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::entry", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::entry_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugList::inner].Field[core::fmt::builders::DebugInner::result]", "ReturnValue", "value", "dfc-generated"] + - ["::finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::finish_non_exhaustive", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::entries", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::entry", "Argument[self].Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::entry", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugMap::result]", "ReturnValue", "value", "dfc-generated"] - - ["::finish_non_exhaustive", "Argument[self].Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::finish_non_exhaustive", "Argument[self].Field[core::fmt::builders::DebugMap::result]", "ReturnValue", "value", "dfc-generated"] - - ["::key", "Argument[self].Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::finish", "Argument[self].Reference.Field[core::fmt::builders::DebugMap::result]", "ReturnValue", "value", "dfc-generated"] + - ["::finish_non_exhaustive", "Argument[self].Reference.Field[core::fmt::builders::DebugMap::result]", "ReturnValue", "value", "dfc-generated"] - ["::key", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::key_with", "Argument[self].Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::key_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::value", "Argument[self].Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::value", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::value_with", "Argument[self].Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugMap::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::value_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::entries", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::entry", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::entry_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugSet::inner].Field[core::fmt::builders::DebugInner::result]", "ReturnValue", "value", "dfc-generated"] - - ["::finish_non_exhaustive", "Argument[self].Field[core::fmt::builders::DebugSet::inner].Field[core::fmt::builders::DebugInner::result]", "ReturnValue", "value", "dfc-generated"] - - ["::field", "Argument[self].Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::finish_non_exhaustive", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::field", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::field_with", "Argument[self].Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::field_with", "Argument[1].ReturnValue", "Argument[self].Reference.Field[core::fmt::builders::DebugStruct::result]", "value", "dfc-generated"] - ["::field_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugStruct::result]", "ReturnValue", "value", "dfc-generated"] - - ["::finish_non_exhaustive", "Argument[self].Field[core::fmt::builders::DebugStruct::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::finish_non_exhaustive", "Argument[self].Field[core::fmt::builders::DebugStruct::result]", "ReturnValue", "value", "dfc-generated"] - - ["::field", "Argument[self].Field[core::fmt::builders::DebugTuple::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugTuple::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::finish", "Argument[self].Reference.Field[core::fmt::builders::DebugStruct::result]", "ReturnValue", "value", "dfc-generated"] + - ["::finish_non_exhaustive", "Argument[self].Reference.Field[core::fmt::builders::DebugStruct::result]", "ReturnValue", "value", "dfc-generated"] - ["::field", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::field_with", "Argument[self].Field[core::fmt::builders::DebugTuple::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::fmt::builders::DebugTuple::result].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::field_with", "Argument[0].ReturnValue", "Argument[self].Reference.Field[core::fmt::builders::DebugTuple::result]", "value", "dfc-generated"] - ["::field_with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugTuple::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::fmt::builders::DebugTuple::result]", "ReturnValue", "value", "dfc-generated"] - - ["::finish_non_exhaustive", "Argument[self].Field[core::fmt::builders::DebugTuple::result].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::finish_non_exhaustive", "Argument[self].Field[core::fmt::builders::DebugTuple::result]", "ReturnValue", "value", "dfc-generated"] + - ["::finish", "Argument[self].Reference.Field[core::fmt::builders::DebugTuple::result]", "ReturnValue", "value", "dfc-generated"] + - ["::finish_non_exhaustive", "Argument[self].Reference.Field[core::fmt::builders::DebugTuple::result]", "ReturnValue", "value", "dfc-generated"] - ["::fmt", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fmt", "Argument[0]", "Argument[self]", "taint", "df-generated"] @@ -1734,490 +2719,450 @@ extensions: - ["::digit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::digit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::digit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_u16", "Argument[self].Field[core::fmt::rt::Argument::ty].Field[core::fmt::rt::ArgumentType::Count(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_u16", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_usize", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[core::fmt::rt::Placeholder::position]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue.Field[core::fmt::rt::Placeholder::fill]", "value", "dfc-generated"] - - ["::new", "Argument[2]", "ReturnValue.Field[core::fmt::rt::Placeholder::align]", "value", "dfc-generated"] - - ["::new", "Argument[3]", "ReturnValue.Field[core::fmt::rt::Placeholder::flags]", "value", "dfc-generated"] - - ["::new", "Argument[4]", "ReturnValue.Field[core::fmt::rt::Placeholder::precision]", "value", "dfc-generated"] - - ["::new", "Argument[5]", "ReturnValue.Field[core::fmt::rt::Placeholder::width]", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::future::ResumeTy(0)]", "ReturnValue.Field[core::future::ResumeTy(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::future::ResumeTy(0)]", "ReturnValue.Field[core::future::ResumeTy(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::future::ready::Ready(0)].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new_with_keys", "Argument[0]", "ReturnValue.Field[core::hash::sip::SipHasher13::hasher].Field[core::hash::sip::Hasher::k0]", "value", "dfc-generated"] - ["::new_with_keys", "Argument[1]", "ReturnValue.Field[core::hash::sip::SipHasher13::hasher].Field[core::hash::sip::Hasher::k1]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::i256::hi].Field[libm::math::support::big::i256::hi]", "value", "dfc-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::i256::hi].Field[libm::math::support::big::i256::hi]", "value", "dfc-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_abs", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::checked_ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::overflowing_abs", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::overflowing_neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::saturating_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::saturating_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::strict_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrapping_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_abs", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::checked_ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::overflowing_abs", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::overflowing_neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::saturating_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::saturating_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::strict_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrapping_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hex", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_abs", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::checked_ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::overflowing_abs", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::overflowing_neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::saturating_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::saturating_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::strict_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrapping_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hex", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_abs", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::checked_ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::overflowing_abs", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::overflowing_neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::saturating_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::saturating_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::strict_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrapping_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_elem", "Argument[1]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_abs", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::checked_ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::overflowing_abs", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::overflowing_neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::saturating_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::saturating_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::strict_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrapping_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::io::borrowed_buf::BorrowedBuf::buf]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clear", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::init_len", "Argument[self].Field[core::io::borrowed_buf::BorrowedBuf::init]", "ReturnValue", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[core::io::borrowed_buf::BorrowedBuf::filled]", "ReturnValue", "value", "dfc-generated"] - - ["::set_init", "Argument[0]", "Argument[self].Field[core::io::borrowed_buf::BorrowedBuf::init]", "value", "dfc-generated"] - - ["::set_init", "Argument[0]", "ReturnValue.Field[core::io::borrowed_buf::BorrowedBuf::init]", "value", "dfc-generated"] - - ["::set_init", "Argument[self].Field[core::io::borrowed_buf::BorrowedBuf::init]", "ReturnValue.Field[core::io::borrowed_buf::BorrowedBuf::init]", "value", "dfc-generated"] + - ["::init_len", "Argument[self].Reference.Field[core::io::borrowed_buf::BorrowedBuf::init]", "ReturnValue", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[core::io::borrowed_buf::BorrowedBuf::filled]", "ReturnValue", "value", "dfc-generated"] + - ["::set_init", "Argument[0]", "Argument[self].Reference.Field[core::io::borrowed_buf::BorrowedBuf::init]", "value", "dfc-generated"] - ["::set_init", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::unfilled", "Argument[self].Field[core::io::borrowed_buf::BorrowedBuf::filled]", "ReturnValue.Field[core::io::borrowed_buf::BorrowedCursor::start]", "value", "dfc-generated"] - - ["::write", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::write_all", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::write_all_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::advance", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::advance_unchecked", "Argument[self]", "ReturnValue", "value", "df-generated"] - - ["::capacity", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::advance_unchecked", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::ensure_init", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::reborrow", "Argument[self].Field[core::io::borrowed_buf::BorrowedCursor::start]", "ReturnValue.Field[core::io::borrowed_buf::BorrowedCursor::start]", "value", "dfc-generated"] - - ["::set_init", "Argument[self].Field[core::io::borrowed_buf::BorrowedCursor::buf].Field[core::io::borrowed_buf::BorrowedBuf::init]", "ReturnValue.Field[core::io::borrowed_buf::BorrowedCursor::buf].Field[core::io::borrowed_buf::BorrowedBuf::init]", "value", "dfc-generated"] - ["::set_init", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with_unfilled_buf", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::written", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_unsigned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_abs", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::checked_ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::ilog10", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::overflowing_abs", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::overflowing_neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::saturating_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::saturating_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::strict_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::unsigned_abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::wrapping_abs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_remainder", "Argument[self].Field[core::iter::adapters::array_chunks::ArrayChunks::remainder]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::array_chunks::ArrayChunks::iter]", "value", "dfc-generated"] - - ["::advance_back_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rfold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::advance_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[0].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::by_ref_sized::ByRefSized(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[0].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::by_ref_sized::ByRefSized(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::iter::adapters::chain::Chain::a].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::iter::adapters::chain::Chain::b].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::iter::adapters::chain::Chain::a].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::rfind", "Argument[self].Field[core::iter::adapters::chain::Chain::a].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::rfind", "Argument[self].Field[core::iter::adapters::chain::Chain::b].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::a]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::b]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nth_back", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::a]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfind", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::a]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfind", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::b]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::find", "Argument[self].Field[core::iter::adapters::chain::Chain::a].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::find", "Argument[self].Field[core::iter::adapters::chain::Chain::b].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_rfold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::a]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::find", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::b]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::chain::Chain::a].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::chain::Chain::b].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::chain::Chain::b].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::a]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::b]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nth", "Argument[self].Reference.Field[core::iter::adapters::chain::Chain::b]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::chain::Chain::a].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::chain::Chain::b].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -2225,108 +3170,185 @@ extensions: - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::cloned::Cloned::it]", "value", "dfc-generated"] - - ["::advance_back_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::advance_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::copied::Copied::it]", "value", "dfc-generated"] - - ["::advance_by", "Argument[self].Field[core::iter::adapters::cycle::Cycle::orig].Reference", "Argument[self].Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] - - ["::advance_by", "Argument[self].Field[core::iter::adapters::cycle::Cycle::orig]", "Argument[self].Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] - - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::try_fold", "Argument[self].Field[core::iter::adapters::cycle::Cycle::orig].Reference", "Argument[self].Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] - - ["::try_fold", "Argument[self].Field[core::iter::adapters::cycle::Cycle::orig]", "Argument[self].Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] - - ["::new", "Argument[0].Reference", "ReturnValue.Field[core::iter::adapters::cycle::Cycle::orig]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::advance_by", "Argument[self].Reference.Field[core::iter::adapters::cycle::Cycle::orig]", "Argument[self].Reference.Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::cycle::Cycle::orig]", "Argument[self].Reference.Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] + - ["::try_fold", "Argument[self].Reference.Field[core::iter::adapters::cycle::Cycle::orig]", "Argument[self].Reference.Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::cycle::Cycle::iter]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::cycle::Cycle::orig]", "value", "dfc-generated"] - - ["::advance_back_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::enumerate::Enumerate::count]", "ReturnValue.Field[core::iter::adapters::enumerate::Enumerate::count].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::enumerate::Enumerate::count]", "ReturnValue.Field[core::iter::adapters::enumerate::Enumerate::count]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::__iterator_get_unchecked", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::__iterator_get_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::advance_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::enumerate::Enumerate::count]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::enumerate::Enumerate::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::enumerate::Enumerate::iter].Element", "ReturnValue", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::enumerate::Enumerate::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::enumerate::Enumerate::iter].Element", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::enumerate::Enumerate::count]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::enumerate::Enumerate::iter]", "value", "dfc-generated"] + - ["::next_index", "Argument[self].Reference.Field[core::iter::adapters::enumerate::Enumerate::count]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_rfold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_rfold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::filter::Filter::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::filter::Filter::predicate]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_rfold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_rfold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::filter_map::FilterMap::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::filter_map::FilterMap::f]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::iter::adapters::flatten::FlatMap::inner].Reference", "ReturnValue.Field[core::iter::adapters::flatten::FlatMap::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::iter::adapters::flatten::FlatMap::inner]", "ReturnValue.Field[core::iter::adapters::flatten::FlatMap::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_parts", "Argument[self].Field[core::iter::adapters::flatten::FlatMap::inner].Field[core::iter::adapters::flatten::FlattenCompat::backiter]", "ReturnValue.Field[2]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[core::iter::adapters::flatten::FlatMap::inner].Field[core::iter::adapters::flatten::FlattenCompat::frontiter]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::iter::adapters::flatten::Flatten::inner].Reference", "ReturnValue.Field[core::iter::adapters::flatten::Flatten::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::iter::adapters::flatten::Flatten::inner]", "ReturnValue.Field[core::iter::adapters::flatten::Flatten::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::iter::adapters::flatten::FlattenCompat::frontiter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::adapters::flatten::FlattenCompat::backiter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::adapters::flatten::FlattenCompat::frontiter]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::flatten::FlattenCompat::backiter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::find", "Argument[self].Field[core::iter::adapters::fuse::Fuse::iter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::fuse::Fuse::iter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::iter::adapters::fuse::Fuse::iter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::fuse::Fuse::iter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::iter::adapters::fuse::Fuse::iter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::rfind", "Argument[self].Field[core::iter::adapters::fuse::Fuse::iter].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::flatten::FlattenCompat::backiter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::flatten::FlattenCompat::frontiter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nth", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nth_back", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfind", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nth_back", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfind", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::find", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nth", "Argument[self].Reference.Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::iter::adapters::fuse::Fuse::iter]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::fuse::Fuse::iter].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::inspect::Inspect::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::inspect::Inspect::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::inspect::Inspect::f]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::intersperse::Intersperse::started]", "ReturnValue.Field[core::iter::adapters::intersperse::Intersperse::started].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::intersperse::Intersperse::started]", "ReturnValue.Field[core::iter::adapters::intersperse::Intersperse::started]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[self].Field[core::iter::adapters::intersperse::Intersperse::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::intersperse::Intersperse::separator]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::iter::adapters::intersperse::IntersperseWith::separator]", "ReturnValue.Field[core::iter::adapters::intersperse::IntersperseWith::separator]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::iter::adapters::intersperse::IntersperseWith::started]", "ReturnValue.Field[core::iter::adapters::intersperse::IntersperseWith::started]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[self].Field[core::iter::adapters::intersperse::IntersperseWith::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::intersperse::IntersperseWith::separator]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] @@ -2340,63 +3362,94 @@ extensions: - ["::into_inner", "Argument[self].Field[core::iter::adapters::map::Map::iter]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::map::Map::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::map::Map::f]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::map_while::MapWhile::iter].Element", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::map_while::MapWhile::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::map_while::MapWhile::predicate]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::iter::adapters::map_windows::Buffer::start]", "ReturnValue.Field[core::iter::adapters::map_windows::Buffer::start]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::iter::adapters::map_windows::Buffer::start]", "ReturnValue.Field[core::iter::adapters::map_windows::Buffer::start]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::iter::adapters::map_windows::MapWindows::f]", "ReturnValue.Field[core::iter::adapters::map_windows::MapWindows::f]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::map_windows::MapWindows::f]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::peekable::Peekable::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::peekable::Peekable::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fold", "Argument[self].Field[core::iter::adapters::peekable::Peekable::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::last", "Argument[self].Field[core::iter::adapters::peekable::Peekable::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::peekable::Peekable::iter]", "value", "dfc-generated"] - - ["::next_if", "Argument[self].Field[core::iter::adapters::peekable::Peekable::iter].Element", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - - ["::next_if", "Argument[self].Field[core::iter::adapters::peekable::Peekable::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next_if_eq", "Argument[self].Field[core::iter::adapters::peekable::Peekable::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::peek_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::advance_back_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self].Field[core::iter::adapters::rev::Rev::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::iter::adapters::rev::Rev::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next_if", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::next_if", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_if_eq", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::next_if_eq", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[self].Reference.Field[core::iter::adapters::peekable::Peekable::peeked]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::peek_mut", "Argument[self].Reference.Field[core::iter::adapters::peekable::Peekable::peeked]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::advance_back_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[self].Field[core::iter::adapters::rev::Rev::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::advance_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::into_inner", "Argument[self].Field[core::iter::adapters::rev::Rev::iter]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::rev::Rev::iter]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::scan::Scan::iter].Element", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::scan::Scan::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::scan::Scan::state]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::iter::adapters::scan::Scan::f]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::skip::Skip::n]", "ReturnValue.Field[core::iter::adapters::skip::Skip::n].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::skip::Skip::n]", "ReturnValue.Field[core::iter::adapters::skip::Skip::n]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[self].Field[core::iter::adapters::skip::Skip::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::last", "Argument[self].Field[core::iter::adapters::skip::Skip::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::last", "Argument[self].Field[core::iter::adapters::skip::Skip::iter].Element", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::skip::Skip::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::skip::Skip::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::skip::Skip::iter].Element", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::skip::Skip::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::skip::Skip::n]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::skip_while::SkipWhile::flag]", "ReturnValue.Field[core::iter::adapters::skip_while::SkipWhile::flag].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::skip_while::SkipWhile::flag]", "ReturnValue.Field[core::iter::adapters::skip_while::SkipWhile::flag]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[self].Field[core::iter::adapters::skip_while::SkipWhile::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::skip_while::SkipWhile::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::skip_while::SkipWhile::predicate]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::spec_next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::spec_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -2404,317 +3457,347 @@ extensions: - ["::spec_rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::spec_try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::spec_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::spec_fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::spec_fold", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::spec_fold", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Field[core::ops::range::Range::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::spec_next", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_next", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_nth", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::spec_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::spec_nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::spec_size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::spec_try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::spec_try_fold", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[self].Field[core::iter::adapters::step_by::StepBy::iter].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::spec_fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::take::Take::n]", "ReturnValue.Field[core::iter::adapters::take::Take::n].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::take::Take::n]", "ReturnValue.Field[core::iter::adapters::take::Take::n]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::spec_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::spec_fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::iter::adapters::take::Take::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::iter::adapters::take::Take::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[core::iter::adapters::take::Take::n]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::take::Take::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::adapters::take::Take::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[core::iter::adapters::take::Take::n]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[core::iter::adapters::take::Take::n]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[core::iter::adapters::take::Take::n]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[core::iter::adapters::take::Take::n]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[core::iter::adapters::take::Take::n]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::take::Take::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::take::Take::n]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::take_while::TakeWhile::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::adapters::take_while::TakeWhile::iter].Element", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::take_while::TakeWhile::flag]", "ReturnValue.Field[core::iter::adapters::take_while::TakeWhile::flag].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::adapters::take_while::TakeWhile::flag]", "ReturnValue.Field[core::iter::adapters::take_while::TakeWhile::flag]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::take_while::TakeWhile::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::take_while::TakeWhile::predicate]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::spec_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::spec_fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::iter::adapters::zip::Zip::a]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::iter::adapters::zip::Zip::b]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self].Field[core::iter::sources::repeat::Repeat::element].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::iter::sources::repeat::Repeat::element].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::sources::repeat::Repeat::element].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::sources::repeat::Repeat::element].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::iter::sources::repeat_n::RepeatN::count]", "ReturnValue.Field[core::iter::sources::repeat_n::RepeatN::count]", "value", "dfc-generated"] - - ["::advance_back_by", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::advance_back_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::advance_back_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::nth_back", "Argument[self].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::rfold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::nth_back", "Argument[self].Reference.Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::nth", "Argument[self].Reference.Field[core::iter::sources::repeat::Repeat::element]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::iter::sources::repeat_n::RepeatN::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::nth_back", "Argument[self].Reference.Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::rfold", "Argument[self].Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_rfold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[core::iter::sources::repeat_n::RepeatN::count]", "ReturnValue", "value", "dfc-generated"] - - ["::advance_by", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::advance_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::count", "Argument[self].Field[core::iter::sources::repeat_n::RepeatN::count]", "ReturnValue", "value", "dfc-generated"] - - ["::fold", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[core::iter::sources::repeat_n::RepeatN::count]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[core::iter::sources::repeat_n::RepeatN::count]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::try_rfold", "Argument[self].Reference.Element", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::iter::sources::repeat_n::RepeatN::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::sources::repeat_n::RepeatNInner::count]", "ReturnValue.Field[core::iter::sources::repeat_n::RepeatNInner::count].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::iter::sources::repeat_n::RepeatNInner::count]", "ReturnValue.Field[core::iter::sources::repeat_n::RepeatNInner::count]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::try_fold", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::marker::variance::PhantomContravariantLifetime(0)]", "ReturnValue.Field[core::marker::variance::PhantomContravariantLifetime(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::marker::variance::PhantomContravariantLifetime(0)]", "ReturnValue.Field[core::marker::variance::PhantomContravariantLifetime(0)]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::marker::variance::PhantomCovariantLifetime(0)]", "ReturnValue.Field[core::marker::variance::PhantomCovariantLifetime(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::marker::variance::PhantomCovariantLifetime(0)]", "ReturnValue.Field[core::marker::variance::PhantomCovariantLifetime(0)]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::marker::variance::PhantomInvariantLifetime(0)]", "ReturnValue.Field[core::marker::variance::PhantomInvariantLifetime(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::marker::variance::PhantomInvariantLifetime(0)]", "ReturnValue.Field[core::marker::variance::PhantomInvariantLifetime(0)]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[core::mem::drop_guard::DropGuard::inner].Field[core::mem::manually_drop::ManuallyDrop::value]", "value", "dfc-generated"] + - ["::new", "Argument[1]", "ReturnValue.Field[core::mem::drop_guard::DropGuard::f].Field[core::mem::manually_drop::ManuallyDrop::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[0].Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::mem::manually_drop::ManuallyDrop::value]", "value", "dfc-generated"] - - ["::take", "Argument[0].Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue", "value", "dfc-generated"] + - ["::take", "Argument[0].Reference.Field[core::mem::manually_drop::ManuallyDrop::value]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::as_mut_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone_from_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::copy_from_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fill", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fill_with", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::assume_init_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::assume_init_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::assume_init_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::slice_as_mut_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::slice_as_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::slice_assume_init_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::slice_assume_init_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::IpAddr::V4(0)].Field[core::net::ip_addr::Ipv4Addr::octets]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::IpAddr::V4(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::IpAddr::V6(0)].Field[core::net::ip_addr::Ipv6Addr::octets]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::IpAddr::V6(0)]", "value", "dfc-generated"] - - ["::to_canonical", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::as_octets", "Argument[self].Field[core::net::ip_addr::IpAddr::V4(0)].Field[core::net::ip_addr::Ipv4Addr::octets]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_octets", "Argument[self].Field[core::net::ip_addr::IpAddr::V6(0)].Field[core::net::ip_addr::Ipv6Addr::octets]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::to_canonical", "Argument[self]", "ReturnValue", "value", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::Ipv4Addr::octets]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitand", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::not", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_octets", "Argument[self].Field[core::net::ip_addr::Ipv4Addr::octets]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_octets", "Argument[self].Reference.Field[core::net::ip_addr::Ipv4Addr::octets]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_octets", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::Ipv4Addr::octets]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::Ipv4Addr::octets].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::net::ip_addr::Ipv4Addr::octets].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::net::ip_addr::Ipv4Addr::octets].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::net::ip_addr::Ipv4Addr::octets].Element", "value", "dfc-generated"] - - ["::octets", "Argument[self].Field[core::net::ip_addr::Ipv4Addr::octets]", "ReturnValue", "value", "dfc-generated"] - - ["::to_ipv6_compatible", "Argument[self].Field[core::net::ip_addr::Ipv4Addr::octets].Element", "ReturnValue.Field[core::net::ip_addr::Ipv6Addr::octets].Element", "value", "dfc-generated"] - - ["::to_ipv6_mapped", "Argument[self].Field[core::net::ip_addr::Ipv4Addr::octets].Element", "ReturnValue.Field[core::net::ip_addr::Ipv6Addr::octets].Element", "value", "dfc-generated"] + - ["::octets", "Argument[self].Reference.Field[core::net::ip_addr::Ipv4Addr::octets]", "ReturnValue", "value", "dfc-generated"] + - ["::to_ipv6_compatible", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_ipv6_mapped", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::Ipv6Addr::octets]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitand", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::not", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_octets", "Argument[self].Field[core::net::ip_addr::Ipv6Addr::octets]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_octets", "Argument[self].Reference.Field[core::net::ip_addr::Ipv6Addr::octets]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_octets", "Argument[0]", "ReturnValue.Field[core::net::ip_addr::Ipv6Addr::octets]", "value", "dfc-generated"] - - ["::octets", "Argument[self].Field[core::net::ip_addr::Ipv6Addr::octets]", "ReturnValue", "value", "dfc-generated"] + - ["::octets", "Argument[self].Reference.Field[core::net::ip_addr::Ipv6Addr::octets]", "ReturnValue", "value", "dfc-generated"] - ["::to_canonical", "Argument[self].Reference", "ReturnValue.Field[core::net::ip_addr::IpAddr::V6(0)]", "value", "dfc-generated"] + - ["::to_canonical", "Argument[self]", "ReturnValue.Field[core::net::ip_addr::IpAddr::V6(0)]", "value", "dfc-generated"] - ["::to_ipv4_mapped", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V4(0)].Field[core::net::socket_addr::SocketAddrV4::port]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[1]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V6(0)].Field[core::net::socket_addr::SocketAddrV6::port]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V4(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V6(0)]", "value", "dfc-generated"] + - ["::ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0].Field[core::net::ip_addr::IpAddr::V4(0)]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V4(0)].Field[core::net::socket_addr::SocketAddrV4::ip]", "value", "dfc-generated"] - ["::new", "Argument[0].Field[core::net::ip_addr::IpAddr::V6(0)]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V6(0)].Field[core::net::socket_addr::SocketAddrV6::ip]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V4(0)].Field[core::net::socket_addr::SocketAddrV4::port]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::net::socket_addr::SocketAddr::V6(0)].Field[core::net::socket_addr::SocketAddrV6::port]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::ip", "Argument[self].Field[core::net::socket_addr::SocketAddrV4::ip]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::port", "Argument[self].Field[core::net::socket_addr::SocketAddr::V4(0)].Field[core::net::socket_addr::SocketAddrV4::port]", "ReturnValue", "value", "dfc-generated"] + - ["::port", "Argument[self].Field[core::net::socket_addr::SocketAddr::V6(0)].Field[core::net::socket_addr::SocketAddrV6::port]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::net::socket_addr::SocketAddrV4::port]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV4::port].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::net::socket_addr::SocketAddrV4::port]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV4::port]", "value", "dfc-generated"] + - ["::ip", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV4::ip]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV4::ip]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV4::port]", "value", "dfc-generated"] - - ["::port", "Argument[self].Field[core::net::socket_addr::SocketAddrV4::port]", "ReturnValue", "value", "dfc-generated"] - - ["::set_ip", "Argument[0]", "Argument[self].Field[core::net::socket_addr::SocketAddrV4::ip]", "value", "dfc-generated"] - - ["::set_port", "Argument[0]", "Argument[self].Field[core::net::socket_addr::SocketAddrV4::port]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::flowinfo", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::flowinfo]", "ReturnValue", "value", "dfc-generated"] - - ["::ip", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::ip]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::port", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV4::port]", "ReturnValue", "value", "dfc-generated"] + - ["::set_ip", "Argument[0]", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV4::ip]", "value", "dfc-generated"] + - ["::set_port", "Argument[0]", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV4::port]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::flowinfo", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::flowinfo]", "ReturnValue", "value", "dfc-generated"] + - ["::ip", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::ip]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV6::ip]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV6::port]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV6::flowinfo]", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::net::socket_addr::SocketAddrV6::scope_id]", "value", "dfc-generated"] - - ["::port", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::port]", "ReturnValue", "value", "dfc-generated"] - - ["::scope_id", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::scope_id]", "ReturnValue", "value", "dfc-generated"] - - ["::set_flowinfo", "Argument[0]", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::flowinfo]", "value", "dfc-generated"] - - ["::set_ip", "Argument[0]", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::ip]", "value", "dfc-generated"] - - ["::set_port", "Argument[0]", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::port]", "value", "dfc-generated"] - - ["::set_scope_id", "Argument[0]", "Argument[self].Field[core::net::socket_addr::SocketAddrV6::scope_id]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::num::bignum::Big32x40::base]", "ReturnValue.Field[core::num::bignum::Big32x40::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - - ["::add", "Argument[0].Field[core::num::bignum::Big32x40::size]", "Argument[self].Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - - ["::add", "Argument[0].Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - - ["::add", "Argument[self].Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] + - ["::port", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::port]", "ReturnValue", "value", "dfc-generated"] + - ["::scope_id", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::scope_id]", "ReturnValue", "value", "dfc-generated"] + - ["::set_flowinfo", "Argument[0]", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::flowinfo]", "value", "dfc-generated"] + - ["::set_ip", "Argument[0]", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::ip]", "value", "dfc-generated"] + - ["::set_port", "Argument[0]", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::port]", "value", "dfc-generated"] + - ["::set_scope_id", "Argument[0]", "Argument[self].Reference.Field[core::net::socket_addr::SocketAddrV6::scope_id]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::num::bignum::Big32x40::base]", "ReturnValue.Field[core::num::bignum::Big32x40::base]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] + - ["::add", "Argument[0].Reference.Field[core::num::bignum::Big32x40::size]", "Argument[self].Reference.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - ["::add", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add_small", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::digits", "Argument[self].Field[core::num::bignum::Big32x40::base].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::div_rem", "Argument[0].Field[core::num::bignum::Big32x40::size]", "Argument[2].Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] + - ["::digits", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::div_rem", "Argument[0].Reference.Field[core::num::bignum::Big32x40::size]", "Argument[2].Reference.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - ["::div_rem_small", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::from_small", "Argument[0]", "ReturnValue.Field[core::num::bignum::Big32x40::base].Element", "value", "dfc-generated"] - - ["::from_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_bit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_bit", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::mul_digits", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::mul_pow2", "Argument[self].Field[core::num::bignum::Big32x40::base].Element", "ReturnValue.Field[core::num::bignum::Big32x40::base].Element", "value", "dfc-generated"] - ["::mul_pow2", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::mul_pow5", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::mul_small", "Argument[self].Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - ["::mul_small", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::sub", "Argument[0].Field[core::num::bignum::Big32x40::size]", "Argument[self].Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - - ["::sub", "Argument[0].Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - - ["::sub", "Argument[self].Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] + - ["::sub", "Argument[0].Reference.Field[core::num::bignum::Big32x40::size]", "Argument[self].Reference.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - ["::sub", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::num::bignum::tests::Big8x3::base]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::num::bignum::tests::Big8x3::size]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - - ["::add", "Argument[0].Field[core::num::bignum::tests::Big8x3::size]", "Argument[self].Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - - ["::add", "Argument[0].Field[core::num::bignum::tests::Big8x3::size]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - - ["::add", "Argument[self].Field[core::num::bignum::tests::Big8x3::size]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::num::bignum::tests::Big8x3::base]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::base]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::num::bignum::tests::Big8x3::size]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] + - ["::add", "Argument[0].Reference.Field[core::num::bignum::tests::Big8x3::size]", "Argument[self].Reference.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - ["::add", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::add_small", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::digits", "Argument[self].Field[core::num::bignum::tests::Big8x3::base].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::div_rem", "Argument[0].Field[core::num::bignum::tests::Big8x3::size]", "Argument[2].Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] + - ["::digits", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::div_rem", "Argument[0].Reference.Field[core::num::bignum::tests::Big8x3::size]", "Argument[2].Reference.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - ["::div_rem_small", "Argument[self]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::from_small", "Argument[0]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::base].Element", "value", "dfc-generated"] - - ["::from_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_bit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_bit", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::mul_digits", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::mul_pow2", "Argument[self].Field[core::num::bignum::tests::Big8x3::base].Element", "ReturnValue.Field[core::num::bignum::tests::Big8x3::base].Element", "value", "dfc-generated"] - ["::mul_pow2", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::mul_pow5", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::mul_small", "Argument[self].Field[core::num::bignum::tests::Big8x3::size]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - ["::mul_small", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::sub", "Argument[0].Field[core::num::bignum::tests::Big8x3::size]", "Argument[self].Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - - ["::sub", "Argument[0].Field[core::num::bignum::tests::Big8x3::size]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - - ["::sub", "Argument[self].Field[core::num::bignum::tests::Big8x3::size]", "ReturnValue.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] + - ["::sub", "Argument[0].Reference.Field[core::num::bignum::tests::Big8x3::size]", "Argument[self].Reference.Field[core::num::bignum::tests::Big8x3::size]", "value", "dfc-generated"] - ["::sub", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::zero_pow2", "Argument[0]", "ReturnValue.Field[core::num::dec2flt::common::BiasedFp::p_biased]", "value", "dfc-generated"] - - ["::right_shift", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::try_add_digit", "Argument[0]", "Argument[self].Field[core::num::dec2flt::decimal_seq::DecimalSeq::digits].Element", "value", "dfc-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::normalize", "Argument[self].Field[core::num::diy_float::Fp::e]", "ReturnValue.Field[core::num::diy_float::Fp::e]", "value", "dfc-generated"] - - ["::normalize", "Argument[self].Field[core::num::diy_float::Fp::f]", "ReturnValue.Field[core::num::diy_float::Fp::f]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::normalize_to", "Argument[0]", "ReturnValue.Field[core::num::diy_float::Fp::e]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::kind", "Argument[self].Field[core::num::error::ParseIntError::kind]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::kind", "Argument[self].Reference.Field[core::num::error::ParseIntError::kind]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Field[core::num::fmt::Part::Zero(0)]", "ReturnValue", "value", "dfc-generated"] - ["::len", "Argument[self].Reference.Field[core::num::fmt::Part::Zero(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::write", "Argument[self].Field[core::num::fmt::Part::Zero(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::write", "Argument[self].Reference.Field[core::num::fmt::Part::Zero(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::I32NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::I32NotAllOnes(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::I32NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::I32NotAllOnes(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::I32NotAllOnes(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::I32NotAllOnes(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::I64NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::I64NotAllOnes(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::I64NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::I64NotAllOnes(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::I64NotAllOnes(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::I64NotAllOnes(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::Nanoseconds(0)]", "ReturnValue.Field[core::num::niche_types::Nanoseconds(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::Nanoseconds(0)]", "ReturnValue.Field[core::num::niche_types::Nanoseconds(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::Nanoseconds(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::Nanoseconds(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroCharInner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroCharInner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroCharInner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroCharInner(0)]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroCharInner(0)]", "value", "dfc-generated"] + - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroCharInner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI128Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI128Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI128Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI128Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroI128Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroI128Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI16Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI16Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI16Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI16Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroI16Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroI16Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI32Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI32Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI32Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI32Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroI32Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroI32Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI64Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI64Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI64Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI64Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroI64Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroI64Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI8Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI8Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroI8Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroI8Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroI8Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroI8Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroIsizeInner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroIsizeInner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroIsizeInner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroIsizeInner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroIsizeInner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroIsizeInner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU128Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU128Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU128Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU128Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroU128Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroU128Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU16Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU16Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU16Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU16Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroU16Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroU16Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU32Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU32Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU32Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU32Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroU32Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroU32Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU64Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU64Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU64Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU64Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroU64Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroU64Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU8Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU8Inner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroU8Inner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroU8Inner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroU8Inner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroU8Inner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroUsizeInner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroUsizeInner(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::NonZeroUsizeInner(0)]", "ReturnValue.Field[core::num::niche_types::NonZeroUsizeInner(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::NonZeroUsizeInner(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::NonZeroUsizeInner(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::U32NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::U32NotAllOnes(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::U32NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::U32NotAllOnes(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::U32NotAllOnes(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::U32NotAllOnes(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::U64NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::U64NotAllOnes(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::U64NotAllOnes(0)]", "ReturnValue.Field[core::num::niche_types::U64NotAllOnes(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::U64NotAllOnes(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::U64NotAllOnes(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::UsizeNoHighBit(0)]", "ReturnValue.Field[core::num::niche_types::UsizeNoHighBit(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::num::niche_types::UsizeNoHighBit(0)]", "ReturnValue.Field[core::num::niche_types::UsizeNoHighBit(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::num::niche_types::UsizeNoHighBit(0)]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::num::niche_types::UsizeNoHighBit(0)]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::bitor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::from_mut_unchecked", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::new_unchecked", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs", "Argument[self].Field[0]", "ReturnValue.Field[core::num::saturating::Saturating(0)]", "value", "dfc-generated"] + - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_mut_unchecked", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::div", "Argument[self].Field[core::num::saturating::Saturating(0)]", "ReturnValue.Field[core::num::saturating::Saturating(0)]", "value", "dfc-generated"] - ["::abs", "Argument[self].Field[core::num::saturating::Saturating(0)]", "ReturnValue.Field[core::num::saturating::Saturating(0)]", "value", "dfc-generated"] - - ["::add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::div", "Argument[self].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "value", "dfc-generated"] - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::shr_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::abs", "Argument[self].Field[0]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "value", "dfc-generated"] - ["::abs", "Argument[self].Field[core::num::wrapping::Wrapping(0)]", "ReturnValue.Field[core::num::wrapping::Wrapping(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_residual", "Argument[0].Field[core::ops::control_flow::ControlFlow::Break(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Break(0)]", "value", "dfc-generated"] - ["::branch", "Argument[self].Field[core::ops::control_flow::ControlFlow::Break(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Break(0)].Field[core::ops::control_flow::ControlFlow::Break(0)]", "value", "dfc-generated"] - ["::branch", "Argument[self].Field[core::ops::control_flow::ControlFlow::Continue(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Continue(0)]", "value", "dfc-generated"] @@ -2730,22 +3813,31 @@ extensions: - ["::map_continue", "Argument[0].ReturnValue", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Continue(0)]", "value", "dfc-generated"] - ["::map_continue", "Argument[self].Field[core::ops::control_flow::ControlFlow::Break(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Break(0)]", "value", "dfc-generated"] - ["::map_continue", "Argument[self].Field[core::ops::control_flow::ControlFlow::Continue(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::ops::index_range::IndexRange::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::end", "Argument[self].Field[core::ops::index_range::IndexRange::end]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::try_fold", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::end", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::end]", "ReturnValue", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[1]", "ReturnValue.Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] - - ["::start", "Argument[self].Field[core::ops::index_range::IndexRange::start]", "ReturnValue", "value", "dfc-generated"] - - ["::take_prefix", "Argument[self].Field[core::ops::index_range::IndexRange::end]", "Argument[self].Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] - - ["::take_prefix", "Argument[self].Field[core::ops::index_range::IndexRange::end]", "ReturnValue.Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] - - ["::take_prefix", "Argument[self].Field[core::ops::index_range::IndexRange::start]", "ReturnValue.Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] - - ["::take_suffix", "Argument[self].Field[core::ops::index_range::IndexRange::end]", "ReturnValue.Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] - - ["::take_suffix", "Argument[self].Field[core::ops::index_range::IndexRange::start]", "Argument[self].Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] - - ["::take_suffix", "Argument[self].Field[core::ops::index_range::IndexRange::start]", "ReturnValue.Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] + - ["::start", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::start]", "ReturnValue", "value", "dfc-generated"] + - ["::take_prefix", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::end]", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] + - ["::take_prefix", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::end]", "ReturnValue.Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] + - ["::take_prefix", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::start]", "ReturnValue.Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] + - ["::take_suffix", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::end]", "ReturnValue.Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] + - ["::take_suffix", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::start]", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] + - ["::take_suffix", "Argument[self].Reference.Field[core::ops::index_range::IndexRange::start]", "ReturnValue.Field[core::ops::index_range::IndexRange::start]", "value", "dfc-generated"] - ["::zero_to", "Argument[0]", "ReturnValue.Field[core::ops::index_range::IndexRange::end]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Field[core::ops::range::Bound::Excluded(0)]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Field[core::ops::range::Bound::Included(0)]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Field[core::ops::range::Bound::Excluded(0)]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Field[core::ops::range::Bound::Included(0)]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cloned", "Argument[self].Field[core::ops::range::Bound::Excluded(0)].Reference", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] + - ["::cloned", "Argument[self].Field[core::ops::range::Bound::Included(0)].Reference", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::map", "Argument[0].ReturnValue", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - ["::map", "Argument[0].ReturnValue", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::map", "Argument[self].Field[core::ops::range::Bound::Excluded(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] @@ -2753,147 +3845,141 @@ extensions: - ["::from", "Argument[0].Field[core::range::Range::end]", "ReturnValue.Field[core::ops::range::Range::end]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::range::Range::start]", "ReturnValue.Field[core::ops::range::Range::start]", "value", "dfc-generated"] - ["::setup", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::spec_next", "Argument[self].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_next_back", "Argument[self].Field[core::ops::range::Range::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_next_back", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_nth", "Argument[self].Field[core::ops::range::Range::end].Reference", "Argument[self].Field[core::ops::range::Range::start]", "value", "dfc-generated"] - - ["::spec_nth", "Argument[self].Field[core::ops::range::Range::end]", "Argument[self].Field[core::ops::range::Range::start]", "value", "dfc-generated"] - - ["::spec_nth_back", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_nth_back", "Argument[self].Field[core::ops::range::Range::start]", "Argument[self].Field[core::ops::range::Range::end]", "value", "dfc-generated"] - - ["::spec_nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self].Field[core::ops::range::Range::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::ops::range::Range::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::last", "Argument[self].Field[core::ops::range::Range::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::spec_next", "Argument[self].Reference.Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::spec_next_back", "Argument[self].Reference.Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::spec_nth", "Argument[self].Reference.Field[core::ops::range::Range::end]", "Argument[self].Reference.Field[core::ops::range::Range::start]", "value", "dfc-generated"] + - ["::spec_nth_back", "Argument[self].Reference.Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::spec_nth_back", "Argument[self].Reference.Field[core::ops::range::Range::start]", "Argument[self].Reference.Field[core::ops::range::Range::end]", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::nth_back", "Argument[self].Reference.Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::last", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max", "Argument[self].Field[core::ops::range::Range::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::min", "Argument[self].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[1].Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::Range::start]", "ReturnValue.Field[0].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::ops::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::ops::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::RangeFrom::start]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[0].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::bound", "Argument[self].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::get", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::get_mut", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::get_unchecked", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::get_unchecked_mut", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::index", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::index_mut", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::spec_next", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_next", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_next_back", "Argument[self].Field[core::ops::range::RangeInclusive::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::spec_next_back", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::ops::range::RangeInclusive::exhausted]", "ReturnValue.Field[core::ops::range::RangeInclusive::exhausted].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::ops::range::RangeInclusive::exhausted]", "ReturnValue.Field[core::ops::range::RangeInclusive::exhausted]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[core::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::RangeInclusive::end]", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[core::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::RangeInclusive::start]", "value", "dfc-generated"] + - ["::spec_next", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::spec_next_back", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::spec_try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::spec_try_fold", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::spec_try_fold", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::spec_try_fold", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::spec_try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::spec_try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::spec_try_rfold", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::spec_try_rfold", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::ops::range::RangeInclusive::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "value", "dfc-generated"] + - ["::spec_try_rfold", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::nth_back", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "value", "dfc-generated"] + - ["::try_rfold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_rfold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_rfold", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::try_rfold", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::last", "Argument[self].Field[core::ops::range::RangeInclusive::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::try_rfold", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::last", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max", "Argument[self].Field[core::ops::range::RangeInclusive::end].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::min", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::min", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::ops::range::RangeInclusive::end].Reference", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::nth", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "value", "dfc-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[self].Field[core::ops::range::RangeInclusive::start].Reference", "Argument[1].Parameter[1]", "value", "dfc-generated"] - - ["::try_fold", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] + - ["::try_fold", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[1].Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[1].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[0].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::end", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::end", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::ops::range::RangeInclusive::start]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::ops::range::RangeInclusive::end]", "value", "dfc-generated"] - - ["::start", "Argument[self].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::start", "Argument[self].Reference.Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[1].Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - ["::bound", "Argument[self].Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::ops::range::RangeToInclusive::end]", "ReturnValue.Field[1].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::bound", "Argument[self].Field[core::ops::range::RangeToInclusive::end]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::RangeToInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::ops::range::RangeToInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::branch", "Argument[self].Field[0]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Continue(0)]", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::RangeToInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::ops::range::RangeToInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::branch", "Argument[self].Field[core::ops::try_trait::NeverShortCircuit(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Continue(0)]", "value", "dfc-generated"] - ["::from_output", "Argument[0]", "ReturnValue.Field[core::ops::try_trait::NeverShortCircuit(0)]", "value", "dfc-generated"] - - ["::wrap_mut_1", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::wrap_mut_2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::option::Iter::inner].Reference", "ReturnValue.Field[core::option::Iter::inner]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::option::Iter::inner].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::option::IterMut::inner].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::wrap_mut_1", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::wrap_mut_2", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::from", "Argument[0].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue.Field[core::option::IntoIter::inner].Field[core::option::Item::opt]", "value", "dfc-generated"] - ["::branch", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Continue(0)]", "value", "dfc-generated"] - ["::from_output", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::and", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::and_then", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::and_then", "Argument[self].Field[core::option::Option::Some(0)].Field[0]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::and_then", "Argument[self].Field[core::option::Option::Some(0)].Field[std::path::Component::Normal(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::and_then", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::as_mut", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::as_ref", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::copied", "Argument[self].Field[core::option::Option::Some(0)].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::expect", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::filter", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] + - ["::filter", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::flatten", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::get_or_insert", "Argument[0]", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::get_or_insert", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_or_insert", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::get_or_insert", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_or_insert_default", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::get_or_insert_default", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_or_insert_with", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::get_or_insert_with", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::insert", "Argument[0]", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::insert", "Argument[0]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::insert", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::insert", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::inspect", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - ["::inspect", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::is_none_or", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::is_none_or", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["::is_some_and", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::is_some_and", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::map", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::map", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::map", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0].ReturnValue", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::map_or", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::map_or", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::map_or", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["::map_or_else", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::map_or", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::map_or_default", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::map_or_default", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["::map_or_else", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::map_or_else", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::map_or_else", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::ok_or", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::ok_or", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::ok_or_else", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::ok_or_else", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::ok_or_else", "Argument[self].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::or", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::or", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::or_else", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::or_else", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::take_if", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - ["::take_if", "Argument[self].Reference.Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - ["::transpose", "Argument[self].Field[core::option::Option::Some(0)].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::transpose", "Argument[self].Field[core::option::Option::Some(0)].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] @@ -2913,137 +3999,134 @@ extensions: - ["::zip_with", "Argument[0].Field[core::option::Option::Some(0)]", "Argument[1].Parameter[1]", "value", "dfc-generated"] - ["::zip_with", "Argument[1].ReturnValue", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::zip_with", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["::column", "Argument[self].Field[core::panic::location::Location::col]", "ReturnValue", "value", "dfc-generated"] - - ["::file", "Argument[self].Field[core::panic::location::Location::file]", "ReturnValue", "value", "dfc-generated"] - - ["::internal_constructor", "Argument[0]", "ReturnValue.Field[core::panic::location::Location::file]", "value", "dfc-generated"] - - ["::internal_constructor", "Argument[1]", "ReturnValue.Field[core::panic::location::Location::line]", "value", "dfc-generated"] - - ["::internal_constructor", "Argument[2]", "ReturnValue.Field[core::panic::location::Location::col]", "value", "dfc-generated"] - - ["::line", "Argument[self].Field[core::panic::location::Location::line]", "ReturnValue", "value", "dfc-generated"] - - ["::can_unwind", "Argument[self].Field[core::panic::panic_info::PanicInfo::can_unwind]", "ReturnValue", "value", "dfc-generated"] - - ["::force_no_backtrace", "Argument[self].Field[core::panic::panic_info::PanicInfo::force_no_backtrace]", "ReturnValue", "value", "dfc-generated"] - - ["::location", "Argument[self].Field[core::panic::panic_info::PanicInfo::location]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::message", "Argument[self].Field[core::panic::panic_info::PanicInfo::message]", "ReturnValue.Field[core::panic::panic_info::PanicMessage::message]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cmp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::column", "Argument[self].Reference.Field[core::panic::location::Location::col]", "ReturnValue", "value", "dfc-generated"] + - ["::line", "Argument[self].Reference.Field[core::panic::location::Location::line]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::can_unwind", "Argument[self].Reference.Field[core::panic::panic_info::PanicInfo::can_unwind]", "ReturnValue", "value", "dfc-generated"] + - ["::force_no_backtrace", "Argument[self].Reference.Field[core::panic::panic_info::PanicInfo::force_no_backtrace]", "ReturnValue", "value", "dfc-generated"] + - ["::location", "Argument[self].Reference.Field[core::panic::panic_info::PanicInfo::location]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::message", "Argument[self].Reference.Field[core::panic::panic_info::PanicInfo::message]", "ReturnValue.Field[core::panic::panic_info::PanicMessage::message]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::panic::panic_info::PanicInfo::message]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::panic::panic_info::PanicInfo::location]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::panic::panic_info::PanicInfo::can_unwind]", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::panic::panic_info::PanicInfo::force_no_backtrace]", "value", "dfc-generated"] - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[core::panic::unwind_safe::AssertUnwindSafe(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[core::panic::unwind_safe::AssertUnwindSafe(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[core::panic::unwind_safe::AssertUnwindSafe(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[core::panic::unwind_safe::AssertUnwindSafe(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::call_once", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "ReturnValue.Field[core::pin::Pin::__pointer].Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "ReturnValue.Field[core::pin::Pin::__pointer].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[core::pin::Pin::__pointer]", "ReturnValue", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[core::pin::Pin::__pointer]", "ReturnValue", "value", "dfc-generated"] - - ["::get_unchecked_mut", "Argument[self].Field[core::pin::Pin::__pointer]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[0].Field[core::pin::Pin::__pointer]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner_unchecked", "Argument[0].Field[core::pin::Pin::__pointer]", "ReturnValue", "value", "dfc-generated"] - - ["::into_ref", "Argument[self].Field[core::pin::Pin::__pointer]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::map_unchecked", "Argument[0].ReturnValue.Reference", "ReturnValue", "value", "dfc-generated"] - - ["::map_unchecked", "Argument[0].ReturnValue", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::map_unchecked", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - - ["::map_unchecked_mut", "Argument[0].ReturnValue.Reference", "ReturnValue", "value", "dfc-generated"] - - ["::map_unchecked_mut", "Argument[0].ReturnValue", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::map_unchecked_mut", "Argument[self].Field[core::pin::Pin::__pointer].Field[0]", "ReturnValue.Field[core::pin::Pin::__pointer].Reference", "value", "dfc-generated"] - - ["::map_unchecked_mut", "Argument[self].Field[core::pin::Pin::__pointer].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::map_unchecked_mut", "Argument[self].Field[core::pin::Pin::__pointer]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::new", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::set", "Argument[0]", "Argument[self].Field[core::pin::Pin::__pointer].Reference", "value", "dfc-generated"] - - ["::static_mut", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::static_mut", "Argument[0]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::static_ref", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::static_ref", "Argument[0]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::as_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map_unchecked", "Argument[0].ReturnValue", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::map_unchecked_mut", "Argument[0].ReturnValue", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::new_unchecked", "Argument[0]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::static_mut", "Argument[0]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::static_ref", "Argument[0]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::pin::unsafe_pinned::UnsafePinned::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[self].Field[core::pin::unsafe_pinned::UnsafePinned::value].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[core::pin::unsafe_pinned::UnsafePinned::value].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::raw_get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::raw_get_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_usize", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::max", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::max", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::ptr::unique::Unique::pointer]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::sub", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::ptr::unique::Unique::pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_non_null_ptr", "Argument[self].Field[core::ptr::unique::Unique::pointer]", "ReturnValue", "value", "dfc-generated"] + - ["::from_non_null", "Argument[0]", "ReturnValue.Field[core::ptr::unique::Unique::pointer]", "value", "dfc-generated"] - ["::new_unchecked", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::range::Range::end]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::range::Range::start]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::range::Range::end]", "ReturnValue.Field[1].Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::range::Range::start]", "ReturnValue.Field[0].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)].Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::range::Range::end]", "ReturnValue.Field[core::ops::range::Bound::Excluded(0)]", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::range::Range::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[core::range::RangeFrom::start]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::range::RangeFrom::start]", "ReturnValue.Field[0].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::range::RangeFrom::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::range::RangeInclusive::end]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::range::RangeInclusive::start]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::range::RangeInclusive::end]", "ReturnValue.Field[1].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::into_bounds", "Argument[self].Field[core::range::RangeInclusive::start]", "ReturnValue.Field[0].Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::end_bound", "Argument[self].Field[core::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] - - ["::start_bound", "Argument[self].Field[core::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::end_bound", "Argument[self].Reference.Field[core::range::RangeInclusive::end]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)].Reference", "value", "dfc-generated"] + - ["::start_bound", "Argument[self].Reference.Field[core::range::RangeInclusive::start]", "ReturnValue.Field[core::ops::range::Bound::Included(0)]", "value", "dfc-generated"] - ["::into_slice_range", "Argument[self].Field[core::range::RangeInclusive::start]", "ReturnValue.Field[core::range::Range::start]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[0].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[0].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::last", "Argument[self].Field[0].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::last", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max", "Argument[self].Field[0].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::min", "Argument[self].Field[0].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::min", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[0].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::remainder", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::remainder", "Argument[self].Field[0].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[core::range::RangeFrom::start]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remainder", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::end]", "ReturnValue.Field[core::range::Range::end]", "value", "dfc-generated"] + - ["::remainder", "Argument[self].Field[core::range::iter::IterRange(0)].Field[core::ops::range::Range::start]", "ReturnValue.Field[core::range::Range::start]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::remainder", "Argument[self].Field[core::range::iter::IterRangeFrom(0)].Field[core::ops::range::RangeFrom::start]", "ReturnValue.Field[core::range::RangeFrom::start]", "value", "dfc-generated"] - - ["::advance_back_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self].Field[0].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::range::iter::IterRangeInclusive(0)].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::advance_by", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::last", "Argument[self].Field[0].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::advance_by", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::last", "Argument[self].Field[core::range::iter::IterRangeInclusive(0)].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::max", "Argument[self].Field[0].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::max", "Argument[self].Field[core::range::iter::IterRangeInclusive(0)].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::min", "Argument[self].Field[0].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::min", "Argument[self].Field[core::range::iter::IterRangeInclusive(0)].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[0].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::range::iter::IterRangeInclusive(0)].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::remainder", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self].Field[core::result::Iter::inner]", "ReturnValue.Field[core::result::Iter::inner]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remainder", "Argument[self].Field[core::range::iter::IterRangeInclusive(0)].Field[core::ops::range::RangeInclusive::end]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::range::RangeInclusive::end]", "value", "dfc-generated"] + - ["::remainder", "Argument[self].Field[core::range::iter::IterRangeInclusive(0)].Field[core::ops::range::RangeInclusive::start]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::range::RangeInclusive::start]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::result::Iter::inner]", "ReturnValue.Field[core::result::Iter::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::IntoIter::inner].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::from_residual", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::branch", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Break(0)].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::branch", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Continue(0)]", "value", "dfc-generated"] - ["::from_output", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::and", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::and", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::and_then", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::and_then", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::and_then", "Argument[self].Field[core::result::Result::Ok(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["::and_then", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::as_deref", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Reference", "value", "dfc-generated"] - ["::as_deref", "Argument[self].Reference.Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Reference", "value", "dfc-generated"] + - ["::as_deref_mut", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Reference", "value", "dfc-generated"] - ["::as_deref_mut", "Argument[self].Reference.Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Reference", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Reference.Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Reference.Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::cloned", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::copied", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::copied", "Argument[self].Field[core::result::Result::Ok(0)].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] @@ -3052,7 +4135,9 @@ extensions: - ["::expect_err", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue", "value", "dfc-generated"] - ["::flatten", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::flatten", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::inspect", "Argument[self].Field[core::result::Result::Ok(0)]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - ["::inspect", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::inspect_err", "Argument[self].Field[core::result::Result::Err(0)]", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - ["::inspect_err", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::into_err", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_ok", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] @@ -3063,13 +4148,12 @@ extensions: - ["::iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::iter_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::map", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[core::result::Result::Ok(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::map", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::fs::File::inner]", "value", "dfc-generated"] - ["::map_err", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map_or", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::map_or", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::map_or", "Argument[self].Field[core::result::Result::Ok(0)]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::map_or_default", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::map_or_default", "Argument[self].Field[core::result::Result::Ok(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["::map_or_else", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::map_or_else", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::map_or_else", "Argument[self].Field[core::result::Result::Err(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] @@ -3092,369 +4176,502 @@ extensions: - ["::unwrap_or_else", "Argument[self].Field[core::result::Result::Err(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["::unwrap_or_else", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::unwrap_unchecked", "Argument[self].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::ArrayChunks::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::slice::iter::ArrayChunks::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::remainder", "Argument[self].Field[core::slice::iter::ArrayChunks::rem]", "ReturnValue", "value", "dfc-generated"] - - ["::into_remainder", "Argument[self].Field[core::slice::iter::ArrayChunksMut::rem]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::count", "Argument[self].Field[core::slice::iter::ArrayWindows::num]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[core::slice::iter::ArrayWindows::num]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[core::slice::iter::ArrayWindows::num]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[core::slice::iter::ArrayWindows::num]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[core::slice::iter::ArrayWindows::num]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::ChunkBy::predicate]", "ReturnValue.Field[core::slice::iter::ChunkBy::predicate]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::ChunkBy::slice]", "ReturnValue.Field[core::slice::iter::ChunkBy::slice]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunkBy::slice]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::ChunkBy::predicate]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunkByMut::slice]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::ChunkByMut::predicate]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::Chunks::chunk_size]", "ReturnValue.Field[core::slice::iter::Chunks::chunk_size]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::Chunks::v]", "ReturnValue.Field[core::slice::iter::Chunks::v]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::Chunks::v].Element", "Argument[self].Field[core::slice::iter::Chunks::v].Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::Chunks::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::last", "Argument[self].Field[core::slice::iter::Chunks::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::slice::iter::Chunks::v].Element", "Argument[self].Field[core::slice::iter::Chunks::v].Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::slice::iter::Chunks::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Chunks::chunk_size]", "ReturnValue.Field[core::slice::iter::Chunks::chunk_size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Chunks::v]", "ReturnValue.Field[core::slice::iter::Chunks::v]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::Chunks::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::Chunks::chunk_size]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::ChunksExact::chunk_size]", "ReturnValue.Field[core::slice::iter::ChunksExact::chunk_size]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::ChunksExact::rem]", "ReturnValue.Field[core::slice::iter::ChunksExact::rem]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::ChunksExact::v]", "ReturnValue.Field[core::slice::iter::ChunksExact::v]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::ChunksExact::v].Element", "Argument[self].Field[core::slice::iter::ChunksExact::v].Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::ChunksExact::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::ChunksExact::chunk_size]", "ReturnValue.Field[core::slice::iter::ChunksExact::chunk_size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::ChunksExact::rem]", "ReturnValue.Field[core::slice::iter::ChunksExact::rem]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::ChunksExact::v]", "ReturnValue.Field[core::slice::iter::ChunksExact::v]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::ChunksExact::chunk_size]", "value", "dfc-generated"] - - ["::remainder", "Argument[self].Field[core::slice::iter::ChunksExact::rem]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remainder", "Argument[self].Reference.Field[core::slice::iter::ChunksExact::rem]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_remainder", "Argument[self].Field[core::slice::iter::ChunksExactMut::rem]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::ChunksExactMut::chunk_size]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::ChunksMut::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::ChunksMut::chunk_size]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::GenericSplitN::iter].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[core::slice::iter::GenericSplitN::count]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::Iter::_marker]", "ReturnValue.Field[core::slice::iter::Iter::_marker]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::Iter::end_or_len]", "ReturnValue.Field[core::slice::iter::Iter::end_or_len]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::Iter::ptr]", "ReturnValue.Field[core::slice::iter::Iter::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[core::slice::iter::GenericSplitN::count]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[core::slice::iter::GenericSplitN::count]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Iter::_marker]", "ReturnValue.Field[core::slice::iter::Iter::_marker]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Iter::end_or_len]", "ReturnValue.Field[core::slice::iter::Iter::end_or_len]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Iter::ptr]", "ReturnValue.Field[core::slice::iter::Iter::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find_map", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::find_map", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::RChunks::chunk_size]", "ReturnValue.Field[core::slice::iter::RChunks::chunk_size]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::RChunks::v]", "ReturnValue.Field[core::slice::iter::RChunks::v]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::RChunks::v].Element", "Argument[self].Field[core::slice::iter::RChunks::v].Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::RChunks::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::last", "Argument[self].Field[core::slice::iter::RChunks::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::slice::iter::RChunks::v].Element", "Argument[self].Field[core::slice::iter::RChunks::v].Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::slice::iter::RChunks::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::RChunks::chunk_size]", "ReturnValue.Field[core::slice::iter::RChunks::chunk_size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::RChunks::v]", "ReturnValue.Field[core::slice::iter::RChunks::v]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::RChunks::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RChunks::chunk_size]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::RChunksExact::chunk_size]", "ReturnValue.Field[core::slice::iter::RChunksExact::chunk_size]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::RChunksExact::rem]", "ReturnValue.Field[core::slice::iter::RChunksExact::rem]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::RChunksExact::v]", "ReturnValue.Field[core::slice::iter::RChunksExact::v]", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::RChunksExact::v].Element", "Argument[self].Field[core::slice::iter::RChunksExact::v].Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::RChunksExact::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::RChunksExact::chunk_size]", "ReturnValue.Field[core::slice::iter::RChunksExact::chunk_size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::RChunksExact::rem]", "ReturnValue.Field[core::slice::iter::RChunksExact::rem]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::RChunksExact::v]", "ReturnValue.Field[core::slice::iter::RChunksExact::v]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RChunksExact::chunk_size]", "value", "dfc-generated"] - - ["::remainder", "Argument[self].Field[core::slice::iter::RChunksExact::rem]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remainder", "Argument[self].Reference.Field[core::slice::iter::RChunksExact::rem]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_remainder", "Argument[self].Field[core::slice::iter::RChunksExactMut::rem]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RChunksExactMut::chunk_size]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::RChunksMut::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RChunksMut::chunk_size]", "value", "dfc-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self].Field[core::slice::iter::RSplit::inner].Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::RSplit::inner].Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::slice::iter::RSplit::inner].Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplit::inner].Field[core::slice::iter::Split::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RSplit::inner].Field[core::slice::iter::Split::pred]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplitMut::inner].Field[core::slice::iter::SplitMut::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RSplitMut::inner].Field[core::slice::iter::SplitMut::pred]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self].Field[core::slice::iter::RSplitN::inner].Field[core::slice::iter::GenericSplitN::count]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplitN::inner].Field[core::slice::iter::GenericSplitN::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RSplitN::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self].Field[core::slice::iter::RSplitNMut::inner].Field[core::slice::iter::GenericSplitN::count]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::RSplitNMut::inner].Field[core::slice::iter::GenericSplitN::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::RSplitNMut::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self].Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::finish", "Argument[self].Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::as_slice", "Argument[self].Field[core::slice::iter::Split::v]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Split::finished]", "ReturnValue.Field[core::slice::iter::Split::finished]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Split::pred]", "ReturnValue.Field[core::slice::iter::Split::pred]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::slice::iter::Split::v]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self].Reference.Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::finish", "Argument[self].Reference.Field[core::slice::iter::Split::v]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::as_slice", "Argument[self].Reference.Field[core::slice::iter::Split::v]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::Split::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::Split::pred]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_back", "Argument[self].Field[core::slice::iter::SplitInclusive::v].Element", "Argument[self].Field[core::slice::iter::SplitInclusive::v].Reference", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::slice::iter::SplitInclusive::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::SplitInclusive::v].Element", "Argument[self].Field[core::slice::iter::SplitInclusive::v].Reference", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::SplitInclusive::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::SplitInclusive::finished]", "ReturnValue.Field[core::slice::iter::SplitInclusive::finished]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::SplitInclusive::pred]", "ReturnValue.Field[core::slice::iter::SplitInclusive::pred]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::SplitInclusive::v]", "ReturnValue.Field[core::slice::iter::SplitInclusive::v]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitInclusive::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::SplitInclusive::pred]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitInclusiveMut::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::SplitInclusiveMut::pred]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitMut::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::SplitMut::pred]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self].Field[core::slice::iter::SplitN::inner].Field[core::slice::iter::GenericSplitN::count]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitN::inner].Field[core::slice::iter::GenericSplitN::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::SplitN::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::size_hint", "Argument[self].Field[core::slice::iter::SplitNMut::inner].Field[core::slice::iter::GenericSplitN::count]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::SplitNMut::inner].Field[core::slice::iter::GenericSplitN::iter]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::SplitNMut::inner].Field[core::slice::iter::GenericSplitN::count]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::Windows::size]", "ReturnValue.Field[core::slice::iter::Windows::size]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::slice::iter::Windows::v]", "ReturnValue.Field[core::slice::iter::Windows::v]", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::slice::iter::Windows::v].Element", "Argument[self].Field[core::slice::iter::Windows::v].Reference", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[core::slice::iter::Windows::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::Windows::v].Element", "Argument[self].Field[core::slice::iter::Windows::v].Reference", "value", "dfc-generated"] - - ["::nth_back", "Argument[self].Field[core::slice::iter::Windows::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::last", "Argument[self].Field[core::slice::iter::Windows::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::Windows::v].Element", "Argument[self].Field[core::slice::iter::Windows::v].Reference", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::slice::iter::Windows::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::slice::iter::Windows::v].Element", "Argument[self].Field[core::slice::iter::Windows::v].Reference", "value", "dfc-generated"] - - ["::nth", "Argument[self].Field[core::slice::iter::Windows::v].Element", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Windows::size]", "ReturnValue.Field[core::slice::iter::Windows::size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[core::slice::iter::Windows::v]", "ReturnValue.Field[core::slice::iter::Windows::v]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::slice::iter::Windows::v]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::slice::iter::Windows::size]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::slice::sort::stable::drift::DriftsortRun(0)]", "ReturnValue.Field[core::slice::sort::stable::drift::DriftsortRun(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::slice::sort::stable::drift::DriftsortRun(0)]", "ReturnValue.Field[core::slice::sort::stable::drift::DriftsortRun(0)]", "value", "dfc-generated"] - ["::as_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::call", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::call_once", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::error::Utf8Error::valid_up_to]", "ReturnValue.Field[core::str::error::Utf8Error::valid_up_to].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::error::Utf8Error::valid_up_to]", "ReturnValue.Field[core::str::error::Utf8Error::valid_up_to]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::error_len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::valid_up_to", "Argument[self].Field[core::str::error::Utf8Error::valid_up_to]", "ReturnValue", "value", "dfc-generated"] + - ["::valid_up_to", "Argument[self].Reference.Field[core::str::error::Utf8Error::valid_up_to]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::count", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nth", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::str::iter::CharIndices::front_offset]", "ReturnValue.Field[core::str::iter::CharIndices::front_offset].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::iter::CharIndices::front_offset]", "ReturnValue.Field[core::str::iter::CharIndices::front_offset]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next", "Argument[self].Field[core::str::iter::CharIndices::front_offset]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] - - ["::offset", "Argument[self].Field[core::str::iter::CharIndices::front_offset]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[core::str::iter::EncodeUtf16::extra]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[core::str::iter::CharIndices::front_offset]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] + - ["::offset", "Argument[self].Reference.Field[core::str::iter::CharIndices::front_offset]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::iter::Chars::iter].Field[core::slice::iter::Iter::_marker]", "ReturnValue.Field[core::str::iter::Chars::iter].Field[core::slice::iter::Iter::_marker]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::iter::Chars::iter].Field[core::slice::iter::Iter::end_or_len]", "ReturnValue.Field[core::str::iter::Chars::iter].Field[core::slice::iter::Iter::end_or_len]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::iter::Chars::iter].Field[core::slice::iter::Iter::ptr]", "ReturnValue.Field[core::str::iter::Chars::iter].Field[core::slice::iter::Iter::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::str::iter::EncodeUtf16::extra]", "ReturnValue.Field[core::str::iter::EncodeUtf16::extra].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::iter::EncodeUtf16::extra]", "ReturnValue.Field[core::str::iter::EncodeUtf16::extra]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[core::str::iter::EncodeUtf16::extra]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::try_fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self].Field[core::str::iter::SplitNInternal::iter].Reference", "ReturnValue.Field[core::str::iter::SplitNInternal::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[core::str::iter::SplitNInternal::iter]", "ReturnValue.Field[core::str::iter::SplitNInternal::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::invalid", "Argument[self].Field[core::str::lossy::Utf8Chunk::invalid]", "ReturnValue", "value", "dfc-generated"] - - ["::valid", "Argument[self].Field[core::str::lossy::Utf8Chunk::valid]", "ReturnValue", "value", "dfc-generated"] - - ["::debug", "Argument[self].Field[core::str::lossy::Utf8Chunks::source]", "ReturnValue.Field[core::str::lossy::Debug(0)]", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["::try_fold", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::invalid", "Argument[self].Reference.Field[core::str::lossy::Utf8Chunk::invalid]", "ReturnValue", "value", "dfc-generated"] + - ["::valid", "Argument[self].Reference.Field[core::str::lossy::Utf8Chunk::valid]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::debug", "Argument[self].Reference.Field[core::str::lossy::Utf8Chunks::source]", "ReturnValue.Field[core::str::lossy::Debug(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_match_back", "Argument[self].Field[core::str::pattern::CharSearcher::finger]", "Argument[self].Field[core::str::pattern::CharSearcher::finger_back]", "value", "dfc-generated"] - - ["::next_match_back", "Argument[self].Field[core::str::pattern::CharSearcher::finger_back]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] - - ["::haystack", "Argument[self].Field[core::str::pattern::CharSearcher::haystack]", "ReturnValue", "value", "dfc-generated"] + - ["::next_match_back", "Argument[self].Reference.Field[core::str::pattern::CharSearcher::finger]", "Argument[self].Reference.Field[core::str::pattern::CharSearcher::finger_back]", "value", "dfc-generated"] + - ["::next_match_back", "Argument[self].Reference.Field[core::str::pattern::CharSearcher::finger_back]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] + - ["::haystack", "Argument[self].Reference.Field[core::str::pattern::CharSearcher::haystack]", "ReturnValue", "value", "dfc-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next_match", "Argument[self].Field[core::str::pattern::CharSearcher::finger]", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] - - ["::next_match", "Argument[self].Field[core::str::pattern::CharSearcher::finger_back]", "Argument[self].Field[core::str::pattern::CharSearcher::finger]", "value", "dfc-generated"] + - ["::next_match", "Argument[self].Reference.Field[core::str::pattern::CharSearcher::finger]", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] + - ["::next_match", "Argument[self].Reference.Field[core::str::pattern::CharSearcher::finger_back]", "Argument[self].Reference.Field[core::str::pattern::CharSearcher::finger]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::matching", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[0]", "value", "dfc-generated"] - ["::matching", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[1]", "value", "dfc-generated"] - ["::into_searcher", "Argument[0]", "ReturnValue.Field[core::str::pattern::MultiCharEqSearcher::haystack]", "value", "dfc-generated"] - - ["::into_searcher", "Argument[self].Field[0]", "ReturnValue.Field[core::str::pattern::MultiCharEqSearcher::char_eq]", "value", "dfc-generated"] - ["::into_searcher", "Argument[self].Field[core::str::pattern::MultiCharEqPattern(0)]", "ReturnValue.Field[core::str::pattern::MultiCharEqSearcher::char_eq]", "value", "dfc-generated"] - - ["::haystack", "Argument[self].Field[core::str::pattern::MultiCharEqSearcher::haystack]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::haystack", "Argument[self].Reference.Field[core::str::pattern::MultiCharEqSearcher::haystack]", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::matching", "Argument[0]", "ReturnValue.Field[core::str::pattern::SearchStep::Match(0)]", "value", "dfc-generated"] - ["::matching", "Argument[1]", "ReturnValue.Field[core::str::pattern::SearchStep::Match(1)]", "value", "dfc-generated"] - ["::rejecting", "Argument[0]", "ReturnValue.Field[core::str::pattern::SearchStep::Reject(0)]", "value", "dfc-generated"] - ["::rejecting", "Argument[1]", "ReturnValue.Field[core::str::pattern::SearchStep::Reject(1)]", "value", "dfc-generated"] - - ["::haystack", "Argument[self].Field[core::str::pattern::StrSearcher::haystack]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_match_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::haystack", "Argument[self].Reference.Field[core::str::pattern::StrSearcher::haystack]", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_match", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::str::pattern::Utf8Pattern::CharPattern(0)]", "ReturnValue.Field[core::str::pattern::Utf8Pattern::CharPattern(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::str::pattern::Utf8Pattern::CharPattern(0)]", "ReturnValue.Field[core::str::pattern::Utf8Pattern::CharPattern(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_ascii", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ascii_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_bytes_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_mut_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_str", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::char_indices", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::chars", "Argument[self].Element", "ReturnValue.Field[core::str::iter::Chars::iter].Element", "value", "dfc-generated"] - - ["::encode_utf16", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ceil_char_boundary", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::floor_char_boundary", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::from_utf8_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_utf8_unchecked_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::replace", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::rsplitn", "Argument[0]", "ReturnValue.Field[core::str::iter::RSplitN(0)].Field[core::str::iter::SplitNInternal::count]", "value", "dfc-generated"] - ["::splitn", "Argument[0]", "ReturnValue.Field[core::str::iter::SplitN(0)].Field[core::str::iter::SplitNInternal::count]", "value", "dfc-generated"] + - ["::trim_prefix", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::trim_suffix", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI128::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicI128::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicI128::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI128::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI16::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicI16::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicI16::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI16::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI32::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicI32::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicI32::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI32::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI64::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicI64::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicI64::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI64::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI8::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicI8::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicI8::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicI8::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicIsize::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicIsize::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicIsize::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicIsize::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicPtr::p].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicPtr::p].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicPtr::p].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicPtr::p].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU128::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicU128::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicU128::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU128::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU16::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicU16::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicU16::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU16::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU32::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicU32::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicU32::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU32::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU64::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicU64::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicU64::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU64::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU8::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicU8::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicU8::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicU8::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicUsize::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::as_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::atomic::AtomicUsize::v].Field[core::cell::UnsafeCell::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_ptr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_mut_slice", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[core::sync::atomic::AtomicUsize::v].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::atomic::AtomicUsize::v].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[core::sync::exclusive::Exclusive::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_pin_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[core::sync::exclusive::Exclusive::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_pin_mut", "Argument[self].Field[core::pin::Pin::__pointer].Field[core::sync::exclusive::Exclusive::inner]", "ReturnValue.Field[core::pin::Pin::__pointer].Reference", "value", "dfc-generated"] - - ["::get_pin_mut", "Argument[self].Field[core::pin::Pin::__pointer].Field[core::sync::exclusive::Exclusive::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[core::sync::exclusive::Exclusive::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[core::sync::exclusive::Exclusive::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::sync::exclusive::Exclusive::inner]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_residual", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::branch", "Argument[self].Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Break(0)].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::branch", "Argument[self].Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::ops::control_flow::ControlFlow::Continue(0)].Field[core::task::poll::Poll::Ready(0)]", "value", "dfc-generated"] + - ["::branch", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::async_gen_ready", "Argument[0]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::map", "Argument[0].ReturnValue", "ReturnValue.Field[core::task::poll::Poll::Ready(0)]", "value", "dfc-generated"] - ["::map", "Argument[self].Field[core::task::poll::Poll::Ready(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["::map_err", "Argument[0].ReturnValue", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map_err", "Argument[self].Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Err(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - ["::map_err", "Argument[self].Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::map_err", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::map_ok", "Argument[0].ReturnValue", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::map_ok", "Argument[self].Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map_ok", "Argument[self].Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["::map_ok", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ext", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_waker", "Argument[0]", "ReturnValue.Field[core::task::wake::Context::waker]", "value", "dfc-generated"] - - ["::local_waker", "Argument[self].Field[core::task::wake::Context::local_waker]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::waker", "Argument[self].Field[core::task::wake::Context::waker]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::build", "Argument[self].Field[core::task::wake::ContextBuilder::ext]", "ReturnValue.Field[core::task::wake::Context::ext].Field[core::panic::unwind_safe::AssertUnwindSafe(0)]", "value", "dfc-generated"] - - ["::build", "Argument[self].Field[core::task::wake::ContextBuilder::local_waker]", "ReturnValue.Field[core::task::wake::Context::local_waker]", "value", "dfc-generated"] - - ["::build", "Argument[self].Field[core::task::wake::ContextBuilder::waker]", "ReturnValue.Field[core::task::wake::Context::waker]", "value", "dfc-generated"] + - ["::local_waker", "Argument[self].Reference.Field[core::task::wake::Context::local_waker]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::waker", "Argument[self].Reference.Field[core::task::wake::Context::waker]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::ext", "Argument[0]", "ReturnValue.Field[core::task::wake::ContextBuilder::ext].Field[core::task::wake::ExtData::Some(0)]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[core::task::wake::Context::local_waker]", "ReturnValue.Field[core::task::wake::ContextBuilder::local_waker]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[core::task::wake::Context::waker]", "ReturnValue.Field[core::task::wake::ContextBuilder::waker]", "value", "dfc-generated"] + - ["::from", "Argument[0].Reference.Field[core::task::wake::Context::local_waker]", "ReturnValue.Field[core::task::wake::ContextBuilder::local_waker]", "value", "dfc-generated"] + - ["::from", "Argument[0].Reference.Field[core::task::wake::Context::waker]", "ReturnValue.Field[core::task::wake::ContextBuilder::waker]", "value", "dfc-generated"] - ["::from_waker", "Argument[0]", "ReturnValue.Field[core::task::wake::ContextBuilder::waker]", "value", "dfc-generated"] - ["::local_waker", "Argument[0]", "ReturnValue.Field[core::task::wake::ContextBuilder::local_waker]", "value", "dfc-generated"] - ["::waker", "Argument[0]", "ReturnValue.Field[core::task::wake::ContextBuilder::waker]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Reference", "Argument[self].Reference", "value", "dfc-generated"] - - ["::data", "Argument[self].Field[core::task::wake::LocalWaker::waker].Field[core::task::wake::RawWaker::data]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone_from", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::drop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::data", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_raw", "Argument[0]", "ReturnValue.Field[core::task::wake::LocalWaker::waker]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::task::wake::LocalWaker::waker].Field[core::task::wake::RawWaker::data]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::task::wake::LocalWaker::waker].Field[core::task::wake::RawWaker::vtable]", "value", "dfc-generated"] - - ["::vtable", "Argument[self].Field[core::task::wake::LocalWaker::waker].Field[core::task::wake::RawWaker::vtable]", "ReturnValue", "value", "dfc-generated"] + - ["::vtable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wake_by_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::task::wake::RawWaker::data]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::task::wake::RawWaker::vtable]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::task::wake::RawWakerVTable::clone]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::task::wake::RawWakerVTable::wake]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::task::wake::RawWakerVTable::wake_by_ref]", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::task::wake::RawWakerVTable::drop]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Reference", "Argument[self].Reference", "value", "dfc-generated"] - - ["::data", "Argument[self].Field[core::task::wake::Waker::waker].Field[core::task::wake::RawWaker::data]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone_from", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::drop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::data", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_raw", "Argument[0]", "ReturnValue.Field[core::task::wake::Waker::waker]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::task::wake::Waker::waker].Field[core::task::wake::RawWaker::data]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::task::wake::Waker::waker].Field[core::task::wake::RawWaker::vtable]", "value", "dfc-generated"] - - ["::vtable", "Argument[self].Field[core::task::wake::Waker::waker].Field[core::task::wake::RawWaker::vtable]", "ReturnValue", "value", "dfc-generated"] + - ["::vtable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wake_by_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[core::time::Duration::secs]", "ReturnValue.Field[core::time::Duration::secs].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[core::time::Duration::secs]", "ReturnValue.Field[core::time::Duration::secs]", "value", "dfc-generated"] - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::as_micros", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_millis", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_millis_f32", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_millis_f64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_nanos", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_secs", "Argument[self].Field[core::time::Duration::secs]", "ReturnValue", "value", "dfc-generated"] - - ["::as_secs_f32", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_secs_f64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::checked_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::checked_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_duration_f32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_duration_f32", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_duration_f64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_duration_f64", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_secs", "Argument[self].Reference.Field[core::time::Duration::secs]", "ReturnValue", "value", "dfc-generated"] - ["::from_days", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_hours", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_micros", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -3465,548 +4682,248 @@ extensions: - ["::from_weeks", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::time::Duration::secs]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::time::Duration::nanos].Field[core::num::niche_types::Nanoseconds(0)]", "value", "dfc-generated"] - - ["::saturating_mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "value", "dfc-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::hi].Field[libm::math::support::big::u256::hi]", "value", "dfc-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "value", "dfc-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::hi].Field[libm::math::support::big::u256::hi]", "value", "dfc-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "value", "dfc-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::overflowing_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::overflowing_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::hex", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::cast_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::overflowing_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::hex", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::cast_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::overflowing_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_elem", "Argument[1]", "ReturnValue.Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::full_div_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::full_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::widen_hi", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::zero_widen", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::ascii_change_case_unchecked", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::cast_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::overflowing_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_ascii_lowercase", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_ascii_uppercase", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::to_u128", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u64", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_u8", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::carrying_mul_add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::disjoint_bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::steps_between", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::mul", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::mul", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::bitxor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::not", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shl", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::shr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::index", "Argument[0].Reference.Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index_mut", "Argument[0].Reference.Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::abs_diff", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::abs_diff", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::product", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::cast", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::cast_lossy", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_unsigned", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::cast_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::checked_next_multiple_of", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::div_ceil", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_ceil", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::div_floor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::isolate_least_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ascii_radix", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::isolate_most_significant_one", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::midpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::next_multiple_of", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::overflowing_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::overflowing_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::pow", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::repeat_u16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::strict_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_div_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::wrapping_rem_euclid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] @@ -4024,6 +4941,7 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::f16x16(0)].Field[core_arch::core_arch::simd::f16x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] @@ -4057,11 +4975,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::f16x32(0)].Field[core_arch::core_arch::simd::f16x32(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::f16x4(0)].Field[core_arch::core_arch::simd::f16x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] @@ -4071,6 +4991,7 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f16x8(0)].Field[core_arch::core_arch::simd::f16x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] @@ -4088,14 +5009,17 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::f32x16(0)].Field[core_arch::core_arch::simd::f32x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x2(0)].Field[core_arch::core_arch::simd::f32x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x2(0)].Field[core_arch::core_arch::simd::f32x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f32x2(0)].Field[core_arch::core_arch::simd::f32x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::f32x4(0)].Field[core_arch::core_arch::simd::f32x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] @@ -4105,16 +5029,20 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f32x8(0)].Field[core_arch::core_arch::simd::f32x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x1(0)].Field[core_arch::core_arch::simd::f64x1(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x1(0)].Field[core_arch::core_arch::simd::f64x1(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x2(0)].Field[core_arch::core_arch::simd::f64x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x2(0)].Field[core_arch::core_arch::simd::f64x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f64x2(0)].Field[core_arch::core_arch::simd::f64x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::f64x4(0)].Field[core_arch::core_arch::simd::f64x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] @@ -4124,6 +5052,7 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::f64x8(0)].Field[core_arch::core_arch::simd::f64x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] @@ -4141,9 +5070,11 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i16x16(0)].Field[core_arch::core_arch::simd::i16x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x2(0)].Field[core_arch::core_arch::simd::i16x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x2(0)].Field[core_arch::core_arch::simd::i16x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i16x2(0)].Field[core_arch::core_arch::simd::i16x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] @@ -4177,11 +5108,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i16x32(0)].Field[core_arch::core_arch::simd::i16x32(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i16x4(0)].Field[core_arch::core_arch::simd::i16x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] @@ -4191,6 +5124,7 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i16x8(0)].Field[core_arch::core_arch::simd::i16x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] @@ -4208,9 +5142,11 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i32x16(0)].Field[core_arch::core_arch::simd::i32x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x2(0)].Field[core_arch::core_arch::simd::i32x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x2(0)].Field[core_arch::core_arch::simd::i32x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i32x2(0)].Field[core_arch::core_arch::simd::i32x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] @@ -4244,11 +5180,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i32x32(0)].Field[core_arch::core_arch::simd::i32x32(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i32x4(0)].Field[core_arch::core_arch::simd::i32x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] @@ -4258,16 +5196,20 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i32x8(0)].Field[core_arch::core_arch::simd::i32x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x1(0)].Field[core_arch::core_arch::simd::i64x1(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x1(0)].Field[core_arch::core_arch::simd::i64x1(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x2(0)].Field[core_arch::core_arch::simd::i64x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x2(0)].Field[core_arch::core_arch::simd::i64x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i64x2(0)].Field[core_arch::core_arch::simd::i64x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i64x4(0)].Field[core_arch::core_arch::simd::i64x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] @@ -4277,6 +5219,7 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i64x8(0)].Field[core_arch::core_arch::simd::i64x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] @@ -4294,9 +5237,11 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i8x16(0)].Field[core_arch::core_arch::simd::i8x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x2(0)].Field[core_arch::core_arch::simd::i8x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x2(0)].Field[core_arch::core_arch::simd::i8x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i8x2(0)].Field[core_arch::core_arch::simd::i8x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] @@ -4330,11 +5275,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i8x32(0)].Field[core_arch::core_arch::simd::i8x32(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::i8x4(0)].Field[core_arch::core_arch::simd::i8x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] @@ -4400,6 +5347,7 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::i8x64(0)].Field[core_arch::core_arch::simd::i8x64(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] @@ -4409,6 +5357,14 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::i8x8(0)].Field[core_arch::core_arch::simd::i8x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] @@ -4426,9 +5382,11 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u16x16(0)].Field[core_arch::core_arch::simd::u16x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x2(0)].Field[core_arch::core_arch::simd::u16x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x2(0)].Field[core_arch::core_arch::simd::u16x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u16x2(0)].Field[core_arch::core_arch::simd::u16x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] @@ -4462,11 +5420,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u16x32(0)].Field[core_arch::core_arch::simd::u16x32(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u16x4(0)].Field[core_arch::core_arch::simd::u16x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] @@ -4532,6 +5492,7 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u16x64(0)].Field[core_arch::core_arch::simd::u16x64(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] @@ -4541,6 +5502,7 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u16x8(0)].Field[core_arch::core_arch::simd::u16x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] @@ -4558,9 +5520,11 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u32x16(0)].Field[core_arch::core_arch::simd::u32x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x2(0)].Field[core_arch::core_arch::simd::u32x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x2(0)].Field[core_arch::core_arch::simd::u32x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u32x2(0)].Field[core_arch::core_arch::simd::u32x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] @@ -4594,11 +5558,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u32x32(0)].Field[core_arch::core_arch::simd::u32x32(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u32x4(0)].Field[core_arch::core_arch::simd::u32x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] @@ -4608,16 +5574,20 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u32x8(0)].Field[core_arch::core_arch::simd::u32x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x1(0)].Field[core_arch::core_arch::simd::u64x1(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x1(0)].Field[core_arch::core_arch::simd::u64x1(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x2(0)].Field[core_arch::core_arch::simd::u64x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x2(0)].Field[core_arch::core_arch::simd::u64x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u64x2(0)].Field[core_arch::core_arch::simd::u64x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u64x4(0)].Field[core_arch::core_arch::simd::u64x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] @@ -4627,6 +5597,7 @@ extensions: - ["::new", "Argument[5]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u64x8(0)].Field[core_arch::core_arch::simd::u64x8(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] @@ -4644,9 +5615,11 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u8x16(0)].Field[core_arch::core_arch::simd::u8x16(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x2(0)].Field[core_arch::core_arch::simd::u8x2(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x2(0)].Field[core_arch::core_arch::simd::u8x2(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u8x2(0)].Field[core_arch::core_arch::simd::u8x2(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] @@ -4680,11 +5653,13 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u8x32(0)].Field[core_arch::core_arch::simd::u8x32(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[core::core_arch::simd::u8x4(0)].Field[core_arch::core_arch::simd::u8x4(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[10]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] @@ -4750,6 +5725,7 @@ extensions: - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[8]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[9]", "ReturnValue.Field[core::core_arch::simd::u8x64(0)].Field[core_arch::core_arch::simd::u8x64(0)].Element", "value", "dfc-generated"] + - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_array", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] @@ -4760,90 +5736,322 @@ extensions: - ["::new", "Argument[6]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] - ["::new", "Argument[7]", "ReturnValue.Field[core::core_arch::simd::u8x8(0)].Field[core_arch::core_arch::simd::u8x8(0)].Element", "value", "dfc-generated"] - ["::from_bits", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)]", "value", "dfc-generated"] - - ["::to_bits", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::to_bits", "Argument[self].Field[core::core_arch::x86::bf16(0)].Field[core_arch::core_arch::x86::bf16(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::simd_clamp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::simd_clamp", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::simd_clamp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::simd_max", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::simd_max", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::simd_min", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::simd_min", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::select_mask", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::select_mask", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::select_mask", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::recip", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::to_degrees", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::to_radians", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::abs", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fract", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fract", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_bits", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::without_provenance", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::without_provenance", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_mut_array", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from_c", "Argument[0]", "ReturnValue.Field[intrinsic-test::argument::Argument::pos]", "value", "dfc-generated"] - - ["::from_c", "Argument[1].Element", "ReturnValue.Field[intrinsic-test::argument::Argument::name].Reference", "value", "dfc-generated"] - - ["::type_and_name_from_c", "Argument[0].Element", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - - ["::load_values_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::load_values_c", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::load_values_rust", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_c", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_c", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_c", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_rust", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_rust", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_rust", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::generate_loop_rust", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::print_result_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::print_result_c", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::c_single_vector_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::c_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::kind", "Argument[self].Reference.Field[intrinsic-test::types::IntrinsicType::Type::kind]", "ReturnValue", "value", "dfc-generated"] - - ["::populate_random", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::rust_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::create", "Argument[0]", "ReturnValue.Field[alloc::boxed::Box(0)].Field[intrinsic-test::arm::ArmArchitectureTest::cli_options]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[intrinsic-test::arm::intrinsic::ArmIntrinsicType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[intrinsic-test::arm::intrinsic::ArmIntrinsicType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::c_single_vector_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::c_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::rust_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[intrinsic-test::common::argument::Argument::pos]", "ReturnValue.Field[intrinsic-test::common::argument::Argument::pos].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[intrinsic-test::common::argument::Argument::pos]", "ReturnValue.Field[intrinsic-test::common::argument::Argument::pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_c", "Argument[0]", "ReturnValue.Field[intrinsic-test::common::argument::Argument::pos]", "value", "dfc-generated"] + - ["::from_c", "Argument[3]", "ReturnValue.Field[intrinsic-test::common::argument::Argument::constraint]", "value", "dfc-generated"] + - ["::type_and_name_from_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::load_values_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::load_values_rust", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::add_arch_flags", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::add_extra_flag", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::add_extra_flags", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::set_compiler", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::set_cxx_toolchain_dir", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::set_opt_level", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::set_project_root", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::set_target", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::command_mut", "Argument[self].Reference.Field[intrinsic-test::common::compile_c::CppCompilation(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[intrinsic-test::common::constraint::Constraint::Equal(0)]", "ReturnValue.Field[intrinsic-test::common::constraint::Constraint::Equal(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[intrinsic-test::common::constraint::Constraint::Equal(0)]", "ReturnValue.Field[intrinsic-test::common::constraint::Constraint::Equal(0)]", "value", "dfc-generated"] + - ["::try_from", "Argument[0].Field[intrinsic-test::arm::json_parser::ArgPrep::Immediate::min]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[intrinsic-test::common::constraint::Constraint::Equal(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[intrinsic-test::common::indentation::Indentation(0)]", "ReturnValue.Field[intrinsic-test::common::indentation::Indentation(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[intrinsic-test::common::indentation::Indentation(0)]", "ReturnValue.Field[intrinsic-test::common::indentation::Indentation(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::nested", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::print_result_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::print_result_c", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::print_result_c", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::results", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_call_param_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::c_scalar_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::inner_size", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::is_ptr", "Argument[self].Reference.Field[intrinsic-test::common::intrinsic_helpers::IntrinsicType::ptr]", "ReturnValue", "value", "dfc-generated"] + - ["::kind", "Argument[self].Reference.Field[intrinsic-test::common::intrinsic_helpers::IntrinsicType::kind]", "ReturnValue", "value", "dfc-generated"] + - ["::num_lanes", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::num_vectors", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::populate_random", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::rust_scalar_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::acos", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::acosh", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::asin", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::atan2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::atan", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::cbrt", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::ceil", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::cos", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::erf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::erfc", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::exp10", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::exp10", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::exp2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::exp", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::expm1", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fdim", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fdim", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::floor", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmax", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmax", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximum_numf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximum_numf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmaximumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fminimum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fminimum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fminimum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fminimum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fminimum_numf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fminimum_numf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fminimumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fminimumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmod", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::frexp", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::jn", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["::ldexp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::lgamma", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::lgamma_r", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::log10", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::log1p", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::log2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::log", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::modf", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::modf", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["::nextafter", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["::pow", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::pow", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["::remainder", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::remquo", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::rint", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::round", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::roundevem", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::roundeven", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::scalbn", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sin", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::sincos", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::sinh", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::tan", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::tgamma", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::trunc", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::y0", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::y1", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::yn", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::not", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shl", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shr", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::hi", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::i256::hi].Field[libm::math::support::big::i256::hi]", "ReturnValue", "value", "dfc-generated"] + - ["::lo", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::unsigned", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::i256::lo].Field[libm::math::support::big::i256::lo]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitor", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::not", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shl", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::shr", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::hi", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::u256::hi].Field[libm::math::support::big::u256::hi]", "ReturnValue", "value", "dfc-generated"] + - ["::lo", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "ReturnValue", "value", "dfc-generated"] + - ["::signed", "Argument[self].Field[compiler_builtins::math::libm_math::support::big::u256::lo].Field[libm::math::support::big::u256::lo]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::big::i256::lo].Field[libm::math::support::big::i256::lo]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["::new", "Argument[1]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::status].Field[libm::math::support::env::FpResult::status]", "value", "dfc-generated"] + - ["::ok", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::Status(0)].Field[libm::math::support::env::Status(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bits", "Argument[self].Reference.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from_bits", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::feature_detect::Flags(0)].Field[libm::math::support::feature_detect::Flags(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[libm_macros::shared::MathOpInfo::public]", "ReturnValue.Field[libm_macros::shared::MathOpInfo::public].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[libm_macros::shared::MathOpInfo::public]", "ReturnValue.Field[libm_macros::shared::MathOpInfo::public]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::range_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::range_start", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::unwrap_float", "Argument[self].Field[libm_test::domain::EitherPrim::Float(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::unwrap_int", "Argument[self].Field[libm_test::domain::EitherPrim::Int(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from_bits", "Argument[0]", "ReturnValue.Field[libm_test::f8_impl::f8(0)]", "value", "dfc-generated"] + - ["::to_bits", "Argument[self].Field[libm_test::f8_impl::f8(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::to_bits_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[libm_test::f8_impl::f8(0)]", "ReturnValue.Field[libm_test::f8_impl::f8(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[libm_test::f8_impl::f8(0)]", "ReturnValue.Field[libm_test::f8_impl::f8(0)]", "value", "dfc-generated"] + - ["::neg", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_bits", "Argument[0]", "ReturnValue.Field[libm_test::f8_impl::f8(0)]", "value", "dfc-generated"] + - ["::to_bits", "Argument[self].Field[libm_test::f8_impl::f8(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::to_bits_signed", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[libm_test::generate::KnownSize::iter]", "value", "dfc-generated"] + - ["::new", "Argument[1]", "ReturnValue.Field[libm_test::generate::KnownSize::total]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::extensive", "Argument[0]", "Argument[self].Field[libm_test::run_cfg::CheckCtx::extensive]", "value", "dfc-generated"] + - ["::extensive", "Argument[0]", "ReturnValue.Field[libm_test::run_cfg::CheckCtx::extensive]", "value", "dfc-generated"] + - ["::extensive", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[libm_test::run_cfg::CheckCtx::fn_ident]", "value", "dfc-generated"] + - ["::new", "Argument[1]", "ReturnValue.Field[libm_test::run_cfg::CheckCtx::basis]", "value", "dfc-generated"] + - ["::new", "Argument[2]", "ReturnValue.Field[libm_test::run_cfg::CheckCtx::gen_kind]", "value", "dfc-generated"] + - ["::override_iterations", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::delimiter", "Argument[self].Field[0].Field[proc_macro::bridge::Group::delimiter]", "ReturnValue", "value", "dfc-generated"] - - ["::delimiter", "Argument[self].Field[proc_macro::Group(0)].Field[proc_macro::bridge::Group::delimiter]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::delimiter", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[proc_macro::Group(0)].Field[proc_macro::bridge::Group::delimiter]", "value", "dfc-generated"] - - ["::new", "Argument[1].Field[0]", "ReturnValue.Field[proc_macro::Group(0)].Field[proc_macro::bridge::Group::stream]", "value", "dfc-generated"] - ["::new", "Argument[1].Field[proc_macro::TokenStream(0)]", "ReturnValue.Field[proc_macro::Group(0)].Field[proc_macro::bridge::Group::stream]", "value", "dfc-generated"] - - ["::stream", "Argument[self].Field[0].Field[proc_macro::bridge::Group::stream]", "ReturnValue.Field[proc_macro::TokenStream(0)]", "value", "dfc-generated"] - - ["::stream", "Argument[self].Field[proc_macro::Group(0)].Field[proc_macro::bridge::Group::stream]", "ReturnValue.Field[proc_macro::TokenStream(0)]", "value", "dfc-generated"] - - ["::new", "Argument[1].Field[0]", "ReturnValue.Field[proc_macro::Ident(0)].Field[proc_macro::bridge::Ident::span]", "value", "dfc-generated"] + - ["::span", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::span_close", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::span_open", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1].Field[proc_macro::Span(0)]", "ReturnValue.Field[proc_macro::Ident(0)].Field[proc_macro::bridge::Ident::span]", "value", "dfc-generated"] - - ["::new_raw", "Argument[1].Field[0]", "ReturnValue.Field[proc_macro::Ident(0)].Field[proc_macro::bridge::Ident::span]", "value", "dfc-generated"] - ["::new_raw", "Argument[1].Field[proc_macro::Span(0)]", "ReturnValue.Field[proc_macro::Ident(0)].Field[proc_macro::bridge::Ident::span]", "value", "dfc-generated"] - ["::set_span", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::span", "Argument[self].Field[0].Field[proc_macro::bridge::Ident::span]", "ReturnValue.Field[proc_macro::Span(0)]", "value", "dfc-generated"] - - ["::span", "Argument[self].Field[proc_macro::Ident(0)].Field[proc_macro::bridge::Ident::span]", "ReturnValue.Field[proc_macro::Span(0)]", "value", "dfc-generated"] + - ["::span", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::set_span", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::span", "Argument[self].Field[0].Field[proc_macro::bridge::Literal::span]", "ReturnValue.Field[proc_macro::Span(0)]", "value", "dfc-generated"] - - ["::span", "Argument[self].Field[proc_macro::Literal(0)].Field[proc_macro::bridge::Literal::span]", "ReturnValue.Field[proc_macro::Span(0)]", "value", "dfc-generated"] + - ["::span", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_char", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::set_span", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::span", "Argument[self].Field[0].Field[proc_macro::bridge::Punct::span]", "ReturnValue.Field[proc_macro::Span(0)]", "value", "dfc-generated"] - - ["::span", "Argument[self].Field[proc_macro::Punct(0)].Field[proc_macro::bridge::Punct::span]", "ReturnValue.Field[proc_macro::Span(0)]", "value", "dfc-generated"] + - ["::span", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::byte_range", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::column", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::error", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::file", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::help", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::line", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::located_at", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::located_at", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::note", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recover_proc_macro_span", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::resolved_at", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::resolved_at", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::save_span", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::source", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::source_text", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::start", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::warning", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_token_stream", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::expand_expr", "Argument[self].Field[0].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::expand_expr", "Argument[self].Field[proc_macro::TokenStream(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::expand_expr", "Argument[self].Reference.Field[proc_macro::TokenStream(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[proc_macro::TokenTree::Group(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[proc_macro::TokenTree::Ident(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[proc_macro::TokenTree::Literal(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[proc_macro::TokenTree::Punct(0)]", "value", "dfc-generated"] + - ["::span", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_single", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::DelimSpan::close]", "value", "dfc-generated"] - ["::from_single", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::DelimSpan::entire]", "value", "dfc-generated"] - ["::from_single", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::DelimSpan::open]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::mark", "Argument[0].Field[proc_macro::bridge::Diagnostic::level]", "ReturnValue.Field[proc_macro::bridge::Diagnostic::level]", "value", "dfc-generated"] + - ["::mark", "Argument[0].Field[proc_macro::bridge::Diagnostic::message]", "ReturnValue.Field[proc_macro::bridge::Diagnostic::message]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Diagnostic::level]", "ReturnValue.Field[proc_macro::bridge::Diagnostic::level]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Diagnostic::message]", "ReturnValue.Field[proc_macro::bridge::Diagnostic::message]", "value", "dfc-generated"] + - ["::mark", "Argument[0].Field[proc_macro::bridge::Group::delimiter]", "ReturnValue.Field[proc_macro::bridge::Group::delimiter]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Group::delimiter]", "ReturnValue.Field[proc_macro::bridge::Group::delimiter]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::bridge::Ident::is_raw]", "ReturnValue.Field[proc_macro::bridge::Ident::is_raw].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::bridge::Ident::is_raw]", "ReturnValue.Field[proc_macro::bridge::Ident::is_raw]", "value", "dfc-generated"] + - ["::mark", "Argument[0].Field[proc_macro::bridge::Ident::is_raw]", "ReturnValue.Field[proc_macro::bridge::Ident::is_raw]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Ident::is_raw]", "ReturnValue.Field[proc_macro::bridge::Ident::is_raw]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::mark", "Argument[0].Field[proc_macro::bridge::Literal::kind]", "ReturnValue.Field[proc_macro::bridge::Literal::kind]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Literal::kind]", "ReturnValue.Field[proc_macro::bridge::Literal::kind]", "value", "dfc-generated"] - ["::mark", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::Marked::value]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Marked::value]", "ReturnValue", "value", "dfc-generated"] - ["::decode", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::mark", "Argument[0].Field[proc_macro::bridge::Punct::ch]", "ReturnValue.Field[proc_macro::bridge::Punct::ch]", "value", "dfc-generated"] + - ["::mark", "Argument[0].Field[proc_macro::bridge::Punct::joint]", "ReturnValue.Field[proc_macro::bridge::Punct::joint]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Punct::ch]", "ReturnValue.Field[proc_macro::bridge::Punct::ch]", "value", "dfc-generated"] - ["::unmark", "Argument[self].Field[proc_macro::bridge::Punct::joint]", "ReturnValue.Field[proc_macro::bridge::Punct::joint]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::mark", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::unmark", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0].Field[alloc::vec::Vec::len]", "ReturnValue.Field[proc_macro::bridge::buffer::Buffer::len]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::drop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::emit_diagnostic", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::injected_env_var", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::literal_from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::track_env_var", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::track_env_var", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::track_path", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::attr", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::client::ProcMacro::Attr::name]", "value", "dfc-generated"] - ["::bang", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::client::ProcMacro::Bang::name]", "value", "dfc-generated"] - ["::custom_derive", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::client::ProcMacro::CustomDerive::trait_name]", "value", "dfc-generated"] @@ -4851,14 +6059,49 @@ extensions: - ["::name", "Argument[self].Field[proc_macro::bridge::client::ProcMacro::Attr::name]", "ReturnValue", "value", "dfc-generated"] - ["::name", "Argument[self].Field[proc_macro::bridge::client::ProcMacro::Bang::name]", "ReturnValue", "value", "dfc-generated"] - ["::name", "Argument[self].Field[proc_macro::bridge::client::ProcMacro::CustomDerive::trait_name]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::bridge::client::Span::handle]", "ReturnValue.Field[proc_macro::bridge::client::Span::handle].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::bridge::client::Span::handle]", "ReturnValue.Field[proc_macro::bridge::client::Span::handle]", "value", "dfc-generated"] + - ["::byte_range", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::column", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::debug", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::file", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::join", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::join", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::line", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::local_file", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::parent", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recover_proc_macro_span", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::resolved_at", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::resolved_at", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::save_span", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::source", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::source_text", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::start", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::subspan", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::subspan", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::subspan", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::concat_streams", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::concat_streams", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::concat_trees", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::concat_trees", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::drop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expand_expr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_token_tree", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_trees", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::is_empty", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::call", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::finish", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::copy", "Argument[self].Field[proc_macro::bridge::handle::InternedStore::owned].Element", "ReturnValue", "value", "dfc-generated"] + - ["::copy", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::handle::InternedStore::owned].Field[proc_macro::bridge::handle::OwnedStore::counter]", "value", "dfc-generated"] + - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::index_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::handle::OwnedStore::counter]", "value", "dfc-generated"] - ["::as_str", "Argument[self].Field[proc_macro::bridge::rpc::PanicMessage::StaticStr(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::as_str", "Argument[self].Field[proc_macro::bridge::rpc::PanicMessage::String(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] @@ -4866,107 +6109,216 @@ extensions: - ["::run_bridge_and_client", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[proc_macro::bridge::server::MaybeCrossThread::cross_thread]", "value", "dfc-generated"] - ["::run_bridge_and_client", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[0].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[proc_macro::diagnostic::Children(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::bridge::symbol::Symbol(0)]", "ReturnValue.Field[proc_macro::bridge::symbol::Symbol(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::bridge::symbol::Symbol(0)]", "ReturnValue.Field[proc_macro::bridge::symbol::Symbol(0)]", "value", "dfc-generated"] + - ["::new_ident", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::normalize_and_validate_ident", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[proc_macro::diagnostic::Children(0)].Field[core::slice::iter::Iter::_marker]", "ReturnValue.Field[proc_macro::diagnostic::Children(0)].Field[core::slice::iter::Iter::_marker]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::diagnostic::Children(0)].Field[core::slice::iter::Iter::end_or_len]", "ReturnValue.Field[proc_macro::diagnostic::Children(0)].Field[core::slice::iter::Iter::end_or_len]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[proc_macro::diagnostic::Children(0)].Field[core::slice::iter::Iter::ptr]", "ReturnValue.Field[proc_macro::diagnostic::Children(0)].Field[core::slice::iter::Iter::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::error", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::level", "Argument[self].Field[proc_macro::diagnostic::Diagnostic::level]", "ReturnValue", "value", "dfc-generated"] - - ["::message", "Argument[self].Field[proc_macro::diagnostic::Diagnostic::message]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::level", "Argument[self].Reference.Field[proc_macro::diagnostic::Diagnostic::level]", "ReturnValue", "value", "dfc-generated"] + - ["::message", "Argument[self].Reference.Field[proc_macro::diagnostic::Diagnostic::message]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[proc_macro::diagnostic::Diagnostic::level]", "value", "dfc-generated"] - ["::note", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::set_level", "Argument[0]", "Argument[self].Field[proc_macro::diagnostic::Diagnostic::level]", "value", "dfc-generated"] + - ["::set_level", "Argument[0]", "Argument[self].Reference.Field[proc_macro::diagnostic::Diagnostic::level]", "value", "dfc-generated"] + - ["::set_message", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::span_error", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::span_help", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::span_note", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::span_warning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::spanned", "Argument[1]", "ReturnValue.Field[proc_macro::diagnostic::Diagnostic::level]", "value", "dfc-generated"] - - ["::spans", "Argument[self].Field[proc_macro::diagnostic::Diagnostic::spans]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::spans", "Argument[self].Reference.Field[proc_macro::diagnostic::Diagnostic::spans]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::warning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::sp", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::Frame::inner].Field[backtrace::backtrace::Frame::inner].Field[std::backtrace_rs::backtrace::Frame::inner].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Field[proc_macro::quote::RepInterp(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::sp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::ip].Field[backtrace::backtrace::libunwind::Frame::Cloned::ip].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::ip]", "ReturnValue", "value", "dfc-generated"] + - ["::ip", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::ip].Field[backtrace::backtrace::libunwind::Frame::Cloned::ip].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::ip]", "ReturnValue", "value", "dfc-generated"] + - ["::sp", "Argument[self].Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - ["::sp", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::backtrace::libunwind::Frame::Cloned::sp].Field[backtrace::backtrace::libunwind::Frame::Cloned::sp].Field[std::backtrace_rs::backtrace::libunwind::Frame::Cloned::sp]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "value", "dfc-generated"] - - ["::into", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "ReturnValue", "value", "dfc-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::Backtrace::frames].Field[backtrace::capture::Backtrace::frames].Field[std::backtrace_rs::capture::Backtrace::frames]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::frames", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::BacktraceFrame::frame].Field[backtrace::capture::BacktraceFrame::frame].Field[std::backtrace_rs::capture::BacktraceFrame::frame].Field[as_if_std::the_backtrace_crate::capture::Frame::Raw(0)].Field[backtrace::capture::Frame::Raw(0)].Field[std::backtrace_rs::capture::Frame::Raw(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ip", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol_address", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::symbols", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::colno].Field[backtrace::capture::BacktraceSymbol::colno].Field[std::backtrace_rs::capture::BacktraceSymbol::colno]", "ReturnValue", "value", "dfc-generated"] - - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::lineno].Field[backtrace::capture::BacktraceSymbol::lineno].Field[std::backtrace_rs::capture::BacktraceSymbol::lineno]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::colno].Field[backtrace::capture::BacktraceSymbol::colno].Field[std::backtrace_rs::capture::BacktraceSymbol::colno]", "ReturnValue", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::capture::BacktraceSymbol::lineno].Field[backtrace::capture::BacktraceSymbol::lineno].Field[std::backtrace_rs::capture::BacktraceSymbol::lineno]", "ReturnValue", "value", "dfc-generated"] - ["::name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::formatter", "Argument[self].Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "ReturnValue.Field[as_if_std::the_backtrace_crate::capture::TracePtr(0)].Field[backtrace::capture::TracePtr(0)].Field[std::backtrace_rs::capture::TracePtr(0)]", "value", "dfc-generated"] + - ["::formatter", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "ReturnValue", "value", "dfc-generated"] - ["::frame", "Argument[self]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFrameFmt::fmt].Field[backtrace::print::BacktraceFrameFmt::fmt].Field[std::backtrace_rs::print::BacktraceFrameFmt::fmt]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::fmt].Field[backtrace::print::BacktraceFmt::fmt].Field[std::backtrace_rs::print::BacktraceFmt::fmt]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::format].Field[backtrace::print::BacktraceFmt::format].Field[std::backtrace_rs::print::BacktraceFmt::format]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[as_if_std::the_backtrace_crate::print::BacktraceFmt::print_path].Field[backtrace::print::BacktraceFmt::print_path].Field[std::backtrace_rs::print::BacktraceFmt::print_path]", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::Symbol::inner].Field[backtrace::symbolize::Symbol::inner].Field[std::backtrace_rs::symbolize::Symbol::inner].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Symtab::name].Field[backtrace::symbolize::gimli::Symbol::Symtab::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Symtab::name]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] + - ["::backtrace_frame", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::backtrace_symbol", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::print_raw", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::print_raw_with_column", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::symbol", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filename", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filename_raw", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lineno", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::name", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_bytes", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_bytes", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "ReturnValue", "value", "dfc-generated"] + - ["::as_str", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] - - ["::addr", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::addr].Field[backtrace::symbolize::gimli::Symbol::Frame::addr].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::addr].Reference", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[addr2line::frame::Location::column]", "ReturnValue", "value", "dfc-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::colno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename_raw", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::filename_raw", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[addr2line::frame::Location::line]", "ReturnValue", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::lineno", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::location].Field[backtrace::symbolize::gimli::Symbol::Frame::location].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::location]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::name].Field[backtrace::symbolize::gimli::Symbol::Frame::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::name].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Frame::name].Field[backtrace::symbolize::gimli::Symbol::Frame::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Frame::name]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::name", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::Symbol::Symtab::name].Field[backtrace::symbolize::gimli::Symbol::Symtab::name].Field[std::backtrace_rs::symbolize::gimli::Symbol::Symtab::name]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::SymbolName::bytes].Field[backtrace::symbolize::SymbolName::bytes].Field[std::backtrace_rs::symbolize::SymbolName::bytes]", "value", "dfc-generated"] - - ["::section", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::map", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[as_if_std::the_backtrace_crate::symbolize::gimli::mmap::Mmap::len].Field[backtrace::symbolize::gimli::mmap::Mmap::len].Field[std::backtrace_rs::symbolize::gimli::mmap::Mmap::len]", "value", "dfc-generated"] - - ["::pathname", "Argument[self].Field[as_if_std::the_backtrace_crate::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[backtrace::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[std::backtrace_rs::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::allocate", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pathname", "Argument[self].Reference.Field[as_if_std::the_backtrace_crate::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[backtrace::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname].Field[std::backtrace_rs::symbolize::gimli::parse_running_mmaps::MapsEntry::pathname]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::cache_mmap", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::and_modify", "Argument[self].Field[std::collections::hash::map::Entry::Occupied(0)]", "ReturnValue.Field[std::collections::hash::map::Entry::Occupied(0)]", "value", "dfc-generated"] - ["::and_modify", "Argument[self].Field[std::collections::hash::map::Entry::Vacant(0)]", "ReturnValue.Field[std::collections::hash::map::Entry::Vacant(0)]", "value", "dfc-generated"] - ["::insert_entry", "Argument[self].Field[std::collections::hash::map::Entry::Occupied(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::HashMap::base].Reference", "ReturnValue.Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_insert", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::collections::hash::map::OccupiedError::value]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Iter::base].Reference", "ReturnValue.Field[std::collections::hash::map::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Iter::base]", "ReturnValue.Field[std::collections::hash::map::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Keys::inner].Field[std::collections::hash::map::Iter::base]", "ReturnValue.Field[std::collections::hash::map::Keys::inner].Field[std::collections::hash::map::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Keys::inner].Reference", "ReturnValue.Field[std::collections::hash::map::Keys::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Keys::inner]", "ReturnValue.Field[std::collections::hash::map::Keys::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Values::inner].Field[std::collections::hash::map::Iter::base]", "ReturnValue.Field[std::collections::hash::map::Values::inner].Field[std::collections::hash::map::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Values::inner].Reference", "ReturnValue.Field[std::collections::hash::map::Values::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::map::Values::inner]", "ReturnValue.Field[std::collections::hash::map::Values::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Difference::iter].Field[std::collections::hash::set::Iter::base]", "ReturnValue.Field[std::collections::hash::set::Difference::iter].Field[std::collections::hash::set::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Difference::iter].Reference", "ReturnValue.Field[std::collections::hash::set::Difference::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Difference::iter]", "ReturnValue.Field[std::collections::hash::set::Difference::iter]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[std::collections::hash::map::Iter::base]", "ReturnValue.Field[std::collections::hash::map::Iter::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::insert", "Argument[self].Field[std::collections::hash::set::Entry::Occupied(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::HashSet::base].Reference", "ReturnValue.Field[std::collections::hash::set::HashSet::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::HashSet::base]", "ReturnValue.Field[std::collections::hash::set::HashSet::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[std::collections::hash::set::HashSet::base]", "ReturnValue.Field[std::collections::hash::set::HashSet::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::difference", "Argument[0]", "ReturnValue.Field[std::collections::hash::set::Difference::other]", "value", "dfc-generated"] - ["::intersection", "Argument[0]", "ReturnValue.Field[std::collections::hash::set::Intersection::other]", "value", "dfc-generated"] - ["::intersection", "Argument[self]", "ReturnValue.Field[std::collections::hash::set::Intersection::other]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Intersection::iter].Field[std::collections::hash::set::Iter::base]", "ReturnValue.Field[std::collections::hash::set::Intersection::iter].Field[std::collections::hash::set::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Intersection::iter].Reference", "ReturnValue.Field[std::collections::hash::set::Intersection::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Intersection::iter]", "ReturnValue.Field[std::collections::hash::set::Intersection::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Iter::base].Reference", "ReturnValue.Field[std::collections::hash::set::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Iter::base]", "ReturnValue.Field[std::collections::hash::set::Iter::base]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::SymmetricDifference::iter].Reference", "ReturnValue.Field[std::collections::hash::set::SymmetricDifference::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::SymmetricDifference::iter]", "ReturnValue.Field[std::collections::hash::set::SymmetricDifference::iter]", "value", "dfc-generated"] + - ["::symmetric_difference", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::symmetric_difference", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::union", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::union", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[std::collections::hash::set::Iter::base]", "ReturnValue.Field[std::collections::hash::set::Iter::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Union::iter].Reference", "ReturnValue.Field[std::collections::hash::set::Union::iter]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::collections::hash::set::Union::iter]", "ReturnValue.Field[std::collections::hash::set::Union::iter]", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::error::Report::error]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[std::error::Report::error]", "value", "dfc-generated"] - ["::pretty", "Argument[0]", "Argument[self].Field[std::error::Report::pretty]", "value", "dfc-generated"] - ["::pretty", "Argument[0]", "ReturnValue.Field[std::error::Report::pretty]", "value", "dfc-generated"] - ["::pretty", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::show_backtrace", "Argument[0]", "Argument[self].Field[std::error::Report::show_backtrace]", "value", "dfc-generated"] - ["::show_backtrace", "Argument[0]", "ReturnValue.Field[std::error::Report::show_backtrace]", "value", "dfc-generated"] - ["::show_backtrace", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::as_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[std::ffi::os_str::OsStr::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_encoded_bytes", "Argument[self].Field[std::ffi::os_str::OsStr::inner].Field[std::sys::os_str::bytes::Slice::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::ffi::os_str::OsStr::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_encoded_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::display", "Argument[self]", "ReturnValue.Field[std::ffi::os_str::Display::os_str]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue.Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::ffi::os_str::OsString::inner].Reference", "ReturnValue.Field[std::ffi::os_str::OsString::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::ffi::os_str::OsString::inner]", "ReturnValue.Field[std::ffi::os_str::OsString::inner]", "value", "dfc-generated"] + - ["::borrow", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[std::path::PathBuf::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_str", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::from_str", "Argument[0].Field[std::path::PathBuf::inner]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_vec", "Argument[0]", "ReturnValue.Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - ["::into_vec", "Argument[self].Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::ffi::os_str::OsString::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::ffi::os_str::OsString::inner]", "ReturnValue", "value", "dfc-generated"] @@ -4974,262 +6326,445 @@ extensions: - ["::from_encoded_bytes_unchecked", "Argument[0]", "ReturnValue.Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - ["::into_encoded_bytes", "Argument[self].Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue", "value", "dfc-generated"] - ["::into_string", "Argument[self].Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] + - ["::truncate", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::mode", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[std::fs::DirBuilder::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::recursive", "Argument[0]", "Argument[self].Field[std::fs::DirBuilder::recursive]", "value", "dfc-generated"] - - ["::recursive", "Argument[0]", "ReturnValue.Field[std::fs::DirBuilder::recursive]", "value", "dfc-generated"] + - ["::as_inner_mut", "Argument[self].Reference.Field[std::fs::DirBuilder::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::create", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recursive", "Argument[0]", "Argument[self].Reference.Field[std::fs::DirBuilder::recursive]", "value", "dfc-generated"] - ["::recursive", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::fs::DirEntry(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_end", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[std::fs::File::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ino", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::fs::DirEntry(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::path", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::fs::File::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::fs::File::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::fs::File::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[std::fs::FileTimes(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::set_modified", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_permissions", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_permissions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set_times", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::sync_all", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::sync_data", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner_mut", "Argument[self].Reference.Field[std::fs::FileTimes(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::set_accessed", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_modified", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::fs::FileType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::fs::Metadata(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::fs::FileType(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_raw_stat", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_atime", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_atime_nsec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_blksize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_blocks", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_ctime", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_ctime_nsec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_dev", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_gid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_ino", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_mode", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_mtime", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_mtime_nsec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_nlink", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_rdev", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_size", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::st_uid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::atime", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::atime_nsec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::blksize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::blocks", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ctime", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ctime_nsec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::dev", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::gid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ino", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::mode", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::mtime", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::mtime_nsec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::nlink", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::rdev", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::uid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::fs::Metadata(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::fs::Metadata(0)]", "value", "dfc-generated"] + - ["::file_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::permissions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::custom_flags", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::mode", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::fs::OpenOptions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[std::fs::OpenOptions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::fs::OpenOptions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner_mut", "Argument[self].Reference.Field[std::fs::OpenOptions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::append", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::create", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::create_new", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::read", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::truncate", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::write", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_mode", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::mode", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::fs::Permissions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::set_mode", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::fs::Permissions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::fs::Permissions(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fill_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_until", "Argument[self]", "Argument[1]", "taint", "df-generated"] - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_end", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[std::io::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[std::io::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::io::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::io::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] + - ["::read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::io::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::io::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[std::io::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[std::io::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::Chain::first]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::Chain::second]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::drop", "Argument[self].Field[std::io::Guard::len]", "Argument[self].Field[std::io::Guard::buf].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fill_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::seek", "Argument[0].Field[std::io::SeekFrom::Start(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::stream_len", "Argument[self].Reference.Field[std::io::Take::len]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::lower_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::upper_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::min_limit", "Argument[self].Field[std::io::Take::limit]", "ReturnValue", "value", "dfc-generated"] - - ["::taken", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[std::io::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::io::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::min_limit", "Argument[self].Reference.Field[std::io::Take::limit]", "ReturnValue", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::io::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[std::io::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::Take::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::limit", "Argument[self].Field[std::io::Take::limit]", "ReturnValue", "value", "dfc-generated"] - - ["::set_limit", "Argument[0]", "Argument[self].Field[std::io::Take::limit]", "value", "dfc-generated"] - - ["::error", "Argument[self].Field[1]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::error", "Argument[self].Field[std::io::buffered::IntoInnerError(1)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_error", "Argument[self].Field[1]", "ReturnValue", "value", "dfc-generated"] + - ["::limit", "Argument[self].Reference.Field[std::io::Take::limit]", "ReturnValue", "value", "dfc-generated"] + - ["::set_limit", "Argument[0]", "Argument[self].Reference.Field[std::io::Take::len]", "value", "dfc-generated"] + - ["::set_limit", "Argument[0]", "Argument[self].Reference.Field[std::io::Take::limit]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::error", "Argument[self].Reference.Field[std::io::buffered::IntoInnerError(1)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_error", "Argument[self].Field[std::io::buffered::IntoInnerError(1)]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::buffered::IntoInnerError(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::into_parts", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::consume", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::into_parts", "Argument[self].Field[std::io::buffered::IntoInnerError(0)]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["::into_parts", "Argument[self].Field[std::io::buffered::IntoInnerError(1)]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fill_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::read_buf", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_end", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::seek_relative", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[std::io::buffered::bufreader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::io::buffered::bufreader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::upper_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::io::buffered::bufreader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[std::io::buffered::bufreader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::buffered::bufreader::BufReader::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::io::buffered::bufreader::BufReader::inner]", "value", "dfc-generated"] - - ["::seek_relative", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_buffer", "Argument[0]", "ReturnValue.Field[std::io::buffered::bufreader::BufReader::inner]", "value", "dfc-generated"] - ["::with_buffer", "Argument[1]", "ReturnValue.Field[std::io::buffered::bufreader::BufReader::buf]", "value", "dfc-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[std::io::buffered::bufreader::BufReader::inner]", "value", "dfc-generated"] - - ["::consume", "Argument[self].Field[std::io::buffered::bufreader::buffer::Buffer::filled]", "Argument[self].Field[std::io::buffered::bufreader::buffer::Buffer::pos]", "value", "dfc-generated"] - - ["::filled", "Argument[self].Field[std::io::buffered::bufreader::buffer::Buffer::filled]", "ReturnValue", "value", "dfc-generated"] - - ["::pos", "Argument[self].Field[std::io::buffered::bufreader::buffer::Buffer::pos]", "ReturnValue", "value", "dfc-generated"] - - ["::buffer", "Argument[self].Field[std::io::buffered::bufwriter::BufWriter::buf]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::buffer_mut", "Argument[self].Field[std::io::buffered::bufwriter::BufWriter::buf]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[std::io::buffered::bufwriter::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::io::buffered::bufwriter::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::consume", "Argument[self].Reference.Field[std::io::buffered::bufreader::buffer::Buffer::filled]", "Argument[self].Reference.Field[std::io::buffered::bufreader::buffer::Buffer::pos]", "value", "dfc-generated"] + - ["::fill_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::filled", "Argument[self].Reference.Field[std::io::buffered::bufreader::buffer::Buffer::filled]", "ReturnValue", "value", "dfc-generated"] + - ["::pos", "Argument[self].Reference.Field[std::io::buffered::bufreader::buffer::Buffer::pos]", "ReturnValue", "value", "dfc-generated"] + - ["::read_more", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::flush", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::buffer", "Argument[self].Reference.Field[std::io::buffered::bufwriter::BufWriter::buf]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::buffer_mut", "Argument[self].Reference.Field[std::io::buffered::bufwriter::BufWriter::buf]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::io::buffered::bufwriter::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[std::io::buffered::bufwriter::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::into_inner", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::io::buffered::IntoInnerError(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::io::buffered::bufwriter::BufWriter::inner]", "value", "dfc-generated"] - ["::with_buffer", "Argument[0]", "ReturnValue.Field[std::io::buffered::bufwriter::BufWriter::inner]", "value", "dfc-generated"] - ["::with_buffer", "Argument[1]", "ReturnValue.Field[std::io::buffered::bufwriter::BufWriter::buf]", "value", "dfc-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[std::io::buffered::bufwriter::BufWriter::inner]", "value", "dfc-generated"] - - ["::write_to_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[std::io::buffered::bufwriter::WriterPanicked::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[std::io::buffered::linewriter::LineWriter::inner].Field[std::io::buffered::bufwriter::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::io::buffered::linewriter::LineWriter::inner].Field[std::io::buffered::bufwriter::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::flush", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::io::buffered::linewriter::LineWriter::inner].Field[std::io::buffered::bufwriter::BufWriter::inner]", "value", "dfc-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[std::io::buffered::linewriter::LineWriter::inner].Field[std::io::buffered::bufwriter::BufWriter::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::flush", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::io::buffered::linewritershim::LineWriterShim::buffer]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::io::cursor::Cursor::inner].Reference", "ReturnValue.Field[std::io::cursor::Cursor::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::io::cursor::Cursor::inner]", "ReturnValue.Field[std::io::cursor::Cursor::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::io::cursor::Cursor::pos]", "ReturnValue.Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Field[std::io::cursor::Cursor::inner]", "Argument[self].Field[std::io::cursor::Cursor::inner].Reference", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Field[std::io::cursor::Cursor::inner]", "Argument[self].Field[std::io::cursor::Cursor::inner]", "value", "dfc-generated"] - - ["::clone_from", "Argument[0].Field[std::io::cursor::Cursor::pos]", "Argument[self].Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] - - ["::seek", "Argument[0].Field[std::io::SeekFrom::Start(0)]", "Argument[self].Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[std::io::cursor::Cursor::inner]", "ReturnValue.Field[std::io::cursor::Cursor::inner]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[std::io::cursor::Cursor::pos]", "ReturnValue.Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] + - ["::clone_from", "Argument[0].Reference.Field[std::io::cursor::Cursor::inner]", "Argument[self].Reference.Field[std::io::cursor::Cursor::inner]", "value", "dfc-generated"] + - ["::clone_from", "Argument[0].Reference.Field[std::io::cursor::Cursor::pos]", "Argument[self].Reference.Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::seek", "Argument[0].Field[std::io::SeekFrom::Start(0)]", "Argument[self].Reference.Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] - ["::seek", "Argument[0].Field[std::io::SeekFrom::Start(0)]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::seek", "Argument[self].Field[std::io::cursor::Cursor::pos]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::stream_position", "Argument[self].Field[std::io::cursor::Cursor::pos]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[std::io::cursor::Cursor::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::io::cursor::Cursor::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::seek", "Argument[self].Reference.Field[std::io::cursor::Cursor::pos]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::stream_position", "Argument[self].Reference.Field[std::io::cursor::Cursor::pos]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::io::cursor::Cursor::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[std::io::cursor::Cursor::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::cursor::Cursor::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::io::cursor::Cursor::inner]", "value", "dfc-generated"] - - ["::position", "Argument[self].Field[std::io::cursor::Cursor::pos]", "ReturnValue", "value", "dfc-generated"] - - ["::set_position", "Argument[0]", "Argument[self].Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[1]", "ReturnValue", "value", "dfc-generated"] + - ["::position", "Argument[self].Reference.Field[std::io::cursor::Cursor::pos]", "ReturnValue", "value", "dfc-generated"] + - ["::set_position", "Argument[0]", "Argument[self].Reference.Field[std::io::cursor::Cursor::pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0].Field[std::fs::TryLockError::Error(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[std::io::buffered::IntoInnerError(1)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new_simple_message", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[std::io::pipe::PipeReader(0)].Field[std::sys::fd::unix::FileDesc(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::io::pipe::PipeReader(0)]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::pipe::PipeReader(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[std::io::pipe::PipeWriter(0)].Field[std::sys::fd::unix::FileDesc(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::io::pipe::PipeWriter(0)]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::io::pipe::PipeWriter(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::lock", "Argument[self].Field[std::io::stdio::Stderr::inner]", "ReturnValue.Field[std::io::stdio::StderrLock::inner].Field[std::sync::reentrant_lock::ReentrantLockGuard::lock]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::lock", "Argument[self].Reference.Field[std::io::stdio::Stderr::inner]", "ReturnValue.Field[std::io::stdio::StderrLock::inner].Field[std::sync::reentrant_lock::ReentrantLockGuard::lock]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write_fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::lines", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::lock", "Argument[self].Field[std::io::stdio::Stdin::inner]", "ReturnValue.Field[std::io::stdio::StdinLock::inner].Field[std::sync::poison::mutex::MutexGuard::lock]", "value", "dfc-generated"] - - ["::as_mut_buf", "Argument[self].Field[std::io::stdio::StdinLock::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::lock", "Argument[self].Reference.Field[std::io::stdio::Stdin::inner]", "ReturnValue.Field[std::io::stdio::StdinLock::inner].Field[std::sync::poison::mutex::MutexGuard::lock]", "value", "dfc-generated"] + - ["::read_line", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_line", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fill_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_line", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_line", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_until", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut_buf", "Argument[self].Reference.Field[std::io::stdio::StdinLock::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_end", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::lock", "Argument[self].Field[std::io::stdio::Stdout::inner]", "ReturnValue.Field[std::io::stdio::StdoutLock::inner].Field[std::sync::reentrant_lock::ReentrantLockGuard::lock]", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::net::tcp::TcpListener(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::lock", "Argument[self].Reference.Field[std::io::stdio::Stdout::inner]", "ReturnValue.Field[std::io::stdio::StdoutLock::inner].Field[std::sync::reentrant_lock::ReentrantLockGuard::lock]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write_fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::net::tcp::TcpListener(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::net::tcp::TcpListener(0)]", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::net::tcp::TcpListener(0)]", "ReturnValue", "value", "dfc-generated"] - ["::incoming", "Argument[self]", "ReturnValue.Field[std::net::tcp::Incoming::listener]", "value", "dfc-generated"] - ["::into_incoming", "Argument[self]", "ReturnValue.Field[std::net::tcp::IntoIncoming::listener]", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::net::tcp::TcpStream(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::local_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::net::tcp::TcpStream(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::net::tcp::TcpStream(0)]", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::net::tcp::TcpStream(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::net::udp::UdpSocket(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::local_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::net::udp::UdpSocket(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::net::udp::UdpSocket(0)]", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::net::udp::UdpSocket(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::connect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::local_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_fd", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::as_fd", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[std::io::pipe::PipeReader(0)].Field[std::sys::fd::unix::FileDesc(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from", "Argument[0].Field[std::io::pipe::PipeWriter(0)].Field[std::sys::fd::unix::FileDesc(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[std::os::linux::process::PidFd::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::os::linux::process::PidFd::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::os::linux::process::PidFd::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::os::linux::process::PidFd::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::os::unix::net::addr::SocketAddr::len]", "ReturnValue.Field[std::os::unix::net::addr::SocketAddr::len].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::os::unix::net::addr::SocketAddr::len]", "ReturnValue.Field[std::os::unix::net::addr::SocketAddr::len]", "value", "dfc-generated"] - ["::from_parts", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::os::unix::net::addr::SocketAddr::addr]", "value", "dfc-generated"] - ["::from_parts", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::os::unix::net::addr::SocketAddr::len]", "value", "dfc-generated"] - ["::new", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[std::os::unix::net::ancillary::AncillaryDataIter::data].Element", "Argument[self].Field[std::os::unix::net::ancillary::AncillaryDataIter::data].Reference", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::next", "Argument[self].Field[0].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[std::os::unix::net::ancillary::ScmRights(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[std::os::unix::net::ancillary::SocketAncillary::length]", "ReturnValue", "value", "dfc-generated"] - - ["::messages", "Argument[self].Field[std::os::unix::net::ancillary::SocketAncillary::buffer].Element", "ReturnValue.Field[std::os::unix::net::ancillary::Messages::buffer].Reference", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Reference.Field[std::os::unix::net::ancillary::SocketAncillary::length]", "ReturnValue", "value", "dfc-generated"] + - ["::messages", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::os::unix::net::ancillary::SocketAncillary::buffer]", "value", "dfc-generated"] - - ["::truncated", "Argument[self].Field[std::os::unix::net::ancillary::SocketAncillary::truncated]", "ReturnValue", "value", "dfc-generated"] - - ["::get_gid", "Argument[self].Field[0].Field[libc::unix::linux_like::linux::ucred::gid]", "ReturnValue", "value", "dfc-generated"] - - ["::get_gid", "Argument[self].Field[std::os::unix::net::ancillary::SocketCred(0)].Field[libc::unix::linux_like::linux::ucred::gid]", "ReturnValue", "value", "dfc-generated"] - - ["::get_pid", "Argument[self].Field[0].Field[libc::unix::linux_like::linux::ucred::pid]", "ReturnValue", "value", "dfc-generated"] - - ["::get_pid", "Argument[self].Field[std::os::unix::net::ancillary::SocketCred(0)].Field[libc::unix::linux_like::linux::ucred::pid]", "ReturnValue", "value", "dfc-generated"] - - ["::get_uid", "Argument[self].Field[0].Field[libc::unix::linux_like::linux::ucred::uid]", "ReturnValue", "value", "dfc-generated"] - - ["::get_uid", "Argument[self].Field[std::os::unix::net::ancillary::SocketCred(0)].Field[libc::unix::linux_like::linux::ucred::uid]", "ReturnValue", "value", "dfc-generated"] - - ["::set_gid", "Argument[0]", "Argument[self].Field[0].Field[libc::unix::linux_like::linux::ucred::gid]", "value", "dfc-generated"] - - ["::set_gid", "Argument[0]", "Argument[self].Field[std::os::unix::net::ancillary::SocketCred(0)].Field[libc::unix::linux_like::linux::ucred::gid]", "value", "dfc-generated"] - - ["::set_pid", "Argument[0]", "Argument[self].Field[0].Field[libc::unix::linux_like::linux::ucred::pid]", "value", "dfc-generated"] - - ["::set_pid", "Argument[0]", "Argument[self].Field[std::os::unix::net::ancillary::SocketCred(0)].Field[libc::unix::linux_like::linux::ucred::pid]", "value", "dfc-generated"] - - ["::set_uid", "Argument[0]", "Argument[self].Field[0].Field[libc::unix::linux_like::linux::ucred::uid]", "value", "dfc-generated"] - - ["::set_uid", "Argument[0]", "Argument[self].Field[std::os::unix::net::ancillary::SocketCred(0)].Field[libc::unix::linux_like::linux::ucred::uid]", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::os::unix::net::datagram::UnixDatagram(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::truncated", "Argument[self].Reference.Field[std::os::unix::net::ancillary::SocketAncillary::truncated]", "ReturnValue", "value", "dfc-generated"] + - ["::get_gid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_pid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_uid", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set_gid", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_pid", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_uid", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::os::unix::net::datagram::UnixDatagram(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::local_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::peek_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary_from", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary_from", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::accept", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::incoming", "Argument[self]", "ReturnValue.Field[std::os::unix::net::listener::Incoming::listener]", "value", "dfc-generated"] - - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::os::unix::net::stream::UnixStream(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::can_unwind", "Argument[self].Field[std::panic::PanicHookInfo::can_unwind]", "ReturnValue", "value", "dfc-generated"] - - ["::force_no_backtrace", "Argument[self].Field[std::panic::PanicHookInfo::force_no_backtrace]", "ReturnValue", "value", "dfc-generated"] - - ["::location", "Argument[self].Field[std::panic::PanicHookInfo::location]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::local_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::os::unix::net::stream::UnixStream(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::local_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_vectored_with_ancillary", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::can_unwind", "Argument[self].Reference.Field[std::panic::PanicHookInfo::can_unwind]", "ReturnValue", "value", "dfc-generated"] + - ["::force_no_backtrace", "Argument[self].Reference.Field[std::panic::PanicHookInfo::force_no_backtrace]", "ReturnValue", "value", "dfc-generated"] + - ["::location", "Argument[self].Reference.Field[std::panic::PanicHookInfo::location]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::panic::PanicHookInfo::location]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[std::panic::PanicHookInfo::payload]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[std::panic::PanicHookInfo::can_unwind]", "value", "dfc-generated"] - ["::new", "Argument[3]", "ReturnValue.Field[std::panic::PanicHookInfo::force_no_backtrace]", "value", "dfc-generated"] - - ["::payload", "Argument[self].Field[std::panic::PanicHookInfo::payload]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[std::path::Ancestors::next]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[std::path::Component::Normal(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::payload", "Argument[self].Reference.Field[std::panic::PanicHookInfo::payload]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[std::path::Ancestors::next]", "ReturnValue", "value", "dfc-generated"] - ["::as_ref", "Argument[self].Reference.Field[std::path::Component::Normal(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_os_str", "Argument[self].Field[std::path::Component::Normal(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::next_back", "Argument[self].Field[std::path::Components::path].Element", "Argument[self].Field[std::path::Components::path].Reference", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[std::path::Components::path].Element", "Argument[self].Field[std::path::Components::path].Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[std::path::Path::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_os_str", "Argument[self].Field[std::path::Component::Prefix(0)].Field[std::path::PrefixComponent::raw]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::path::Components::has_physical_root]", "ReturnValue.Field[std::path::Components::has_physical_root].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::path::Components::has_physical_root]", "ReturnValue.Field[std::path::Components::has_physical_root]", "value", "dfc-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[std::path::Path::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::ancestors", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_mut_os_str", "Argument[self].Field[std::path::Path::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_os_str", "Argument[self].Field[std::path::Path::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::display", "Argument[self].Field[std::path::Path::inner]", "ReturnValue.Field[std::path::Display::inner].Field[std::ffi::os_str::Display::os_str]", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::path::PathBuf::inner].Field[std::ffi::os_str::OsString::inner]", "ReturnValue.Field[std::path::PathBuf::inner].Field[std::ffi::os_str::OsString::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::path::PathBuf::inner].Reference", "ReturnValue.Field[std::path::PathBuf::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::path::PathBuf::inner]", "ReturnValue.Field[std::path::PathBuf::inner]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[std::path::PathBuf::inner].Element", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut_os_str", "Argument[self].Reference.Field[std::path::Path::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_os_str", "Argument[self].Reference.Field[std::path::Path::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_u8_slice", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::canonicalize", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::components", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::display", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::parent", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::prefix", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::borrow", "Argument[self].Reference.Field[std::path::PathBuf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::borrow::Cow::Owned(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::path::PathBuf::inner]", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_mut_os_string", "Argument[self].Field[std::path::PathBuf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[std::path::PathBuf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut_os_string", "Argument[self].Reference.Field[std::path::PathBuf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::as_path", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::into_os_string", "Argument[self].Field[std::path::PathBuf::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::as_os_str", "Argument[self].Field[std::path::PrefixComponent::raw]", "ReturnValue", "value", "dfc-generated"] - - ["::kind", "Argument[self].Field[std::path::PrefixComponent::parsed]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_os_str", "Argument[self].Reference.Field[std::path::PrefixComponent::raw]", "ReturnValue", "value", "dfc-generated"] + - ["::kind", "Argument[self].Reference.Field[std::path::PrefixComponent::parsed]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_pidfd", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::process::Child::handle]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::process::Child::handle]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0].Field[0]", "ReturnValue.Field[std::process::Child::handle]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::process::Child::handle]", "ReturnValue", "value", "dfc-generated"] - ["::id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[std::process::ChildStderr::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::process::ChildStderr::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::process::ChildStderr::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::process::ChildStderr::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::process::ChildStdin::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::process::ChildStdin::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::process::ChildStdin::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::process::ChildStdin::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[std::process::ChildStdout::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::process::ChildStdout::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::process::ChildStdout::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::process::ChildStdout::inner]", "ReturnValue", "value", "dfc-generated"] - ["::create_pidfd", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::arg0", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::chroot", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::gid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::groups", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::pre_exec", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::process_group", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::setsid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::uid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::process::Command::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[std::process::Command::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::process::Command::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner_mut", "Argument[self].Reference.Field[std::process::Command::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::arg", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::args", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::current_dir", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -5240,82 +6775,162 @@ extensions: - ["::stderr", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::stdin", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::stdout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[std::process::ExitCode(0)].Field[std::sys::process::unix::common::ExitCode(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::report", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::process::ExitCode(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::process::ExitCode(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::process::ExitCode(0)]", "value", "dfc-generated"] - ["::to_i32", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::process::ExitStatus(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_raw", "Argument[0]", "ReturnValue.Field[std::process::ExitStatus(0)].Field[std::sys::process::unix::unix::ExitStatus(0)]", "value", "dfc-generated"] + - ["::signal", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::stopped_signal", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::process::ExitStatus(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::process::ExitStatus(0)]", "value", "dfc-generated"] + - ["::code", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::exit_ok", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::process::Stdio(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sync::barrier::Barrier::num_threads]", "value", "dfc-generated"] - - ["::is_leader", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::is_leader", "Argument[self].Field[std::sync::barrier::BarrierWaitResult(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_leader", "Argument[self].Reference.Field[std::sync::barrier::BarrierWaitResult(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue.Field[std::sync::mpmc::IntoIter::rx]", "value", "dfc-generated"] + - ["::capacity", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[std::sync::mpmc::Iter::rx]", "value", "dfc-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_iter", "Argument[self]", "ReturnValue.Field[std::sync::mpmc::TryIter::rx]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::capacity", "Argument[self].Field[std::sync::mpmc::array::Channel::cap]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[std::sync::mpmc::array::Channel::cap]", "ReturnValue", "value", "dfc-generated"] + - ["::capacity", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::SendError(0)]", "value", "dfc-generated"] + - ["::send_deadline", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Disconnected(0)]", "value", "dfc-generated"] + - ["::send_deadline", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Timeout(0)]", "value", "dfc-generated"] + - ["::send_timeout", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Disconnected(0)]", "value", "dfc-generated"] + - ["::send_timeout", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Timeout(0)]", "value", "dfc-generated"] + - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::TrySendError::Disconnected(0)]", "value", "dfc-generated"] + - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::TrySendError::Full(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::capacity", "Argument[self].Reference.Field[std::sync::mpmc::array::Channel::cap]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[std::sync::mpmc::array::Channel::cap]", "ReturnValue", "value", "dfc-generated"] - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Timeout(0)]", "value", "dfc-generated"] - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::TrySendError::Full(0)]", "value", "dfc-generated"] - ["::with_capacity", "Argument[0]", "ReturnValue.Field[std::sync::mpmc::array::Channel::cap]", "value", "dfc-generated"] - ["::write", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::acquire", "Argument[self].Field[std::sync::mpmc::counter::Receiver::counter]", "ReturnValue.Field[std::sync::mpmc::counter::Receiver::counter]", "value", "dfc-generated"] - - ["::acquire", "Argument[self].Field[std::sync::mpmc::counter::Sender::counter]", "ReturnValue.Field[std::sync::mpmc::counter::Sender::counter]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sync::mpmc::context::Context::inner].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[std::sync::mpmc::context::Context::inner].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sync::mpmc::context::Context::inner].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[std::sync::mpmc::context::Context::inner].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::thread_id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::acquire", "Argument[self].Reference.Field[std::sync::mpmc::counter::Receiver::counter]", "ReturnValue.Field[std::sync::mpmc::counter::Receiver::counter]", "value", "dfc-generated"] + - ["::release", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::acquire", "Argument[self].Reference.Field[std::sync::mpmc::counter::Sender::counter]", "ReturnValue.Field[std::sync::mpmc::counter::Sender::counter]", "value", "dfc-generated"] + - ["::release", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::from", "Argument[0].Field[std::sync::mpsc::SendError(0)]", "ReturnValue.Field[std::sync::mpmc::error::SendTimeoutError::Disconnected(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_send", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::write", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sync::mpmc::select::Operation(0)]", "ReturnValue.Field[std::sync::mpmc::select::Operation(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sync::mpmc::select::Operation(0)]", "ReturnValue.Field[std::sync::mpmc::select::Operation(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::hook", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::sync::mpmc::select::Selected::Operation(0)].Field[std::sync::mpmc::select::Operation(0)]", "value", "dfc-generated"] - ["::into", "Argument[self].Field[std::sync::mpmc::select::Selected::Operation(0)].Field[std::sync::mpmc::select::Operation(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[std::sync::mpmc::utils::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[std::sync::mpmc::utils::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[std::sync::mpmc::utils::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[std::sync::mpmc::utils::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sync::mpmc::utils::CachePadded::value]", "value", "dfc-generated"] + - ["::try_select", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Disconnected(0)]", "value", "dfc-generated"] - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::TrySendError::Disconnected(0)]", "value", "dfc-generated"] - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::TrySendError::Full(0)]", "value", "dfc-generated"] - ["::write", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue.Field[std::sync::mpsc::IntoIter::rx]", "value", "dfc-generated"] - ["::iter", "Argument[self]", "ReturnValue.Field[std::sync::mpsc::Iter::rx]", "value", "dfc-generated"] - ["::try_iter", "Argument[self]", "ReturnValue.Field[std::sync::mpsc::TryIter::rx]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self].Field[std::sync::mpsc::Sender::inner].Reference", "ReturnValue.Field[std::sync::mpsc::Sender::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::sync::mpsc::Sender::inner]", "ReturnValue.Field[std::sync::mpsc::Sender::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::sync::mpsc::SyncSender::inner].Reference", "ReturnValue.Field[std::sync::mpsc::SyncSender::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::sync::mpsc::SyncSender::inner]", "ReturnValue.Field[std::sync::mpsc::SyncSender::inner]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::SendError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::SendError(0)]", "value", "dfc-generated"] + - ["::send_timeout", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Disconnected(0)]", "value", "dfc-generated"] + - ["::send_timeout", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpmc::error::SendTimeoutError::Timeout(0)]", "value", "dfc-generated"] + - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::TrySendError::Disconnected(0)]", "value", "dfc-generated"] + - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::mpsc::TrySendError::Full(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[std::sync::mpsc::SendError(0)]", "ReturnValue.Field[std::sync::mpsc::TrySendError::Disconnected(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[std::sync::nonpoison::mutex::Mutex::data].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::data_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[self].Field[std::sync::nonpoison::mutex::Mutex::data].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] + - ["::lock", "Argument[self]", "ReturnValue.Field[std::sync::nonpoison::mutex::MutexGuard::lock]", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[std::sync::nonpoison::mutex::Mutex::data].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::try_lock", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::sync::nonpoison::mutex::MutexGuard::lock]", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut_or_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::try_insert", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[1]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[std::sync::poison::PoisonError::data]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[std::sync::poison::PoisonError::data]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sync::poison::Guard::panicking]", "ReturnValue.Field[std::sync::poison::Guard::panicking].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sync::poison::Guard::panicking]", "ReturnValue.Field[std::sync::poison::Guard::panicking]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::sync::poison::PoisonError::data]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[std::sync::poison::PoisonError::data]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sync::poison::PoisonError::data]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::sync::poison::TryLockError::Poisoned(0)]", "value", "dfc-generated"] + - ["::cause", "Argument[self].Field[std::sync::poison::TryLockError::Poisoned(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - ["::cause", "Argument[self].Reference.Field[std::sync::poison::TryLockError::Poisoned(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::wait", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] - ["::wait", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::wait_timeout", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[0]", "value", "dfc-generated"] - ["::wait_timeout_ms", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[0]", "value", "dfc-generated"] - - ["::wait_timeout_while", "Argument[0].Reference", "Argument[2].Parameter[0].Reference", "value", "dfc-generated"] + - ["::wait_timeout_while", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::wait_timeout_while", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[0]", "value", "dfc-generated"] - - ["::wait_while", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - ["::wait_while", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::timed_out", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::timed_out", "Argument[self].Field[std::sync::poison::condvar::WaitTimeoutResult(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::wait_while", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sync::poison::condvar::WaitTimeoutResult(0)]", "ReturnValue.Field[std::sync::poison::condvar::WaitTimeoutResult(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sync::poison::condvar::WaitTimeoutResult(0)]", "ReturnValue.Field[std::sync::poison::condvar::WaitTimeoutResult(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::timed_out", "Argument[self].Reference.Field[std::sync::poison::condvar::WaitTimeoutResult(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::sync::poison::mutex::Mutex::data].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[std::sync::poison::mutex::Mutex::data].Field[core::cell::UnsafeCell::value]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::data_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[std::sync::poison::mutex::Mutex::data].Field[core::cell::UnsafeCell::value]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sync::poison::mutex::Mutex::data].Field[core::cell::UnsafeCell::value]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::lock", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::sync::poison::mutex::MutexGuard::lock]", "value", "dfc-generated"] @@ -5324,198 +6939,303 @@ extensions: - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] - ["::try_lock", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::sync::poison::mutex::MutexGuard::lock]", "value", "dfc-generated"] - ["::try_lock", "Argument[self]", "ReturnValue.Field[std::sync::poison::mutex::MutexGuard::lock]", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::is_poisoned", "Argument[self].Field[std::sync::poison::once::OnceState::inner].Field[std::sys::sync::once::futex::OnceState::poisoned]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_poisoned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::sync::poison::rwlock::RwLock::data].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[std::sync::poison::rwlock::RwLock::data].Field[core::cell::UnsafeCell::value]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::data_ptr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[std::sync::poison::rwlock::RwLock::data].Field[core::cell::UnsafeCell::value]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sync::poison::rwlock::RwLock::data].Field[core::cell::UnsafeCell::value]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sync::poison::rwlock::RwLock::data].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::replace", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] - - ["::try_read", "Argument[self].Field[std::sync::poison::rwlock::RwLock::inner]", "ReturnValue.Field[std::sync::poison::rwlock::RwLockReadGuard::inner_lock].Reference", "value", "dfc-generated"] + - ["::try_read", "Argument[self].Reference.Field[std::sync::poison::rwlock::RwLock::inner]", "ReturnValue.Field[std::sync::poison::rwlock::RwLockReadGuard::inner_lock].Reference", "value", "dfc-generated"] - ["::try_write", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::sync::poison::rwlock::RwLockWriteGuard::lock]", "value", "dfc-generated"] - ["::try_write", "Argument[self]", "ReturnValue.Field[std::sync::poison::rwlock::RwLockWriteGuard::lock]", "value", "dfc-generated"] - ["::write", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[std::sync::poison::rwlock::RwLockWriteGuard::lock]", "value", "dfc-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::downgrade", "Argument[0].Field[std::sync::poison::rwlock::RwLockWriteGuard::lock].Field[std::sync::poison::rwlock::RwLock::inner]", "ReturnValue.Field[std::sync::poison::rwlock::RwLockReadGuard::inner_lock].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::filter_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[std::sync::reentrant_lock::ReentrantLock::data]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[std::sync::reentrant_lock::ReentrantLock::data]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::data_ptr", "Argument[self].Reference.Field[std::sync::reentrant_lock::ReentrantLock::data]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[std::sync::reentrant_lock::ReentrantLock::data]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sync::reentrant_lock::ReentrantLock::data]", "ReturnValue", "value", "dfc-generated"] - ["::lock", "Argument[self]", "ReturnValue.Field[std::sync::reentrant_lock::ReentrantLockGuard::lock]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sync::reentrant_lock::ReentrantLock::data]", "value", "dfc-generated"] - ["::try_lock", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)].Field[std::sync::reentrant_lock::ReentrantLockGuard::lock]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[std::sync::reentrant_lock::ReentrantLockGuard::lock].Field[std::sync::reentrant_lock::ReentrantLock::data]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::fold", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fold", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_fold", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["::print", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys::fd::unix::FileDesc(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::fd::unix::FileDesc(0)]", "value", "dfc-generated"] + - ["::into_inner", "Argument[self].Field[std::sys::fd::unix::FileDesc(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::mkdir", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::set_mode", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::ino", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys::fs::unix::File(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[std::sys::fs::unix::File(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::path", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys::fs::unix::File(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner_mut", "Argument[self].Reference.Field[std::sys::fs::unix::File(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::fs::unix::File(0)]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sys::fs::unix::File(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys::fs::unix::FileAttr::stat]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::datasync", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fsync", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::open", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::open_c", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::open_c", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::set_permissions", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_permissions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set_times", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys::fs::unix::FileAttr::stat]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::accessed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::file_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::modified", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::perm", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::size", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::FilePermissions::mode]", "ReturnValue.Field[std::sys::fs::unix::FilePermissions::mode].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::FilePermissions::mode]", "ReturnValue.Field[std::sys::fs::unix::FilePermissions::mode]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_inner", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::mode", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::set_accessed", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::FileTimes::accessed].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::set_modified", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::FileTimes::modified].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::append", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::OpenOptions::append]", "value", "dfc-generated"] - - ["::create", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::OpenOptions::create]", "value", "dfc-generated"] - - ["::create_new", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::OpenOptions::create_new]", "value", "dfc-generated"] - - ["::custom_flags", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::OpenOptions::custom_flags]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_accessed", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::set_modified", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::FileType::mode]", "ReturnValue.Field[std::sys::fs::unix::FileType::mode].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::FileType::mode]", "ReturnValue.Field[std::sys::fs::unix::FileType::mode]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::Mode(0)]", "ReturnValue.Field[std::sys::fs::unix::Mode(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::Mode(0)]", "ReturnValue.Field[std::sys::fs::unix::Mode(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::append", "Argument[0]", "Argument[self].Reference.Field[std::sys::fs::unix::OpenOptions::append]", "value", "dfc-generated"] + - ["::create", "Argument[0]", "Argument[self].Reference.Field[std::sys::fs::unix::OpenOptions::create]", "value", "dfc-generated"] + - ["::create_new", "Argument[0]", "Argument[self].Reference.Field[std::sys::fs::unix::OpenOptions::create_new]", "value", "dfc-generated"] + - ["::custom_flags", "Argument[0]", "Argument[self].Reference.Field[std::sys::fs::unix::OpenOptions::custom_flags]", "value", "dfc-generated"] - ["::mode", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::read", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::OpenOptions::read]", "value", "dfc-generated"] - - ["::truncate", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::OpenOptions::truncate]", "value", "dfc-generated"] - - ["::write", "Argument[0]", "Argument[self].Field[std::sys::fs::unix::OpenOptions::write]", "value", "dfc-generated"] - - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_end", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::properties", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::properties", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read", "Argument[0]", "Argument[self].Reference.Field[std::sys::fs::unix::OpenOptions::read]", "value", "dfc-generated"] + - ["::truncate", "Argument[0]", "Argument[self].Reference.Field[std::sys::fs::unix::OpenOptions::truncate]", "value", "dfc-generated"] + - ["::write", "Argument[0]", "Argument[self].Reference.Field[std::sys::fs::unix::OpenOptions::write]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::StatxExtraFields::stx_mask]", "ReturnValue.Field[std::sys::fs::unix::StatxExtraFields::stx_mask].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::fs::unix::StatxExtraFields::stx_mask]", "ReturnValue.Field[std::sys::fs::unix::StatxExtraFields::stx_mask]", "value", "dfc-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::port", "Argument[self].Field[std::sys::net::connection::socket::LookupHost::port]", "ReturnValue", "value", "dfc-generated"] + - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::port", "Argument[self].Reference.Field[std::sys::net::connection::socket::LookupHost::port]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::net::connection::socket::TcpListener::inner]", "value", "dfc-generated"] + - ["::accept", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bind", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::bind", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_socket", "Argument[self].Field[std::sys::net::connection::socket::TcpListener::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::socket", "Argument[self].Field[std::sys::net::connection::socket::TcpListener::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys::net::connection::socket::TcpStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::socket", "Argument[self].Reference.Field[std::sys::net::connection::socket::TcpListener::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::socket_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys::net::connection::socket::TcpStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::net::connection::socket::TcpStream::inner]", "value", "dfc-generated"] - ["::connect", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::connect", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_socket", "Argument[self].Field[std::sys::net::connection::socket::TcpStream::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::socket", "Argument[self].Field[std::sys::net::connection::socket::TcpStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::socket", "Argument[self].Reference.Field[std::sys::net::connection::socket::TcpStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::socket_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::net::connection::socket::UdpSocket::inner]", "value", "dfc-generated"] - ["::bind", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::bind", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::connect", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["::connect", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_socket", "Argument[self].Field[std::sys::net::connection::socket::UdpSocket::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::socket", "Argument[self].Field[std::sys::net::connection::socket::UdpSocket::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys::net::connection::socket::unix::Socket(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::peer_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::socket", "Argument[self].Reference.Field[std::sys::net::connection::socket::UdpSocket::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::socket_addr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys::net::connection::socket::unix::Socket(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::net::connection::socket::unix::Socket(0)]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sys::net::connection::socket::unix::Socket(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::sys::os_str::bytes::Buf::inner].Reference", "ReturnValue.Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue.Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::accept", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::accept", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::accept", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue", "value", "dfc-generated"] - ["::from_encoded_bytes_unchecked", "Argument[0]", "ReturnValue.Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - ["::from_string", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[std::sys::os_str::bytes::Buf::inner]", "value", "dfc-generated"] - ["::into_encoded_bytes", "Argument[self].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue", "value", "dfc-generated"] - ["::into_string", "Argument[self].Field[std::sys::os_str::bytes::Buf::inner]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::truncate", "Argument[0]", "Argument[self].Field[std::sys::os_str::bytes::Buf::inner].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::as_encoded_bytes", "Argument[self].Field[std::sys::os_str::bytes::Slice::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys::pal::unix::fd::FileDesc(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[std::sys::pal::unix::fd::FileDesc(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::as_inner", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys::pal::unix::linux::pidfd::PidFd(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::truncate_unchecked", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::as_encoded_bytes", "Argument[self].Reference.Field[std::sys::os_str::bytes::Slice::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys::pal::unix::linux::pidfd::PidFd(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::pal::unix::linux::pidfd::PidFd(0)]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sys::pal::unix::linux::pidfd::PidFd(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::sys::pal::unix::pipe::AnonPipe(0)]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::sys::pal::unix::pipe::AnonPipe(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::as_file_desc", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_file_desc", "Argument[self].Field[std::sys::pal::unix::pipe::AnonPipe(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_file_desc", "Argument[self].Reference.Field[std::sys::pal::unix::pipe::AnonPipe(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::raw", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::id", "Argument[self].Field[std::sys::pal::unix::thread::Thread::id]", "ReturnValue", "value", "dfc-generated"] - - ["::checked_sub_instant", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::checked_sub_instant", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::id", "Argument[self].Reference.Field[std::sys::pal::unix::thread::Thread::id]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_timespec", "Argument[self].Field[std::sys::pal::unix::time::Instant::t]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sys::pal::unix::time::Timespec::tv_sec]", "value", "dfc-generated"] - - ["::sub_time", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub_time", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::sub_timespec", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::sub_timespec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys::pal::unix::time::Timespec::tv_sec]", "ReturnValue.Field[std::sys::pal::unix::time::Timespec::tv_sec].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::pal::unix::time::Timespec::tv_sec]", "ReturnValue.Field[std::sys::pal::unix::time::Timespec::tv_sec]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sys::pal::unix::weak::DlsymWeak::name]", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[std::sys::pal::unix::weak::ExternWeak::weak_ptr]", "ReturnValue", "value", "dfc-generated"] + - ["::get", "Argument[self].Reference.Field[std::sys::pal::unix::weak::ExternWeak::weak_ptr]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sys::pal::unix::weak::ExternWeak::weak_ptr]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sys::personality::dwarf::DwarfReader::ptr]", "value", "dfc-generated"] + - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::does_clear", "Argument[self].Reference.Field[std::sys::process::env::CommandEnv::clear]", "ReturnValue", "value", "dfc-generated"] + - ["::iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fd", "Argument[self].Field[std::sys::process::unix::common::ChildStdio::Explicit(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::fd", "Argument[self].Reference.Field[std::sys::process::unix::common::ChildStdio::Explicit(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::create_pidfd", "Argument[0]", "Argument[self].Field[std::sys::process::unix::common::Command::create_pidfd]", "value", "dfc-generated"] - - ["::env_mut", "Argument[self].Field[std::sys::process::unix::common::Command::env]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_argv", "Argument[self].Field[std::sys::process::unix::common::Command::argv].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_argv", "Argument[self].Field[std::sys::process::unix::common::Command::argv].Field[std::sys::process::unix::common::Argv(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_closures", "Argument[self].Field[std::sys::process::unix::common::Command::closures]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_create_pidfd", "Argument[self].Field[std::sys::process::unix::common::Command::create_pidfd]", "ReturnValue", "value", "dfc-generated"] - - ["::get_gid", "Argument[self].Field[std::sys::process::unix::common::Command::gid]", "ReturnValue", "value", "dfc-generated"] - - ["::get_pgroup", "Argument[self].Field[std::sys::process::unix::common::Command::pgroup]", "ReturnValue", "value", "dfc-generated"] - - ["::get_program_cstr", "Argument[self].Field[std::sys::process::unix::common::Command::program].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_program_kind", "Argument[self].Field[std::sys::process::unix::common::Command::program_kind]", "ReturnValue", "value", "dfc-generated"] - - ["::get_uid", "Argument[self].Field[std::sys::process::unix::common::Command::uid]", "ReturnValue", "value", "dfc-generated"] - - ["::gid", "Argument[0]", "Argument[self].Field[std::sys::process::unix::common::Command::gid].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::pgroup", "Argument[0]", "Argument[self].Field[std::sys::process::unix::common::Command::pgroup].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::saw_nul", "Argument[self].Field[std::sys::process::unix::common::Command::saw_nul]", "ReturnValue", "value", "dfc-generated"] - - ["::stderr", "Argument[0]", "Argument[self].Field[std::sys::process::unix::common::Command::stderr].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::stdin", "Argument[0]", "Argument[self].Field[std::sys::process::unix::common::Command::stdin].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::stdout", "Argument[0]", "Argument[self].Field[std::sys::process::unix::common::Command::stdout].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::uid", "Argument[0]", "Argument[self].Field[std::sys::process::unix::common::Command::uid].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::capture_env", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::create_pidfd", "Argument[0]", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::create_pidfd]", "value", "dfc-generated"] + - ["::env_mut", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::env]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_argv", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::args]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_closures", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::closures]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_create_pidfd", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::create_pidfd]", "ReturnValue", "value", "dfc-generated"] + - ["::get_envs", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_gid", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::gid]", "ReturnValue", "value", "dfc-generated"] + - ["::get_pgroup", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::pgroup]", "ReturnValue", "value", "dfc-generated"] + - ["::get_program_cstr", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::program]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_program_kind", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::program_kind]", "ReturnValue", "value", "dfc-generated"] + - ["::get_setsid", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::setsid]", "ReturnValue", "value", "dfc-generated"] + - ["::get_uid", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::uid]", "ReturnValue", "value", "dfc-generated"] + - ["::gid", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::groups", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::pgroup", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::saw_nul", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::saw_nul]", "ReturnValue", "value", "dfc-generated"] + - ["::setsid", "Argument[0]", "Argument[self].Reference.Field[std::sys::process::unix::common::Command::setsid]", "value", "dfc-generated"] + - ["::stderr", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::stdin", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::stdout", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::uid", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::common::ExitCode(0)]", "ReturnValue.Field[std::sys::process::unix::common::ExitCode(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::common::ExitCode(0)]", "ReturnValue.Field[std::sys::process::unix::common::ExitCode(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[std::sys::process::unix::common::ExitCode(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_i32", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[std::sys::process::unix::common::Stdio::Fd(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[std::sys::fs::unix::File(0)]", "ReturnValue.Field[std::sys::process::unix::common::Stdio::Fd(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[std::sys::pal::unix::pipe::AnonPipe(0)]", "ReturnValue.Field[std::sys::process::unix::common::Stdio::Fd(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::sys::process::unix::common::Stdio::Fd(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_child_stdio", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::common::cstring_array::CStringIter::iter].Field[core::slice::iter::Iter::_marker]", "ReturnValue.Field[std::sys::process::unix::common::cstring_array::CStringIter::iter].Field[core::slice::iter::Iter::_marker]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::common::cstring_array::CStringIter::iter].Field[core::slice::iter::Iter::end_or_len]", "ReturnValue.Field[std::sys::process::unix::common::cstring_array::CStringIter::iter].Field[core::slice::iter::Iter::end_or_len]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::common::cstring_array::CStringIter::iter].Field[core::slice::iter::Iter::ptr]", "ReturnValue.Field[std::sys::process::unix::common::cstring_array::CStringIter::iter].Field[core::slice::iter::Iter::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::unix::ExitStatus(0)]", "ReturnValue.Field[std::sys::process::unix::unix::ExitStatus(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::unix::ExitStatus(0)]", "ReturnValue.Field[std::sys::process::unix::unix::ExitStatus(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[std::sys::process::unix::unix::ExitStatus(0)]", "value", "dfc-generated"] - - ["::into_raw", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::into_raw", "Argument[self].Field[std::sys::process::unix::unix::ExitStatus(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::code", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_raw", "Argument[self].Reference.Field[std::sys::process::unix::unix::ExitStatus(0)]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sys::process::unix::unix::ExitStatus(0)]", "value", "dfc-generated"] + - ["::signal", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::stopped_signal", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::unix::ExitStatusError(0)]", "ReturnValue.Field[std::sys::process::unix::unix::ExitStatusError(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys::process::unix::unix::ExitStatusError(0)]", "ReturnValue.Field[std::sys::process::unix::unix::ExitStatusError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::id", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::is_poisoned", "Argument[self].Field[std::sys::sync::once::futex::OnceState::poisoned]", "ReturnValue", "value", "dfc-generated"] + - ["::try_wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::is_poisoned", "Argument[self].Reference.Field[std::sys::sync::once::futex::OnceState::poisoned]", "ReturnValue", "value", "dfc-generated"] - ["::get_or_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sys::thread_local::key::racy::LazyKey::dtor]", "value", "dfc-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::sys::thread_local::native::eager::Storage::val].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - - ["::does_clear", "Argument[self].Field[std::sys_common::process::CommandEnv::clear]", "ReturnValue", "value", "dfc-generated"] - - ["::iter", "Argument[self].Field[std::sys_common::process::CommandEnv::vars].Field[alloc::collections::btree::map::BTreeMap::length]", "ReturnValue.Field[std::sys_common::process::CommandEnvs::iter].Field[alloc::collections::btree::map::Iter::length]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[std::sys_common::process::CommandEnvs::iter].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[std::sys_common::process::CommandEnvs::iter].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[std::sys_common::process::CommandEnvs::iter].Field[alloc::collections::btree::map::Iter::length]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::get_or_init", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::CodePoint::value]", "ReturnValue.Field[std::sys_common::wtf8::CodePoint::value].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::CodePoint::value]", "ReturnValue.Field[std::sys_common::wtf8::CodePoint::value]", "value", "dfc-generated"] - ["::from_char", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_u32", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[std::sys_common::wtf8::CodePoint::value]", "value", "dfc-generated"] - ["::from_u32_unchecked", "Argument[0]", "ReturnValue.Field[std::sys_common::wtf8::CodePoint::value]", "value", "dfc-generated"] - ["::to_lead_surrogate", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::to_trail_surrogate", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::to_u32", "Argument[self].Field[std::sys_common::wtf8::CodePoint::value]", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[std::sys_common::wtf8::EncodeWide::extra]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::to_u32", "Argument[self].Reference.Field[std::sys_common::wtf8::CodePoint::value]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::EncodeWide::extra]", "ReturnValue.Field[std::sys_common::wtf8::EncodeWide::extra].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::EncodeWide::extra]", "ReturnValue.Field[std::sys_common::wtf8::EncodeWide::extra]", "value", "dfc-generated"] + - ["::next", "Argument[self].Reference.Field[std::sys_common::wtf8::EncodeWide::extra]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::cmp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::partial_cmp", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::index", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::sys_common::wtf8::Wtf8::bytes]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_bytes", "Argument[self].Field[std::sys_common::wtf8::Wtf8::bytes]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::ascii_byte_at", "Argument[self].Field[std::sys_common::wtf8::Wtf8::bytes].Element", "ReturnValue", "value", "dfc-generated"] - - ["::code_points", "Argument[self].Field[std::sys_common::wtf8::Wtf8::bytes].Element", "ReturnValue.Field[std::sys_common::wtf8::Wtf8CodePoints::bytes].Element", "value", "dfc-generated"] - - ["::encode_wide", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[std::sys_common::wtf8::Wtf8::bytes]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_bytes", "Argument[self].Reference.Field[std::sys_common::wtf8::Wtf8::bytes]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_bytes_unchecked", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::Wtf8Buf::is_known_utf8]", "ReturnValue.Field[std::sys_common::wtf8::Wtf8Buf::is_known_utf8].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::Wtf8Buf::is_known_utf8]", "ReturnValue.Field[std::sys_common::wtf8::Wtf8Buf::is_known_utf8]", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut_slice", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_slice", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_bytes_unchecked", "Argument[0]", "ReturnValue.Field[std::sys_common::wtf8::Wtf8Buf::bytes]", "value", "dfc-generated"] - ["::from_string", "Argument[0].Field[alloc::string::String::vec]", "ReturnValue.Field[std::sys_common::wtf8::Wtf8Buf::bytes]", "value", "dfc-generated"] - ["::into_bytes", "Argument[self].Field[std::sys_common::wtf8::Wtf8Buf::bytes]", "ReturnValue", "value", "dfc-generated"] - ["::into_string", "Argument[self].Field[std::sys_common::wtf8::Wtf8Buf::bytes]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["::into_string", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::into_string_lossy", "Argument[self].Field[std::sys_common::wtf8::Wtf8Buf::bytes]", "ReturnValue.Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::truncate", "Argument[0]", "Argument[self].Field[std::sys_common::wtf8::Wtf8::bytes].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] - - ["::truncate", "Argument[0]", "Argument[self].Field[std::sys_common::wtf8::Wtf8Buf::bytes].Field[alloc::vec::Vec::len]", "value", "dfc-generated"] + - ["::truncate", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::Wtf8CodePoints::bytes].Field[core::slice::iter::Iter::_marker]", "ReturnValue.Field[std::sys_common::wtf8::Wtf8CodePoints::bytes].Field[core::slice::iter::Iter::_marker]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::Wtf8CodePoints::bytes].Field[core::slice::iter::Iter::end_or_len]", "ReturnValue.Field[std::sys_common::wtf8::Wtf8CodePoints::bytes].Field[core::slice::iter::Iter::end_or_len]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::sys_common::wtf8::Wtf8CodePoints::bytes].Field[core::slice::iter::Iter::ptr]", "ReturnValue.Field[std::sys_common::wtf8::Wtf8CodePoints::bytes].Field[core::slice::iter::Iter::ptr]", "value", "dfc-generated"] - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::name", "Argument[0]", "Argument[self].Field[std::thread::Builder::name].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::name", "Argument[0]", "ReturnValue.Field[std::thread::Builder::name].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -5523,101 +7243,469 @@ extensions: - ["::stack_size", "Argument[0]", "Argument[self].Field[std::thread::Builder::stack_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::stack_size", "Argument[0]", "ReturnValue.Field[std::thread::Builder::stack_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::stack_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[0].Field[std::thread::JoinInner::native]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[std::thread::JoinHandle(0)].Field[std::thread::JoinInner::native]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0].Field[std::thread::JoinInner::native]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_pthread_t", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[std::thread::JoinHandle(0)].Field[std::thread::JoinInner::native]", "ReturnValue", "value", "dfc-generated"] - - ["::thread", "Argument[self].Field[0].Field[std::thread::JoinInner::thread]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::thread", "Argument[self].Field[std::thread::JoinHandle(0)].Field[std::thread::JoinInner::thread]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_u64", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::as_u64", "Argument[self].Field[std::thread::ThreadId(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::thread", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[std::thread::ThreadId(0)]", "ReturnValue.Field[std::thread::ThreadId(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std::thread::ThreadId(0)]", "ReturnValue.Field[std::thread::ThreadId(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_u64", "Argument[self].Reference.Field[std::thread::ThreadId(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[std::thread::local::LocalKey::inner]", "value", "dfc-generated"] + - ["::replace", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_with", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::update", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::with", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::with_borrow", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::with_borrow_mut", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::thread", "Argument[self].Field[0].Field[std::thread::JoinInner::thread]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::thread", "Argument[self].Field[std::thread::scoped::ScopedJoinHandle(0)].Field[std::thread::JoinInner::thread]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_cstr", "Argument[self].Field[std::thread::thread_name_string::ThreadNameString::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::elapsed", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::thread", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_cstr", "Argument[self].Reference.Field[std::thread::thread_name_string::ThreadNameString::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::into_inner", "Argument[self].Field[std::time::Instant(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from_inner", "Argument[0]", "ReturnValue.Field[std::time::SystemTime(0)]", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[std::time::SystemTime(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::duration", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::duration", "Argument[self].Field[std::time::SystemTimeError(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::set", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::unset", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::duration", "Argument[self].Reference.Field[std::time::SystemTimeError(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std_detect::detect::cache::Initializer(0)]", "ReturnValue.Field[std_detect::detect::cache::Initializer(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[std_detect::detect::cache::Initializer(0)]", "ReturnValue.Field[std_detect::detect::cache::Initializer(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::context::GroupContext::links].Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[stdarch-gen-arm::context::GroupContext::links].Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::context::LocalContext::substitutions].Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[stdarch-gen-arm::context::LocalContext::substitutions].Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::context::LocalContext::variables].Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[stdarch-gen-arm::context::LocalContext::variables].Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::make_assertion_from_constraint", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::make_assertion_from_constraint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[stdarch-gen-arm::context::LocalContext::input]", "value", "dfc-generated"] - - ["::new", "Argument[1].Field[stdarch-gen-arm::intrinsic::Intrinsic::signature].Reference", "ReturnValue.Field[stdarch-gen-arm::context::LocalContext::signature]", "value", "dfc-generated"] - - ["::new", "Argument[1].Field[stdarch-gen-arm::intrinsic::Intrinsic::signature]", "ReturnValue.Field[stdarch-gen-arm::context::LocalContext::signature]", "value", "dfc-generated"] - ["::provide_substitution_wildcard", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::provide_type_wildcard", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::provide_type_wildcard", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[stdarch-gen-arm::expression::Expression::FnCall(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[stdarch-gen-arm::expression::Expression::Identifier(0)]", "value", "dfc-generated"] + - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::pre_build", "Argument[self].Field[stdarch-gen-arm::expression::Expression::MatchKind(1)].Field[stdarch-gen-arm::matching::MatchKindValues::default]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::pre_build", "Argument[self].Field[stdarch-gen-arm::expression::Expression::MatchSize(1)].Field[stdarch-gen-arm::matching::MatchSizeValues::default]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::expression::FnCall(0)]", "ReturnValue.Field[stdarch-gen-arm::expression::FnCall(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::expression::FnCall(3)]", "ReturnValue.Field[stdarch-gen-arm::expression::FnCall(3)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::expression::FnCall(3)]", "ReturnValue.Field[stdarch-gen-arm::expression::FnCall(3)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::pre_build", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pre_build", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::expression::LetVariant::Basic(1)]", "ReturnValue.Field[stdarch-gen-arm::expression::LetVariant::Basic(1)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::expression::LetVariant::MutWithType(2)]", "ReturnValue.Field[stdarch-gen-arm::expression::LetVariant::MutWithType(2)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::expression::LetVariant::WithType(2)]", "ReturnValue.Field[stdarch-gen-arm::expression::LetVariant::WithType(2)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::typekind", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[stdarch-gen-arm::input::InputSetEntry(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::n_variant_op", "Argument[self].Field[stdarch-gen-arm::input::InputType::NVariantOp(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::predicate_form", "Argument[self].Field[stdarch-gen-arm::input::InputType::PredicateForm(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::predicate_form_mut", "Argument[self].Field[stdarch-gen-arm::input::InputType::PredicateForm(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::typekind", "Argument[self].Field[stdarch-gen-arm::input::InputType::Type(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::generate_variant", "Argument[self].Reference.Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::generate_variant", "Argument[self].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::intrinsic::Intrinsic::defer_to_signed_only_indices].Field[std::collections::hash::set::HashSet::base]", "ReturnValue.Field[stdarch-gen-arm::intrinsic::Intrinsic::defer_to_signed_only_indices].Field[std::collections::hash::set::HashSet::base]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::intrinsic::Intrinsic::substitutions].Field[std::collections::hash::map::HashMap::base]", "ReturnValue.Field[stdarch-gen-arm::intrinsic::Intrinsic::substitutions].Field[std::collections::hash::map::HashMap::base]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::generate_variant", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::generate_variant", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::generate_variant", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::generate_variant", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::generate_variants", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::apply_conversions_to_call", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[stdarch-gen-arm::expression::Expression::FnCall(0)]", "value", "dfc-generated"] - - ["::make_fn_call", "Argument[self].Field[stdarch-gen-arm::intrinsic::LLVMLink::signature].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::build", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build_and_save", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::make_fn_call", "Argument[self].Reference.Field[stdarch-gen-arm::intrinsic::LLVMLink::signature]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::resolve", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::resolve", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::drop_argument", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::get_typeset_index", "Argument[self].Reference.Field[stdarch-gen-arm::intrinsic::Test::Load(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::get_typeset_index", "Argument[self].Reference.Field[stdarch-gen-arm::intrinsic::Test::Store(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[stdarch-gen-arm::matching::MatchKindValues::default]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - - ["::get", "Argument[self].Field[stdarch-gen-arm::matching::MatchSizeValues::default]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - - ["::has_dont_care", "Argument[self].Field[stdarch-gen-arm::predicate_forms::PredicationMask::x]", "ReturnValue", "value", "dfc-generated"] - - ["::has_merging", "Argument[self].Field[stdarch-gen-arm::predicate_forms::PredicationMask::m]", "ReturnValue", "value", "dfc-generated"] - - ["::has_zeroing", "Argument[self].Field[stdarch-gen-arm::predicate_forms::PredicationMask::z]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_typeset_index", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut", "Argument[self].Field[stdarch-gen-arm::matching::KindMatchable::Matched(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Field[stdarch-gen-arm::matching::KindMatchable::Matched(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::perform_match", "Argument[self].Field[stdarch-gen-arm::matching::KindMatchable::Unmatched::values].Field[stdarch-gen-arm::matching::MatchKindValues::default]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self].Reference.Field[stdarch-gen-arm::matching::MatchKindValues::default]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get", "Argument[self].Reference.Field[stdarch-gen-arm::matching::MatchSizeValues::default]", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Field[stdarch-gen-arm::matching::SizeMatchable::Matched(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Field[stdarch-gen-arm::matching::SizeMatchable::Matched(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::perform_match", "Argument[self].Field[stdarch-gen-arm::matching::SizeMatchable::Unmatched::values].Field[stdarch-gen-arm::matching::MatchSizeValues::default]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::post_build", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::has_dont_care", "Argument[self].Reference.Field[stdarch-gen-arm::predicate_forms::PredicationMask::x]", "ReturnValue", "value", "dfc-generated"] + - ["::has_merging", "Argument[self].Reference.Field[stdarch-gen-arm::predicate_forms::PredicationMask::m]", "ReturnValue", "value", "dfc-generated"] + - ["::has_zeroing", "Argument[self].Reference.Field[stdarch-gen-arm::predicate_forms::PredicationMask::z]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)]", "ReturnValue.Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)]", "ReturnValue.Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::repr", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::repr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::get_size", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::kind", "Argument[self].Field[stdarch-gen-arm::typekinds::BaseType::Sized(0)]", "ReturnValue", "value", "dfc-generated"] - ["::kind", "Argument[self].Field[stdarch-gen-arm::typekinds::BaseType::Unsized(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Pointer(0)]", "ReturnValue.Field[stdarch-gen-arm::typekinds::TypeKind::Pointer(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::repr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::repr", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::base", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Base(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::base", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Vector(0)].Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::base_type", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Base(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::base_type", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Vector(0)].Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::base_type_mut", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Base(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::base_type_mut", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Vector(0)].Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::express_reinterpretation_from", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::make_predicate_from", "Argument[0].Field[stdarch-gen-arm::typekinds::TypeKind::Base(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::make_predicate_from", "Argument[0].Field[stdarch-gen-arm::typekinds::TypeKind::Vector(0)].Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::make_vector", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::make_vector", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::make_vector", "Argument[2]", "ReturnValue", "taint", "df-generated"] - ["::populate_wildcard", "Argument[0]", "Argument[self].Reference", "value", "dfc-generated"] + - ["::populate_wildcard", "Argument[0]", "Argument[self]", "value", "dfc-generated"] + - ["::vector", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Vector(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::vector_mut", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Vector(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::wildcard", "Argument[self].Field[stdarch-gen-arm::typekinds::TypeKind::Wildcard(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::contains", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::repr", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::base_type", "Argument[self].Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::base_type_mut", "Argument[self].Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::cast_base_type_as", "Argument[0]", "Argument[self].Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "value", "dfc-generated"] - - ["::lanes", "Argument[self].Field[stdarch-gen-arm::typekinds::VectorType::lanes]", "ReturnValue", "value", "dfc-generated"] + - ["::base_type", "Argument[self].Reference.Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::base_type_mut", "Argument[self].Reference.Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::cast_base_type_as", "Argument[0]", "Argument[self].Reference.Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "value", "dfc-generated"] + - ["::lanes", "Argument[self].Reference.Field[stdarch-gen-arm::typekinds::VectorType::lanes]", "ReturnValue", "value", "dfc-generated"] + - ["::make_from_base", "Argument[0].Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)]", "ReturnValue.Field[stdarch-gen-arm::typekinds::VectorType::base_type].Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)]", "value", "dfc-generated"] - ["::make_from_base", "Argument[0].Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)]", "ReturnValue.Field[stdarch-gen-arm::typekinds::VectorType::lanes]", "value", "dfc-generated"] - ["::make_from_base", "Argument[0]", "ReturnValue.Field[stdarch-gen-arm::typekinds::VectorType::base_type]", "value", "dfc-generated"] - ["::make_from_base", "Argument[1]", "ReturnValue.Field[stdarch-gen-arm::typekinds::VectorType::is_scalable]", "value", "dfc-generated"] - ["::make_from_base", "Argument[2]", "ReturnValue.Field[stdarch-gen-arm::typekinds::VectorType::tuple_size]", "value", "dfc-generated"] - ["::make_predicate_from_bitsize", "Argument[0]", "ReturnValue.Field[stdarch-gen-arm::typekinds::VectorType::base_type].Field[stdarch-gen-arm::typekinds::BaseType::Sized(1)]", "value", "dfc-generated"] - - ["::tuple_size", "Argument[self].Field[stdarch-gen-arm::typekinds::VectorType::tuple_size]", "ReturnValue", "value", "dfc-generated"] + - ["::tuple_size", "Argument[self].Reference.Field[stdarch-gen-arm::typekinds::VectorType::tuple_size]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::wildcards::Wildcard::Scale(0)]", "ReturnValue.Field[stdarch-gen-arm::wildcards::Wildcard::Scale(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[stdarch-gen-arm::wildcards::Wildcard::Scale(1)]", "ReturnValue.Field[stdarch-gen-arm::wildcards::Wildcard::Scale(1)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_typeset_index", "Argument[self].Field[stdarch-gen-arm::wildcards::Wildcard::NEONType(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::get_typeset_index", "Argument[self].Field[stdarch-gen-arm::wildcards::Wildcard::SVEType(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::get_typeset_index", "Argument[self].Field[stdarch-gen-arm::wildcards::Wildcard::Type(0)].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::build_acle", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build_neon_intrinsic_signature", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[stdarch-gen-loongarch::Lines::lines]", "value", "dfc-generated"] - - ["::simplify", "Argument[self].Field[test_helpers::array::ArrayValueTree::shrinker]", "Argument[self].Field[test_helpers::array::ArrayValueTree::last_shrinker].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[test_helpers::array::UniformArrayStrategy::strategy]", "value", "dfc-generated"] - ["alloc::collections::btree::mem::replace", "Argument[0].Reference", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["alloc::collections::btree::mem::take_mut", "Argument[0].Reference", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["alloc::collections::btree::mem::take_mut", "Argument[1].ReturnValue", "Argument[0].Reference", "value", "dfc-generated"] - - ["alloc::str::convert_while_ascii", "Argument[0].Element", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["alloc::fmt::format", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["as_if_std::the_backtrace_crate::symbolize::gimli::elf::handle_split_dwarf", "Argument[2].Field[addr2line::lookup::SplitDwarfLoad::path].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["as_if_std::the_backtrace_crate::symbolize::gimli::elf::handle_split_dwarf", "Argument[2].Field[addr2line::lookup::SplitDwarfLoad::path]", "ReturnValue.Reference", "value", "dfc-generated"] - ["backtrace::symbolize::gimli::elf::handle_split_dwarf", "Argument[2].Field[addr2line::lookup::SplitDwarfLoad::path].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["backtrace::symbolize::gimli::elf::handle_split_dwarf", "Argument[2].Field[addr2line::lookup::SplitDwarfLoad::path]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["compiler_builtins::float::add::__adddf3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::float::add::__adddf3", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::float::add::__addsf3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::float::add::__addsf3", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::float::conv::__fixdfdi", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::conv::__fixdfsi", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::conv::__fixdfti", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::conv::__fixsfdi", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::conv::__fixsfsi", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::conv::__fixsfti", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::pow::__powidf2", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::pow::__powisf2", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::float::sub::__subdf3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::float::sub::__subsf3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::sdiv::__divdi3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::sdiv::__divmoddi4", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::sdiv::__divmodsi4", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::sdiv::__divsi3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::sdiv::__moddi3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::sdiv::__modsi3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::shift::__ashldi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__ashlsi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__ashlti3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__ashrdi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__ashrsi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__ashrti3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__lshrdi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__lshrsi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::shift::__lshrti3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::specialized_div_rem::delegate::u128_divide_sparc", "Argument[0]", "Argument[2].Reference", "value", "dfc-generated"] + - ["compiler_builtins::int::specialized_div_rem::delegate::u128_divide_sparc", "Argument[0]", "Argument[2]", "value", "dfc-generated"] + - ["compiler_builtins::int::specialized_div_rem::u32_div_rem", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["compiler_builtins::int::specialized_div_rem::u64_div_rem", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["compiler_builtins::int::udiv::__udivdi3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::udiv::__udivmoddi4", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::udiv::__udivmodsi4", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::udiv::__udivsi3", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::int::udiv::__umoddi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::int::udiv::__umodsi3", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::cbrtf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::ceil", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::ceilf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::fdim", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fdim", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fdimf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fdimf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::floor", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::floorf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::fmax", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmax", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmaxf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmaxf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmaximum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmaximum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmaximumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmaximumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fminf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fminf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fminimum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fminimum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fminimumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fminimumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::fmod", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::fmodf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::rint", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::rintf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::round", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::roundeven", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::roundevenf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::roundf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::full_availability::trunc", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::full_availability::truncf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::acos::acos", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::acosf::acosf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::acosh::acosh", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::acoshf::acoshf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::asin::asin", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::asinf::asinf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::atan2::atan2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::atan2f::atan2f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::atan::atan", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::atanf::atanf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::cbrtf::cbrtf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::ceil::ceil", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::ceil::ceilf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::cos::cos", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::cosf::cosf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::erf::erf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::erff::erfcf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::erff::erff", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::exp10::exp10", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::exp10f::exp10f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::exp2f::exp2f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::exp::exp", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::expf::expf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::expm1::expm1", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::expm1f::expm1f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::fdim::fdim", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fdim::fdim", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fdim::fdimf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fdim::fdimf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::floor::floor", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::floor::floorf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fmax", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fmax", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fmaxf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fmaxf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fmin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fmin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fminf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmin_fmax::fminf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fmaximum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fmaximum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fmaximumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fmaximumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fminimum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fminimum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fminimumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum::fminimumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fmaximum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fmaximum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fmaximum_numf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fmaximum_numf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fminimum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fminimum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fminimum_numf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fminimum_fmaximum_num::fminimum_numf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::fmod::fmod", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::fmod::fmodf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::frexp::frexp", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::frexpf::frexpf", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::ceil::ceil", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::ceil::ceil_status", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::fdim::fdim", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fdim::fdim", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::floor::floor", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::floor::floor_status", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::fma::fma_round", "Argument[2]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::fmax::fmax", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmax::fmax", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmaximum::fmaximum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmaximum::fmaximum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmaximum_num::fmaximum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmaximum_num::fmaximum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmin::fmin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmin::fmin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fminimum::fminimum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fminimum::fminimum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fminimum_num::fminimum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fminimum_num::fminimum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::fmod::fmod", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::rint::rint_round", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::round::round", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::scalbn::scalbn", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::sqrt::sqrt", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::sqrt::sqrt_round", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::trunc::trunc", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::generic::trunc::trunc_status", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::j0::y0", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::j0f::y0f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::j1::y1", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::j1f::y1f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::jn::jn", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::jn::yn", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::jnf::jnf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::jnf::ynf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::k_sin::k_sin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::k_sin::k_sin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::k_sinf::k_sinf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::k_tan::k_tan", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::k_tan::k_tan", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::k_tanf::k_tanf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::ldexp::ldexp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::ldexp::ldexpf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::lgammaf::lgammaf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::lgammaf_r::lgammaf_r", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::log10::log10", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::log10f::log10f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::log1p::log1p", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::log1pf::log1pf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::log2::log2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::log2f::log2f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::log::log", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::logf::logf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::modf::modf", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::modf::modf", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::modff::modff", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::modff::modff", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::nextafter::nextafter", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::nextafterf::nextafterf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::pow::pow", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::pow::pow", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::powf::powf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::powf::powf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::rem_pio2::rem_pio2", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::rem_pio2f::rem_pio2f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::remainder::remainder", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::remainderf::remainderf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::remquo::remquo", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::remquof::remquof", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::rint::rint", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::rint::rintf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::round::round", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::round::roundf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::roundeven::roundeven", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::roundeven::roundeven_impl", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::roundeven::roundevenf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::scalbn::scalbn", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::scalbn::scalbnf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::sin::sin", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::sincos::sincos", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::sincosf::sincosf", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::sinf::sinf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::sinh::sinh", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::sinhf::sinhf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::support::feature_detect::get_or_init_flags_cache", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::support::hex_float::parse_any", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::support::hex_float::parse_any", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::support::hex_float::parse_hex_exact", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::support::hex_float::parse_hex_exact", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::tan::tan", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::tanf::tanf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::tgamma::tgamma", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::tgammaf::tgammaf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["compiler_builtins::math::libm_math::trunc::trunc", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::math::libm_math::trunc::truncf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::mem::memcpy", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::mem::memmove", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["compiler_builtins::mem::memset", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::array::drain::drain_array_with", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["core::array::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::array::from_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::char::convert::from_digit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::char::from_digit", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::cmp::max", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -5652,39 +7740,14 @@ extensions: - ["core::cmp::minmax_by_key", "Argument[1]", "ReturnValue.Element", "value", "dfc-generated"] - ["core::contracts::build_check_ensures", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::convert::identity", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::core_arch::simd::debug_simd_finish", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bf16::_mm_mask_cvtneps_pbh", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::core_arch::x86::avx512bw::_cvtmask32_u32", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::core_arch::x86::avx512bw::_cvtu32_mask32", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["core::core_arch::x86::avx512bw::_kadd_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kadd_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kadd_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kadd_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kand_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kand_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kand_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kand_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kandn_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kandn_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kandn_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kandn_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_knot_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_knot_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kor_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kor_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kor_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kor_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bw::_kshiftli_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bw::_kshiftli_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bw::_kshiftri_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bw::_kshiftri_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxnor_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxnor_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxnor_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxnor_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxor_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxor_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxor_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512bw::_kxor_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bw::_load_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bw::_load_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512bw::_mm256_loadu_epi16", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -5707,41 +7770,16 @@ extensions: - ["core::core_arch::x86::avx512bw::_store_mask64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core::core_arch::x86::avx512dq::_cvtmask8_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512dq::_cvtu32_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kadd_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kadd_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kadd_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kadd_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kand_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kand_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kandn_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kandn_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512dq::_knot_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kor_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kor_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512dq::_kshiftli_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512dq::_kshiftri_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kxnor_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kxnor_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kxor_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_kxor_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512dq::_load_mask8", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["core::core_arch::x86::avx512dq::_store_mask8", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core::core_arch::x86::avx512dq::_load_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_cvtmask16_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_cvtu32_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kand_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kand_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kandn_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kandn_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_knot_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kor_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kor_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_kshiftli_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_kshiftri_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kxnor_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kxnor_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kxor_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_kxor_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_load_mask16", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["core::core_arch::x86::avx512f::_load_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm256_load_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm256_load_epi64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm256_loadu_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -5751,30 +7789,20 @@ extensions: - ["core::core_arch::x86::avx512f::_mm256_storeu_epi32", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm256_storeu_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_int2mask", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kand", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kandn", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kandn", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_kmov", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::core_arch::x86::avx512f::_mm512_knot", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kor", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_kunpackb", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_kunpackb", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kxnor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kxnor", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_kxor", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_load_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_load_epi64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_load_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_load_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_load_si512", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_load_si512", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["core::core_arch::x86::avx512f::_mm512_loadu_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_loadu_epi64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_loadu_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_loadu_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_mm512_loadu_si512", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_loadu_si512", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["core::core_arch::x86::avx512f::_mm512_mask2int", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_store_epi32", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm512_store_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] @@ -5796,7 +7824,8 @@ extensions: - ["core::core_arch::x86::avx512f::_mm_store_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm_storeu_epi32", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core::core_arch::x86::avx512f::_mm_storeu_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core::core_arch::x86::avx512f::_store_mask16", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core::core_arch::x86::avx512fp16::_mm256_load_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm256_loadu_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512fp16::_mm256_set_ph", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm256_set_ph", "Argument[10]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm256_set_ph", "Argument[11]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] @@ -5829,6 +7858,8 @@ extensions: - ["core::core_arch::x86::avx512fp16::_mm256_setr_ph", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm256_setr_ph", "Argument[8]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm256_setr_ph", "Argument[9]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::avx512fp16::_mm512_load_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm512_loadu_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512fp16::_mm512_set_ph", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm512_set_ph", "Argument[10]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm512_set_ph", "Argument[11]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] @@ -5893,7 +7924,9 @@ extensions: - ["core::core_arch::x86::avx512fp16::_mm512_setr_ph", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm512_setr_ph", "Argument[8]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm512_setr_ph", "Argument[9]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::avx512fp16::_mm_load_sh", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::avx512fp16::_mm_load_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm_load_sh", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm_loadu_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx512fp16::_mm_mask_load_sh", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm_set_ph", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm_set_ph", "Argument[1]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] @@ -5913,10 +7946,12 @@ extensions: - ["core::core_arch::x86::avx512fp16::_mm_setr_ph", "Argument[6]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx512fp16::_mm_setr_ph", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm256_broadcast_sd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::avx::_mm256_broadcast_sd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm256_broadcast_ss", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::avx::_mm256_broadcast_ss", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm256_load_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx::_mm256_load_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::avx::_mm256_load_si256", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["core::core_arch::x86::avx::_mm256_load_si256", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::avx::_mm256_set1_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm256_set1_ps", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm256_set_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] @@ -5943,27 +7978,16 @@ extensions: - ["core::core_arch::x86::avx::_mm256_setr_ps", "Argument[5]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm256_setr_ps", "Argument[6]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm256_setr_ps", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::avx::_mm256_store_pd", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core::core_arch::x86::avx::_mm256_store_ps", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core::core_arch::x86::avx::_mm256_store_si256", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu_si256", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] - ["core::core_arch::x86::avx::_mm_broadcast_ss", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::bmi1::_andn_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::bmi1::_andn_u32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::bmi1::_blsi_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::bmi1::_blsmsk_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::bmi1::_blsr_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::bmi2::_mulx_u32", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["core::core_arch::x86::bmi2::_mulx_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::bmi2::_mulx_u32", "Argument[1]", "Argument[2]", "taint", "df-generated"] - - ["core::core_arch::x86::bmi2::_mulx_u32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::rtm::_xabort_code", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::sse2::_mm_load1_pd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::sse2::_mm_load_pd1", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::avx::_mm_broadcast_ss", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::sse2::_mm_load1_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_load_pd1", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::sse2::_mm_load_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::sse2::_mm_load_sd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::sse2::_mm_load_si128", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["core::core_arch::x86::sse2::_mm_loadh_pd", "Argument[1].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::sse2::_mm_loadl_pd", "Argument[1].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::sse2::_mm_load_sd", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_load_si128", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_loadh_pd", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_loadl_pd", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::sse2::_mm_set1_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse2::_mm_set_pd1", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse2::_mm_set_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] @@ -5971,17 +7995,12 @@ extensions: - ["core::core_arch::x86::sse2::_mm_set_sd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse2::_mm_setr_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse2::_mm_setr_pd", "Argument[1]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::sse2::_mm_store_pd", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core::core_arch::x86::sse2::_mm_store_si128", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] - - ["core::core_arch::x86::sse3::_mm_loaddup_pd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::sse::_MM_SHUFFLE", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::sse::_MM_SHUFFLE", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::sse::_MM_SHUFFLE", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::sse::_MM_SHUFFLE", "Argument[3]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::sse::_mm_load1_ps", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::sse::_mm_load_ps1", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::sse2::_mm_storeu_si128", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core::core_arch::x86::sse3::_mm_loaddup_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::sse::_mm_load1_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::core_arch::x86::sse::_mm_load_ps1", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::sse::_mm_load_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::sse::_mm_load_ss", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] + - ["core::core_arch::x86::sse::_mm_load_ss", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86::sse::_mm_set1_ps", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse::_mm_set_ps1", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse::_mm_set_ps", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] @@ -5993,36 +8012,8 @@ extensions: - ["core::core_arch::x86::sse::_mm_setr_ps", "Argument[1]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse::_mm_setr_ps", "Argument[2]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core::core_arch::x86::sse::_mm_setr_ps", "Argument[3]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - - ["core::core_arch::x86::sse::_mm_store_ps", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_blcfill_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_blci_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_blcic_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_blcmsk_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_blcs_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_blsfill_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_blsic_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_t1mskc_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86::tbm::_tzmsk_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::core_arch::x86_64::avx512bw::_cvtmask64_u64", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::core_arch::x86_64::avx512bw::_cvtu64_mask64", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["core::core_arch::x86_64::bmi2::_mulx_u64", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi2::_mulx_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi2::_mulx_u64", "Argument[1]", "Argument[2]", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi2::_mulx_u64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi::_andn_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi::_andn_u64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi::_blsi_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi::_blsmsk_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::bmi::_blsr_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_blcfill_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_blci_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_blcic_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_blcmsk_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_blcs_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_blsfill_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_blsic_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_t1mskc_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::core_arch::x86_64::tbm::_tzmsk_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::fmt::builders::debug_list_new", "Argument[0]", "ReturnValue.Field[core::fmt::builders::DebugList::inner].Field[core::fmt::builders::DebugInner::fmt]", "value", "dfc-generated"] - ["core::fmt::builders::debug_map_new", "Argument[0]", "ReturnValue.Field[core::fmt::builders::DebugMap::fmt]", "value", "dfc-generated"] - ["core::fmt::builders::debug_set_new", "Argument[0]", "ReturnValue.Field[core::fmt::builders::DebugSet::inner].Field[core::fmt::builders::DebugInner::fmt]", "value", "dfc-generated"] @@ -6032,30 +8023,45 @@ extensions: - ["core::future::poll_fn::poll_fn", "Argument[0]", "ReturnValue.Field[core::future::poll_fn::PollFn::f]", "value", "dfc-generated"] - ["core::future::ready::ready", "Argument[0]", "ReturnValue.Field[core::future::ready::Ready(0)].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["core::hint::must_use", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["core::intrinsics::contract_check_ensures", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] + - ["core::intrinsics::const_make_global", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf128", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf128", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf16", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf16", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf32", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf32", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf64", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::maximumf64", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf128", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf128", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf16", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf16", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf32", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf32", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf64", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::minimumf64", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["core::intrinsics::select_unpredictable", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["core::intrinsics::select_unpredictable", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["core::intrinsics::simd::simd_insert_dyn", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::iter::adapters::try_process", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["core::iter::sources::from_coroutine::from_coroutine", "Argument[0]", "ReturnValue.Field[core::iter::sources::from_coroutine::FromCoroutine(0)]", "value", "dfc-generated"] - ["core::iter::sources::from_fn::from_fn", "Argument[0]", "ReturnValue.Field[core::iter::sources::from_fn::FromFn(0)]", "value", "dfc-generated"] - ["core::iter::sources::once_with::once_with", "Argument[0]", "ReturnValue.Field[core::iter::sources::once_with::OnceWith::make].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["core::iter::sources::repeat::repeat", "Argument[0]", "ReturnValue.Field[core::iter::sources::repeat::Repeat::element]", "value", "dfc-generated"] - - ["core::iter::sources::repeat_n::repeat_n", "Argument[1]", "ReturnValue.Field[core::iter::sources::repeat_n::RepeatN::count]", "value", "dfc-generated"] - ["core::iter::sources::repeat_with::repeat_with", "Argument[0]", "ReturnValue.Field[core::iter::sources::repeat_with::RepeatWith::repeater]", "value", "dfc-generated"] - ["core::iter::sources::successors::successors", "Argument[0]", "ReturnValue.Field[core::iter::sources::successors::Successors::next]", "value", "dfc-generated"] - ["core::iter::sources::successors::successors", "Argument[1]", "ReturnValue.Field[core::iter::sources::successors::Successors::succ]", "value", "dfc-generated"] - ["core::mem::copy", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["core::mem::copy", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::mem::transmute_copy", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::num::flt2dec::estimator::estimate_scaling_factor", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core::num::flt2dec::strategy::dragon::format_exact", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::num::flt2dec::strategy::dragon::format_shortest", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::num::flt2dec::strategy::dragon::mul_pow10", "Argument[0].Field[core::num::bignum::Big32x40::base].Element", "ReturnValue.Field[core::num::bignum::Big32x40::base].Element", "value", "dfc-generated"] - - ["core::num::flt2dec::strategy::dragon::mul_pow10", "Argument[0].Field[core::num::bignum::Big32x40::size]", "ReturnValue.Field[core::num::bignum::Big32x40::size]", "value", "dfc-generated"] - ["core::num::flt2dec::strategy::dragon::mul_pow10", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::num::flt2dec::strategy::grisu::format_exact", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::num::flt2dec::strategy::grisu::format_shortest", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::num::flt2dec::to_exact_exp_str", "Argument[5].Element", "Argument[0].Parameter[1].Reference", "value", "dfc-generated"] - - ["core::num::flt2dec::to_exact_fixed_str", "Argument[4].Element", "Argument[0].Parameter[1].Reference", "value", "dfc-generated"] + - ["core::num::flt2dec::to_exact_exp_str", "Argument[5]", "Argument[0]", "taint", "df-generated"] + - ["core::num::flt2dec::to_exact_fixed_str", "Argument[4]", "Argument[0]", "taint", "df-generated"] - ["core::num::flt2dec::to_shortest_exp_str", "Argument[5]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - ["core::num::flt2dec::to_shortest_str", "Argument[4]", "Argument[0].Parameter[1]", "value", "dfc-generated"] - ["core::num::int_log10::i128", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -6069,6 +8075,7 @@ extensions: - ["core::num::int_log10::u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::num::int_log10::u8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::num::int_log10::usize", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::ops::try_trait::from_yeet", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::panic::abort_unwind", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["core::ptr::from_mut", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core::ptr::from_ref", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -6076,51 +8083,33 @@ extensions: - ["core::ptr::with_exposed_provenance_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::slice::index::range", "Argument[1].Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[core::ops::range::Range::end]", "value", "dfc-generated"] - ["core::slice::index::try_range", "Argument[1].Field[core::ops::range::RangeTo::end]", "ReturnValue.Field[core::option::Option::Some(0)].Field[core::ops::range::Range::end]", "value", "dfc-generated"] + - ["core::slice::raw::from_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::slice::raw::from_ref", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::slice::sort::select::partition_at_index", "Argument[0]", "Argument[2]", "taint", "df-generated"] - ["core::slice::sort::shared::find_existing_run", "Argument[1].ReturnValue", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["core::slice::sort::shared::pivot::choose_pivot", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["core::slice::sort::shared::smallsort::sort4_stable", "Argument[0].Reference", "Argument[2].Parameter[1].Reference", "value", "dfc-generated"] - - ["core::slice::sort::stable::drift::sort", "Argument[0].Element", "Argument[3].Parameter[1].Reference", "value", "dfc-generated"] + - ["core::slice::sort::shared::smallsort::sort4_stable", "Argument[0]", "Argument[2]", "taint", "df-generated"] + - ["core::slice::sort::stable::drift::sort", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["core::slice::sort::stable::drift::sort", "Argument[1]", "Argument[3]", "taint", "df-generated"] + - ["core::slice::sort::stable::merge::merge", "Argument[0]", "Argument[3]", "taint", "df-generated"] - ["core::slice::sort::stable::merge::merge", "Argument[1]", "Argument[3]", "taint", "df-generated"] - - ["core::slice::sort::stable::quicksort::quicksort", "Argument[0].Element", "Argument[4].Parameter[1].Reference", "value", "dfc-generated"] - - ["core::slice::sort::stable::sort", "Argument[0].Element", "Argument[1].Parameter[1].Reference", "value", "dfc-generated"] - - ["core::slice::sort::unstable::quicksort::quicksort", "Argument[0]", "Argument[3]", "taint", "df-generated"] + - ["core::slice::sort::stable::quicksort::quicksort", "Argument[3].Field[core::option::Option::Some(0)]", "Argument[4].Parameter[0]", "value", "dfc-generated"] + - ["core::slice::sort::stable::sort", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["core::slice::sort::unstable::quicksort::quicksort", "Argument[1].Field[core::option::Option::Some(0)]", "Argument[3].Parameter[0]", "value", "dfc-generated"] - ["core::slice::sort::unstable::sort", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["core::str::converts::from_utf8_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core::str::converts::from_utf8_unchecked_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core::str::validations::next_code_point", "Argument[0].Element", "ReturnValue", "value", "dfc-generated"] + - ["core::str::validations::next_code_point", "Argument[0].Reference.Element", "ReturnValue", "value", "dfc-generated"] + - ["core::unicode::unicode_data::conversions::to_lower", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core::unicode::unicode_data::conversions::to_upper", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::simd::debug_simd_finish", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bf16::_mm_mask_cvtneps_pbh", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512bw::_cvtmask32_u32", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512bw::_cvtu32_mask32", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kadd_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kadd_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kadd_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kadd_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kand_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kand_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kand_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kand_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kandn_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kandn_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kandn_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kandn_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_knot_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_knot_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kor_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kor_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kor_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kor_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_kshiftli_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_kshiftli_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_kshiftri_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_kshiftri_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxnor_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxnor_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxnor_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxnor_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxor_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxor_mask32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxor_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512bw::_kxor_mask64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_load_mask32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_load_mask64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_mm256_loadu_epi16", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -6143,41 +8132,16 @@ extensions: - ["core_arch::core_arch::x86::avx512bw::_store_mask64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512dq::_cvtmask8_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512dq::_cvtu32_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kadd_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kadd_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kadd_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kadd_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kand_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kand_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kandn_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kandn_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512dq::_knot_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kor_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kor_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512dq::_kshiftli_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512dq::_kshiftri_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kxnor_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kxnor_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kxor_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_kxor_mask8", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512dq::_load_mask8", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::avx512dq::_store_mask8", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx512dq::_load_mask8", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_cvtmask16_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_cvtu32_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kand_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kand_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kandn_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kandn_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_knot_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kor_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kor_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_kshiftli_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_kshiftri_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kxnor_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kxnor_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kxor_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_kxor_mask16", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_load_mask16", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx512f::_load_mask16", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm256_load_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm256_load_epi64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm256_loadu_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] @@ -6187,30 +8151,20 @@ extensions: - ["core_arch::core_arch::x86::avx512f::_mm256_storeu_epi32", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm256_storeu_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_int2mask", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kand", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kandn", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kandn", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_kmov", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_knot", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kor", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_kunpackb", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_kunpackb", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kxnor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kxnor", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kxor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_kxor", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_load_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_load_epi64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_load_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_load_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_load_si512", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_load_si512", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_loadu_epi32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_loadu_epi64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_loadu_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_loadu_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_mm512_loadu_si512", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_loadu_si512", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_mask2int", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_store_epi32", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm512_store_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] @@ -6232,7 +8186,8 @@ extensions: - ["core_arch::core_arch::x86::avx512f::_mm_store_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm_storeu_epi32", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm_storeu_epi64", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx512f::_store_mask16", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm256_load_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm256_loadu_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm256_set_ph", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm256_set_ph", "Argument[10]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm256_set_ph", "Argument[11]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] @@ -6265,6 +8220,8 @@ extensions: - ["core_arch::core_arch::x86::avx512fp16::_mm256_setr_ph", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm256_setr_ph", "Argument[8]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm256_setr_ph", "Argument[9]", "ReturnValue.Field[core::core_arch::x86::__m256h(0)].Field[core_arch::core_arch::x86::__m256h(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm512_load_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm512_loadu_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm512_set_ph", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm512_set_ph", "Argument[10]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm512_set_ph", "Argument[11]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] @@ -6329,7 +8286,9 @@ extensions: - ["core_arch::core_arch::x86::avx512fp16::_mm512_setr_ph", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm512_setr_ph", "Argument[8]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm512_setr_ph", "Argument[9]", "ReturnValue.Field[core::core_arch::x86::__m512h(0)].Field[core_arch::core_arch::x86::__m512h(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::avx512fp16::_mm_load_sh", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm_load_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm_load_sh", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm_loadu_ph", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm_mask_load_sh", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm_set_ph", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm_set_ph", "Argument[1]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] @@ -6349,10 +8308,12 @@ extensions: - ["core_arch::core_arch::x86::avx512fp16::_mm_setr_ph", "Argument[6]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx512fp16::_mm_setr_ph", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m128h(0)].Field[core_arch::core_arch::x86::__m128h(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm256_broadcast_sd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_broadcast_sd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm256_broadcast_ss", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_broadcast_ss", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm256_load_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx::_mm256_load_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx::_mm256_load_si256", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_load_si256", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::avx::_mm256_set1_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm256_set1_ps", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm256_set_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m256d(0)].Field[core_arch::core_arch::x86::__m256d(0)].Element", "value", "dfc-generated"] @@ -6379,27 +8340,16 @@ extensions: - ["core_arch::core_arch::x86::avx::_mm256_setr_ps", "Argument[5]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm256_setr_ps", "Argument[6]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm256_setr_ps", "Argument[7]", "ReturnValue.Field[core::core_arch::x86::__m256(0)].Field[core_arch::core_arch::x86::__m256(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::avx::_mm256_store_pd", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx::_mm256_store_ps", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core_arch::core_arch::x86::avx::_mm256_store_si256", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu_si256", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] - ["core_arch::core_arch::x86::avx::_mm_broadcast_ss", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::bmi1::_andn_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi1::_andn_u32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi1::_blsi_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi1::_blsmsk_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi1::_blsr_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi2::_mulx_u32", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi2::_mulx_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi2::_mulx_u32", "Argument[1]", "Argument[2]", "taint", "df-generated"] - - ["core_arch::core_arch::x86::bmi2::_mulx_u32", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::rtm::_xabort_code", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_load1_pd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_load_pd1", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::avx::_mm_broadcast_ss", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_load1_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_load_pd1", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_load_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_load_sd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_load_si128", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_loadh_pd", "Argument[1].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_loadl_pd", "Argument[1].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_load_sd", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_load_si128", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_loadh_pd", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_loadl_pd", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_set1_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse2::_mm_set_pd1", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse2::_mm_set_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] @@ -6407,17 +8357,12 @@ extensions: - ["core_arch::core_arch::x86::sse2::_mm_set_sd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse2::_mm_setr_pd", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse2::_mm_setr_pd", "Argument[1]", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_store_pd", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse2::_mm_store_si128", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse3::_mm_loaddup_pd", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128d(0)].Field[core_arch::core_arch::x86::__m128d(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse::_MM_SHUFFLE", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse::_MM_SHUFFLE", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse::_MM_SHUFFLE", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse::_MM_SHUFFLE", "Argument[3]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse::_mm_load1_ps", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse::_mm_load_ps1", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_storeu_si128", "Argument[1]", "Argument[0].Reference", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::sse3::_mm_loaddup_pd", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::sse::_mm_load1_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["core_arch::core_arch::x86::sse::_mm_load_ps1", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::sse::_mm_load_ps", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::sse::_mm_load_ss", "Argument[0].Reference", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] + - ["core_arch::core_arch::x86::sse::_mm_load_ss", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86::sse::_mm_set1_ps", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse::_mm_set_ps1", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse::_mm_set_ps", "Argument[0]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] @@ -6429,76 +8374,239 @@ extensions: - ["core_arch::core_arch::x86::sse::_mm_setr_ps", "Argument[1]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse::_mm_setr_ps", "Argument[2]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - ["core_arch::core_arch::x86::sse::_mm_setr_ps", "Argument[3]", "ReturnValue.Field[core::core_arch::x86::__m128(0)].Field[core_arch::core_arch::x86::__m128(0)].Element", "value", "dfc-generated"] - - ["core_arch::core_arch::x86::sse::_mm_store_ps", "Argument[1]", "Argument[0]", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_blcfill_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_blci_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_blcic_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_blcmsk_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_blcs_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_blsfill_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_blsic_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_t1mskc_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86::tbm::_tzmsk_u32", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["core_arch::core_arch::x86_64::avx512bw::_cvtmask64_u64", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["core_arch::core_arch::x86_64::avx512bw::_cvtu64_mask64", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["core_arch::core_arch::x86_64::bmi2::_mulx_u64", "Argument[0]", "Argument[2]", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi2::_mulx_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi2::_mulx_u64", "Argument[1]", "Argument[2]", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi2::_mulx_u64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi::_andn_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi::_andn_u64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi::_blsi_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi::_blsmsk_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::bmi::_blsr_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_blcfill_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_blci_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_blcic_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_blcmsk_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_blcs_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_blsfill_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_blsic_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_t1mskc_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["core_arch::core_arch::x86_64::tbm::_tzmsk_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["dylib_dep::foo", "Argument[0]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - - ["matrix_inversion::simd_inv4x4", "Argument[0].Field[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[matrix_inversion::Matrix4x4(0)]", "value", "dfc-generated"] + - ["intrinsic-test::arm::compile::build_cpp_compilation", "Argument[0].Reference.Field[intrinsic-test::common::cli::ProcessedCli::cpp_compiler]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["intrinsic-test::arm::config::build_notices", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::create_rust_test_program", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::create_rust_test_program", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::create_rust_test_program", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::create_rust_test_program", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::format_rust_main_template", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::format_rust_main_template", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::format_rust_main_template", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::format_rust_main_template", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::format_rust_main_template", "Argument[4]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::format_rust_main_template", "Argument[5]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::generate_rust_constraint_blocks", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::generate_rust_constraint_blocks", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::generate_rust_test_loop", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::generate_rust_test_loop", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["intrinsic-test::common::gen_rust::generate_rust_test_loop", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::acos::acos", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::acosf::acosf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::acosh::acosh", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::acoshf::acoshf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::asin::asin", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::asinf::asinf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::atan2::atan2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::atan2f::atan2f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::atan::atan", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::atanf::atanf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::cbrtf::cbrtf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::ceil::ceil", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::ceil::ceilf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::cos::cos", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::cosf::cosf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::erf::erf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::erff::erfcf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::erff::erff", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::exp10::exp10", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::exp10f::exp10f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::exp2f::exp2f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::exp::exp", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::expf::expf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::expm1::expm1", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::expm1f::expm1f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::fdim::fdim", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fdim::fdim", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fdim::fdimf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fdim::fdimf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::floor::floor", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::floor::floorf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::fmin_fmax::fmax", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmin_fmax::fmax", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmin_fmax::fmaxf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmin_fmax::fmaxf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmin_fmax::fmin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmin_fmax::fmin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmin_fmax::fminf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmin_fmax::fminf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fmaximum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fmaximum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fmaximumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fmaximumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fminimum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fminimum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fminimumf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum::fminimumf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fmaximum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fmaximum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fmaximum_numf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fmaximum_numf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fminimum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fminimum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fminimum_numf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fminimum_fmaximum_num::fminimum_numf", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::fmod::fmod", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::fmod::fmodf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::frexp::frexp", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::frexpf::frexpf", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::generic::ceil::ceil", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::generic::ceil::ceil_status", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["libm::math::generic::fdim::fdim", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fdim::fdim", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::floor::floor", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::generic::floor::floor_status", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["libm::math::generic::fma::fma_round", "Argument[2]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["libm::math::generic::fmax::fmax", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmax::fmax", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmaximum::fmaximum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmaximum::fmaximum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmaximum_num::fmaximum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmaximum_num::fmaximum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmin::fmin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmin::fmin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fminimum::fminimum", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fminimum::fminimum", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fminimum_num::fminimum_num", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fminimum_num::fminimum_num", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::fmod::fmod", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::generic::rint::rint_round", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["libm::math::generic::round::round", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::scalbn::scalbn", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::generic::sqrt::sqrt", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::generic::sqrt::sqrt_round", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["libm::math::generic::trunc::trunc", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::generic::trunc::trunc_status", "Argument[0]", "ReturnValue.Field[compiler_builtins::math::libm_math::support::env::FpResult::val].Field[libm::math::support::env::FpResult::val]", "value", "dfc-generated"] + - ["libm::math::j0::y0", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::j0f::y0f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::j1::y1", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::j1f::y1f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::jn::jn", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::jn::yn", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::jnf::jnf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::jnf::ynf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::k_sin::k_sin", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::k_sin::k_sin", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::k_sinf::k_sinf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::k_tan::k_tan", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::k_tan::k_tan", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::k_tanf::k_tanf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::ldexp::ldexp", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::ldexp::ldexpf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::lgammaf::lgammaf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::lgammaf_r::lgammaf_r", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::log10::log10", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::log10f::log10f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::log1p::log1p", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::log1pf::log1pf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::log2::log2", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::log2f::log2f", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::log::log", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::logf::logf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::modf::modf", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::modf::modf", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["libm::math::modff::modff", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::modff::modff", "Argument[0]", "ReturnValue.Field[1]", "value", "dfc-generated"] + - ["libm::math::nextafter::nextafter", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::nextafterf::nextafterf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::pow::pow", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::pow::pow", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::powf::powf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::powf::powf", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::rem_pio2::rem_pio2", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::rem_pio2f::rem_pio2f", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::remainder::remainder", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::remainderf::remainderf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::remquo::remquo", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::remquof::remquof", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::rint::rint", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::rint::rintf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::round::round", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::round::roundf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::roundeven::roundeven", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::roundeven::roundeven_impl", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::roundeven::roundevenf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::scalbn::scalbn", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::scalbn::scalbnf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::sin::sin", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::sincos::sincos", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::sincosf::sincosf", "Argument[0]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["libm::math::sinf::sinf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::sinh::sinh", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::sinhf::sinhf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::support::feature_detect::get_or_init_flags_cache", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::support::hex_float::parse_any", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::support::hex_float::parse_any", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::support::hex_float::parse_hex_exact", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::support::hex_float::parse_hex_exact", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::tan::tan", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::tanf::tanf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::tgamma::tgamma", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::tgammaf::tgammaf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["libm::math::trunc::trunc", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm::math::trunc::truncf", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["libm_test::run_cfg::iteration_count", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["matrix_inversion::simd_inv4x4", "Argument[0].Field[matrix_inversion::Matrix4x4(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Field[matrix_inversion::Matrix4x4(0)]", "value", "dfc-generated"] + - ["panic_unwind::__rust_panic_cleanup", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["panic_unwind::imp::cleanup", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["proc_macro::bridge::client::state::set", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["proc_macro::bridge::client::state::set", "Argument[1]", "Argument[1].Parameter[0]", "value", "dfc-generated"] - ["proc_macro::bridge::client::state::with", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["std::backtrace::helper::lazy_resolve", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["std::backtrace::helper::lazy_resolve", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["std::backtrace_rs::symbolize::gimli::elf::handle_split_dwarf", "Argument[2].Field[addr2line::lookup::SplitDwarfLoad::path].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["std::io::append_to_string", "Argument[0].Field[alloc::string::String::vec]", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["std::io::append_to_string", "Argument[1].Field[alloc::collections::vec_deque::VecDeque::len]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["std::backtrace_rs::symbolize::gimli::elf::handle_split_dwarf", "Argument[2].Field[addr2line::lookup::SplitDwarfLoad::path]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["std::fs::set_permissions", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::io::append_to_string", "Argument[0].Reference.Field[alloc::string::String::vec]", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - ["std::io::append_to_string", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["std::io::default_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["std::io::default_read_exact", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["std::io::default_read_to_end", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["std::io::default_read_to_string", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::io::default_read_to_end", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["std::io::default_read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["std::io::default_read_to_string", "Argument[1]", "Argument[0]", "taint", "df-generated"] + - ["std::io::default_read_to_string", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["std::io::default_read_to_string", "Argument[2]", "ReturnValue", "taint", "df-generated"] - ["std::io::default_read_vectored", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["std::io::default_write_fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["std::io::default_write_vectored", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["std::io::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["std::io::util::repeat", "Argument[0]", "ReturnValue.Field[std::io::util::Repeat::byte]", "value", "dfc-generated"] - - ["std::sync::poison::map_result", "Argument[0]", "Argument[1]", "taint", "df-generated"] - - ["std::sync::poison::map_result", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["std::sync::poison::map_result", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["std::sync::poison::mutex::guard_lock", "Argument[0].Field[std::sync::poison::mutex::MutexGuard::lock].Field[std::sync::poison::mutex::Mutex::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["std::sync::poison::mutex::guard_poison", "Argument[0].Field[std::sync::poison::mutex::MutexGuard::lock].Field[std::sync::poison::mutex::Mutex::poison]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["std::os::unix::fs::chown", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::os::unix::fs::chown", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["std::os::unix::fs::lchown", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::os::unix::fs::lchown", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["std::os::unix::fs::mkfifo", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::os::unix::net::ancillary::recv_vectored_with_ancillary_from", "Argument[1]", "Argument[2]", "taint", "df-generated"] + - ["std::panicking::begin_panic", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["std::panicking::begin_panic_handler", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["std::sync::poison::map_result", "Argument[1].ReturnValue", "ReturnValue.Field[core::result::Result::Err(0)].Field[std::sync::poison::PoisonError::data]", "value", "dfc-generated"] + - ["std::sync::poison::map_result", "Argument[1].ReturnValue", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["std::sync::poison::mutex::guard_lock", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["std::sync::poison::mutex::guard_poison", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["std::sys::backtrace::__rust_begin_short_backtrace", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["std::sys::backtrace::__rust_end_short_backtrace", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["std::sys::env::unix::setenv", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::hard_link", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::rename", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::set_permissions", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::symlink", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::unix::chown", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::unix::chown", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::unix::lchown", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::unix::lchown", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["std::sys::fs::unix::mkfifo", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["std::sys::pal::common::small_c_string::run_path_with_cstr", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["std::sys::pal::common::small_c_string::run_with_cstr", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["std::sys::pal::unix::cvt", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["std::sys::pal::unix::cvt_r", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["std::sys::pal::unix::pipe::read2", "Argument[0]", "Argument[1]", "taint", "df-generated"] - ["std::sys::pal::unix::pipe::read2", "Argument[2]", "Argument[3]", "taint", "df-generated"] + - ["std::sys::personality::dwarf::eh::find_eh_action", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["std::sys_common::ignore_notfound", "Argument[0].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["std::sys_common::mul_div_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["std::sys_common::mul_div_u64", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["std::sys_common::mul_div_u64", "Argument[2]", "ReturnValue", "taint", "df-generated"] - ["std::thread::current::set_current", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["std::thread::current::try_with_current", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["std::thread::with_current_name", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["stdarch-gen-arm::big_endian::create_let_variable", "Argument[1].Reference", "ReturnValue.Field[stdarch-gen-arm::expression::Expression::Let(0)].Field[stdarch-gen-arm::expression::LetVariant::WithType(1)]", "value", "dfc-generated"] - - ["stdarch-gen-arm::big_endian::create_mut_let_variable", "Argument[1].Reference", "ReturnValue.Field[stdarch-gen-arm::expression::Expression::Let(0)].Field[stdarch-gen-arm::expression::LetVariant::MutWithType(1)]", "value", "dfc-generated"] - ["stdarch-gen-arm::fn_suffix::make_neon_suffix", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["test_helpers::subnormals::flush", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["test_helpers::subnormals::flush_in", "Argument[0]", "ReturnValue", "value", "dfc-generated"] @@ -6506,6 +8614,36 @@ extensions: pack: codeql/rust-all extensible: sinkModel data: + - ["<& as core::alloc::Allocator>::allocate", "Argument[0]", "alloc-layout", "df-generated"] + - ["<& as core::alloc::Allocator>::allocate_zeroed", "Argument[0]", "alloc-layout", "df-generated"] + - ["<& as core::alloc::Allocator>::grow", "Argument[2]", "alloc-layout", "df-generated"] + - ["<& as core::alloc::Allocator>::grow_zeroed", "Argument[2]", "alloc-layout", "df-generated"] + - ["<& as core::alloc::Allocator>::shrink", "Argument[2]", "alloc-layout", "df-generated"] + - ["<& as std::io::Write>::write", "Argument[0]", "log-injection", "df-generated"] + - ["<& as std::io::Write>::write_all", "Argument[0]", "log-injection", "df-generated"] + - ["<() as alloc::vec::spec_from_elem::SpecFromElem>::from_elem", "Argument[1]", "alloc-layout", "df-generated"] + - ["<(,) as libm_test::generate::random::RandomInput>::get_cases", "Argument[0]", "log-injection", "df-generated"] + - ["<(,) as libm_test::generate::spaced::SpacedInput>::get_cases", "Argument[0]", "log-injection", "df-generated"] + - ["<(,) as util::ParseTuple>::parse", "Argument[0]", "log-injection", "df-generated"] + - ["<(,,) as libm_test::generate::random::RandomInput>::get_cases", "Argument[0]", "log-injection", "df-generated"] + - ["<(,,) as libm_test::generate::spaced::SpacedInput>::get_cases", "Argument[0]", "log-injection", "df-generated"] + - ["<(,,) as util::ParseTuple>::parse", "Argument[0]", "log-injection", "df-generated"] + - ["<(,,,) as libm_test::generate::random::RandomInput>::get_cases", "Argument[0]", "log-injection", "df-generated"] + - ["<(,,,) as libm_test::generate::spaced::SpacedInput>::get_cases", "Argument[0]", "log-injection", "df-generated"] + - ["<(,,,) as util::ParseTuple>::parse", "Argument[0]", "log-injection", "df-generated"] + - ["<*const>::read", "Argument[self]", "pointer-access", "df-generated"] + - ["<*const>::read_unaligned", "Argument[self]", "pointer-access", "df-generated"] + - ["<*const>::read_volatile", "Argument[self]", "pointer-access", "df-generated"] + - ["<*mut>::read", "Argument[self]", "pointer-access", "df-generated"] + - ["<*mut>::read_unaligned", "Argument[self]", "pointer-access", "df-generated"] + - ["<*mut>::read_volatile", "Argument[self]", "pointer-access", "df-generated"] + - ["<*mut>::write", "Argument[self]", "pointer-access", "df-generated"] + - ["<*mut>::write_bytes", "Argument[self]", "pointer-access", "df-generated"] + - ["<*mut>::write_unaligned", "Argument[self]", "pointer-access", "df-generated"] + - ["<*mut>::write_volatile", "Argument[self]", "pointer-access", "df-generated"] + - ["<[]>::select_nth_unstable", "Argument[0]", "log-injection", "df-generated"] + - ["<[]>::select_nth_unstable_by", "Argument[0]", "log-injection", "df-generated"] + - ["<[]>::select_nth_unstable_by_key", "Argument[0]", "log-injection", "df-generated"] - ["::allocate", "Argument[0]", "alloc-layout", "df-generated"] - ["::allocate_zeroed", "Argument[0]", "alloc-layout", "df-generated"] - ["::grow", "Argument[2]", "alloc-layout", "df-generated"] @@ -6514,6 +8652,7 @@ extensions: - ["::grow_zeroed", "Argument[2]", "alloc-size", "df-generated"] - ["::shrink", "Argument[2]", "alloc-layout", "df-generated"] - ["::shrink", "Argument[2]", "alloc-size", "df-generated"] + - ["::new_uninit_slice", "Argument[0]", "alloc-layout", "df-generated"] - ["::new_uninit_slice_in", "Argument[0]", "alloc-layout", "df-generated"] - ["::new_zeroed_slice", "Argument[0]", "alloc-layout", "df-generated"] - ["::new_zeroed_slice_in", "Argument[0]", "alloc-layout", "df-generated"] @@ -6521,36 +8660,12 @@ extensions: - ["::try_new_uninit_slice_in", "Argument[0]", "alloc-layout", "df-generated"] - ["::try_new_zeroed_slice", "Argument[0]", "alloc-layout", "df-generated"] - ["::try_new_zeroed_slice_in", "Argument[0]", "alloc-layout", "df-generated"] + - ["::into_iter", "Argument[self]", "pointer-access", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::with_capacity_in", "Argument[0]", "alloc-layout", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - ["::drop", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::drop", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::max", "Argument[self]", "pointer-access", "df-generated"] - - ["::min", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::max", "Argument[self]", "pointer-access", "df-generated"] - - ["::min", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::max", "Argument[self]", "pointer-access", "df-generated"] - - ["::min", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::max", "Argument[self]", "pointer-access", "df-generated"] - - ["::min", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::append", "Argument[self]", "pointer-access", "df-generated"] - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - ["::last", "Argument[self]", "pointer-access", "df-generated"] - ["::max", "Argument[self]", "pointer-access", "df-generated"] @@ -6561,16 +8676,6 @@ extensions: - ["::max", "Argument[self]", "pointer-access", "df-generated"] - ["::min", "Argument[self]", "pointer-access", "df-generated"] - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::deallocating_next_back_unchecked", "Argument[self]", "pointer-access", "df-generated"] - - ["::deallocating_next_unchecked", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back_unchecked", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_unchecked", "Argument[self]", "pointer-access", "df-generated"] - ["::next_back_checked", "Argument[self]", "pointer-access", "df-generated"] - ["::next_checked", "Argument[self]", "pointer-access", "df-generated"] - ["::consider_for_balancing", "Argument[self]", "pointer-access", "df-generated"] @@ -6578,39 +8683,34 @@ extensions: - ["::fix_node_and_affected_ancestors", "Argument[self]", "pointer-access", "df-generated"] - ["::full_range", "Argument[self]", "pointer-access", "df-generated"] - ["::push_internal_level", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::last", "Argument[self]", "pointer-access", "df-generated"] - - ["::max", "Argument[self]", "pointer-access", "df-generated"] - - ["::min", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::range_search", "Argument[self]", "pointer-access", "df-generated"] + - ["::append", "Argument[self]", "pointer-access", "df-generated"] - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - ["::last", "Argument[self]", "pointer-access", "df-generated"] - ["::max", "Argument[self]", "pointer-access", "df-generated"] - ["::min", "Argument[self]", "pointer-access", "df-generated"] - ["::next", "Argument[self]", "pointer-access", "df-generated"] - ["::spec_extend", "Argument[self]", "log-injection", "df-generated"] - - ["::clone_from", "Argument[self]", "log-injection", "df-generated"] - - ["::extend", "Argument[self]", "log-injection", "df-generated"] + - ["::clone", "Argument[self]", "alloc-layout", "df-generated"] + - ["::from", "Argument[0]", "pointer-access", "df-generated"] - ["::extend_one", "Argument[self]", "log-injection", "df-generated"] - ["::extend_reserve", "Argument[self]", "log-injection", "df-generated"] - - ["::write", "Argument[self]", "log-injection", "df-generated"] - - ["::write_all", "Argument[self]", "log-injection", "df-generated"] - ["::write_all_vectored", "Argument[self]", "log-injection", "df-generated"] - ["::write_vectored", "Argument[self]", "log-injection", "df-generated"] - ["::append", "Argument[self]", "log-injection", "df-generated"] - ["::insert", "Argument[0]", "log-injection", "df-generated"] - ["::insert", "Argument[self]", "log-injection", "df-generated"] + - ["::insert_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::insert_mut", "Argument[self]", "log-injection", "df-generated"] - ["::make_contiguous", "Argument[self]", "log-injection", "df-generated"] - ["::push_back", "Argument[self]", "log-injection", "df-generated"] + - ["::push_back_mut", "Argument[self]", "log-injection", "df-generated"] - ["::push_front", "Argument[self]", "log-injection", "df-generated"] + - ["::push_front_mut", "Argument[self]", "log-injection", "df-generated"] - ["::remove", "Argument[0]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - ["::reserve", "Argument[self]", "log-injection", "df-generated"] - ["::reserve_exact", "Argument[self]", "log-injection", "df-generated"] - - ["::resize", "Argument[self]", "log-injection", "df-generated"] - - ["::resize_with", "Argument[self]", "log-injection", "df-generated"] - ["::rotate_left", "Argument[0]", "log-injection", "df-generated"] - ["::rotate_left", "Argument[self]", "log-injection", "df-generated"] - ["::rotate_right", "Argument[0]", "log-injection", "df-generated"] @@ -6618,67 +8718,134 @@ extensions: - ["::shrink_to", "Argument[0]", "log-injection", "df-generated"] - ["::shrink_to", "Argument[self]", "log-injection", "df-generated"] - ["::shrink_to_fit", "Argument[self]", "log-injection", "df-generated"] - - ["::split_off", "Argument[0]", "alloc-layout", "df-generated"] - - ["::split_off", "Argument[self]", "alloc-layout", "df-generated"] - ["::try_reserve", "Argument[self]", "log-injection", "df-generated"] - ["::try_reserve_exact", "Argument[self]", "log-injection", "df-generated"] - ["::try_with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::with_capacity_in", "Argument[0]", "alloc-layout", "df-generated"] + - ["::clone", "Argument[self]", "alloc-layout", "df-generated"] - ["::try_with_capacity_in", "Argument[0]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::with_capacity_in", "Argument[0]", "alloc-layout", "df-generated"] - ["::with_capacity_zeroed", "Argument[0]", "alloc-layout", "df-generated"] - ["::with_capacity_zeroed_in", "Argument[0]", "alloc-layout", "df-generated"] - - ["::into_inner", "Argument[0]", "pointer-access", "df-generated"] + - ["::from", "Argument[0]", "alloc-layout", "df-generated"] + - ["::from", "Argument[0]", "pointer-access", "df-generated"] - ["::make_mut", "Argument[0]", "pointer-access", "df-generated"] - - ["::try_unwrap", "Argument[0]", "pointer-access", "df-generated"] - - ["::unwrap_or_clone", "Argument[0]", "pointer-access", "df-generated"] - - ["::split_off", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_uninit_slice", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_uninit_slice_in", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_zeroed_slice", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_zeroed_slice_in", "Argument[0]", "alloc-layout", "df-generated"] + - ["::into_utf8_lossy", "Argument[self]", "alloc-layout", "df-generated"] + - ["::into_chars", "Argument[self]", "pointer-access", "df-generated"] - ["::split_off", "Argument[0]", "log-injection", "df-generated"] - - ["::split_off", "Argument[self]", "alloc-layout", "df-generated"] - ["::split_off", "Argument[self]", "log-injection", "df-generated"] + - ["::try_with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::from", "Argument[0]", "alloc-layout", "df-generated"] + - ["::from", "Argument[0]", "pointer-access", "df-generated"] - ["::make_mut", "Argument[0]", "pointer-access", "df-generated"] + - ["::new_uninit_slice", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_uninit_slice_in", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_zeroed_slice", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_zeroed_slice_in", "Argument[0]", "alloc-layout", "df-generated"] - ["::from", "Argument[0]", "log-injection", "df-generated"] + - ["::from", "Argument[0]", "pointer-access", "df-generated"] + - ["::into_iter", "Argument[self]", "pointer-access", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::mark", "Argument[0]", "pointer-access", "df-generated"] + - ["::unmark", "Argument[self]", "pointer-access", "df-generated"] - ["::insert", "Argument[0]", "log-injection", "df-generated"] - ["::insert", "Argument[self]", "log-injection", "df-generated"] + - ["::insert_mut", "Argument[0]", "log-injection", "df-generated"] + - ["::insert_mut", "Argument[self]", "log-injection", "df-generated"] + - ["::into_chunks", "Argument[self]", "pointer-access", "df-generated"] + - ["::into_flattened", "Argument[self]", "pointer-access", "df-generated"] + - ["::into_parts_with_alloc", "Argument[self]", "pointer-access", "df-generated"] + - ["::into_raw_parts_with_alloc", "Argument[self]", "pointer-access", "df-generated"] - ["::remove", "Argument[0]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - - ["::split_off", "Argument[0]", "alloc-layout", "df-generated"] - ["::split_off", "Argument[0]", "log-injection", "df-generated"] - - ["::split_off", "Argument[self]", "alloc-layout", "df-generated"] - ["::split_off", "Argument[self]", "log-injection", "df-generated"] - ["::swap_remove", "Argument[0]", "log-injection", "df-generated"] - ["::swap_remove", "Argument[self]", "log-injection", "df-generated"] + - ["::try_with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::try_with_capacity_in", "Argument[0]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::with_capacity_in", "Argument[0]", "alloc-layout", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::last", "Argument[self]", "pointer-access", "df-generated"] - ["::new", "Argument[0]", "path-injection", "df-generated"] - ["::new", "Argument[0]", "path-injection", "df-generated"] + - ["::deref_mut", "Argument[self]", "pointer-access", "df-generated"] - ["::force_mut", "Argument[0]", "pointer-access", "df-generated"] + - ["::to_tokens", "Argument[self]", "log-injection", "df-generated"] + - ["::to_tokens", "Argument[self]", "log-injection", "df-generated"] - ["::index", "Argument[0]", "log-injection", "df-generated"] - ["::digit", "Argument[0]", "log-injection", "df-generated"] - ["::digit", "Argument[0]", "log-injection", "df-generated"] - ["::digit", "Argument[0]", "log-injection", "df-generated"] - ["::digit", "Argument[0]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::from_elem", "Argument[1]", "alloc-layout", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::drop", "Argument[self]", "pointer-access", "df-generated"] - ["::take", "Argument[0]", "pointer-access", "df-generated"] + - ["::assume_init_read", "Argument[self]", "pointer-access", "df-generated"] - ["::expect", "Argument[0]", "log-injection", "df-generated"] - - ["::map", "Argument[self]", "pointer-access", "df-generated"] + - ["::map", "Argument[0]", "log-injection", "df-generated"] + - ["::map", "Argument[self]", "alloc-layout", "df-generated"] + - ["::map", "Argument[self]", "log-injection", "df-generated"] - ["::expect", "Argument[0]", "log-injection", "df-generated"] - ["::expect_err", "Argument[0]", "log-injection", "df-generated"] - ["::unwrap_or_else", "Argument[0]", "log-injection", "df-generated"] - - ["::from_c", "Argument[1]", "log-injection", "df-generated"] - - ["::generate_loop_c", "Argument[self]", "log-injection", "df-generated"] - - ["::print_result_c", "Argument[self]", "log-injection", "df-generated"] - - ["::c_scalar_type", "Argument[self]", "log-injection", "df-generated"] - - ["::c_type", "Argument[self]", "log-injection", "df-generated"] - - ["::get_lane_function", "Argument[self]", "log-injection", "df-generated"] - - ["::get_load_function", "Argument[self]", "log-injection", "df-generated"] - - ["::populate_random", "Argument[self]", "log-injection", "df-generated"] - - ["::rust_scalar_type", "Argument[self]", "log-injection", "df-generated"] - - ["::rust_type", "Argument[self]", "log-injection", "df-generated"] - - ["::c_prefix", "Argument[self]", "log-injection", "df-generated"] - - ["::rust_prefix", "Argument[self]", "log-injection", "df-generated"] + - ["::for_each", "Argument[0]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::from_elem", "Argument[1]", "alloc-layout", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::cast", "Argument[self]", "log-injection", "df-generated"] + - ["::build_c_file", "Argument[self]", "log-injection", "df-generated"] + - ["::create", "Argument[0]", "path-injection", "df-generated"] + - ["::c_type", "Argument[self]", "log-injection", "df-generated"] + - ["::get_lane_function", "Argument[self]", "log-injection", "df-generated"] + - ["::get_load_function", "Argument[self]", "log-injection", "df-generated"] + - ["::rust_type", "Argument[self]", "log-injection", "df-generated"] + - ["::from_c", "Argument[1]", "log-injection", "df-generated"] + - ["::new", "Argument[0]", "path-injection", "df-generated"] + - ["::add_arch_flags", "Argument[0]", "pointer-access", "df-generated"] + - ["::add_extra_flags", "Argument[0]", "pointer-access", "df-generated"] + - ["::print_result_c", "Argument[self]", "log-injection", "df-generated"] + - ["::populate_random", "Argument[self]", "log-injection", "df-generated"] + - ["::c_prefix", "Argument[self]", "log-injection", "df-generated"] + - ["::rust_prefix", "Argument[self]", "log-injection", "df-generated"] + - ["::atan2", "Argument[0]", "pointer-access", "df-generated"] + - ["::atan", "Argument[0]", "pointer-access", "df-generated"] + - ["::expm1", "Argument[0]", "pointer-access", "df-generated"] + - ["::log1p", "Argument[0]", "pointer-access", "df-generated"] + - ["::rint", "Argument[0]", "pointer-access", "df-generated"] + - ["::roundevem", "Argument[0]", "pointer-access", "df-generated"] + - ["::roundeven", "Argument[0]", "pointer-access", "df-generated"] + - ["::unwrap_float", "Argument[self]", "log-injection", "df-generated"] + - ["::unwrap_int", "Argument[self]", "log-injection", "df-generated"] - ["::new", "Argument[0]", "log-injection", "df-generated"] - ["::new_raw", "Argument[0]", "log-injection", "df-generated"] - ["::f32_suffixed", "Argument[0]", "log-injection", "df-generated"] @@ -6686,24 +8853,34 @@ extensions: - ["::f64_suffixed", "Argument[0]", "log-injection", "df-generated"] - ["::f64_unsuffixed", "Argument[0]", "log-injection", "df-generated"] - ["::new", "Argument[0]", "log-injection", "df-generated"] + - ["::mark", "Argument[0]", "pointer-access", "df-generated"] + - ["::unmark", "Argument[self]", "pointer-access", "df-generated"] + - ["::emit_diagnostic", "Argument[0]", "pointer-access", "df-generated"] + - ["::concat_streams", "Argument[1]", "pointer-access", "df-generated"] + - ["::concat_trees", "Argument[1]", "pointer-access", "df-generated"] - ["::new_ident", "Argument[0]", "log-injection", "df-generated"] - - ["::allocate", "Argument[0]", "alloc-layout", "df-generated"] - - ["::allocate_zeroed", "Argument[0]", "alloc-layout", "df-generated"] - - ["::grow", "Argument[2]", "alloc-layout", "df-generated"] - - ["::grow_zeroed", "Argument[2]", "alloc-layout", "df-generated"] - - ["::shrink", "Argument[2]", "alloc-layout", "df-generated"] + - ["::emit", "Argument[self]", "pointer-access", "df-generated"] + - ["::allocate", "Argument[0]", "alloc-size", "df-generated"] + - ["::allocate_zeroed", "Argument[0]", "alloc-size", "df-generated"] + - ["::grow", "Argument[2]", "alloc-size", "df-generated"] + - ["::grow_zeroed", "Argument[2]", "alloc-size", "df-generated"] + - ["::shrink", "Argument[2]", "alloc-size", "df-generated"] - ["::alloc", "Argument[0]", "alloc-size", "df-generated"] - - ["::alloc_zeroed", "Argument[0]", "alloc-layout", "df-generated"] - ["::alloc_zeroed", "Argument[0]", "alloc-size", "df-generated"] - - ["::realloc", "Argument[2]", "alloc-layout", "df-generated"] - ["::realloc", "Argument[2]", "alloc-size", "df-generated"] - ["::new", "Argument[0]", "path-injection", "df-generated"] - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] + - ["::last", "Argument[self]", "pointer-access", "df-generated"] - ["::truncate", "Argument[0]", "log-injection", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::create_buffered", "Argument[0]", "path-injection", "df-generated"] - ["::open_buffered", "Argument[0]", "path-injection", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::try_with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::from", "Argument[0]", "log-injection", "df-generated"] - ["::from_raw_os_error", "Argument[0]", "log-injection", "df-generated"] - ["::new", "Argument[0]", "log-injection", "df-generated"] @@ -6713,6 +8890,9 @@ extensions: - ["::write_all", "Argument[0]", "log-injection", "df-generated"] - ["::write", "Argument[0]", "log-injection", "df-generated"] - ["::write_all", "Argument[0]", "log-injection", "df-generated"] + - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::next", "Argument[self]", "pointer-access", "df-generated"] - ["::exists", "Argument[self]", "path-injection", "df-generated"] - ["::is_dir", "Argument[self]", "path-injection", "df-generated"] - ["::is_file", "Argument[self]", "path-injection", "df-generated"] @@ -6721,20 +8901,31 @@ extensions: - ["::read_dir", "Argument[self]", "path-injection", "df-generated"] - ["::read_link", "Argument[self]", "path-injection", "df-generated"] - ["::symlink_metadata", "Argument[self]", "path-injection", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::try_select", "Argument[self]", "log-injection", "df-generated"] - ["::unregister", "Argument[self]", "log-injection", "df-generated"] + - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] + - ["::last", "Argument[self]", "pointer-access", "df-generated"] + - ["::new", "Argument[0]", "pointer-access", "df-generated"] + - ["::new", "Argument[0]", "pointer-access", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::check_public_boundary", "Argument[0]", "log-injection", "df-generated"] - - ["::next_back", "Argument[self]", "pointer-access", "df-generated"] - - ["::next", "Argument[self]", "pointer-access", "df-generated"] + - ["::read", "Argument[self]", "pointer-access", "df-generated"] + - ["::read_sleb128", "Argument[self]", "pointer-access", "df-generated"] + - ["::read_uleb128", "Argument[self]", "pointer-access", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new_in_place", "Argument[0]", "pointer-access", "df-generated"] - ["::index", "Argument[0]", "log-injection", "df-generated"] - ["::index", "Argument[self]", "log-injection", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::to_tokens", "Argument[self]", "log-injection", "df-generated"] - ["::to_tokens", "Argument[self]", "log-injection", "df-generated"] - ["::is_static_assert", "Argument[self]", "log-injection", "df-generated"] - ["::requires_unsafe_wrapper", "Argument[0]", "log-injection", "df-generated"] - ["::requires_unsafe_wrapper", "Argument[self]", "log-injection", "df-generated"] - - ["::generate_variant", "Argument[self]", "log-injection", "df-generated"] + - ["::into_iter", "Argument[self]", "pointer-access", "df-generated"] - ["::to_tokens", "Argument[self]", "log-injection", "df-generated"] - - ["::build", "Argument[0]", "log-injection", "df-generated"] - - ["::build_and_save", "Argument[0]", "log-injection", "df-generated"] + - ["::apply_conversions_to_call", "Argument[0]", "pointer-access", "df-generated"] - ["::drop_argument", "Argument[self]", "log-injection", "df-generated"] - ["::as_mut", "Argument[self]", "log-injection", "df-generated"] - ["::as_ref", "Argument[self]", "log-injection", "df-generated"] @@ -6743,13 +8934,32 @@ extensions: - ["::as_ref", "Argument[self]", "log-injection", "df-generated"] - ["::to_tokens", "Argument[self]", "log-injection", "df-generated"] - ["::post_build", "Argument[0]", "log-injection", "df-generated"] + - ["::repr", "Argument[0]", "log-injection", "df-generated"] - ["::repr", "Argument[self]", "log-injection", "df-generated"] - ["::repr", "Argument[0]", "log-injection", "df-generated"] + - ["::repr", "Argument[0]", "log-injection", "df-generated"] - ["::to_tokens", "Argument[self]", "log-injection", "df-generated"] - ["::prepend_str", "Argument[self]", "log-injection", "df-generated"] - ["alloc::alloc::__alloc_error_handler::__rdl_oom", "Argument[0]", "log-injection", "df-generated"] - ["alloc::collections::btree::mem::replace", "Argument[0]", "pointer-access", "df-generated"] - ["alloc::collections::btree::mem::take_mut", "Argument[0]", "pointer-access", "df-generated"] + - ["allocbenches::vec::vec_cast", "Argument[0]", "pointer-access", "df-generated"] + - ["build-script-build::configure::emit_libm_config", "Argument[0]", "log-injection", "df-generated"] + - ["build-script-build::configure::emit_test_config", "Argument[0]", "log-injection", "df-generated"] + - ["compiler_builtins::math::full_availability::rint", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::full_availability::rintf", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::full_availability::roundeven", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::full_availability::roundevenf", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::atan2::atan2", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::atan::atan", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::expm1::expm1", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::generic::rint::rint_round", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::log1p::log1p", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::rint::rint", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::rint::rintf", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::roundeven::roundeven", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::roundeven::roundeven_impl", "Argument[0]", "pointer-access", "df-generated"] + - ["compiler_builtins::math::libm_math::roundeven::roundevenf", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::avx512bw::_load_mask32", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::avx512bw::_load_mask64", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::avx512bw::_mm256_loadu_epi16", "Argument[0]", "pointer-access", "df-generated"] @@ -6802,23 +9012,39 @@ extensions: - ["core::core_arch::x86::avx512f::_mm_store_epi64", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::avx512f::_mm_storeu_epi32", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::avx512f::_mm_storeu_epi64", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm256_loadu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm256_storeu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm512_loadu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm512_storeu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm_loadu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx512fp16::_mm_storeu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu2_m128d", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu2_m128d", "Argument[1]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu2_m128i", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu2_m128i", "Argument[1]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu_pd", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu_ps", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_storeu_si256", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::kl::_mm_encodekey128_u32", "Argument[2]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::kl::_mm_encodekey256_u32", "Argument[3]", "pointer-access", "df-generated"] - ["core::core_arch::x86::sse2::_mm_loadl_epi64", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::sse2::_mm_loadu_si16", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::sse2::_mm_loadu_si32", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::sse2::_mm_loadu_si64", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_storeu_pd", "Argument[0]", "pointer-access", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_storeu_si128", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::sse2::_mm_storeu_si16", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::sse2::_mm_storeu_si32", "Argument[0]", "pointer-access", "df-generated"] - ["core::core_arch::x86::sse2::_mm_storeu_si64", "Argument[0]", "pointer-access", "df-generated"] - ["core::mem::transmute_copy", "Argument[0]", "pointer-access", "df-generated"] - ["core::panicking::assert_failed", "Argument[3]", "log-injection", "df-generated"] - ["core::panicking::assert_matches_failed", "Argument[2]", "log-injection", "df-generated"] + - ["core::panicking::const_panic_fmt", "Argument[0]", "log-injection", "df-generated"] - ["core::panicking::panic_display", "Argument[0]", "log-injection", "df-generated"] - ["core::panicking::panic_str_2015", "Argument[0]", "log-injection", "df-generated"] - ["core::panicking::unreachable_display", "Argument[0]", "log-injection", "df-generated"] + - ["core::slice::rotate::ptr_rotate", "Argument[1]", "pointer-access", "df-generated"] - ["core::slice::sort::select::partition_at_index", "Argument[1]", "log-injection", "df-generated"] - - ["core::slice::sort::stable::drift::sort", "Argument[0]", "pointer-access", "df-generated"] - - ["core::slice::sort::stable::quicksort::quicksort", "Argument[0]", "pointer-access", "df-generated"] - - ["core::slice::sort::stable::sort", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_load_mask32", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_load_mask64", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::avx512bw::_mm256_loadu_epi16", "Argument[0]", "pointer-access", "df-generated"] @@ -6871,31 +9097,76 @@ extensions: - ["core_arch::core_arch::x86::avx512f::_mm_store_epi64", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm_storeu_epi32", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::avx512f::_mm_storeu_epi64", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm256_loadu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm256_storeu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm512_loadu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm512_storeu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm_loadu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx512fp16::_mm_storeu_ph", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu2_m128d", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu2_m128d", "Argument[1]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu2_m128i", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu2_m128i", "Argument[1]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu_pd", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu_ps", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_storeu_si256", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::kl::_mm_encodekey128_u32", "Argument[2]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::kl::_mm_encodekey256_u32", "Argument[3]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_loadl_epi64", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_loadu_si16", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_loadu_si32", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_loadu_si64", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_storeu_pd", "Argument[0]", "pointer-access", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_storeu_si128", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_storeu_si16", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_storeu_si32", "Argument[0]", "pointer-access", "df-generated"] - ["core_arch::core_arch::x86::sse2::_mm_storeu_si64", "Argument[0]", "pointer-access", "df-generated"] - - ["intrinsic-test::json_parser::get_neon_intrinsics", "Argument[0]", "path-injection", "df-generated"] - - ["intrinsic-test::values::value_for_array", "Argument[0]", "log-injection", "df-generated"] - - ["std::alloc::__default_lib_allocator::__rdl_alloc", "Argument[0]", "alloc-layout", "df-generated"] + - ["intrinsic-test::arm::compile::build_cpp_compilation", "Argument[0]", "log-injection", "df-generated"] + - ["intrinsic-test::arm::json_parser::get_neon_intrinsics", "Argument[0]", "path-injection", "df-generated"] + - ["intrinsic-test::common::values::value_for_array", "Argument[0]", "log-injection", "df-generated"] + - ["intrinsic-test::common::write_file::write_file", "Argument[0]", "path-injection", "df-generated"] + - ["libm::math::atan2::atan2", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::atan::atan", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::expm1::expm1", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::generic::rint::rint_round", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::log1p::log1p", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::rint::rint", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::rint::rintf", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::roundeven::roundeven", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::roundeven::roundeven_impl", "Argument[0]", "pointer-access", "df-generated"] + - ["libm::math::roundeven::roundevenf", "Argument[0]", "pointer-access", "df-generated"] + - ["libm_test::run_cfg::int_range", "Argument[0]", "log-injection", "df-generated"] + - ["libm_test::run_cfg::iteration_count", "Argument[0]", "log-injection", "df-generated"] + - ["libm_test::test_log", "Argument[0]", "log-injection", "df-generated"] + - ["panic_unwind::__rust_panic_cleanup", "Argument[0]", "pointer-access", "df-generated"] + - ["panic_unwind::imp::cleanup", "Argument[0]", "pointer-access", "df-generated"] - ["std::alloc::__default_lib_allocator::__rdl_alloc", "Argument[0]", "alloc-size", "df-generated"] - - ["std::alloc::__default_lib_allocator::__rdl_alloc_zeroed", "Argument[0]", "alloc-layout", "df-generated"] - ["std::alloc::__default_lib_allocator::__rdl_alloc_zeroed", "Argument[0]", "alloc-size", "df-generated"] - - ["std::alloc::__default_lib_allocator::__rdl_realloc", "Argument[3]", "alloc-layout", "df-generated"] - ["std::alloc::__default_lib_allocator::__rdl_realloc", "Argument[3]", "alloc-size", "df-generated"] + - ["std::alloc::rust_oom", "Argument[0]", "log-injection", "df-generated"] - ["std::sys::fs::common::copy", "Argument[0]", "path-injection", "df-generated"] - ["std::sys::fs::common::copy", "Argument[1]", "path-injection", "df-generated"] - ["std::sys::fs::common::exists", "Argument[0]", "path-injection", "df-generated"] - ["std::sys::fs::common::remove_dir_all", "Argument[0]", "path-injection", "df-generated"] + - ["std::sys::fs::copy", "Argument[0]", "path-injection", "df-generated"] + - ["std::sys::fs::copy", "Argument[1]", "path-injection", "df-generated"] + - ["std::sys::fs::exists", "Argument[0]", "path-injection", "df-generated"] + - ["std::sys::fs::remove_dir_all", "Argument[0]", "path-injection", "df-generated"] - ["std::sys::fs::unix::copy", "Argument[0]", "path-injection", "df-generated"] + - ["std::sys::fs::unix::copy", "Argument[1]", "path-injection", "df-generated"] - ["std::sys::pal::unix::cvt_nz", "Argument[0]", "log-injection", "df-generated"] + - ["std::sys::personality::dwarf::eh::find_eh_action", "Argument[0]", "pointer-access", "df-generated"] - ["std::sys_common::wtf8::check_utf8_boundary", "Argument[1]", "log-injection", "df-generated"] - ["std::sys_common::wtf8::slice_error_fail", "Argument[0]", "log-injection", "df-generated"] - ["std::sys_common::wtf8::slice_error_fail", "Argument[1]", "log-injection", "df-generated"] - ["std::sys_common::wtf8::slice_error_fail", "Argument[2]", "log-injection", "df-generated"] + - ["stdarch-gen-arm::big_endian::create_assigned_shuffle_call", "Argument[0]", "alloc-layout", "df-generated"] + - ["stdarch-gen-arm::big_endian::create_assigned_shuffle_call", "Argument[1]", "alloc-layout", "df-generated"] + - ["stdarch-gen-arm::big_endian::create_assigned_shuffle_call", "Argument[1]", "log-injection", "df-generated"] + - ["stdarch-gen-arm::big_endian::create_shuffle_call", "Argument[0]", "alloc-layout", "df-generated"] + - ["stdarch-gen-arm::big_endian::create_shuffle_call", "Argument[1]", "alloc-layout", "df-generated"] + - ["stdarch-gen-arm::big_endian::create_shuffle_call", "Argument[1]", "log-injection", "df-generated"] + - ["stdarch-gen-arm::fn_suffix::make_neon_suffix", "Argument[0]", "log-injection", "df-generated"] - ["stdarch-gen-arm::fn_suffix::type_to_size", "Argument[0]", "log-injection", "df-generated"] - ["stdarch-gen-arm::load_store_tests::generate_load_store_tests", "Argument[2]", "path-injection", "df-generated"] - ["stdarch_test::assert", "Argument[1]", "log-injection", "df-generated"] @@ -6906,27 +9177,227 @@ extensions: pack: codeql/rust-all extensible: sourceModel data: - - ["::drop", "Argument[self]", "pointer-invalidate", "df-generated"] + - ["<*const as core::default::Default>::default", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["<*mut as core::default::Default>::default", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["<*mut>::drop_in_place", "Argument[self]", "pointer-invalidate", "df-generated"] + - ["<[]>::assume_init_drop", "Argument[self]", "pointer-invalidate", "df-generated"] - ["::new", "ReturnValue", "file", "df-generated"] - ["::new", "ReturnValue", "file", "df-generated"] + - ["::alloc", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["::alloc_zeroed", "ReturnValue", "pointer-invalidate", "df-generated"] - ["::dealloc", "Argument[0]", "pointer-invalidate", "df-generated"] + - ["::realloc", "Argument[0]", "pointer-invalidate", "df-generated"] + - ["::realloc", "ReturnValue", "pointer-invalidate", "df-generated"] - ["::new", "ReturnValue", "file", "df-generated"] + - ["::create_buffered", "ReturnValue", "file", "df-generated"] - ["::open_buffered", "ReturnValue", "file", "df-generated"] + - ["::only_v6", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::ttl", "ReturnValue", "constant-source", "df-generated"] + - ["::deferaccept", "ReturnValue", "constant-source", "df-generated"] + - ["::quickack", "ReturnValue", "constant-source", "df-generated"] + - ["::linger", "ReturnValue", "constant-source", "df-generated"] + - ["::nodelay", "ReturnValue", "constant-source", "df-generated"] + - ["::read_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::ttl", "ReturnValue", "constant-source", "df-generated"] + - ["::write_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::broadcast", "ReturnValue", "constant-source", "df-generated"] + - ["::multicast_loop_v4", "ReturnValue", "constant-source", "df-generated"] + - ["::multicast_loop_v6", "ReturnValue", "constant-source", "df-generated"] + - ["::multicast_ttl_v4", "ReturnValue", "constant-source", "df-generated"] + - ["::read_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::ttl", "ReturnValue", "constant-source", "df-generated"] + - ["::write_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::passcred", "ReturnValue", "constant-source", "df-generated"] + - ["::read_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::write_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::passcred", "ReturnValue", "constant-source", "df-generated"] + - ["::read_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::write_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::only_v6", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::ttl", "ReturnValue", "constant-source", "df-generated"] + - ["::connect_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::linger", "ReturnValue", "constant-source", "df-generated"] + - ["::nodelay", "ReturnValue", "constant-source", "df-generated"] + - ["::read_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::ttl", "ReturnValue", "constant-source", "df-generated"] + - ["::write_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::broadcast", "ReturnValue", "constant-source", "df-generated"] + - ["::multicast_loop_v4", "ReturnValue", "constant-source", "df-generated"] + - ["::multicast_loop_v6", "ReturnValue", "constant-source", "df-generated"] + - ["::multicast_ttl_v4", "ReturnValue", "constant-source", "df-generated"] + - ["::read_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::ttl", "ReturnValue", "constant-source", "df-generated"] + - ["::write_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::connect_timeout", "ReturnValue", "constant-source", "df-generated"] + - ["::deferaccept", "ReturnValue", "constant-source", "df-generated"] + - ["::linger", "ReturnValue", "constant-source", "df-generated"] + - ["::nodelay", "ReturnValue", "constant-source", "df-generated"] + - ["::passcred", "ReturnValue", "constant-source", "df-generated"] + - ["::quickack", "ReturnValue", "constant-source", "df-generated"] + - ["::take_error", "ReturnValue", "constant-source", "df-generated"] + - ["::timeout", "ReturnValue", "constant-source", "df-generated"] - ["::get", "ReturnValue", "pointer-invalidate", "df-generated"] - ["::get_or_init", "ReturnValue", "pointer-invalidate", "df-generated"] - - ["as_if_std::the_backtrace_crate::symbolize::gimli::parse_running_mmaps::parse_maps", "ReturnValue", "file", "df-generated"] - - ["backtrace::symbolize::gimli::parse_running_mmaps::parse_maps", "ReturnValue", "file", "df-generated"] - - ["core::intrinsics::drop_in_place", "Argument[0]", "pointer-invalidate", "df-generated"] + - ["core::core_arch::x86::avx2::_mm256_alignr_epi8", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx2::_mm256_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx2::_mm256_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx2::_mm256_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx2::_mm256_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx2::_mm256_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx2::_mm256_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512bw::_mm256_maskz_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512bw::_mm512_alignr_epi8", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512bw::_mm512_maskz_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512bw::_mm512_maskz_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512bw::_mm512_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512bw::_mm512_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512bw::_mm_maskz_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm256_maskz_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm256_maskz_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm256_maskz_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm256_maskz_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_maskz_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_maskz_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_maskz_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_maskz_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_setzero", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_setzero_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_setzero_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_setzero_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_setzero_si512", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_undefined", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_undefined_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_undefined_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm512_undefined_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm_maskz_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm_maskz_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm_maskz_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx512f::_mm_maskz_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_loadu_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_loadu_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_loadu_si256", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_setzero_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_setzero_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_setzero_si256", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_undefined_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_undefined_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::avx::_mm256_undefined_si256", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_loadu_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_loadu_si128", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_setzero_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_setzero_si128", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_undefined_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse2::_mm_undefined_si128", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse::_mm_loadu_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse::_mm_setzero_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::sse::_mm_undefined_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core::core_arch::x86::ssse3::_mm_alignr_epi8", "ReturnValue", "constant-source", "df-generated"] + - ["core::intrinsics::const_allocate", "ReturnValue", "pointer-invalidate", "df-generated"] - ["core::ptr::dangling", "ReturnValue", "pointer-invalidate", "df-generated"] - ["core::ptr::drop_in_place", "Argument[0]", "pointer-invalidate", "df-generated"] - - ["intrinsic-test::json_parser::get_neon_intrinsics", "ReturnValue", "file", "df-generated"] + - ["core_arch::core_arch::x86::avx2::_mm256_alignr_epi8", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx2::_mm256_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx2::_mm256_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx2::_mm256_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx2::_mm256_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx2::_mm256_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx2::_mm256_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512bw::_mm256_maskz_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512bw::_mm512_alignr_epi8", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512bw::_mm512_maskz_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512bw::_mm512_maskz_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512bw::_mm512_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512bw::_mm512_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512bw::_mm_maskz_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm256_maskz_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm256_maskz_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm256_maskz_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm256_maskz_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_maskz_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_maskz_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_maskz_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_maskz_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_setzero", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_setzero_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_setzero_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_setzero_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_setzero_si512", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_undefined", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_undefined_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_undefined_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm512_undefined_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm_maskz_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm_maskz_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm_maskz_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx512f::_mm_maskz_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_loadu_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_loadu_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_loadu_si256", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_setzero_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_setzero_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_setzero_si256", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_undefined_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_undefined_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::avx::_mm256_undefined_si256", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_loadu_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_loadu_si128", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_setzero_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_setzero_si128", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_slli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_slli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_slli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_srli_epi16", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_srli_epi32", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_srli_epi64", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_undefined_pd", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse2::_mm_undefined_si128", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse::_mm_loadu_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse::_mm_setzero_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::sse::_mm_undefined_ps", "ReturnValue", "constant-source", "df-generated"] + - ["core_arch::core_arch::x86::ssse3::_mm_alignr_epi8", "ReturnValue", "constant-source", "df-generated"] + - ["intrinsic-test::arm::json_parser::get_neon_intrinsics", "ReturnValue", "file", "df-generated"] + - ["std::alloc::__default_lib_allocator::__rdl_alloc", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["std::alloc::__default_lib_allocator::__rdl_alloc_zeroed", "ReturnValue", "pointer-invalidate", "df-generated"] - ["std::alloc::__default_lib_allocator::__rdl_dealloc", "Argument[0]", "pointer-invalidate", "df-generated"] - - ["std::backtrace_rs::symbolize::gimli::parse_running_mmaps::parse_maps", "ReturnValue", "file", "df-generated"] + - ["std::alloc::__default_lib_allocator::__rdl_realloc", "Argument[0]", "pointer-invalidate", "df-generated"] + - ["std::alloc::__default_lib_allocator::__rdl_realloc", "ReturnValue", "pointer-invalidate", "df-generated"] + - ["std::env::temp_dir", "ReturnValue", "environment", "df-generated"] - ["std::fs::copy", "ReturnValue", "file", "df-generated"] - ["std::fs::read", "ReturnValue", "file", "df-generated"] - ["std::fs::read_to_string", "ReturnValue", "file", "df-generated"] + - ["std::fs::remove_dir_all", "ReturnValue", "file", "df-generated"] + - ["std::fs::write", "ReturnValue", "file", "df-generated"] - ["std::path::absolute", "ReturnValue", "commandargs", "df-generated"] - ["std::sys::fs::common::copy", "ReturnValue", "file", "df-generated"] + - ["std::sys::fs::common::remove_dir_all", "ReturnValue", "file", "df-generated"] + - ["std::sys::fs::copy", "ReturnValue", "file", "df-generated"] + - ["std::sys::fs::remove_dir_all", "ReturnValue", "file", "df-generated"] - ["std::sys::fs::unix::copy", "ReturnValue", "file", "df-generated"] + - ["std::sys::pal::unix::os::temp_dir", "ReturnValue", "environment", "df-generated"] - ["std::sys::pal::unix::thread::cgroups::quota", "ReturnValue", "file", "df-generated"] - ["std::sys::path::unix::absolute", "ReturnValue", "commandargs", "df-generated"] + - ["stdarch-gen-arm::load_store_tests::generate_load_store_tests", "ReturnValue", "file", "df-generated"] + - ["stdarch-gen-loongarch::main", "ReturnValue", "file", "df-generated"] diff --git a/rust/ql/lib/ext/generated/serde.model.yml b/rust/ql/lib/ext/generated/serde.model.yml index 68946771143..76396e07320 100644 --- a/rust/ql/lib/ext/generated/serde.model.yml +++ b/rust/ql/lib/ext/generated/serde.model.yml @@ -4,12 +4,35 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["<& as serde::__private::de::IdentifierDeserializer>::from", "Argument[self]", "ReturnValue.Field[serde::__private::de::StrDeserializer::value]", "value", "dfc-generated"] + - ["<& as serde::__private::de::IdentifierDeserializer>::from", "Argument[self]", "ReturnValue.Field[serde::de::value::BytesDeserializer::value]", "value", "dfc-generated"] + - ["<& as serde::de::IntoDeserializer>::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::__private::de::content::ContentRefDeserializer::content]", "value", "dfc-generated"] + - ["<& as serde::de::IntoDeserializer>::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::BytesDeserializer::value]", "value", "dfc-generated"] + - ["<& as serde::de::IntoDeserializer>::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::StrDeserializer::value]", "value", "dfc-generated"] + - ["<(,,) as serde::de::value::private::Pair>::split", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::CowStrDeserializer::value]", "value", "dfc-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::StringDeserializer::value]", "value", "dfc-generated"] - - ["::from", "Argument[self].Field[0]", "ReturnValue.Field[serde::__private::de::BorrowedStrDeserializer::value]", "value", "dfc-generated"] - - ["::from", "Argument[self].Field[0]", "ReturnValue.Field[serde::de::value::BorrowedBytesDeserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::BoolDeserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::CharDeserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::F32Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::F64Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::I128Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::I16Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::I32Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::I64Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::I8Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::IsizeDeserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::U128Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::U16Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::U32Deserializer::value]", "value", "dfc-generated"] + - ["::from", "Argument[self]", "ReturnValue.Field[serde::de::value::U64Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::U64Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::U8Deserializer::value]", "value", "dfc-generated"] + - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::de::value::UsizeDeserializer::value]", "value", "dfc-generated"] - ["::from", "Argument[self].Field[serde::__private::de::Borrowed(0)]", "ReturnValue.Field[serde::__private::de::BorrowedStrDeserializer::value]", "value", "dfc-generated"] - ["::from", "Argument[self].Field[serde::__private::de::Borrowed(0)]", "ReturnValue.Field[serde::de::value::BorrowedBytesDeserializer::value]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue.Field[serde::__private::de::content::ContentDeserializer::content]", "value", "dfc-generated"] - ["::as_str", "Argument[self].Reference.Field[serde::__private::de::content::Content::Str(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::as_str", "Argument[self].Reference.Field[serde::__private::de::content::Content::String(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] @@ -17,7 +40,7 @@ extensions: - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::__private::de::content::ContentDeserializer::content]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::__deserialize_content", "Argument[self].Field[serde::__private::de::content::ContentRefDeserializer::content].Reference", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::__deserialize_content", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::__private::de::content::ContentRefDeserializer::content]", "value", "dfc-generated"] - ["::visit_bool", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::de::content::Content::Bool(0)]", "value", "dfc-generated"] @@ -44,14 +67,10 @@ extensions: - ["::new", "Argument[1]", "ReturnValue.Field[serde::__private::de::content::TaggedContentVisitor::expecting]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::__private::de::content::UntaggedUnitVisitor::type_name]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[serde::__private::de::content::UntaggedUnitVisitor::variant_name]", "value", "dfc-generated"] - - ["::serialize_map", "Argument[self].Field[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeMap(0)]", "value", "dfc-generated"] - ["::serialize_map", "Argument[self].Field[serde::__private::ser::FlatMapSerializer(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeMap(0)]", "value", "dfc-generated"] - - ["::serialize_struct", "Argument[self].Field[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeStruct(0)]", "value", "dfc-generated"] - ["::serialize_struct", "Argument[self].Field[serde::__private::ser::FlatMapSerializer(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeStruct(0)]", "value", "dfc-generated"] - ["::serialize_struct_variant", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeStructVariantAsMapValue::name]", "value", "dfc-generated"] - - ["::serialize_struct_variant", "Argument[self].Field[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeStructVariantAsMapValue::map]", "value", "dfc-generated"] - ["::serialize_struct_variant", "Argument[self].Field[serde::__private::ser::FlatMapSerializer(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeStructVariantAsMapValue::map]", "value", "dfc-generated"] - - ["::serialize_tuple_variant", "Argument[self].Field[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeTupleVariantAsMapValue::map]", "value", "dfc-generated"] - ["::serialize_tuple_variant", "Argument[self].Field[serde::__private::ser::FlatMapSerializer(0)]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::FlatMapSerializeTupleVariantAsMapValue::map]", "value", "dfc-generated"] - ["::serialize_struct_variant", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeStructVariantAsMapValue::name]", "value", "dfc-generated"] - ["::serialize_tuple_variant", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeTupleVariantAsMapValue::name]", "value", "dfc-generated"] @@ -67,6 +86,14 @@ extensions: - ["::serialize_newtype_variant", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::Content::NewtypeVariant(0)]", "value", "dfc-generated"] - ["::serialize_newtype_variant", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::Content::NewtypeVariant(1)]", "value", "dfc-generated"] - ["::serialize_newtype_variant", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::Content::NewtypeVariant(2)]", "value", "dfc-generated"] + - ["::serialize_struct", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeStruct::name]", "value", "dfc-generated"] + - ["::serialize_struct_variant", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeStructVariant::name]", "value", "dfc-generated"] + - ["::serialize_struct_variant", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeStructVariant::variant_index]", "value", "dfc-generated"] + - ["::serialize_struct_variant", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeStructVariant::variant]", "value", "dfc-generated"] + - ["::serialize_tuple_struct", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeTupleStruct::name]", "value", "dfc-generated"] + - ["::serialize_tuple_variant", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeTupleVariant::name]", "value", "dfc-generated"] + - ["::serialize_tuple_variant", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeTupleVariant::variant_index]", "value", "dfc-generated"] + - ["::serialize_tuple_variant", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::SerializeTupleVariant::variant]", "value", "dfc-generated"] - ["::serialize_u16", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::Content::U16(0)]", "value", "dfc-generated"] - ["::serialize_u32", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::Content::U32(0)]", "value", "dfc-generated"] - ["::serialize_u64", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[serde::__private::ser::content::Content::U64(0)]", "value", "dfc-generated"] @@ -88,171 +115,202 @@ extensions: - ["::end", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::__private::ser::content::SerializeTupleVariantAsMapValue::map]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[serde::__private::ser::content::SerializeTupleVariantAsMapValue::name]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::visit_bool", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::visit_borrowed_bytes", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::visit_borrowed_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::visit_char", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::visit_byte_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::visit_bytes", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::visit_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::visit_str", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::visit_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::visit_borrowed_bytes", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::visit_borrowed_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::visit_borrowed_str", "Argument[0].Reference", "ReturnValue.Field[core::result::Result::Ok(0)].Reference", "value", "dfc-generated"] - ["::visit_borrowed_str", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::visit_borrowed_bytes", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::visit_borrowed_bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::visit_borrowed_str", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::visit_byte_buf", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::visit_string", "Argument[0]", "Argument[self].Field[0].Reference", "value", "dfc-generated"] - ["::visit_string", "Argument[0]", "Argument[self].Field[serde::de::impls::StringInPlaceVisitor(0)].Reference", "value", "dfc-generated"] - ["::visit_byte_buf", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["::visit_string", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::BoolDeserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::BorrowedBytesDeserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::BorrowedStrDeserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::BytesDeserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::CharDeserializer::value]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[serde::de::value::CowStrDeserializer::value].Field[alloc::borrow::Cow::Borrowed(0)]", "ReturnValue.Field[serde::de::value::CowStrDeserializer::value].Field[alloc::borrow::Cow::Borrowed(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[serde::de::value::CowStrDeserializer::value].Reference", "ReturnValue.Field[serde::de::value::CowStrDeserializer::value]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[serde::de::value::CowStrDeserializer::value]", "ReturnValue.Field[serde::de::value::CowStrDeserializer::value]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[serde::de::value::CowStrDeserializer::value]", "ReturnValue.Field[serde::de::value::CowStrDeserializer::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::CowStrDeserializer::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::EnumAccessDeserializer::access]", "value", "dfc-generated"] - - ["::description", "Argument[self].Field[serde::de::value::Error::err]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[serde::de::value::Error::err]", "ReturnValue.Field[serde::de::value::Error::err]", "value", "dfc-generated"] + - ["::description", "Argument[self].Reference.Field[serde::de::value::Error::err]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::F32Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::F64Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::I128Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::I16Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::I32Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::I64Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::I8Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::IsizeDeserializer::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::MapAccessDeserializer::map]", "value", "dfc-generated"] - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::deserialize_any", "Argument[self].Field[serde::de::value::NeverDeserializer::never]", "ReturnValue", "value", "dfc-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::SeqAccessDeserializer::seq]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::StrDeserializer::value]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[serde::de::value::StringDeserializer::value].Field[alloc::string::String::vec]", "ReturnValue.Field[serde::de::value::StringDeserializer::value].Field[alloc::string::String::vec]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[serde::de::value::StringDeserializer::value].Reference", "ReturnValue.Field[serde::de::value::StringDeserializer::value]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[serde::de::value::StringDeserializer::value]", "ReturnValue.Field[serde::de::value::StringDeserializer::value]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[serde::de::value::StringDeserializer::value]", "ReturnValue.Field[serde::de::value::StringDeserializer::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::StringDeserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::U128Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::U16Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::U32Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::U64Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::U8Deserializer::value]", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_deserializer", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::de::value::UsizeDeserializer::value]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[serde::format::Buf::bytes]", "value", "dfc-generated"] - ["::as_ref", "Argument[self].Field[serde_derive::fragment::Fragment::Block(0)]", "ReturnValue", "value", "dfc-generated"] - ["::as_ref", "Argument[self].Field[serde_derive::fragment::Fragment::Expr(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from_ast", "Argument[1].Field[syn::derive::DeriveInput::ident].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Field[serde_derive::internals::ast::Container::ident]", "value", "dfc-generated"] - - ["::from_ast", "Argument[1].Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[core::option::Option::Some(0)].Field[serde_derive::internals::ast::Container::ident]", "value", "dfc-generated"] + - ["::from_ast", "Argument[1].Reference.Field[syn::derive::DeriveInput::ident]", "ReturnValue.Field[core::option::Option::Some(0)].Field[serde_derive::internals::ast::Container::ident]", "value", "dfc-generated"] - ["::from_ast", "Argument[1]", "ReturnValue.Field[core::option::Option::Some(0)].Field[serde_derive::internals::ast::Container::original]", "value", "dfc-generated"] - ["::get", "Argument[self].Field[serde_derive::internals::attr::Attr::value]", "ReturnValue", "value", "dfc-generated"] - - ["::custom_serde_path", "Argument[self].Field[serde_derive::internals::attr::Container::serde_path].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::de_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::default", "Argument[self].Field[serde_derive::internals::attr::Container::default]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deny_unknown_fields", "Argument[self].Field[serde_derive::internals::attr::Container::deny_unknown_fields]", "ReturnValue", "value", "dfc-generated"] - - ["::expecting", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::identifier", "Argument[self].Field[serde_derive::internals::attr::Container::identifier]", "ReturnValue", "value", "dfc-generated"] - - ["::is_packed", "Argument[self].Field[serde_derive::internals::attr::Container::is_packed]", "ReturnValue", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[serde_derive::internals::attr::Container::name]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::non_exhaustive", "Argument[self].Field[serde_derive::internals::attr::Container::non_exhaustive]", "ReturnValue", "value", "dfc-generated"] - - ["::remote", "Argument[self].Field[serde_derive::internals::attr::Container::remote].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::rename_all_fields_rules", "Argument[self].Field[serde_derive::internals::attr::Container::rename_all_fields_rules]", "ReturnValue", "value", "dfc-generated"] - - ["::rename_all_rules", "Argument[self].Field[serde_derive::internals::attr::Container::rename_all_rules]", "ReturnValue", "value", "dfc-generated"] - - ["::ser_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::tag", "Argument[self].Field[serde_derive::internals::attr::Container::tag]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::transparent", "Argument[self].Field[serde_derive::internals::attr::Container::transparent]", "ReturnValue", "value", "dfc-generated"] - - ["::type_from", "Argument[self].Field[serde_derive::internals::attr::Container::type_from].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::type_into", "Argument[self].Field[serde_derive::internals::attr::Container::type_into].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::type_try_from", "Argument[self].Field[serde_derive::internals::attr::Container::type_try_from].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::aliases", "Argument[self].Field[serde_derive::internals::attr::Field::name].Field[serde_derive::internals::name::MultiName::deserialize_aliases]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrowed_lifetimes", "Argument[self].Field[serde_derive::internals::attr::Field::borrowed_lifetimes]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::de_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::default", "Argument[self].Field[serde_derive::internals::attr::Field::default]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deserialize_with", "Argument[self].Field[serde_derive::internals::attr::Field::deserialize_with].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::flatten", "Argument[self].Field[serde_derive::internals::attr::Field::flatten]", "ReturnValue", "value", "dfc-generated"] - - ["::getter", "Argument[self].Field[serde_derive::internals::attr::Field::getter].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[serde_derive::internals::attr::Field::name]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::ser_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::serialize_with", "Argument[self].Field[serde_derive::internals::attr::Field::serialize_with].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::skip_deserializing", "Argument[self].Field[serde_derive::internals::attr::Field::skip_deserializing]", "ReturnValue", "value", "dfc-generated"] - - ["::skip_serializing", "Argument[self].Field[serde_derive::internals::attr::Field::skip_serializing]", "ReturnValue", "value", "dfc-generated"] - - ["::skip_serializing_if", "Argument[self].Field[serde_derive::internals::attr::Field::skip_serializing_if].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::transparent", "Argument[self].Field[serde_derive::internals::attr::Field::transparent]", "ReturnValue", "value", "dfc-generated"] + - ["::custom_serde_path", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::default", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::default]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deny_unknown_fields", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::deny_unknown_fields]", "ReturnValue", "value", "dfc-generated"] + - ["::from_ast", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::identifier", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::identifier]", "ReturnValue", "value", "dfc-generated"] + - ["::is_packed", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::is_packed]", "ReturnValue", "value", "dfc-generated"] + - ["::name", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::name]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::non_exhaustive", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::non_exhaustive]", "ReturnValue", "value", "dfc-generated"] + - ["::remote", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::rename_all_fields_rules", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::rename_all_fields_rules]", "ReturnValue", "value", "dfc-generated"] + - ["::rename_all_rules", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::rename_all_rules]", "ReturnValue", "value", "dfc-generated"] + - ["::tag", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::tag]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::transparent", "Argument[self].Reference.Field[serde_derive::internals::attr::Container::transparent]", "ReturnValue", "value", "dfc-generated"] + - ["::type_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::type_into", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::type_try_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::aliases", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::borrowed_lifetimes", "Argument[self].Reference.Field[serde_derive::internals::attr::Field::borrowed_lifetimes]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::default", "Argument[self].Reference.Field[serde_derive::internals::attr::Field::default]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deserialize_with", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::flatten", "Argument[self].Reference.Field[serde_derive::internals::attr::Field::flatten]", "ReturnValue", "value", "dfc-generated"] + - ["::from_ast", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::getter", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::name", "Argument[self].Reference.Field[serde_derive::internals::attr::Field::name]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::serialize_with", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::skip_deserializing", "Argument[self].Reference.Field[serde_derive::internals::attr::Field::skip_deserializing]", "ReturnValue", "value", "dfc-generated"] + - ["::skip_serializing", "Argument[self].Reference.Field[serde_derive::internals::attr::Field::skip_serializing]", "ReturnValue", "value", "dfc-generated"] + - ["::skip_serializing_if", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::transparent", "Argument[self].Reference.Field[serde_derive::internals::attr::Field::transparent]", "ReturnValue", "value", "dfc-generated"] - ["::or", "Argument[0].Field[serde_derive::internals::attr::RenameAllRules::deserialize]", "ReturnValue.Field[serde_derive::internals::attr::RenameAllRules::deserialize]", "value", "dfc-generated"] - ["::or", "Argument[0].Field[serde_derive::internals::attr::RenameAllRules::serialize]", "ReturnValue.Field[serde_derive::internals::attr::RenameAllRules::serialize]", "value", "dfc-generated"] - ["::or", "Argument[self].Field[serde_derive::internals::attr::RenameAllRules::deserialize]", "ReturnValue.Field[serde_derive::internals::attr::RenameAllRules::deserialize]", "value", "dfc-generated"] - ["::or", "Argument[self].Field[serde_derive::internals::attr::RenameAllRules::serialize]", "ReturnValue.Field[serde_derive::internals::attr::RenameAllRules::serialize]", "value", "dfc-generated"] - - ["::aliases", "Argument[self].Field[serde_derive::internals::attr::Variant::name].Field[serde_derive::internals::name::MultiName::deserialize_aliases]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::de_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deserialize_with", "Argument[self].Field[serde_derive::internals::attr::Variant::deserialize_with].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::name", "Argument[self].Field[serde_derive::internals::attr::Variant::name]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::other", "Argument[self].Field[serde_derive::internals::attr::Variant::other]", "ReturnValue", "value", "dfc-generated"] - - ["::rename_all_rules", "Argument[self].Field[serde_derive::internals::attr::Variant::rename_all_rules]", "ReturnValue", "value", "dfc-generated"] - - ["::ser_bound", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::serialize_with", "Argument[self].Field[serde_derive::internals::attr::Variant::serialize_with].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::skip_deserializing", "Argument[self].Field[serde_derive::internals::attr::Variant::skip_deserializing]", "ReturnValue", "value", "dfc-generated"] - - ["::skip_serializing", "Argument[self].Field[serde_derive::internals::attr::Variant::skip_serializing]", "ReturnValue", "value", "dfc-generated"] - - ["::untagged", "Argument[self].Field[serde_derive::internals::attr::Variant::untagged]", "ReturnValue", "value", "dfc-generated"] + - ["::aliases", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deserialize_with", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_ast", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::name", "Argument[self].Reference.Field[serde_derive::internals::attr::Variant::name]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::other", "Argument[self].Reference.Field[serde_derive::internals::attr::Variant::other]", "ReturnValue", "value", "dfc-generated"] + - ["::rename_all_rules", "Argument[self].Reference.Field[serde_derive::internals::attr::Variant::rename_all_rules]", "ReturnValue", "value", "dfc-generated"] + - ["::serialize_with", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::skip_deserializing", "Argument[self].Reference.Field[serde_derive::internals::attr::Variant::skip_deserializing]", "ReturnValue", "value", "dfc-generated"] + - ["::skip_serializing", "Argument[self].Reference.Field[serde_derive::internals::attr::Variant::skip_serializing]", "ReturnValue", "value", "dfc-generated"] + - ["::untagged", "Argument[self].Reference.Field[serde_derive::internals::attr::Variant::untagged]", "ReturnValue", "value", "dfc-generated"] - ["::get", "Argument[self].Field[serde_derive::internals::attr::VecAttr::values]", "ReturnValue", "value", "dfc-generated"] - - ["::apply_to_field", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::apply_to_variant", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_str", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[serde_derive::internals::case::ParseError::unknown]", "value", "dfc-generated"] - ["::or", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::or", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deserialize_aliases", "Argument[self].Field[serde_derive::internals::name::MultiName::deserialize_aliases]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deserialize_name", "Argument[self].Field[serde_derive::internals::name::MultiName::deserialize]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_attrs", "Argument[0].Reference", "ReturnValue.Field[serde_derive::internals::name::MultiName::serialize]", "value", "dfc-generated"] + - ["::deserialize_aliases", "Argument[self].Reference.Field[serde_derive::internals::name::MultiName::deserialize_aliases]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deserialize_name", "Argument[self].Reference.Field[serde_derive::internals::name::MultiName::deserialize]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from_attrs", "Argument[0]", "ReturnValue.Field[serde_derive::internals::name::MultiName::deserialize]", "value", "dfc-generated"] - - ["::from_attrs", "Argument[0]", "ReturnValue.Field[serde_derive::internals::name::MultiName::serialize]", "value", "dfc-generated"] - ["::from_attrs", "Argument[1].Field[serde_derive::internals::attr::Attr::value].Field[core::option::Option::Some(0)]", "ReturnValue.Field[serde_derive::internals::name::MultiName::serialize]", "value", "dfc-generated"] - ["::from_attrs", "Argument[2].Field[serde_derive::internals::attr::Attr::value].Field[core::option::Option::Some(0)]", "ReturnValue.Field[serde_derive::internals::name::MultiName::deserialize]", "value", "dfc-generated"] - - ["::serialize_name", "Argument[self].Field[serde_derive::internals::name::MultiName::serialize]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::serialize_name", "Argument[self].Reference.Field[serde_derive::internals::name::MultiName::serialize]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[serde_derive::internals::name::Name::span]", "ReturnValue.Field[serde_derive::internals::name::Name::span]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[serde_derive::internals::name::Name::value]", "ReturnValue.Field[serde_derive::internals::name::Name::value]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["serde::__private::ser::constrain", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["serde::de::size_hint::cautious", "Argument[0].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - ["serde::de::value::private::map_as_enum", "Argument[0]", "ReturnValue.Field[serde::de::value::private::MapAsEnum::map]", "value", "dfc-generated"] @@ -262,9 +320,43 @@ extensions: - ["serde_derive::bound::with_where_predicates", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["serde_derive::bound::with_where_predicates_from_fields", "Argument[1].Reference", "ReturnValue", "value", "dfc-generated"] - ["serde_derive::bound::with_where_predicates_from_variants", "Argument[1].Reference", "ReturnValue", "value", "dfc-generated"] + - ["serde_derive::internals::ungroup", "Argument[0].Field[syn::ty::Type::Group(0)].Field[syn::ty::TypeGroup::elem]", "ReturnValue.Reference", "value", "dfc-generated"] - ["serde_derive::internals::ungroup", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["serde_derive::this::this_type", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["serde_derive::this::this_value", "Argument[0]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: - - ["::serialize_map", "Argument[0]", "pointer-access", "df-generated"] + - ["::into_deserializer", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_any", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_byte_buf", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_bytes", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_enum", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_map", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_seq", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_struct", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_tuple", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_tuple_struct", "Argument[self]", "pointer-access", "df-generated"] + - ["::deserialize_unit_struct", "Argument[self]", "pointer-access", "df-generated"] + - ["::struct_variant", "Argument[self]", "pointer-access", "df-generated"] + - ["::tuple_variant", "Argument[self]", "pointer-access", "df-generated"] + - ["::serialize_map", "Argument[0]", "alloc-layout", "df-generated"] + - ["::serialize_map", "Argument[0]", "log-injection", "df-generated"] + - ["::serialize_struct_variant", "Argument[3]", "alloc-layout", "df-generated"] + - ["::serialize_tuple_variant", "Argument[3]", "alloc-layout", "df-generated"] + - ["::serialize_map", "Argument[0]", "alloc-layout", "df-generated"] + - ["::serialize_seq", "Argument[0]", "alloc-layout", "df-generated"] + - ["::serialize_struct", "Argument[1]", "alloc-layout", "df-generated"] + - ["::serialize_struct_variant", "Argument[3]", "alloc-layout", "df-generated"] + - ["::serialize_tuple", "Argument[0]", "alloc-layout", "df-generated"] + - ["::serialize_tuple_struct", "Argument[1]", "alloc-layout", "df-generated"] + - ["::serialize_tuple_variant", "Argument[3]", "alloc-layout", "df-generated"] + - ["::new", "Argument[2]", "alloc-layout", "df-generated"] + - ["::new", "Argument[2]", "alloc-layout", "df-generated"] + - ["::visit_str", "Argument[0]", "alloc-layout", "df-generated"] + - ["::visit_str", "Argument[0]", "log-injection", "df-generated"] + - ["::visit_str", "Argument[0]", "pointer-access", "df-generated"] + - ["::visit_string", "Argument[0]", "alloc-layout", "df-generated"] + - ["::visit_string", "Argument[0]", "log-injection", "df-generated"] + - ["::visit_string", "Argument[0]", "pointer-access", "df-generated"] diff --git a/rust/ql/lib/ext/generated/smallvec.model.yml b/rust/ql/lib/ext/generated/smallvec.model.yml index 9e78c1e496d..440a671abad 100644 --- a/rust/ql/lib/ext/generated/smallvec.model.yml +++ b/rust/ql/lib/ext/generated/smallvec.model.yml @@ -4,40 +4,41 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["::from_elem", "Argument[0]", "ReturnValue.Element", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::size_hint", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::drop", "Argument[self].Field[smallvec::SetLenOnDrop::local_len]", "Argument[self].Field[smallvec::SetLenOnDrop::len].Reference", "value", "dfc-generated"] - ["::borrow", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::borrow_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[alloc::vec::Vec::len]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - ["::as_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::as_ref", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[alloc::vec::Vec::len]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::index_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_iter", "Argument[self].Field[smallvec::SmallVec::capacity]", "ReturnValue.Field[smallvec::IntoIter::end]", "value", "dfc-generated"] + - ["::into_iter", "Argument[self]", "ReturnValue.Field[smallvec::IntoIter::data]", "value", "dfc-generated"] - ["::as_mut_slice", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::as_slice", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::capacity", "Argument[self].Field[smallvec::SmallVec::capacity]", "ReturnValue", "value", "dfc-generated"] - - ["::drain", "Argument[self].Field[smallvec::SmallVec::capacity]", "ReturnValue.Field[smallvec::Drain::tail_start]", "value", "dfc-generated"] + - ["::capacity", "Argument[self].Reference.Field[smallvec::SmallVec::capacity]", "ReturnValue", "value", "dfc-generated"] + - ["::drain", "Argument[self].Reference.Field[smallvec::SmallVec::capacity]", "ReturnValue.Field[smallvec::Drain::tail_start]", "value", "dfc-generated"] - ["::drain_filter", "Argument[0]", "ReturnValue.Field[smallvec::DrainFilter::pred]", "value", "dfc-generated"] - - ["::drain_filter", "Argument[self].Field[smallvec::SmallVec::capacity]", "ReturnValue.Field[smallvec::DrainFilter::old_len]", "value", "dfc-generated"] + - ["::drain_filter", "Argument[self].Reference.Field[smallvec::SmallVec::capacity]", "ReturnValue.Field[smallvec::DrainFilter::old_len]", "value", "dfc-generated"] - ["::drain_filter", "Argument[self]", "ReturnValue.Field[smallvec::DrainFilter::vec]", "value", "dfc-generated"] - ["::from_buf_and_len", "Argument[1]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - ["::from_buf_and_len_unchecked", "Argument[1]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - ["::from_const_with_len_unchecked", "Argument[1]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - ["::from_raw_parts", "Argument[2]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - ["::from_vec", "Argument[0].Field[alloc::vec::Vec::len]", "ReturnValue.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - - ["::grow", "Argument[0]", "Argument[self].Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] + - ["::grow", "Argument[0]", "Argument[self].Reference.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - ["::into_inner", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[smallvec::SmallVec::capacity]", "ReturnValue", "value", "dfc-generated"] - - ["::retain", "Argument[self].Element", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - - ["::retain_mut", "Argument[self].Element", "Argument[0].Parameter[0].Reference", "value", "dfc-generated"] - - ["::try_grow", "Argument[0]", "Argument[self].Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[smallvec::tests::MockHintIter::x].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[smallvec::tests::MockHintIter::hint]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[smallvec::tests::insert_many_panic::BadIter::hint]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::into_vec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Reference.Field[smallvec::SmallVec::capacity]", "ReturnValue", "value", "dfc-generated"] + - ["::try_grow", "Argument[0]", "Argument[self].Reference.Field[smallvec::SmallVec::capacity]", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[smallvec::tests::MockHintIter::hint]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[smallvec::tests::insert_many_panic::BadIter::hint]", "ReturnValue.Field[0]", "value", "dfc-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel @@ -47,8 +48,3 @@ extensions: - ["::remove", "Argument[0]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] - ["::into_inner", "Argument[self]", "pointer-access", "df-generated"] - - addsTo: - pack: codeql/rust-all - extensible: sourceModel - data: - - ["::drop", "Argument[self]", "pointer-invalidate", "df-generated"] diff --git a/rust/ql/lib/ext/generated/tokio.model.yml b/rust/ql/lib/ext/generated/tokio.model.yml index 98c9fb5f33f..0b84eee4435 100644 --- a/rust/ql/lib/ext/generated/tokio.model.yml +++ b/rust/ql/lib/ext/generated/tokio.model.yml @@ -4,39 +4,351 @@ extensions: pack: codeql/rust-all extensible: summaryModel data: + - ["<& as std::io::Read>::read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Seek>::seek", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as std::io::Write>::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["<& as tokio::io::async_buf_read::AsyncBufRead>::poll_fill_buf", "Argument[self].Field[core::pin::Pin::pointer].Field[alloc::boxed::Box(0)]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["<& as tokio::io::async_buf_read::AsyncBufRead>::poll_fill_buf", "Argument[self].Field[core::pin::Pin::pointer].Reference", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["<& as tokio::sync::task::atomic_waker::WakerRef>::into_waker", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"] + - ["<&mut as tokio::runtime::scheduler::lock::Lock>::lock", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[async_send_sync::NN::_value].Field[alloc::rc::Rc::alloc]", "ReturnValue.Field[async_send_sync::NN::_value].Field[alloc::rc::Rc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[async_send_sync::NN::_value].Field[alloc::rc::Rc::ptr]", "ReturnValue.Field[async_send_sync::NN::_value].Field[alloc::rc::Rc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[async_send_sync::NN::_value]", "ReturnValue.Field[async_send_sync::NN::_value]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[async_send_sync::YN::_value]", "ReturnValue.Field[async_send_sync::YN::_value]", "value", "dfc-generated"] - ["::extend", "Argument[2].Field[core::result::Result::Err(0)]", "Argument[1].Reference.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["::into_waker", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[tokio::runtime::scheduler::multi_thread::idle::State(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::is_write_vectored", "Argument[self].Field[io_buf_writer::MockWriter::vectored]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[io_buf_writer::support::io_vec::IoBufs(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_write_vectored", "Argument[self].Reference.Field[io_buf_writer::MockWriter::vectored]", "ReturnValue", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[io_buf_writer::support::io_vec::IoBufs(0)]", "ReturnValue", "value", "dfc-generated"] - ["::advance", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[io_buf_writer::support::io_vec::IoBufs(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_read", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_read", "Argument[self]", "Argument[1]", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[length_delimited::Op::Data(0)]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[net_unix_pipe::TempFifo::path]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[net_unix_pipe::TempFifo::path]", "ReturnValue", "value", "dfc-generated"] - - ["::poll_complete", "Argument[self].Field[core::pin::Pin::__pointer].Field[std::io::cursor::Cursor::pos]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[net_unix_pipe::TempFifo::path]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::poll_next", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[tokio::io::async_fd::AsyncFdTryNewError::cause]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[tokio::runtime::blocking::pool::SpawnError::NoThreads(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue", "value", "dfc-generated"] - ["::from", "Argument[0].Field[tokio::net::unix::socketaddr::SocketAddr(0)]", "ReturnValue", "value", "dfc-generated"] - ["::id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0].Field[tokio::time::instant::Instant::std]", "ReturnValue", "value", "dfc-generated"] - - ["::mode", "Argument[0]", "Argument[self].Field[tokio::fs::dir_builder::DirBuilder::mode].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::mode", "Argument[0]", "ReturnValue.Field[tokio::fs::dir_builder::DirBuilder::mode].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[sync_mpsc::Large(0)]", "ReturnValue.Field[sync_mpsc::Large(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[sync_mpsc::Medium(0)]", "ReturnValue.Field[sync_mpsc::Medium(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::mode", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::recursive", "Argument[0]", "Argument[self].Field[tokio::fs::dir_builder::DirBuilder::recursive]", "value", "dfc-generated"] - - ["::recursive", "Argument[0]", "ReturnValue.Field[tokio::fs::dir_builder::DirBuilder::recursive]", "value", "dfc-generated"] + - ["::recursive", "Argument[0]", "Argument[self].Reference.Field[tokio::fs::dir_builder::DirBuilder::recursive]", "value", "dfc-generated"] - ["::recursive", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::set_max_buf_size", "Argument[0]", "Argument[self].Field[tokio::fs::file::File::max_buf_size]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::into_std", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set_max_buf_size", "Argument[0]", "Argument[self].Reference.Field[tokio::fs::file::File::max_buf_size]", "value", "dfc-generated"] - ["::try_into_std", "Argument[self].Field[tokio::fs::file::File::std]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::fs::file::File::std]", "value", "dfc-generated"] - ["::try_into_std", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from_raw_fd", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::create", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::expect_as_raw_fd", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_inner_flush", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_inner_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_inner_seek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_inner_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_metadata", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_set_len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_set_max_buf_size", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_set_permissions", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_sync_all", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_sync_data", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_try_clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::inner_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::inner_seek", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::inner_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::open", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_len", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_max_buf_size", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::set_permissions", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[tokio::fs::mocks::__mock_MockFile::__create::ExpectationGuard::guard]", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[tokio::fs::mocks::__mock_MockFile::__open::ExpectationGuard::guard]", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[tokio::fs::mocks::__mock_MockFile_std__os__unix__io__FromRawFd::__from_raw_fd::ExpectationGuard::guard]", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio::fs::open_options::OpenOptions(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::append", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_inner_mut", "Argument[self].Field[tokio::fs::open_options::OpenOptions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_inner_mut", "Argument[self].Reference.Field[tokio::fs::open_options::OpenOptions(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::create", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::create_new", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::custom_flags", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -44,15 +356,185 @@ extensions: - ["::read", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::truncate", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::write", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_inner", "Argument[self].Field[tokio::fs::read_dir::DirEntry::std]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::future::try_join::TryJoin3::future1]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::future::try_join::TryJoin3::future2]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::future::try_join::TryJoin3::future3]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::future::try_join::TryJoin3::future1]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::future::try_join::TryJoin3::future2]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::future::try_join::TryJoin3::future3]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::async_fd::AsyncFd::inner].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::async_fd::AsyncFd::inner].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::custom_flags", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::mode", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::append", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::create", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::create_new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::expect_append", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_create", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_create_new", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_custom_flags", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_mode", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_truncate", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::truncate", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_const_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_once_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::call_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::in_sequence", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::never", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::once", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::return_var", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::returning_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::times", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::with", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::withf_st", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::call_mut", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::checkpoint", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::expect", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_inner", "Argument[self].Reference.Field[tokio::fs::read_dir::DirEntry::std]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::file_type", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ino", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::path", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_entry", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[1].ReturnValue.Future", "ReturnValue", "value", "dfc-generated"] + - ["::async_io_mut", "Argument[1].ReturnValue.Future", "ReturnValue", "value", "dfc-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::readable_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::ready", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::io::async_fd::AsyncFdReadyGuard::async_fd]", "value", "dfc-generated"] - ["::ready_mut", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::io::async_fd::AsyncFdReadyMutGuard::async_fd]", "value", "dfc-generated"] - ["::try_io", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] @@ -60,467 +542,221 @@ extensions: - ["::try_new", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::io::async_fd::AsyncFdTryNewError::inner]", "value", "dfc-generated"] - ["::try_new_with_handle_and_interest", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::io::async_fd::AsyncFdTryNewError::inner]", "value", "dfc-generated"] - ["::try_with_interest", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::io::async_fd::AsyncFdTryNewError::inner]", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::async_fd::AsyncFdReadyGuard::async_fd]", "ReturnValue", "value", "dfc-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_inner", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::async_fd::AsyncFdReadyGuard::async_fd]", "ReturnValue", "value", "dfc-generated"] - ["::try_io", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::try_io", "Argument[self].Field[tokio::io::async_fd::AsyncFdReadyGuard::async_fd]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::async_fd::AsyncFdReadyMutGuard::async_fd]", "ReturnValue", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::async_fd::AsyncFdReadyMutGuard::async_fd]", "ReturnValue", "value", "dfc-generated"] + - ["::try_io", "Argument[self].Reference.Field[tokio::io::async_fd::AsyncFdReadyGuard::async_fd]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_inner", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_inner_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::io::async_fd::AsyncFdReadyMutGuard::async_fd]", "ReturnValue", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::async_fd::AsyncFdReadyMutGuard::async_fd]", "ReturnValue", "value", "dfc-generated"] - ["::try_io", "Argument[0].ReturnValue", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::try_io", "Argument[self].Field[tokio::io::async_fd::AsyncFdReadyMutGuard::async_fd]", "Argument[0].Parameter[0]", "value", "dfc-generated"] - - ["::source", "Argument[self].Field[tokio::io::async_fd::AsyncFdTryNewError::cause]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::try_io", "Argument[self].Reference.Field[tokio::io::async_fd::AsyncFdReadyMutGuard::async_fd]", "Argument[0].Parameter[0]", "value", "dfc-generated"] + - ["::source", "Argument[self].Reference.Field[tokio::io::async_fd::AsyncFdTryNewError::cause]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_parts", "Argument[self].Field[tokio::io::async_fd::AsyncFdTryNewError::cause]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[tokio::io::async_fd::AsyncFdTryNewError::inner]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::blocking::Blocking::inner].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::bytes", "Argument[self].Field[tokio::io::blocking::Buf::buf].Element", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bytes", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::copy_from", "Argument[1]", "ReturnValue", "value", "dfc-generated"] - ["::copy_from_bufs", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::copy_to", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::copy_to", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::copy_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::io::interest::Interest(0)]", "ReturnValue.Field[tokio::io::interest::Interest(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::io::interest::Interest(0)]", "ReturnValue.Field[tokio::io::interest::Interest(0)]", "value", "dfc-generated"] + - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::remove", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::remove", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::join::Join::reader]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::join::Join::writer]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::join::Join::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::join::Join::writer]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::join::Join::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::join::Join::writer]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::reader", "Argument[self].Field[tokio::io::join::Join::reader]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::reader_mut", "Argument[self].Field[tokio::io::join::Join::reader]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::writer", "Argument[self].Field[tokio::io::join::Join::writer]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::writer_mut", "Argument[self].Field[tokio::io::join::Join::writer]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::io::poll_evented::PollEvented::io].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::reader", "Argument[self].Reference.Field[tokio::io::join::Join::reader]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::reader_mut", "Argument[self].Reference.Field[tokio::io::join::Join::reader]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::writer", "Argument[self].Reference.Field[tokio::io::join::Join::writer]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::writer_mut", "Argument[self].Reference.Field[tokio::io::join::Join::writer]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new_with_interest_and_handle", "Argument[2]", "ReturnValue.Field[tokio::runtime::io::registration::Registration::handle]", "value", "dfc-generated"] - - ["::registration", "Argument[self].Field[tokio::io::poll_evented::PollEvented::registration]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::registration", "Argument[self].Reference.Field[tokio::io::poll_evented::PollEvented::registration]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::advance_mut", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::remaining_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::assume_init", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::filled", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::filled_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::initialize_unfilled", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::initialize_unfilled_to", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::inner_mut", "Argument[self].Field[tokio::io::read_buf::ReadBuf::buf]", "ReturnValue", "value", "dfc-generated"] + - ["::initialize_unfilled_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::initialized", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::initialized_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::inner_mut", "Argument[self].Reference.Field[tokio::io::read_buf::ReadBuf::buf]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::remaining", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::set_filled", "Argument[0]", "Argument[self].Field[tokio::io::read_buf::ReadBuf::filled]", "value", "dfc-generated"] + - ["::set_filled", "Argument[0]", "Argument[self].Reference.Field[tokio::io::read_buf::ReadBuf::filled]", "value", "dfc-generated"] - ["::take", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::unfilled_mut", "Argument[self].Field[tokio::io::read_buf::ReadBuf::buf].Element", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::unfilled_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::uninit", "Argument[0]", "ReturnValue.Field[tokio::io::read_buf::ReadBuf::buf]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::io::ready::Ready(0)]", "ReturnValue.Field[tokio::io::ready::Ready(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::io::ready::Ready(0)]", "ReturnValue.Field[tokio::io::ready::Ready(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::sub", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::sub", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitand", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitand", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::bitor", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::bitor", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::as_usize", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::bitor_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::as_usize", "Argument[self].Field[tokio::io::ready::Ready(0)]", "ReturnValue", "value", "dfc-generated"] - ["::from_usize", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::intersection", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::seek::Seek::pos]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::seek::Seek::seek]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::seek::Seek::pos]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::seek::Seek::seek]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::unsplit", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_write", "Argument[1]", "Argument[0]", "taint", "df-generated"] + - ["::poll_write", "Argument[1]", "Argument[self]", "taint", "df-generated"] + - ["::poll_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::stdio_common::SplitByUtf8BoundaryIfWindows::inner]", "value", "dfc-generated"] - - ["::buffer", "Argument[self].Field[tokio::io::util::buf_reader::BufReader::buf].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::util::buf_reader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::util::buf_reader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::buffer", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::io::util::buf_reader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::util::buf_reader::BufReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::util::buf_reader::BufReader::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::buf_reader::BufReader::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[tokio::io::util::buf_reader::BufReader::inner]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::io::util::buf_reader::SeekState::PendingOverflowed(0)]", "ReturnValue.Field[tokio::io::util::buf_reader::SeekState::PendingOverflowed(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::io::util::buf_reader::SeekState::PendingOverflowed(0)]", "ReturnValue.Field[tokio::io::util::buf_reader::SeekState::PendingOverflowed(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::io::util::buf_reader::SeekState::Start(0)]", "ReturnValue.Field[tokio::io::util::buf_reader::SeekState::Start(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio::io::util::buf_stream::BufStream::inner]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::into_inner", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::buf_stream::BufStream::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::buf_stream::BufStream::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::buffer", "Argument[self].Field[tokio::io::util::buf_writer::BufWriter::buf]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::util::buf_writer::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::util::buf_writer::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::buffer", "Argument[self].Reference.Field[tokio::io::util::buf_writer::BufWriter::buf]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::io::util::buf_writer::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::util::buf_writer::BufWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::util::buf_writer::BufWriter::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::buf_writer::BufWriter::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[tokio::io::util::buf_writer::BufWriter::inner]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::util::chain::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::util::chain::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::util::chain::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::util::chain::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::io::util::buf_writer::SeekState::Start(0)]", "ReturnValue.Field[tokio::io::util::buf_writer::SeekState::Start(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::io::util::chain::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::io::util::chain::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::util::chain::Chain::first]", "ReturnValue.Field[0].Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::util::chain::Chain::second]", "ReturnValue.Field[1].Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::util::chain::Chain::first]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::util::chain::Chain::second]", "ReturnValue.Field[1]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::chain::Chain::done_first]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::chain::Chain::first]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::chain::Chain::second]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::chain::Chain::done_first]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::chain::Chain::first]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::chain::Chain::second]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::poll_copy", "Argument[self].Field[tokio::io::util::copy::CopyBuffer::amt]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::fill_buf::FillBuf::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::fill_buf::FillBuf::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::flush::Flush::a]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::flush::Flush::a]", "ReturnValue", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::util::lines::Lines::reader]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::util::lines::Lines::reader]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_copy", "Argument[self].Reference.Field[tokio::io::util::copy::CopyBuffer::amt]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::io::util::lines::Lines::reader]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::util::lines::Lines::reader]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::util::lines::Lines::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_line", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new_unsplit", "Argument[0]", "ReturnValue.Field[tokio::io::util::mem::SimplexStream::max_buf_size]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read::Read::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read::Read::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read::Read::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read::Read::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_buf::ReadBuf::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_buf::ReadBuf::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_buf::ReadBuf::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_buf::ReadBuf::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_exact::ReadExact::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_exact::ReadExact::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_exact::ReadExact::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_exact::ReadExact::reader]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadF32::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadF32Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF32Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadF64::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadF64Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadF64Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI128::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI128Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI128Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI16::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI16Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI16Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI32::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI32Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI32Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI64::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI64Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI64Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadI8::reader]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI8::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadI8::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU128::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU128Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU128Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU16::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU16Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU16Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU32::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU32Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU32Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU64::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU64Le::src]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64Le::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU64Le::src]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_int::ReadU8::reader]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU8::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_int::ReadU8::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_to_end::ReadToEnd::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_to_end::ReadToEnd::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_to_end::ReadToEnd::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_to_end::ReadToEnd::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_to_end::ReadToEnd::read]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::read_to_end::ReadToEnd::reader]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::shutdown::Shutdown::a]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::shutdown::Shutdown::a]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::get_mut", "Argument[self].Field[tokio::io::util::take::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::io::util::take::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_segment", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::io::util::take::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::io::util::take::Take::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::io::util::take::Take::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::limit", "Argument[self].Field[tokio::io::util::take::Take::limit_]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::take::Take::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::take::Take::limit_]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::take::Take::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::take::Take::limit_]", "ReturnValue", "value", "dfc-generated"] - - ["::set_limit", "Argument[0]", "Argument[self].Field[tokio::io::util::take::Take::limit_]", "value", "dfc-generated"] - - ["::apply_read_buf", "Argument[0].Field[tokio::io::util::vec_with_initialized::ReadBufParts::initialized]", "Argument[self].Field[tokio::io::util::vec_with_initialized::VecWithInitialized::num_initialized]", "value", "dfc-generated"] + - ["::limit", "Argument[self].Reference.Field[tokio::io::util::take::Take::limit_]", "ReturnValue", "value", "dfc-generated"] + - ["::set_limit", "Argument[0]", "Argument[self].Reference.Field[tokio::io::util::take::Take::limit_]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::apply_read_buf", "Argument[0].Field[tokio::io::util::vec_with_initialized::ReadBufParts::initialized]", "Argument[self].Reference.Field[tokio::io::util::vec_with_initialized::VecWithInitialized::num_initialized]", "value", "dfc-generated"] - ["::get_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::vec_with_initialized::VecWithInitialized::vec]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write::Write::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write::Write::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write::Write::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write::Write::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all::WriteAll::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all::WriteAll::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all::WriteAll::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all::WriteAll::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all_buf::WriteAllBuf::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all_buf::WriteAllBuf::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all_buf::WriteAllBuf::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_all_buf::WriteAllBuf::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_buf::WriteBuf::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_buf::WriteBuf::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_buf::WriteBuf::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_buf::WriteBuf::writer]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteF32::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteF32Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF32Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteF64::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteF64Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteF64Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI128::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI128Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI128Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI16::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI16Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI16Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI32::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI32Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI32Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI64::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI64Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI64Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteI8::dst]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio::io::util::write_int::WriteI8::byte]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI8::byte]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI8::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI8::byte]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteI8::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU128::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU128Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU128Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU16::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU16Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU16Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU32::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU32Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU32Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU64::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU64Le::dst]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64Le::written]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64Le::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64Le::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU64Le::written]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::util::write_int::WriteU8::dst]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio::io::util::write_int::WriteU8::byte]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU8::byte]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU8::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU8::byte]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_int::WriteU8::dst]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_vectored::WriteVectored::bufs]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_vectored::WriteVectored::writer]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_vectored::WriteVectored::bufs]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::io::util::write_vectored::WriteVectored::writer]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::unsync_load", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] @@ -529,75 +765,322 @@ extensions: - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::unsync_load", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_mut", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::loom::std::barrier::Barrier::num_threads]", "value", "dfc-generated"] - - ["::is_leader", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::is_leader", "Argument[self].Field[tokio::loom::std::barrier::BarrierWaitResult(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::lock", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::try_lock", "Argument[self].Field[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[std::sync::poison::mutex::MutexGuard::lock]", "value", "dfc-generated"] - - ["::try_lock", "Argument[self].Field[tokio::loom::std::mutex::Mutex(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Field[std::sync::poison::mutex::MutexGuard::lock]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_leader", "Argument[self].Reference.Field[tokio::loom::std::barrier::BarrierWaitResult(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::lock", "Argument[self].Reference.Field[tokio::loom::std::mutex::Mutex(0)]", "ReturnValue.Field[std::sync::poison::mutex::MutexGuard::lock].Reference", "value", "dfc-generated"] + - ["::try_lock", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::wait", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] - ["::wait_timeout", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[0]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::try_write", "Argument[self].Field[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[std::sync::poison::rwlock::RwLockWriteGuard::lock]", "value", "dfc-generated"] - - ["::try_write", "Argument[self].Field[tokio::loom::std::rwlock::RwLock(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Field[std::sync::poison::rwlock::RwLockWriteGuard::lock]", "value", "dfc-generated"] - - ["::write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[self].Reference.Field[tokio::loom::std::rwlock::RwLock(0)]", "ReturnValue.Field[std::sync::poison::rwlock::RwLockWriteGuard::lock].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::loom::std::unsafe_cell::UnsafeCell(0)].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::with", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::with_mut", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Field[tokio::net::addr::sealed::OneOrMore::More(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::next", "Argument[self].Field[tokio::net::addr::sealed::OneOrMore::One(0)].Element", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::accept", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::poll_evented::PollEvented::io].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::tcp::split::ReadHalf(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::tcp::split::ReadHalf(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_read", "Argument[self]", "Argument[0]", "taint", "df-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::tcp::split::WriteHalf(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::tcp::split_owned::OwnedReadHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::tcp::split::WriteHalf(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::tcp::split_owned::OwnedReadHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::reunite", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::tcp::split_owned::ReuniteError(1)]", "value", "dfc-generated"] - ["::reunite", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::tcp::split_owned::ReuniteError(0)]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::tcp::split_owned::OwnedWriteHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::tcp::split_owned::OwnedWriteHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::reunite", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::tcp::split_owned::ReuniteError(0)]", "value", "dfc-generated"] - ["::reunite", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::tcp::split_owned::ReuniteError(1)]", "value", "dfc-generated"] + - ["::try_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::connect_mio", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::poll_evented::PollEvented::io].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::peek", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::split", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::peek_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::peek_sender", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_peek", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_peek", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_peek_from", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_peek_from", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_peek_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_from", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_from", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_recv_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::send_to", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_peek", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_peek_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_peek_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_peek_sender", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_send", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_send", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_send_to", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_send_to", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_send_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::from_mio", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_from", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_from", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_recv_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_buf_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::send_to", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::send_to", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::send_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_buf_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv_from", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_send", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_send", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_send_to", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_send_to", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_send_to", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::accept", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::poll_evented::PollEvented::io].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::read_write", "Argument[0]", "Argument[self].Field[tokio::net::unix::pipe::OpenOptions::read_write]", "value", "dfc-generated"] - - ["::read_write", "Argument[0]", "ReturnValue.Field[tokio::net::unix::pipe::OpenOptions::read_write]", "value", "dfc-generated"] + - ["::poll_accept", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read_write", "Argument[0]", "Argument[self].Reference.Field[tokio::net::unix::pipe::OpenOptions::read_write]", "value", "dfc-generated"] - ["::read_write", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::unchecked", "Argument[0]", "Argument[self].Field[tokio::net::unix::pipe::OpenOptions::unchecked]", "value", "dfc-generated"] - - ["::unchecked", "Argument[0]", "ReturnValue.Field[tokio::net::unix::pipe::OpenOptions::unchecked]", "value", "dfc-generated"] + - ["::unchecked", "Argument[0]", "Argument[self].Reference.Field[tokio::net::unix::pipe::OpenOptions::unchecked]", "value", "dfc-generated"] - ["::unchecked", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio::net::unix::socketaddr::SocketAddr(0)]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::unix::split::ReadHalf(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::unix::split::WriteHalf(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::unix::split_owned::OwnedReadHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::unix::split::ReadHalf(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::unix::split::WriteHalf(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::unix::split_owned::OwnedReadHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::reunite", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::unix::split_owned::ReuniteError(1)]", "value", "dfc-generated"] - ["::reunite", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::unix::split_owned::ReuniteError(0)]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio::net::unix::split_owned::OwnedWriteHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::try_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio::net::unix::split_owned::OwnedWriteHalf::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::reunite", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::unix::split_owned::ReuniteError(0)]", "value", "dfc-generated"] - ["::reunite", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::unix::split_owned::ReuniteError(1)]", "value", "dfc-generated"] + - ["::try_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::connect_mio", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::io::poll_evented::PollEvented::io].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::readable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::split", "Argument[self]", "ReturnValue.Field[0].Field[tokio::net::unix::split::ReadHalf(0)]", "value", "dfc-generated"] - ["::split", "Argument[self]", "ReturnValue.Field[1].Field[tokio::net::unix::split::WriteHalf(0)]", "value", "dfc-generated"] - - ["::gid", "Argument[self].Field[tokio::net::unix::ucred::UCred::gid]", "ReturnValue", "value", "dfc-generated"] - - ["::pid", "Argument[self].Field[tokio::net::unix::ucred::UCred::pid]", "ReturnValue", "value", "dfc-generated"] - - ["::uid", "Argument[self].Field[tokio::net::unix::ucred::UCred::uid]", "ReturnValue", "value", "dfc-generated"] + - ["::try_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::try_io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_buf", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_read_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::writable", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::gid", "Argument[self].Reference.Field[tokio::net::unix::ucred::UCred::gid]", "ReturnValue", "value", "dfc-generated"] + - ["::pid", "Argument[self].Reference.Field[tokio::net::unix::ucred::UCred::pid]", "ReturnValue", "value", "dfc-generated"] + - ["::uid", "Argument[self].Reference.Field[tokio::net::unix::ucred::UCred::uid]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::kill", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio::process::Command::std]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::arg0", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::arg", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::args", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::as_std", "Argument[self].Field[tokio::process::Command::std]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_std_mut", "Argument[self].Field[tokio::process::Command::std]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_std", "Argument[self].Reference.Field[tokio::process::Command::std]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_std_mut", "Argument[self].Reference.Field[tokio::process::Command::std]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::current_dir", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::env", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::env_clear", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::env_remove", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::envs", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::get_kill_on_drop", "Argument[self].Field[tokio::process::Command::kill_on_drop]", "ReturnValue", "value", "dfc-generated"] + - ["::get_kill_on_drop", "Argument[self].Reference.Field[tokio::process::Command::kill_on_drop]", "ReturnValue", "value", "dfc-generated"] - ["::gid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::into_std", "Argument[self].Field[tokio::process::Command::std]", "ReturnValue", "value", "dfc-generated"] - - ["::kill_on_drop", "Argument[0]", "Argument[self].Field[tokio::process::Command::kill_on_drop]", "value", "dfc-generated"] - - ["::kill_on_drop", "Argument[0]", "ReturnValue.Field[tokio::process::Command::kill_on_drop]", "value", "dfc-generated"] + - ["::kill_on_drop", "Argument[0]", "Argument[self].Reference.Field[tokio::process::Command::kill_on_drop]", "value", "dfc-generated"] - ["::kill_on_drop", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::pre_exec", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::process_group", "Argument[self]", "ReturnValue", "value", "dfc-generated"] @@ -605,35 +1088,53 @@ extensions: - ["::stdin", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::stdout", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::uid", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::inner_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[1]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::process::imp::pidfd_reaper::PidfdReaper::orphan_queue]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::process::imp::reap::Reaper::inner].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::inner_mut", "Argument[self].Field[tokio::process::imp::reap::Reaper::inner].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::inner_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::process::imp::reap::Reaper::inner].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio::process::imp::reap::Reaper::orphan_queue]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[tokio::process::imp::reap::Reaper::signal]", "value", "dfc-generated"] - - ["::try_wait", "Argument[self].Field[tokio::process::imp::reap::test::MockWait::status]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::poll", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::process::test::Mock::poll_result]", "ReturnValue", "value", "dfc-generated"] - - ["::spawner", "Argument[self].Field[tokio::runtime::blocking::pool::BlockingPool::spawner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_wait", "Argument[self].Reference.Field[tokio::process::imp::reap::test::MockWait::status]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::spawner", "Argument[self].Reference.Field[tokio::runtime::blocking::pool::BlockingPool::spawner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::blocking::pool::Spawner::inner].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[tokio::runtime::blocking::pool::Spawner::inner].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::blocking::pool::Spawner::inner].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[tokio::runtime::blocking::pool::Spawner::inner].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::blocking::pool::Spawner::inner]", "ReturnValue.Field[tokio::runtime::blocking::pool::Spawner::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::blocking::pool::Task::task]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio::runtime::blocking::pool::Task::mandatory]", "value", "dfc-generated"] - - ["::hooks", "Argument[self].Field[tokio::runtime::blocking::schedule::BlockingSchedule::hooks].Field[tokio::runtime::task::TaskHarnessScheduleHooks::task_terminate_callback]", "ReturnValue.Field[tokio::runtime::task::TaskHarnessScheduleHooks::task_terminate_callback]", "value", "dfc-generated"] - - ["::new", "Argument[0].Reference", "ReturnValue.Field[tokio::runtime::blocking::schedule::BlockingSchedule::handle]", "value", "dfc-generated"] + - ["::hooks", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::blocking::shutdown::Sender::_tx].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[tokio::runtime::blocking::shutdown::Sender::_tx].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::blocking::shutdown::Sender::_tx].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[tokio::runtime::blocking::shutdown::Sender::_tx].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::blocking::shutdown::Sender::_tx]", "ReturnValue.Field[tokio::runtime::blocking::shutdown::Sender::_tx]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::blocking::task::BlockingTask::func].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::enable_all", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::enable_io", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::enable_time", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::event_interval", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::event_interval]", "value", "dfc-generated"] - - ["::event_interval", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::event_interval]", "value", "dfc-generated"] + - ["::event_interval", "Argument[0]", "Argument[self].Reference.Field[tokio::runtime::builder::Builder::event_interval]", "value", "dfc-generated"] - ["::event_interval", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::global_queue_interval", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::global_queue_interval].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::global_queue_interval", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::global_queue_interval].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::global_queue_interval", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_blocking_threads", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::max_blocking_threads]", "value", "dfc-generated"] - - ["::max_blocking_threads", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::max_blocking_threads]", "value", "dfc-generated"] + - ["::max_blocking_threads", "Argument[0]", "Argument[self].Reference.Field[tokio::runtime::builder::Builder::max_blocking_threads]", "value", "dfc-generated"] - ["::max_blocking_threads", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_io_events_per_tick", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::nevents]", "value", "dfc-generated"] - - ["::max_io_events_per_tick", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::nevents]", "value", "dfc-generated"] + - ["::max_io_events_per_tick", "Argument[0]", "Argument[self].Reference.Field[tokio::runtime::builder::Builder::nevents]", "value", "dfc-generated"] - ["::max_io_events_per_tick", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::kind]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio::runtime::builder::Builder::event_interval]", "value", "dfc-generated"] @@ -641,159 +1142,292 @@ extensions: - ["::on_thread_start", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::on_thread_stop", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::on_thread_unpark", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::start_paused", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::start_paused]", "value", "dfc-generated"] - - ["::start_paused", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::start_paused]", "value", "dfc-generated"] + - ["::start_paused", "Argument[0]", "Argument[self].Reference.Field[tokio::runtime::builder::Builder::start_paused]", "value", "dfc-generated"] - ["::start_paused", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::thread_keep_alive", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::keep_alive].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::thread_keep_alive", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::keep_alive].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::thread_keep_alive", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::thread_name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::thread_name_fn", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::thread_stack_size", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::thread_stack_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::thread_stack_size", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::thread_stack_size].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::thread_stack_size", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::worker_threads", "Argument[0]", "Argument[self].Field[tokio::runtime::builder::Builder::worker_threads].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::worker_threads", "Argument[0]", "ReturnValue.Field[tokio::runtime::builder::Builder::worker_threads].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::worker_threads", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::set_current", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::context::runtime::EnterRuntime::Entered::allow_block_in_place]", "ReturnValue.Field[tokio::runtime::context::runtime::EnterRuntime::Entered::allow_block_in_place].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::context::runtime::EnterRuntime::Entered::allow_block_in_place]", "ReturnValue.Field[tokio::runtime::context::runtime::EnterRuntime::Entered::allow_block_in_place]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::set", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::with", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clock", "Argument[self].Reference.Field[tokio::runtime::driver::Handle::clock]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::io", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::signal", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::time", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_ref", "Argument[self].Field[tokio::runtime::driver::IoHandle::Enabled(0)]", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::metrics", "Argument[self].Reference", "ReturnValue.Field[tokio::runtime::metrics::runtime::RuntimeMetrics::handle]", "value", "dfc-generated"] - - ["::consume_signal_ready", "Argument[self].Field[tokio::runtime::io::driver::Driver::signal_ready]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::consume_signal_ready", "Argument[self].Reference.Field[tokio::runtime::io::driver::Driver::signal_ready]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::with_ready", "Argument[0]", "ReturnValue.Field[tokio::runtime::io::driver::ReadyEvent::ready]", "value", "dfc-generated"] - - ["::with_ready", "Argument[self].Field[tokio::runtime::io::driver::ReadyEvent::is_shutdown]", "ReturnValue.Field[tokio::runtime::io::driver::ReadyEvent::is_shutdown]", "value", "dfc-generated"] - - ["::with_ready", "Argument[self].Field[tokio::runtime::io::driver::ReadyEvent::tick]", "ReturnValue.Field[tokio::runtime::io::driver::ReadyEvent::tick]", "value", "dfc-generated"] + - ["::with_ready", "Argument[self].Reference.Field[tokio::runtime::io::driver::ReadyEvent::is_shutdown]", "ReturnValue.Field[tokio::runtime::io::driver::ReadyEvent::is_shutdown]", "value", "dfc-generated"] + - ["::with_ready", "Argument[self].Reference.Field[tokio::runtime::io::driver::ReadyEvent::tick]", "ReturnValue.Field[tokio::runtime::io::driver::ReadyEvent::tick]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::async_io", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::new_with_interest_and_handle", "Argument[2]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::runtime::io::registration::Registration::handle]", "value", "dfc-generated"] - ["::poll_read_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::poll_write_io", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::readiness", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_io", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::is_shutdown", "Argument[0].Field[tokio::runtime::io::registration_set::Synced::is_shutdown]", "ReturnValue", "value", "dfc-generated"] + - ["::is_shutdown", "Argument[0].Reference.Field[tokio::runtime::io::registration_set::Synced::is_shutdown]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::readiness", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_raw", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["::from_raw", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::metrics::runtime::RuntimeMetrics::handle]", "value", "dfc-generated"] - - ["::unpark", "Argument[self].Field[tokio::runtime::park::ParkThread::inner].Reference", "ReturnValue.Field[tokio::runtime::park::UnparkThread::inner]", "value", "dfc-generated"] - - ["::unpark", "Argument[self].Field[tokio::runtime::park::ParkThread::inner]", "ReturnValue.Field[tokio::runtime::park::UnparkThread::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::unpark", "Argument[self].Reference.Field[tokio::runtime::park::ParkThread::inner]", "ReturnValue.Field[tokio::runtime::park::UnparkThread::inner]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::park::UnparkThread::inner].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[tokio::runtime::park::UnparkThread::inner].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::park::UnparkThread::inner].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[tokio::runtime::park::UnparkThread::inner].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::park::UnparkThread::inner]", "ReturnValue.Field[tokio::runtime::park::UnparkThread::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::process::Driver::park]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::wrap", "Argument[0]", "ReturnValue.Field[tokio_util::context::TokioContext::inner]", "value", "dfc-generated"] - - ["::wrap", "Argument[self].Field[tokio::runtime::runtime::Runtime::handle]", "ReturnValue.Field[tokio_util::context::TokioContext::handle]", "value", "dfc-generated"] + - ["::block_on", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_parts", "Argument[0]", "ReturnValue.Field[tokio::runtime::runtime::Runtime::scheduler]", "value", "dfc-generated"] - ["::from_parts", "Argument[1]", "ReturnValue.Field[tokio::runtime::runtime::Runtime::handle]", "value", "dfc-generated"] - ["::from_parts", "Argument[2]", "ReturnValue.Field[tokio::runtime::runtime::Runtime::blocking_pool]", "value", "dfc-generated"] - - ["::handle", "Argument[self].Field[tokio::runtime::runtime::Runtime::handle]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::metrics", "Argument[self].Field[tokio::runtime::runtime::Runtime::handle].Reference", "ReturnValue.Field[tokio::runtime::metrics::runtime::RuntimeMetrics::handle]", "value", "dfc-generated"] - - ["::metrics", "Argument[self].Field[tokio::runtime::runtime::Runtime::handle]", "ReturnValue.Field[tokio::runtime::metrics::runtime::RuntimeMetrics::handle]", "value", "dfc-generated"] + - ["::handle", "Argument[self].Reference.Field[tokio::runtime::runtime::Runtime::handle]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::expect_current_thread", "Argument[self].Field[tokio::runtime::scheduler::Context::CurrentThread(0)]", "ReturnValue", "value", "dfc-generated"] - ["::expect_multi_thread", "Argument[self].Field[tokio::runtime::scheduler::Context::MultiThread(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_current_thread", "Argument[self].Field[tokio::runtime::scheduler::Handle::CurrentThread(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::worker_metrics", "Argument[self].Field[tokio::runtime::scheduler::current_thread::Handle::shared].Field[tokio::runtime::scheduler::current_thread::Shared::worker_metrics]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "ReturnValue", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::blocking_spawner", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::hooks", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::seed_generator", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::worker_metrics", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::worker_metrics", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::pop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self].Reference.Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "ReturnValue", "value", "dfc-generated"] + - ["::next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio::runtime::scheduler::inject::pop::Pop::synced]", "value", "dfc-generated"] - - ["::is_closed", "Argument[0].Field[tokio::runtime::scheduler::inject::synced::Synced::is_closed]", "ReturnValue", "value", "dfc-generated"] - - ["::pop", "Argument[0].Field[tokio::runtime::scheduler::inject::synced::Synced::head].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::pop", "Argument[0].Field[tokio::runtime::scheduler::inject::synced::Synced::head].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::is_closed", "Argument[0].Reference.Field[tokio::runtime::scheduler::inject::synced::Synced::is_closed]", "ReturnValue", "value", "dfc-generated"] + - ["::pop", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::pop", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::pop_n", "Argument[0]", "ReturnValue.Field[tokio::runtime::scheduler::inject::pop::Pop::synced]", "value", "dfc-generated"] - ["::pop_n", "Argument[1]", "ReturnValue.Field[tokio::runtime::scheduler::inject::pop::Pop::len]", "value", "dfc-generated"] - ["::push", "Argument[1]", "Argument[0]", "taint", "df-generated"] - ["::as_mut", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::pop", "Argument[self].Field[tokio::runtime::scheduler::inject::synced::Synced::head].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::pop", "Argument[self].Field[tokio::runtime::scheduler::inject::synced::Synced::head].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::pop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::trace_core", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::worker_metrics", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[0].Field[tokio::runtime::scheduler::multi_thread::idle::Idle::num_workers]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::scheduler::multi_thread::idle::State(0)]", "ReturnValue.Field[tokio::runtime::scheduler::multi_thread::idle::State(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::scheduler::multi_thread::idle::State(0)]", "ReturnValue.Field[tokio::runtime::scheduler::multi_thread::idle::State(0)]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio::runtime::scheduler::multi_thread::idle::State(0)]", "value", "dfc-generated"] - - ["::unpark", "Argument[self].Field[tokio::runtime::scheduler::multi_thread::park::Parker::inner].Reference", "ReturnValue.Field[tokio::runtime::scheduler::multi_thread::park::Unparker::inner]", "value", "dfc-generated"] - - ["::unpark", "Argument[self].Field[tokio::runtime::scheduler::multi_thread::park::Parker::inner]", "ReturnValue.Field[tokio::runtime::scheduler::multi_thread::park::Unparker::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::unpark", "Argument[self].Reference.Field[tokio::runtime::scheduler::multi_thread::park::Parker::inner]", "ReturnValue.Field[tokio::runtime::scheduler::multi_thread::park::Unparker::inner]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::runtime::scheduler::multi_thread::queue::Steal(0)]", "ReturnValue.Field[tokio::runtime::scheduler::multi_thread::queue::Steal(0)]", "value", "dfc-generated"] + - ["::tuned_global_queue_interval", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::tuned_global_queue_interval", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::handle", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::runtime::signal::Driver::io]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_raw", "Argument[0]", "ReturnValue.Field[tokio::runtime::task::Notified(0)].Field[tokio::runtime::task::Task::raw]", "value", "dfc-generated"] - - ["::into_raw", "Argument[self].Field[0].Field[tokio::runtime::task::Task::raw]", "ReturnValue", "value", "dfc-generated"] - ["::into_raw", "Argument[self].Field[tokio::runtime::task::Notified(0)].Field[tokio::runtime::task::Task::raw]", "ReturnValue", "value", "dfc-generated"] - - ["::as_raw", "Argument[0].Field[tokio::runtime::task::Task::raw].Field[tokio::runtime::task::raw::RawTask::ptr]", "ReturnValue", "value", "dfc-generated"] + - ["::as_raw", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_raw", "Argument[0]", "ReturnValue.Field[tokio::runtime::task::Task::raw].Field[tokio::runtime::task::raw::RawTask::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task::TaskHarnessScheduleHooks::task_terminate_callback]", "ReturnValue.Field[tokio::runtime::task::TaskHarnessScheduleHooks::task_terminate_callback]", "value", "dfc-generated"] - ["::into_notified", "Argument[self].Field[tokio::runtime::task::UnownedTask::raw]", "ReturnValue.Field[tokio::runtime::task::Notified(0)].Field[tokio::runtime::task::Task::raw]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::runtime::task::abort::AbortHandle::raw]", "ReturnValue.Field[tokio::runtime::task::abort::AbortHandle::raw]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::task::abort::AbortHandle::raw]", "value", "dfc-generated"] - - ["::new", "Argument[1]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[2]", "ReturnValue", "taint", "df-generated"] - - ["::new", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["::poll", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_mut", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] + - ["::get_owner_id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set_next", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::set_owner_id", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::set_waker", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::will_wake", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::will_wake", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::cancelled", "Argument[0]", "ReturnValue.Field[tokio::runtime::task::error::JoinError::id]", "value", "dfc-generated"] - - ["::id", "Argument[self].Field[tokio::runtime::task::error::JoinError::id]", "ReturnValue", "value", "dfc-generated"] + - ["::id", "Argument[self].Reference.Field[tokio::runtime::task::error::JoinError::id]", "ReturnValue", "value", "dfc-generated"] + - ["::into_panic", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::panic", "Argument[0]", "ReturnValue.Field[tokio::runtime::task::error::JoinError::id]", "value", "dfc-generated"] - ["::try_into_panic", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::abort_handle", "Argument[self].Field[tokio::runtime::task::join::JoinHandle::raw]", "ReturnValue.Field[tokio::runtime::task::abort::AbortHandle::raw]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task::id::Id(0)]", "ReturnValue.Field[tokio::runtime::task::id::Id(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task::id::Id(0)]", "ReturnValue.Field[tokio::runtime::task::id::Id(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::abort_handle", "Argument[self].Reference.Field[tokio::runtime::task::join::JoinHandle::raw]", "ReturnValue.Field[tokio::runtime::task::abort::AbortHandle::raw]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::task::join::JoinHandle::raw]", "value", "dfc-generated"] - - ["::assert_owner", "Argument[0].Field[0]", "ReturnValue.Field[tokio::runtime::task::LocalNotified::task]", "value", "dfc-generated"] - ["::assert_owner", "Argument[0].Field[tokio::runtime::task::Notified(0)]", "ReturnValue.Field[tokio::runtime::task::LocalNotified::task]", "value", "dfc-generated"] - - ["::assert_owner", "Argument[0].Field[0]", "ReturnValue.Field[tokio::runtime::task::LocalNotified::task]", "value", "dfc-generated"] + - ["::remove", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::remove", "Argument[self]", "Argument[0]", "taint", "df-generated"] - ["::assert_owner", "Argument[0].Field[tokio::runtime::task::Notified(0)]", "ReturnValue.Field[tokio::runtime::task::LocalNotified::task]", "value", "dfc-generated"] + - ["::get_shard_size", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task::raw::RawTask::ptr]", "ReturnValue.Field[tokio::runtime::task::raw::RawTask::ptr].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task::raw::RawTask::ptr]", "ReturnValue.Field[tokio::runtime::task::raw::RawTask::ptr]", "value", "dfc-generated"] - ["::from_raw", "Argument[0]", "ReturnValue.Field[tokio::runtime::task::raw::RawTask::ptr]", "value", "dfc-generated"] - - ["::header_ptr", "Argument[self].Field[tokio::runtime::task::raw::RawTask::ptr]", "ReturnValue", "value", "dfc-generated"] + - ["::header_ptr", "Argument[self].Reference.Field[tokio::runtime::task::raw::RawTask::ptr]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task::state::Snapshot(0)]", "ReturnValue.Field[tokio::runtime::task::state::Snapshot(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task::state::Snapshot(0)]", "ReturnValue.Field[tokio::runtime::task::state::Snapshot(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::ref_count", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Field[tokio::runtime::task::waker::WakerRef::waker]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::from_config", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::id", "Argument[self].Field[tokio::runtime::task_hooks::TaskMeta::id]", "ReturnValue", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[tokio::runtime::task::waker::WakerRef::waker]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task_hooks::TaskHooks::task_spawn_callback]", "ReturnValue.Field[tokio::runtime::task_hooks::TaskHooks::task_spawn_callback]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::task_hooks::TaskHooks::task_terminate_callback]", "ReturnValue.Field[tokio::runtime::task_hooks::TaskHooks::task_terminate_callback]", "value", "dfc-generated"] + - ["::from_config", "Argument[0].Reference.Field[tokio::runtime::config::Config::after_termination]", "ReturnValue.Field[tokio::runtime::task_hooks::TaskHooks::task_terminate_callback]", "value", "dfc-generated"] + - ["::from_config", "Argument[0].Reference.Field[tokio::runtime::config::Config::before_spawn]", "ReturnValue.Field[tokio::runtime::task_hooks::TaskHooks::task_spawn_callback]", "value", "dfc-generated"] + - ["::spawn", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::id", "Argument[self].Reference.Field[tokio::runtime::task_hooks::TaskMeta::id]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::thread_id::ThreadId(0)]", "ReturnValue.Field[tokio::runtime::thread_id::ThreadId(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::runtime::thread_id::ThreadId(0)]", "ReturnValue.Field[tokio::runtime::thread_id::ThreadId(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[0].Field[tokio::runtime::time::Driver::park]", "value", "dfc-generated"] - - ["::deadline", "Argument[self].Field[tokio::runtime::time::entry::TimerEntry::deadline]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deadline", "Argument[self].Reference.Field[tokio::runtime::time::entry::TimerEntry::deadline]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::time::entry::TimerEntry::driver]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio::runtime::time::entry::TimerEntry::deadline]", "value", "dfc-generated"] - - ["::as_raw", "Argument[0].Field[tokio::runtime::time::entry::TimerHandle::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_raw", "Argument[0]", "ReturnValue.Field[tokio::runtime::time::entry::TimerHandle::inner]", "value", "dfc-generated"] - ["::handle", "Argument[self].Field[core::ptr::unique::Unique::pointer]", "ReturnValue.Field[tokio::runtime::time::entry::TimerHandle::inner]", "value", "dfc-generated"] - - ["::time_source", "Argument[self].Field[tokio::runtime::time::handle::Handle::time_source]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::start_time", "Argument[self].Field[tokio::runtime::time::source::TimeSource::start_time]", "ReturnValue", "value", "dfc-generated"] + - ["::time_source", "Argument[self].Reference.Field[tokio::runtime::time::handle::Handle::time_source]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::start_time", "Argument[self].Reference.Field[tokio::runtime::time::source::TimeSource::start_time]", "ReturnValue", "value", "dfc-generated"] - ["::tick_to_duration", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::elapsed", "Argument[self].Field[tokio::runtime::time::wheel::Wheel::elapsed]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::elapsed", "Argument[self].Reference.Field[tokio::runtime::time::wheel::Wheel::elapsed]", "ReturnValue", "value", "dfc-generated"] - ["::insert", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[0]", "value", "dfc-generated"] - - ["::next_expiration_time", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::poll", "Argument[0]", "Argument[self].Field[tokio::runtime::time::wheel::Wheel::elapsed]", "value", "dfc-generated"] - - ["::poll_at", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll", "Argument[0]", "Argument[self].Reference.Field[tokio::runtime::time::wheel::Wheel::elapsed]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::runtime::time::wheel::level::Level::level]", "value", "dfc-generated"] - - ["::next_expiration", "Argument[self].Field[tokio::runtime::time::wheel::level::Level::level]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::runtime::time::wheel::level::Expiration::level]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::signal::registry::Globals::extra]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::storage", "Argument[self].Field[tokio::signal::registry::Globals::registry].Field[tokio::signal::registry::Registry::storage]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next_expiration", "Argument[self].Reference.Field[tokio::runtime::time::wheel::level::Level::level]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::runtime::time::wheel::level::Expiration::level]", "value", "dfc-generated"] + - ["::take_slot", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[tokio::signal::registry::Globals::extra]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::register_listener", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::storage", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::set", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::try_set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::as_raw_value", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::as_raw_value", "Argument[self].Field[tokio::signal::unix::SignalKind(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::signal::unix::SignalKind(0)]", "ReturnValue.Field[tokio::signal::unix::SignalKind(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::signal::unix::SignalKind(0)]", "ReturnValue.Field[tokio::signal::unix::SignalKind(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_raw_value", "Argument[self].Reference.Field[tokio::signal::unix::SignalKind(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::from_raw", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::event_info", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::for_each", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::sync::barrier::Barrier::n]", "value", "dfc-generated"] - - ["::is_leader", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] - - ["::is_leader", "Argument[self].Field[tokio::sync::barrier::BarrierWaitResult(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::barrier::BarrierWaitResult(0)]", "ReturnValue.Field[tokio::sync::barrier::BarrierWaitResult(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::barrier::BarrierWaitResult(0)]", "ReturnValue.Field[tokio::sync::barrier::BarrierWaitResult(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_leader", "Argument[self].Reference.Field[tokio::sync::barrier::BarrierWaitResult(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::acquire", "Argument[0]", "ReturnValue.Field[tokio::sync::batch_semaphore::Acquire::num_permits]", "value", "dfc-generated"] - ["::acquire", "Argument[self]", "ReturnValue.Field[tokio::sync::batch_semaphore::Acquire::semaphore]", "value", "dfc-generated"] - ["::forget_permits", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::as_raw", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["::from_raw", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::resubscribe", "Argument[self].Field[tokio::sync::broadcast::Receiver::shared].Reference", "ReturnValue.Field[tokio::sync::broadcast::Receiver::shared]", "value", "dfc-generated"] - - ["::resubscribe", "Argument[self].Field[tokio::sync::broadcast::Receiver::shared]", "ReturnValue.Field[tokio::sync::broadcast::Receiver::shared]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::broadcast::Sender::shared].Reference", "ReturnValue.Field[tokio::sync::broadcast::Sender::shared]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::broadcast::Sender::shared]", "ReturnValue.Field[tokio::sync::broadcast::Sender::shared]", "value", "dfc-generated"] - - ["::downgrade", "Argument[self].Field[tokio::sync::broadcast::Sender::shared].Reference", "ReturnValue.Field[tokio::sync::broadcast::WeakSender::shared]", "value", "dfc-generated"] - - ["::downgrade", "Argument[self].Field[tokio::sync::broadcast::Sender::shared]", "ReturnValue.Field[tokio::sync::broadcast::WeakSender::shared]", "value", "dfc-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::resubscribe", "Argument[self].Reference.Field[tokio::sync::broadcast::Receiver::shared]", "ReturnValue.Field[tokio::sync::broadcast::Receiver::shared]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::broadcast::Sender::shared]", "ReturnValue.Field[tokio::sync::broadcast::Sender::shared]", "value", "dfc-generated"] + - ["::downgrade", "Argument[self].Reference.Field[tokio::sync::broadcast::Sender::shared]", "ReturnValue.Field[tokio::sync::broadcast::WeakSender::shared]", "value", "dfc-generated"] - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::broadcast::error::SendError(0)]", "value", "dfc-generated"] - - ["::subscribe", "Argument[self].Field[tokio::sync::broadcast::Sender::shared].Reference", "ReturnValue.Field[tokio::sync::broadcast::Receiver::shared]", "value", "dfc-generated"] - - ["::subscribe", "Argument[self].Field[tokio::sync::broadcast::Sender::shared]", "ReturnValue.Field[tokio::sync::broadcast::Receiver::shared]", "value", "dfc-generated"] + - ["::subscribe", "Argument[self].Reference.Field[tokio::sync::broadcast::Sender::shared]", "ReturnValue.Field[tokio::sync::broadcast::Receiver::shared]", "value", "dfc-generated"] - ["::as_raw", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["::from_raw", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::broadcast::WeakSender::shared].Reference", "ReturnValue.Field[tokio::sync::broadcast::WeakSender::shared]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::broadcast::WeakSender::shared]", "ReturnValue.Field[tokio::sync::broadcast::WeakSender::shared]", "value", "dfc-generated"] - - ["::upgrade", "Argument[self].Field[tokio::sync::broadcast::WeakSender::shared].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::broadcast::Sender::shared]", "value", "dfc-generated"] - - ["::upgrade", "Argument[self].Field[tokio::sync::broadcast::WeakSender::shared]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::broadcast::Sender::shared]", "value", "dfc-generated"] - - ["::next", "Argument[self].Field[tokio::sync::mpsc::bounded::PermitIterator::chan]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::mpsc::bounded::Permit::chan]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[tokio::sync::mpsc::bounded::PermitIterator::n]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[tokio::sync::mpsc::bounded::PermitIterator::n]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::broadcast::WeakSender::shared]", "ReturnValue.Field[tokio::sync::broadcast::WeakSender::shared]", "value", "dfc-generated"] + - ["::upgrade", "Argument[self].Reference.Field[tokio::sync::broadcast::WeakSender::shared]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::broadcast::Sender::shared]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::broadcast::error::RecvError::Lagged(0)]", "ReturnValue.Field[tokio::sync::broadcast::error::RecvError::Lagged(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::broadcast::error::RecvError::Lagged(0)]", "ReturnValue.Field[tokio::sync::broadcast::error::RecvError::Lagged(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::broadcast::error::TryRecvError::Lagged(0)]", "ReturnValue.Field[tokio::sync::broadcast::error::TryRecvError::Lagged(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::broadcast::error::TryRecvError::Lagged(0)]", "ReturnValue.Field[tokio::sync::broadcast::error::TryRecvError::Lagged(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::observed_tail_position", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::tx_release", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next", "Argument[self].Reference.Field[tokio::sync::mpsc::bounded::PermitIterator::chan]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::mpsc::bounded::Permit::chan]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[tokio::sync::mpsc::bounded::PermitIterator::n]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[tokio::sync::mpsc::bounded::PermitIterator::n]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_empty", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::max_capacity", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::sync::mpsc::bounded::Receiver::chan]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::bounded::Sender::chan].Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue.Field[tokio::sync::mpsc::bounded::Sender::chan].Field[tokio::sync::mpsc::chan::Tx::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::bounded::Sender::chan].Reference", "ReturnValue.Field[tokio::sync::mpsc::bounded::Sender::chan]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::bounded::Sender::chan]", "ReturnValue.Field[tokio::sync::mpsc::bounded::Sender::chan]", "value", "dfc-generated"] - - ["::downgrade", "Argument[self].Field[tokio::sync::mpsc::bounded::Sender::chan].Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue.Field[tokio::sync::mpsc::bounded::WeakSender::chan]", "value", "dfc-generated"] + - ["::poll_recv", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::max_capacity", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::sync::mpsc::bounded::Sender::chan]", "value", "dfc-generated"] - ["::reserve", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::reserve_many", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::mpsc::bounded::PermitIterator::n]", "value", "dfc-generated"] @@ -806,118 +1440,187 @@ extensions: - ["::try_reserve_owned", "Argument[self]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::mpsc::error::TrySendError::Full(0)]", "value", "dfc-generated"] - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::mpsc::error::TrySendError::Closed(0)]", "value", "dfc-generated"] - ["::try_send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::mpsc::error::TrySendError::Full(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::bounded::WeakSender::chan].Reference", "ReturnValue.Field[tokio::sync::mpsc::bounded::WeakSender::chan]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::bounded::WeakSender::chan]", "ReturnValue.Field[tokio::sync::mpsc::bounded::WeakSender::chan]", "value", "dfc-generated"] - - ["::upgrade", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::chan::Tx::inner].Reference", "ReturnValue.Field[tokio::sync::mpsc::chan::Tx::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue.Field[tokio::sync::mpsc::chan::Tx::inner]", "value", "dfc-generated"] - - ["::downgrade", "Argument[self].Field[tokio::sync::mpsc::chan::Tx::inner].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::downgrade", "Argument[self].Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::mpsc::bounded::WeakSender::chan]", "ReturnValue.Field[tokio::sync::mpsc::bounded::WeakSender::chan]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_empty", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::recv_many", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::recv_many", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::recv_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::semaphore", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue.Field[tokio::sync::mpsc::chan::Tx::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade", "Argument[self].Reference.Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue", "value", "dfc-generated"] + - ["::semaphore", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::upgrade", "Argument[0]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::mpsc::chan::Tx::inner]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio::sync::mpsc::error::SendTimeoutError::Closed(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::sync::mpsc::error::SendTimeoutError::Timeout(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::from", "Argument[0].Field[0]", "ReturnValue.Field[tokio::sync::mpsc::error::TrySendError::Closed(0)]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[tokio::sync::mpsc::error::SendError(0)]", "ReturnValue.Field[tokio::sync::mpsc::error::TrySendError::Closed(0)]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio::sync::mpsc::error::TrySendError::Closed(0)]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::sync::mpsc::error::TrySendError::Full(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::is_empty", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::sync::mpsc::unbounded::UnboundedReceiver::chan]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan].Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue.Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan].Field[tokio::sync::mpsc::chan::Tx::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan].Reference", "ReturnValue.Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan]", "ReturnValue.Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan]", "value", "dfc-generated"] - - ["::downgrade", "Argument[self].Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan].Field[tokio::sync::mpsc::chan::Tx::inner]", "ReturnValue.Field[tokio::sync::mpsc::unbounded::WeakUnboundedSender::chan]", "value", "dfc-generated"] + - ["::poll_recv", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "Argument[2]", "taint", "df-generated"] + - ["::poll_recv_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::recv_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::sync::mpsc::unbounded::UnboundedSender::chan]", "value", "dfc-generated"] - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::mpsc::error::SendError(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::unbounded::WeakUnboundedSender::chan].Reference", "ReturnValue.Field[tokio::sync::mpsc::unbounded::WeakUnboundedSender::chan]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::mpsc::unbounded::WeakUnboundedSender::chan]", "ReturnValue.Field[tokio::sync::mpsc::unbounded::WeakUnboundedSender::chan]", "value", "dfc-generated"] - - ["::upgrade", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::mutex::MappedMutexGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio::sync::mutex::MappedMutexGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::mpsc::unbounded::WeakUnboundedSender::chan]", "ReturnValue.Field[tokio::sync::mpsc::unbounded::WeakUnboundedSender::chan]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[tokio::sync::mutex::Mutex::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::const_new", "Argument[0]", "ReturnValue.Field[tokio::sync::mutex::Mutex::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio::sync::mutex::Mutex::c].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] + - ["::lock", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::lock_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::sync::mutex::Mutex::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::try_lock", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::mutex::MutexGuard::lock]", "value", "dfc-generated"] - ["::try_lock_owned", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::mutex::OwnedMutexGuard::lock]", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::mutex", "Argument[0].Field[tokio::sync::mutex::MutexGuard::lock]", "ReturnValue", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::mutex", "Argument[0].Reference.Field[tokio::sync::mutex::MutexGuard::lock]", "ReturnValue", "value", "dfc-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::mutex::OwnedMappedMutexGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio::sync::mutex::OwnedMappedMutexGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::mutex", "Argument[0].Field[tokio::sync::mutex::OwnedMutexGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::mutex", "Argument[0].Reference.Field[tokio::sync::mutex::OwnedMutexGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::notified", "Argument[self]", "ReturnValue.Field[tokio::sync::notify::Notified::notify]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::as_raw", "Argument[0].Reference", "ReturnValue", "value", "dfc-generated"] - ["::from_raw", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_or_try_init", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::once_cell::SetError::AlreadyInitializedError(0)]", "value", "dfc-generated"] - ["::set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::once_cell::SetError::InitializingError(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::blocking_recv", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::oneshot::State(0)]", "ReturnValue.Field[tokio::sync::oneshot::State(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::oneshot::State(0)]", "ReturnValue.Field[tokio::sync::oneshot::State(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[tokio::sync::rwlock::RwLock::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::const_new", "Argument[0]", "ReturnValue.Field[tokio::sync::rwlock::RwLock::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::const_with_max_readers", "Argument[0]", "ReturnValue.Field[tokio::sync::rwlock::RwLock::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::const_with_max_readers", "Argument[1]", "ReturnValue.Field[tokio::sync::rwlock::RwLock::mr]", "value", "dfc-generated"] - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio::sync::rwlock::RwLock::c].Field[core::cell::UnsafeCell::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::sync::rwlock::RwLock::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] + - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_read", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::try_read_owned", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::rwlock::owned_read_guard::OwnedRwLockReadGuard::lock]", "value", "dfc-generated"] - - ["::try_write", "Argument[self].Field[tokio::sync::rwlock::RwLock::mr]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::rwlock::write_guard::RwLockWriteGuard::permits_acquired]", "value", "dfc-generated"] + - ["::try_write", "Argument[self].Reference.Field[tokio::sync::rwlock::RwLock::mr]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::rwlock::write_guard::RwLockWriteGuard::permits_acquired]", "value", "dfc-generated"] - ["::try_write_owned", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::rwlock::owned_write_guard::OwnedRwLockWriteGuard::lock]", "value", "dfc-generated"] - ["::with_max_readers", "Argument[0]", "ReturnValue.Field[tokio::sync::rwlock::RwLock::c].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::with_max_readers", "Argument[1]", "ReturnValue.Field[tokio::sync::rwlock::RwLock::mr]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::rwlock::owned_read_guard::OwnedRwLockReadGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::rwlock", "Argument[0].Field[tokio::sync::rwlock::owned_read_guard::OwnedRwLockReadGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::rwlock", "Argument[0].Reference.Field[tokio::sync::rwlock::owned_read_guard::OwnedRwLockReadGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::rwlock::owned_write_guard::OwnedRwLockWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio::sync::rwlock::owned_write_guard::OwnedRwLockWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::downgrade_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade_map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::downgrade_map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::into_mapped", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::rwlock", "Argument[0].Field[tokio::sync::rwlock::owned_write_guard::OwnedRwLockWriteGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_downgrade_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::rwlock", "Argument[0].Reference.Field[tokio::sync::rwlock::owned_write_guard::OwnedRwLockWriteGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::try_downgrade_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::rwlock::owned_write_guard_mapped::OwnedRwLockMappedWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio::sync::rwlock::owned_write_guard_mapped::OwnedRwLockMappedWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::rwlock", "Argument[0].Field[tokio::sync::rwlock::owned_write_guard_mapped::OwnedRwLockMappedWriteGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::rwlock", "Argument[0].Reference.Field[tokio::sync::rwlock::owned_write_guard_mapped::OwnedRwLockMappedWriteGuard::lock]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::rwlock::read_guard::RwLockReadGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::rwlock::write_guard::RwLockWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio::sync::rwlock::write_guard::RwLockWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::downgrade_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade_map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::downgrade_map", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::downgrade_map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::into_mapped", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::try_downgrade_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_downgrade_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::sync::rwlock::write_guard_mapped::RwLockMappedWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio::sync::rwlock::write_guard_mapped::RwLockMappedWriteGuard::data].Reference", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] - - ["::try_map", "Argument[0].Reference", "Argument[1].Parameter[0].Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::map", "Argument[0]", "Argument[1]", "taint", "df-generated"] + - ["::map", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::try_map", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::merge", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::num_permits", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::semaphore", "Argument[self].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::split", "Argument[self].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem].Reference", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "value", "dfc-generated"] - - ["::split", "Argument[self].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "value", "dfc-generated"] + - ["::semaphore", "Argument[self].Reference.Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::split", "Argument[self].Reference.Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::acquire", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::semaphore::SemaphorePermit::sem]", "value", "dfc-generated"] - ["::acquire_many", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::semaphore::SemaphorePermit::permits]", "value", "dfc-generated"] - ["::acquire_many", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::semaphore::SemaphorePermit::sem]", "value", "dfc-generated"] @@ -931,304 +1634,320 @@ extensions: - ["::try_acquire_many_owned", "Argument[0]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::semaphore::OwnedSemaphorePermit::permits]", "value", "dfc-generated"] - ["::try_acquire_many_owned", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "value", "dfc-generated"] - ["::try_acquire_owned", "Argument[self]", "ReturnValue.Field[core::result::Result::Ok(0)].Field[tokio::sync::semaphore::OwnedSemaphorePermit::sem]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::merge", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::num_permits", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::split", "Argument[self].Field[tokio::sync::semaphore::SemaphorePermit::sem]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::semaphore::SemaphorePermit::sem]", "value", "dfc-generated"] - - ["::has_changed", "Argument[self].Field[tokio::sync::watch::Ref::has_changed]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::watch::Sender::shared].Reference", "ReturnValue.Field[tokio::sync::watch::Sender::shared]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio::sync::watch::Sender::shared]", "ReturnValue.Field[tokio::sync::watch::Sender::shared]", "value", "dfc-generated"] + - ["::split", "Argument[self].Reference.Field[tokio::sync::semaphore::SemaphorePermit::sem]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::sync::semaphore::SemaphorePermit::sem]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::watch::Receiver::shared]", "ReturnValue.Field[tokio::sync::watch::Receiver::shared]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::watch::Receiver::version]", "ReturnValue.Field[tokio::sync::watch::Receiver::version]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::has_changed", "Argument[self].Reference.Field[tokio::sync::watch::Ref::has_changed]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio::sync::watch::Sender::shared]", "ReturnValue.Field[tokio::sync::watch::Sender::shared]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::send", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::sync::watch::error::SendError(0)]", "value", "dfc-generated"] - ["::send_replace", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["::subscribe", "Argument[self].Field[tokio::sync::watch::Sender::shared].Reference", "ReturnValue.Field[tokio::sync::watch::Receiver::shared]", "value", "dfc-generated"] - - ["::subscribe", "Argument[self].Field[tokio::sync::watch::Sender::shared]", "ReturnValue.Field[tokio::sync::watch::Receiver::shared]", "value", "dfc-generated"] + - ["::subscribe", "Argument[self].Reference.Field[tokio::sync::watch::Sender::shared]", "ReturnValue.Field[tokio::sync::watch::Receiver::shared]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::notified", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::watch::state::StateSnapshot(0)]", "ReturnValue.Field[tokio::sync::watch::state::StateSnapshot(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::watch::state::StateSnapshot(0)]", "ReturnValue.Field[tokio::sync::watch::state::StateSnapshot(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::version", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::coop::Coop::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::coop::Coop::fut]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::coop::unconstrained::Unconstrained::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::coop::unconstrained::Unconstrained::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[tokio::task::join_set::JoinSet::inner].Field[tokio::util::idle_notified_set::IdleNotifiedSet::length]", "ReturnValue", "value", "dfc-generated"] - - ["::try_join_next", "Argument[self].Field[tokio::task::join_set::JoinSet::inner]", "ReturnValue.Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set].Reference", "value", "dfc-generated"] - - ["::try_join_next", "Argument[self].Field[tokio::task::join_set::JoinSet::inner]", "ReturnValue.Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set]", "value", "dfc-generated"] - - ["::try_join_next_with_id", "Argument[self].Field[tokio::task::join_set::JoinSet::inner]", "ReturnValue.Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set].Reference", "value", "dfc-generated"] - - ["::try_join_next_with_id", "Argument[self].Field[tokio::task::join_set::JoinSet::inner]", "ReturnValue.Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set]", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::watch::state::Version(0)]", "ReturnValue.Field[tokio::sync::watch::state::Version(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::sync::watch::state::Version(0)]", "ReturnValue.Field[tokio::sync::watch::state::Version(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::task::coop::Budget(0)]", "ReturnValue.Field[tokio::task::coop::Budget(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::join_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::join_next_with_id", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::try_join_next", "Argument[self].Reference.Field[tokio::task::join_set::JoinSet::inner]", "ReturnValue.Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set].Reference", "value", "dfc-generated"] + - ["::try_join_next_with_id", "Argument[self].Reference.Field[tokio::task::join_set::JoinSet::inner]", "ReturnValue.Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::block_on", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::run_until", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::run_until", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::scope", "Argument[0]", "ReturnValue.Field[tokio::task::task_local::TaskLocalFuture::slot].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::scope", "Argument[1]", "ReturnValue.Field[tokio::task::task_local::TaskLocalFuture::future].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::scope", "Argument[self]", "ReturnValue.Field[tokio::task::task_local::TaskLocalFuture::local]", "value", "dfc-generated"] - ["::sync_scope", "Argument[1].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::task_local::TaskLocalFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::task_local::TaskLocalFuture::local]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::task_local::TaskLocalFuture::slot]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::task_local::TaskLocalFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::task_local::TaskLocalFuture::local]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::task::task_local::TaskLocalFuture::slot]", "ReturnValue", "value", "dfc-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::try_with", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::with", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio::time::error::Error(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio::time::instant::Instant::std]", "ReturnValue.Field[tokio::time::instant::Instant::std]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio::time::instant::Instant::std]", "value", "dfc-generated"] - ["::add", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::add", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::add_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - - ["::sub_assign", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::from_std", "Argument[0]", "ReturnValue.Field[tokio::time::instant::Instant::std]", "value", "dfc-generated"] - ["::into_std", "Argument[self].Field[tokio::time::instant::Instant::std]", "ReturnValue", "value", "dfc-generated"] - - ["::missed_tick_behavior", "Argument[self].Field[tokio::time::interval::Interval::missed_tick_behavior]", "ReturnValue", "value", "dfc-generated"] - - ["::period", "Argument[self].Field[tokio::time::interval::Interval::period]", "ReturnValue", "value", "dfc-generated"] - - ["::set_missed_tick_behavior", "Argument[0]", "Argument[self].Field[tokio::time::interval::Interval::missed_tick_behavior]", "value", "dfc-generated"] - - ["::deadline", "Argument[self].Field[tokio::time::sleep::Sleep::entry].Field[tokio::runtime::time::entry::TimerEntry::deadline]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::missed_tick_behavior", "Argument[self].Reference.Field[tokio::time::interval::Interval::missed_tick_behavior]", "ReturnValue", "value", "dfc-generated"] + - ["::period", "Argument[self].Reference.Field[tokio::time::interval::Interval::period]", "ReturnValue", "value", "dfc-generated"] + - ["::set_missed_tick_behavior", "Argument[0]", "Argument[self].Reference.Field[tokio::time::interval::Interval::missed_tick_behavior]", "value", "dfc-generated"] + - ["::tick", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deadline", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new_timeout", "Argument[0]", "ReturnValue.Field[tokio::time::sleep::Sleep::entry].Field[tokio::runtime::time::entry::TimerEntry::deadline]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::sleep::Sleep::entry]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::sleep::Sleep::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::sleep::Sleep::entry]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::sleep::Sleep::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio::time::timeout::Timeout::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio::time::timeout::Timeout::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio::time::timeout::Timeout::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio::time::timeout::Timeout::value]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio::time::timeout::Timeout::value]", "ReturnValue", "value", "dfc-generated"] - ["::new_with_delay", "Argument[0]", "ReturnValue.Field[tokio::time::timeout::Timeout::value]", "value", "dfc-generated"] - ["::new_with_delay", "Argument[1]", "ReturnValue.Field[tokio::time::timeout::Timeout::delay]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::timeout::Timeout::delay]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::timeout::Timeout::value]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::timeout::Timeout::delay]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio::time::timeout::Timeout::value]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Field[tokio::util::as_ref::OwnedBuf::Bytes(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Field[tokio::util::as_ref::OwnedBuf::Vec(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::pack", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::pack", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::pack", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::unpack", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::unpack", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deref", "Argument[self].Field[tokio::util::cacheline::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio::util::cacheline::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref", "Argument[self].Reference.Field[tokio::util::cacheline::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[tokio::util::cacheline::CachePadded::value]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::util::cacheline::CachePadded::value]", "value", "dfc-generated"] + - ["::remove", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::with_value_and_context", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["::insert_idle", "Argument[self]", "ReturnValue.Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[tokio::util::idle_notified_set::IdleNotifiedSet::length]", "ReturnValue", "value", "dfc-generated"] + - ["::len", "Argument[self].Reference.Field[tokio::util::idle_notified_set::IdleNotifiedSet::length]", "ReturnValue", "value", "dfc-generated"] - ["::pop_notified", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set]", "value", "dfc-generated"] - ["::try_pop_notified", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::util::idle_notified_set::EntryInOneOfTheLists::set]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::drain_filter", "Argument[0]", "ReturnValue.Field[tokio::util::linked_list::DrainFilter::filter]", "value", "dfc-generated"] - - ["::drain_filter", "Argument[self].Field[tokio::util::linked_list::LinkedList::head]", "ReturnValue.Field[tokio::util::linked_list::DrainFilter::curr]", "value", "dfc-generated"] + - ["::drain_filter", "Argument[self].Reference.Field[tokio::util::linked_list::LinkedList::head]", "ReturnValue.Field[tokio::util::linked_list::DrainFilter::curr]", "value", "dfc-generated"] - ["::drain_filter", "Argument[self]", "ReturnValue.Field[tokio::util::linked_list::DrainFilter::list]", "value", "dfc-generated"] - - ["::last", "Argument[self].Field[tokio::util::linked_list::LinkedList::tail].Field[core::option::Option::Some(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::pop_back", "Argument[self].Field[tokio::util::linked_list::LinkedList::tail].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::pop_back", "Argument[self].Field[tokio::util::linked_list::LinkedList::tail].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::pop_front", "Argument[self].Field[tokio::util::linked_list::LinkedList::head].Field[core::option::Option::Some(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::pop_front", "Argument[self].Field[tokio::util::linked_list::LinkedList::head].Field[core::result::Result::Ok(0)]", "ReturnValue", "value", "dfc-generated"] + - ["::last", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::pop_back", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::pop_front", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_next", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_prev", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::expose_provenance", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_exposed_addr", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from_seed", "Argument[0].Field[tokio::util::rand::RngSeed::r]", "ReturnValue.Field[tokio::util::rand::FastRand::two]", "value", "dfc-generated"] - ["::from_seed", "Argument[0].Field[tokio::util::rand::RngSeed::s]", "ReturnValue.Field[tokio::util::rand::FastRand::one]", "value", "dfc-generated"] - - ["::replace_seed", "Argument[0].Field[tokio::util::rand::RngSeed::r]", "Argument[self].Field[tokio::util::rand::FastRand::two]", "value", "dfc-generated"] - - ["::replace_seed", "Argument[0].Field[tokio::util::rand::RngSeed::s]", "Argument[self].Field[tokio::util::rand::FastRand::one]", "value", "dfc-generated"] - - ["::replace_seed", "Argument[self].Field[tokio::util::rand::FastRand::one]", "ReturnValue.Field[tokio::util::rand::RngSeed::s]", "value", "dfc-generated"] - - ["::replace_seed", "Argument[self].Field[tokio::util::rand::FastRand::two]", "ReturnValue.Field[tokio::util::rand::RngSeed::r]", "value", "dfc-generated"] - - ["::lock_shard", "Argument[self].Field[tokio::util::sharded_list::ShardedList::added]", "ReturnValue.Field[tokio::util::sharded_list::ShardGuard::added].Reference", "value", "dfc-generated"] - - ["::lock_shard", "Argument[self].Field[tokio::util::sharded_list::ShardedList::count]", "ReturnValue.Field[tokio::util::sharded_list::ShardGuard::count].Reference", "value", "dfc-generated"] + - ["::replace_seed", "Argument[0].Field[tokio::util::rand::RngSeed::r]", "Argument[self].Reference.Field[tokio::util::rand::FastRand::two]", "value", "dfc-generated"] + - ["::replace_seed", "Argument[0].Field[tokio::util::rand::RngSeed::s]", "Argument[self].Reference.Field[tokio::util::rand::FastRand::one]", "value", "dfc-generated"] + - ["::replace_seed", "Argument[self].Reference.Field[tokio::util::rand::FastRand::one]", "ReturnValue.Field[tokio::util::rand::RngSeed::s]", "value", "dfc-generated"] + - ["::replace_seed", "Argument[self].Reference.Field[tokio::util::rand::FastRand::two]", "ReturnValue.Field[tokio::util::rand::RngSeed::r]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::replace", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::replace", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::set", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::lock_shard", "Argument[self].Reference.Field[tokio::util::sharded_list::ShardedList::added]", "ReturnValue.Field[tokio::util::sharded_list::ShardGuard::added].Reference", "value", "dfc-generated"] + - ["::lock_shard", "Argument[self].Reference.Field[tokio::util::sharded_list::ShardedList::count]", "ReturnValue.Field[tokio::util::sharded_list::ShardGuard::count].Reference", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::shard_size", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio::util::sync_wrapper::SyncWrapper::value]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::util::sync_wrapper::SyncWrapper::value]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio::util::trace::SpawnMeta::_pd]", "ReturnValue.Field[tokio::util::trace::SpawnMeta::_pd]", "value", "dfc-generated"] + - ["::deref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::deref_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio::util::try_lock::TryLock::data].Field[core::cell::UnsafeCell::value]", "value", "dfc-generated"] - ["::try_lock", "Argument[self]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio::util::try_lock::LockGuard::lock]", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio::util::wake::WakerRef::waker]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[tokio::util::wake::WakerRef::waker]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::stream_close::StreamNotifyClose::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_close::StreamNotifyClose::inner].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_close::StreamNotifyClose::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_close::StreamNotifyClose::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::all::AllFuture::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::all::AllFuture::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::all::AllFuture::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::all::AllFuture::stream]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::all::AllFuture::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::all::AllFuture::stream]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::any::AnyFuture::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::any::AnyFuture::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::any::AnyFuture::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::any::AnyFuture::stream]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::any::AnyFuture::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::any::AnyFuture::stream]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::chain::Chain::b]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::chain::Chain::a]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::chain::Chain::b]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::chain::Chain::a]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::chain::Chain::b]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::chunks_timeout::ChunksTimeout::cap]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[tokio_stream::stream_ext::chunks_timeout::ChunksTimeout::duration]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::collect::Collect::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::collect::Collect::collection]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::collect::Collect::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::collect::Collect::collection]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::collect::Collect::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::filter::Filter::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::filter::Filter::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter::Filter::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter::Filter::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter::Filter::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter::Filter::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::filter_map::FilterMap::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::filter_map::FilterMap::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter_map::FilterMap::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter_map::FilterMap::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter_map::FilterMap::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::filter_map::FilterMap::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::fold::FoldFuture::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::fold::FoldFuture::acc].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[2]", "ReturnValue.Field[tokio_stream::stream_ext::fold::FoldFuture::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fold::FoldFuture::acc]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fold::FoldFuture::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fold::FoldFuture::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fold::FoldFuture::acc]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fold::FoldFuture::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fold::FoldFuture::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::fuse::Fuse::stream].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fuse::Fuse::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::fuse::Fuse::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::map::Map::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::map::Map::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map::Map::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map::Map::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map::Map::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map::Map::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::map_while::MapWhile::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::map_while::MapWhile::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map_while::MapWhile::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map_while::MapWhile::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map_while::MapWhile::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::map_while::MapWhile::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::merge::Merge::a]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::merge::Merge::a_first]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::merge::Merge::b]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::merge::Merge::a]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::merge::Merge::a_first]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::merge::Merge::b]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::next::Next::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::next::Next::stream]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::next::Next::stream]", "ReturnValue", "value", "dfc-generated"] - - ["::peek", "Argument[self].Field[tokio_stream::stream_ext::peekable::Peekable::peek].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::peekable::Peekable::peek]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::peekable::Peekable::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::peekable::Peekable::peek]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::peekable::Peekable::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::skip::Skip::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::skip::Skip::remaining]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip::Skip::remaining]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip::Skip::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip::Skip::remaining]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip::Skip::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::skip_while::SkipWhile::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::skip_while::SkipWhile::predicate].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip_while::SkipWhile::predicate]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip_while::SkipWhile::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip_while::SkipWhile::predicate]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::skip_while::SkipWhile::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[tokio_stream::stream_ext::take::Take::remaining]", "ReturnValue.Field[0]", "value", "dfc-generated"] - - ["::size_hint", "Argument[self].Field[tokio_stream::stream_ext::take::Take::remaining]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::size_hint", "Argument[self].Reference.Field[tokio_stream::stream_ext::take::Take::remaining]", "ReturnValue.Field[0]", "value", "dfc-generated"] + - ["::size_hint", "Argument[self].Reference.Field[tokio_stream::stream_ext::take::Take::remaining]", "ReturnValue.Field[1].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::take::Take::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::take::Take::remaining]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take::Take::remaining]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take::Take::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take::Take::remaining]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take::Take::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::take_while::TakeWhile::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::take_while::TakeWhile::predicate]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take_while::TakeWhile::done]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take_while::TakeWhile::predicate]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take_while::TakeWhile::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take_while::TakeWhile::done]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take_while::TakeWhile::predicate]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::take_while::TakeWhile::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::then::Then::stream]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::then::Then::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::then::Then::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::then::Then::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::then::Then::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::then::Then::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::then::Then::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::then::Then::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_stream::stream_ext::throttle::Throttle::stream]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_stream::stream_ext::throttle::Throttle::stream]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio_stream::stream_ext::throttle::Throttle::stream]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio_stream::stream_ext::throttle::Throttle::stream]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::stream_ext::throttle::Throttle::stream]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::timeout::Timeout::duration]", "value", "dfc-generated"] - - ["::project", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::project_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::timeout_repeating::TimeoutRepeating::interval]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::timeout_repeating::TimeoutRepeating::interval]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::timeout_repeating::TimeoutRepeating::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::timeout_repeating::TimeoutRepeating::interval]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::timeout_repeating::TimeoutRepeating::stream]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::try_next::TryNext::inner].Field[tokio_stream::stream_ext::next::Next::stream]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::try_next::TryNext::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::stream_ext::try_next::TryNext::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::len", "Argument[self].Field[tokio_stream::stream_map::StreamMap::entries].Field[alloc::vec::Vec::len]", "ReturnValue", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::interval::IntervalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::interval::IntervalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::len", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::next_many", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::next_many", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["::next_many", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio_stream::wrappers::broadcast::BroadcastStreamRecvError::Lagged(0)]", "ReturnValue.Field[tokio_stream::wrappers::broadcast::BroadcastStreamRecvError::Lagged(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_stream::wrappers::broadcast::BroadcastStreamRecvError::Lagged(0)]", "ReturnValue.Field[tokio_stream::wrappers::broadcast::BroadcastStreamRecvError::Lagged(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::interval::IntervalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::interval::IntervalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::interval::IntervalStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::interval::IntervalStream::inner]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::lines::LinesStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::lines::LinesStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::lines::LinesStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::lines::LinesStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::lines::LinesStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::lines::LinesStream::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::wrappers::lines::LinesStream::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::wrappers::lines::LinesStream::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::mpsc_bounded::ReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::mpsc_bounded::ReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::mpsc_bounded::ReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::mpsc_bounded::ReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::mpsc_bounded::ReceiverStream::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::mpsc_bounded::ReceiverStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::mpsc_bounded::ReceiverStream::inner]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::mpsc_unbounded::UnboundedReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::mpsc_unbounded::UnboundedReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::mpsc_unbounded::UnboundedReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::mpsc_unbounded::UnboundedReceiverStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::from", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::mpsc_unbounded::UnboundedReceiverStream::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::mpsc_unbounded::UnboundedReceiverStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::mpsc_unbounded::UnboundedReceiverStream::inner]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::read_dir::ReadDirStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::read_dir::ReadDirStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::read_dir::ReadDirStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::read_dir::ReadDirStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::read_dir::ReadDirStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::read_dir::ReadDirStream::inner]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::signal_unix::SignalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::signal_unix::SignalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::signal_unix::SignalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::signal_unix::SignalStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::signal_unix::SignalStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::signal_unix::SignalStream::inner]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::split::SplitStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::split::SplitStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::split::SplitStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::split::SplitStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::split::SplitStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::split::SplitStream::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::wrappers::split::SplitStream::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_stream::wrappers::split::SplitStream::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::tcp_listener::TcpListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::tcp_listener::TcpListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::tcp_listener::TcpListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::tcp_listener::TcpListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::tcp_listener::TcpListenerStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::tcp_listener::TcpListenerStream::inner]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_stream::wrappers::unix_listener::UnixListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_stream::wrappers::unix_listener::UnixListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_stream::wrappers::unix_listener::UnixListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_stream::wrappers::unix_listener::UnixListenerStream::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_stream::wrappers::unix_listener::UnixListenerStream::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_stream::wrappers::unix_listener::UnixListenerStream::inner]", "value", "dfc-generated"] - - ["::build", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio_test::io::Builder::actions]", "ReturnValue.Field[tokio_test::io::Builder::actions]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_test::io::Builder::name]", "ReturnValue.Field[tokio_test::io::Builder::name]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::build", "Argument[self].Reference.Field[tokio_test::io::Builder::actions]", "ReturnValue.Field[tokio_test::io::Mock::inner].Field[tokio_test::io::Inner::actions]", "value", "dfc-generated"] + - ["::build", "Argument[self].Reference.Field[tokio_test::io::Builder::name]", "ReturnValue.Field[tokio_test::io::Mock::inner].Field[tokio_test::io::Inner::name]", "value", "dfc-generated"] - ["::name", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::read", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::read_error", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::wait", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::write", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::write_error", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::read_error", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::write", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::write_error", "Argument[self]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio_test::stream_mock::Action::Wait(0)]", "ReturnValue.Field[tokio_test::stream_mock::Action::Wait(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio_test::stream_mock::StreamMockBuilder::actions]", "ReturnValue.Field[tokio_test::stream_mock::StreamMockBuilder::actions]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::build", "Argument[self].Field[tokio_test::stream_mock::StreamMockBuilder::actions]", "ReturnValue.Field[tokio_test::stream_mock::StreamMock::actions]", "value", "dfc-generated"] - ["::next", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::wait", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::deref", "Argument[self].Field[tokio_test::task::Spawn::future]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::deref_mut", "Argument[self].Field[tokio_test::task::Spawn::future]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_test::task::MockTask::waker].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[tokio_test::task::MockTask::waker].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_test::task::MockTask::waker].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[tokio_test::task::MockTask::waker].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_test::task::MockTask::waker]", "ReturnValue.Field[tokio_test::task::MockTask::waker]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deref", "Argument[self].Reference.Field[tokio_test::task::Spawn::future]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::deref_mut", "Argument[self].Reference.Field[tokio_test::task::Spawn::future]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::enter", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[tokio_test::task::Spawn::future].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::max_length", "Argument[self].Field[tokio_util::codec::any_delimiter_codec::AnyDelimiterCodec::max_length]", "ReturnValue", "value", "dfc-generated"] + - ["::into_inner", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::max_length", "Argument[self].Reference.Field[tokio_util::codec::any_delimiter_codec::AnyDelimiterCodec::max_length]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::codec::any_delimiter_codec::AnyDelimiterCodec::seek_delimiters]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::codec::any_delimiter_codec::AnyDelimiterCodec::sequence_writer]", "value", "dfc-generated"] - ["::new_with_max_length", "Argument[2]", "ReturnValue.Field[tokio_util::codec::any_delimiter_codec::AnyDelimiterCodec::max_length]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio_util::codec::any_delimiter_codec::AnyDelimiterCodecError::Io(0)]", "value", "dfc-generated"] - - ["::codec", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::codec_mut", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::backpressure_boundary", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::codec", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::codec_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::from_parts", "Argument[0].Field[tokio_util::codec::framed::FramedParts::codec]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] - ["::from_parts", "Argument[0].Field[tokio_util::codec::framed::FramedParts::io]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue.Field[tokio_util::codec::framed::FramedParts::codec]", "value", "dfc-generated"] - ["::into_parts", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Field[tokio_util::codec::framed::FramedParts::io]", "value", "dfc-generated"] @@ -1237,28 +1956,28 @@ extensions: - ["::map_codec", "Argument[self].Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed::Framed::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed::Framed::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::read_buffer", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_buffer_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_capacity", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] + - ["::write_buffer", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_buffer_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed::FramedParts::io]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::codec::framed::FramedParts::codec]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_impl::FramedImpl::state]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_impl::FramedImpl::state]", "ReturnValue", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[tokio_util::codec::framed_impl::RWFrames::read]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow", "Argument[self].Field[tokio_util::codec::framed_impl::RWFrames::write]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[tokio_util::codec::framed_impl::RWFrames::read]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::borrow_mut", "Argument[self].Field[tokio_util::codec::framed_impl::RWFrames::write]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::borrow", "Argument[self].Reference.Field[tokio_util::codec::framed_impl::RWFrames::read]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow", "Argument[self].Reference.Field[tokio_util::codec::framed_impl::RWFrames::write]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Reference.Field[tokio_util::codec::framed_impl::RWFrames::read]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::borrow_mut", "Argument[self].Reference.Field[tokio_util::codec::framed_impl::RWFrames::write]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed_impl::ReadFrame::buffer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed_impl::WriteFrame::buffer]", "value", "dfc-generated"] - - ["::decoder", "Argument[self].Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::decoder_mut", "Argument[self].Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::decoder", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::decoder_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue", "value", "dfc-generated"] - ["::map_decoder", "Argument[0].ReturnValue", "ReturnValue.Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] - ["::map_decoder", "Argument[self].Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "Argument[0].Parameter[0]", "value", "dfc-generated"] @@ -1266,14 +1985,16 @@ extensions: - ["::map_decoder", "Argument[self].Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::state]", "ReturnValue.Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::state]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_read::FramedRead::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_read::FramedRead::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::read_buffer", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_buffer_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::with_capacity", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] - - ["::encoder", "Argument[self].Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::encoder_mut", "Argument[self].Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::backpressure_boundary", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::encoder", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::encoder_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "ReturnValue", "value", "dfc-generated"] - ["::map_encoder", "Argument[0].ReturnValue", "ReturnValue.Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] - ["::map_encoder", "Argument[self].Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "Argument[0].Parameter[0]", "value", "dfc-generated"] @@ -1281,196 +2002,229 @@ extensions: - ["::map_encoder", "Argument[self].Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::state]", "ReturnValue.Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::state]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::codec]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_write::FramedWrite::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::codec::framed_write::FramedWrite::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::write_buffer", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_buffer_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::big_endian", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::length_adjustment", "Argument[0]", "Argument[self].Field[tokio_util::codec::length_delimited::Builder::length_adjustment]", "value", "dfc-generated"] - - ["::length_adjustment", "Argument[0]", "ReturnValue.Field[tokio_util::codec::length_delimited::Builder::length_adjustment]", "value", "dfc-generated"] + - ["::length_adjustment", "Argument[0]", "Argument[self].Reference.Field[tokio_util::codec::length_delimited::Builder::length_adjustment]", "value", "dfc-generated"] - ["::length_adjustment", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::length_field_length", "Argument[0]", "Argument[self].Field[tokio_util::codec::length_delimited::Builder::length_field_len]", "value", "dfc-generated"] - - ["::length_field_length", "Argument[0]", "ReturnValue.Field[tokio_util::codec::length_delimited::Builder::length_field_len]", "value", "dfc-generated"] + - ["::length_field_length", "Argument[0]", "Argument[self].Reference.Field[tokio_util::codec::length_delimited::Builder::length_field_len]", "value", "dfc-generated"] - ["::length_field_length", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::length_field_offset", "Argument[0]", "Argument[self].Field[tokio_util::codec::length_delimited::Builder::length_field_offset]", "value", "dfc-generated"] - - ["::length_field_offset", "Argument[0]", "ReturnValue.Field[tokio_util::codec::length_delimited::Builder::length_field_offset]", "value", "dfc-generated"] + - ["::length_field_offset", "Argument[0]", "Argument[self].Reference.Field[tokio_util::codec::length_delimited::Builder::length_field_offset]", "value", "dfc-generated"] - ["::length_field_offset", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::length_field_type", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::little_endian", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_frame_length", "Argument[0]", "Argument[self].Field[tokio_util::codec::length_delimited::Builder::max_frame_len]", "value", "dfc-generated"] - - ["::max_frame_length", "Argument[0]", "ReturnValue.Field[tokio_util::codec::length_delimited::Builder::max_frame_len]", "value", "dfc-generated"] + - ["::max_frame_length", "Argument[0]", "Argument[self].Reference.Field[tokio_util::codec::length_delimited::Builder::max_frame_len]", "value", "dfc-generated"] - ["::max_frame_length", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::native_endian", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - ["::new_codec", "Argument[self].Reference", "ReturnValue.Field[tokio_util::codec::length_delimited::LengthDelimitedCodec::builder]", "value", "dfc-generated"] - ["::new_framed", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed::Framed::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::new_read", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed_read::FramedRead::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - ["::new_write", "Argument[0]", "ReturnValue.Field[tokio_util::codec::framed_write::FramedWrite::inner].Field[tokio_util::codec::framed_impl::FramedImpl::inner]", "value", "dfc-generated"] - - ["::num_skip", "Argument[0]", "Argument[self].Field[tokio_util::codec::length_delimited::Builder::num_skip].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::num_skip", "Argument[0]", "ReturnValue.Field[tokio_util::codec::length_delimited::Builder::num_skip].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::num_skip", "Argument[self]", "ReturnValue", "value", "dfc-generated"] - - ["::max_frame_length", "Argument[self].Field[tokio_util::codec::length_delimited::LengthDelimitedCodec::builder].Field[tokio_util::codec::length_delimited::Builder::max_frame_len]", "ReturnValue", "value", "dfc-generated"] - - ["::set_max_frame_length", "Argument[0]", "Argument[self].Field[tokio_util::codec::length_delimited::LengthDelimitedCodec::builder].Field[tokio_util::codec::length_delimited::Builder::max_frame_len]", "value", "dfc-generated"] - - ["::max_length", "Argument[self].Field[tokio_util::codec::lines_codec::LinesCodec::max_length]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::codec::length_delimited::DecodeState::Data(0)]", "ReturnValue.Field[tokio_util::codec::length_delimited::DecodeState::Data(0)].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::codec::length_delimited::DecodeState::Data(0)]", "ReturnValue.Field[tokio_util::codec::length_delimited::DecodeState::Data(0)]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::max_frame_length", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::set_max_frame_length", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::max_length", "Argument[self].Reference.Field[tokio_util::codec::lines_codec::LinesCodec::max_length]", "ReturnValue", "value", "dfc-generated"] - ["::new_with_max_length", "Argument[0]", "ReturnValue.Field[tokio_util::codec::lines_codec::LinesCodec::max_length]", "value", "dfc-generated"] - ["::from", "Argument[0]", "ReturnValue.Field[tokio_util::codec::lines_codec::LinesCodecError::Io(0)]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::compat::Compat::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::compat::Compat::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Field[tokio_util::compat::Compat::seek_pos]", "ReturnValue.Field[tokio_util::compat::Compat::seek_pos]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio_util::compat::Compat::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio_util::compat::Compat::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::compat::Compat::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::compat::Compat::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::compat::Compat::seek_pos]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::compat::Compat::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::compat::Compat::seek_pos]", "ReturnValue", "value", "dfc-generated"] - - ["::handle", "Argument[self].Field[tokio_util::context::TokioContext::handle]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::handle", "Argument[self].Reference.Field[tokio_util::context::TokioContext::handle]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::context::TokioContext::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::context::TokioContext::inner]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::context::TokioContext::handle]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::context::TokioContext::handle]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::context::TokioContext::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::context::TokioContext::handle]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::context::TokioContext::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::copy_to_bytes::CopyToBytes::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::io::inspect::InspectReader::reader]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::io::inspect::InspectReader::reader]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::io::inspect::InspectReader::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectReader::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectReader::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectReader::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectReader::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::io::inspect::InspectWriter::writer]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::io::inspect::InspectWriter::writer]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::io::inspect::InspectWriter::f]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectWriter::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectWriter::writer]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectWriter::f]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::inspect::InspectWriter::writer]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::io::reader_stream::ReaderStream::reader].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::reader_stream::ReaderStream::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::reader_stream::ReaderStream::capacity]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::reader_stream::ReaderStream::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::reader_stream::ReaderStream::buf]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::reader_stream::ReaderStream::capacity]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::reader_stream::ReaderStream::reader]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - ["::with_capacity", "Argument[0]", "ReturnValue.Field[tokio_util::io::reader_stream::ReaderStream::reader].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["::with_capacity", "Argument[1]", "ReturnValue.Field[tokio_util::io::reader_stream::ReaderStream::capacity]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::io::sink_writer::SinkWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::io::sink_writer::SinkWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio_util::io::sink_writer::SinkWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio_util::io::sink_writer::SinkWriter::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::io::sink_writer::SinkWriter::inner]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::io::sink_writer::SinkWriter::inner]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::sink_writer::SinkWriter::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::io::sink_writer::SinkWriter::inner]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::io::stream_reader::StreamReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::io::stream_reader::StreamReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio_util::io::stream_reader::StreamReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_pin_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio_util::io::stream_reader::StreamReader::inner]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::io::stream_reader::StreamReader::inner]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner_with_chunk", "Argument[self].Field[tokio_util::io::stream_reader::StreamReader::chunk]", "ReturnValue.Field[1]", "value", "dfc-generated"] - ["::into_inner_with_chunk", "Argument[self].Field[tokio_util::io::stream_reader::StreamReader::inner]", "ReturnValue.Field[0]", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::io::stream_reader::StreamReader::inner]", "value", "dfc-generated"] - - ["::as_mut", "Argument[self].Field[tokio_util::io::sync_bridge::SyncIoBridge::src]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_util::io::sync_bridge::SyncIoBridge::src]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_mut", "Argument[self].Reference.Field[tokio_util::io::sync_bridge::SyncIoBridge::src]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_util::io::sync_bridge::SyncIoBridge::src]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read_line", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read_line", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_line", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_until", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read_until", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["::read_until", "Argument[self]", "Argument[1]", "taint", "df-generated"] + - ["::read_until", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::read", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_exact", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_exact", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_end", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::read_to_string", "Argument[self]", "Argument[0]", "taint", "df-generated"] + - ["::read_to_string", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::seek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::flush", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_all", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write_all", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::write_vectored", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::io::sync_bridge::SyncIoBridge::src]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::io::sync_bridge::SyncIoBridge::src]", "value", "dfc-generated"] - ["::new_with_handle", "Argument[0]", "ReturnValue.Field[tokio_util::io::sync_bridge::SyncIoBridge::src]", "value", "dfc-generated"] - ["::new_with_handle", "Argument[1]", "ReturnValue.Field[tokio_util::io::sync_bridge::SyncIoBridge::rt]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::sync::cancellation_token::CancellationToken::inner].Reference", "ReturnValue.Field[tokio_util::sync::cancellation_token::CancellationToken::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::sync::cancellation_token::CancellationToken::inner]", "ReturnValue.Field[tokio_util::sync::cancellation_token::CancellationToken::inner]", "value", "dfc-generated"] + - ["::shutdown", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio_util::sync::cancellation_token::CancellationToken::inner]", "ReturnValue.Field[tokio_util::sync::cancellation_token::CancellationToken::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::cancelled", "Argument[self]", "ReturnValue.Field[tokio_util::sync::cancellation_token::WaitForCancellationFuture::cancellation_token]", "value", "dfc-generated"] - ["::cancelled_owned", "Argument[self]", "ReturnValue.Field[tokio_util::sync::cancellation_token::WaitForCancellationFutureOwned::cancellation_token]", "value", "dfc-generated"] - ["::drop_guard", "Argument[self]", "ReturnValue.Field[tokio_util::sync::cancellation_token::guard::DropGuard::inner].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFuture::cancellation_token]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFuture::cancellation_token]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFutureOwned::cancellation_token]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFutureOwned::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFutureOwned::cancellation_token]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::sync::cancellation_token::WaitForCancellationFutureOwned::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::notified", "Argument[self].Field[tokio_util::sync::cancellation_token::tree_node::TreeNode::waker]", "ReturnValue.Field[tokio::sync::notify::Notified::notify].Reference", "value", "dfc-generated"] - - ["::notified", "Argument[self].Field[tokio_util::sync::cancellation_token::tree_node::TreeNode::waker]", "ReturnValue.Field[tokio::sync::notify::Notified::notify]", "value", "dfc-generated"] - - ["::into_inner", "Argument[self].Field[0]", "ReturnValue", "value", "dfc-generated"] + - ["::run_until_cancelled", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::run_until_cancelled", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::run_until_cancelled_owned", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::run_until_cancelled_owned", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::notified", "Argument[self].Reference.Field[tokio_util::sync::cancellation_token::tree_node::TreeNode::waker]", "ReturnValue.Field[tokio::sync::notify::Notified::notify].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::sync::mpsc::PollSendError(0)]", "ReturnValue", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::sync::mpsc::PollSender::sender].Field[core::option::Option::Some(0)]", "ReturnValue.Field[tokio_util::sync::mpsc::PollSender::sender].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::sync::mpsc::PollSender::sender].Field[core::option::Option::Some(0)]", "ReturnValue.Field[tokio_util::sync::mpsc::PollSender::state].Field[tokio_util::sync::mpsc::State::Idle(0)]", "value", "dfc-generated"] - - ["::abort_send", "Argument[self].Field[tokio_util::sync::mpsc::PollSender::sender].Field[core::option::Option::Some(0)]", "Argument[self].Field[tokio_util::sync::mpsc::PollSender::state].Field[tokio_util::sync::mpsc::State::Idle(0)]", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::sync::mpsc::PollSender::sender].Field[core::option::Option::Some(0)]", "ReturnValue.Field[core::option::Option::Some(0)].Reference", "value", "dfc-generated"] - - ["::new", "Argument[0].Reference", "ReturnValue.Field[tokio_util::sync::mpsc::PollSender::sender].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::sync::mpsc::PollSender::sender].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::abort_send", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::get_ref", "Argument[self]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::sync::mpsc::PollSender::state].Field[tokio_util::sync::mpsc::State::Idle(0)]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore].Reference", "ReturnValue.Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "ReturnValue.Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::clone_inner", "Argument[self].Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore].Reference", "ReturnValue", "value", "dfc-generated"] - - ["::clone_inner", "Argument[self].Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "ReturnValue.Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::clone_inner", "Argument[self].Reference.Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "ReturnValue", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::sync::poll_semaphore::PollSemaphore::semaphore]", "value", "dfc-generated"] - - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::sync::reusable_box::ReusableBoxFuture::boxed].Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::try_set", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[0]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::as_ref", "Argument[self].Field[tokio_util::task::abort_on_drop::AbortOnDropHandle(0)]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::abort_handle", "Argument[self].Field[0].Field[tokio::runtime::task::join::JoinHandle::raw]", "ReturnValue.Field[tokio::runtime::task::abort::AbortHandle::raw]", "value", "dfc-generated"] - - ["::abort_handle", "Argument[self].Field[tokio_util::task::abort_on_drop::AbortOnDropHandle(0)].Field[tokio::runtime::task::join::JoinHandle::raw]", "ReturnValue.Field[tokio::runtime::task::abort::AbortHandle::raw]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::task::task_tracker::TaskTracker::inner].Reference", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTracker::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::task::task_tracker::TaskTracker::inner]", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTracker::inner]", "value", "dfc-generated"] - - ["::token", "Argument[self].Field[tokio_util::task::task_tracker::TaskTracker::inner].Reference", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker].Field[tokio_util::task::task_tracker::TaskTracker::inner]", "value", "dfc-generated"] - - ["::token", "Argument[self].Field[tokio_util::task::task_tracker::TaskTracker::inner]", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker].Field[tokio_util::task::task_tracker::TaskTracker::inner]", "value", "dfc-generated"] - - ["::token", "Argument[self].Reference", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker]", "value", "dfc-generated"] + - ["::as_ref", "Argument[self].Reference.Field[tokio_util::task::abort_on_drop::AbortOnDropHandle(0)]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::abort_handle", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::task::abort_on_drop::AbortOnDropHandle(0)]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::task::spawn_pinned::LocalPoolHandle::pool].Field[alloc::sync::Arc::alloc]", "ReturnValue.Field[tokio_util::task::spawn_pinned::LocalPoolHandle::pool].Field[alloc::sync::Arc::alloc]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::task::spawn_pinned::LocalPoolHandle::pool].Field[alloc::sync::Arc::ptr]", "ReturnValue.Field[tokio_util::task::spawn_pinned::LocalPoolHandle::pool].Field[alloc::sync::Arc::ptr]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::task::spawn_pinned::LocalPoolHandle::pool]", "ReturnValue.Field[tokio_util::task::spawn_pinned::LocalPoolHandle::pool]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Reference.Field[tokio_util::task::task_tracker::TaskTracker::inner]", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTracker::inner]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::token", "Argument[self].Reference.Field[tokio_util::task::task_tracker::TaskTracker::inner]", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker].Field[tokio_util::task::task_tracker::TaskTracker::inner]", "value", "dfc-generated"] - ["::track_future", "Argument[0]", "ReturnValue.Field[tokio_util::task::task_tracker::TrackedFuture::future]", "value", "dfc-generated"] - - ["::track_future", "Argument[self].Reference", "ReturnValue.Field[tokio_util::task::task_tracker::TrackedFuture::token].Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker]", "value", "dfc-generated"] - ["::wait", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::clone", "Argument[self].Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker].Field[tokio_util::task::task_tracker::TaskTracker::inner]", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker].Field[tokio_util::task::task_tracker::TaskTracker::inner]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker].Reference", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker]", "value", "dfc-generated"] - - ["::clone", "Argument[self].Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker]", "ReturnValue.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker]", "value", "dfc-generated"] - - ["::task_tracker", "Argument[self].Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TaskTrackerWaitFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TaskTrackerWaitFuture::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TaskTrackerWaitFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TaskTrackerWaitFuture::inner]", "ReturnValue", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TrackedFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TrackedFuture::token]", "ReturnValue", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TrackedFuture::future]", "ReturnValue.Field[core::pin::Pin::__pointer]", "value", "dfc-generated"] - - ["::project_ref", "Argument[self].Field[core::pin::Pin::__pointer].Field[tokio_util::task::task_tracker::TrackedFuture::token]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::task_tracker", "Argument[self].Reference.Field[tokio_util::task::task_tracker::TaskTrackerToken::task_tracker]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::deadline", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::peek", "Argument[self].Field[tokio_util::time::delay_queue::DelayQueue::expired].Field[tokio_util::time::delay_queue::Stack::head]", "ReturnValue", "value", "dfc-generated"] - - ["::poll_expired", "Argument[0].Field[core::task::wake::Context::waker]", "Argument[self].Field[tokio_util::time::delay_queue::DelayQueue::waker].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::remove", "Argument[0].Field[tokio_util::time::delay_queue::Key::index]", "ReturnValue.Field[tokio_util::time::delay_queue::Expired::key].Field[tokio_util::time::delay_queue::Key::index]", "value", "dfc-generated"] - - ["::try_remove", "Argument[self]", "ReturnValue", "taint", "df-generated"] - - ["::deadline", "Argument[self].Field[tokio_util::time::delay_queue::Expired::deadline]", "ReturnValue", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::time::delay_queue::Expired::data]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::time::delay_queue::Expired::data]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_expired", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::remove", "Argument[0].Reference.Field[tokio_util::time::delay_queue::Key::index]", "ReturnValue.Field[tokio_util::time::delay_queue::Expired::key].Field[tokio_util::time::delay_queue::Key::index]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::deadline", "Argument[self].Reference.Field[tokio_util::time::delay_queue::Expired::deadline]", "ReturnValue", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio_util::time::delay_queue::Expired::data]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio_util::time::delay_queue::Expired::data]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::time::delay_queue::Expired::data]", "ReturnValue", "value", "dfc-generated"] - - ["::key", "Argument[self].Field[tokio_util::time::delay_queue::Expired::key]", "ReturnValue", "value", "dfc-generated"] + - ["::key", "Argument[self].Reference.Field[tokio_util::time::delay_queue::Expired::key]", "ReturnValue", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::time::delay_queue::Key::index]", "ReturnValue.Field[tokio_util::time::delay_queue::Key::index].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::time::delay_queue::Key::index]", "ReturnValue.Field[tokio_util::time::delay_queue::Key::index]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[tokio_util::time::delay_queue::KeyInternal::index]", "ReturnValue.Field[tokio_util::time::delay_queue::Key::index]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::time::delay_queue::Key::index]", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::time::delay_queue::KeyInternal::index]", "ReturnValue.Field[tokio_util::time::delay_queue::KeyInternal::index].Reference", "value", "dfc-generated"] + - ["::clone", "Argument[self].Field[tokio_util::time::delay_queue::KeyInternal::index]", "ReturnValue.Field[tokio_util::time::delay_queue::KeyInternal::index]", "value", "dfc-generated"] - ["::from", "Argument[0].Field[tokio_util::time::delay_queue::Key::index]", "ReturnValue.Field[tokio_util::time::delay_queue::KeyInternal::index]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::time::delay_queue::KeyInternal::index]", "value", "dfc-generated"] - - ["::index", "Argument[self].Field[tokio_util::time::delay_queue::SlabStorage::inner].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::index_mut", "Argument[self].Field[tokio_util::time::delay_queue::SlabStorage::inner].Element", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::peek", "Argument[self].Field[tokio_util::time::delay_queue::Stack::head]", "ReturnValue", "value", "dfc-generated"] - - ["::push", "Argument[0]", "Argument[self].Field[tokio_util::time::delay_queue::Stack::head].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - - ["::elapsed", "Argument[self].Field[tokio_util::time::wheel::Wheel::elapsed]", "ReturnValue", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::index", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::index_mut", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::peek", "Argument[self].Reference.Field[tokio_util::time::delay_queue::Stack::head]", "ReturnValue", "value", "dfc-generated"] + - ["::pop", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::push", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::elapsed", "Argument[self].Reference.Field[tokio_util::time::wheel::Wheel::elapsed]", "ReturnValue", "value", "dfc-generated"] - ["::insert", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[0]", "value", "dfc-generated"] - - ["::poll", "Argument[0]", "Argument[self].Field[tokio_util::time::wheel::Wheel::elapsed]", "value", "dfc-generated"] + - ["::peek", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll", "Argument[0]", "Argument[self].Reference.Field[tokio_util::time::wheel::Wheel::elapsed]", "value", "dfc-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::add_entry", "Argument[0]", "Argument[self]", "taint", "df-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::time::wheel::level::Level::level]", "value", "dfc-generated"] - - ["::next_expiration", "Argument[self].Field[tokio_util::time::wheel::level::Level::level]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio_util::time::wheel::level::Expiration::level]", "value", "dfc-generated"] - - ["::codec", "Argument[self].Field[tokio_util::udp::frame::UdpFramed::codec]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::codec_mut", "Argument[self].Field[tokio_util::udp::frame::UdpFramed::codec]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_mut", "Argument[self].Field[tokio_util::udp::frame::UdpFramed::socket]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::get_ref", "Argument[self].Field[tokio_util::udp::frame::UdpFramed::socket]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::next_expiration", "Argument[self].Reference.Field[tokio_util::time::wheel::level::Level::level]", "ReturnValue.Field[core::option::Option::Some(0)].Field[tokio_util::time::wheel::level::Expiration::level]", "value", "dfc-generated"] + - ["::pop_entry_slot", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::remove_entry", "Argument[0]", "Argument[self]", "taint", "df-generated"] + - ["::fmt", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["::poll_close", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_flush", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::poll_ready", "Argument[self]", "ReturnValue", "taint", "df-generated"] + - ["::codec", "Argument[self].Reference.Field[tokio_util::udp::frame::UdpFramed::codec]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::codec_mut", "Argument[self].Reference.Field[tokio_util::udp::frame::UdpFramed::codec]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_mut", "Argument[self].Reference.Field[tokio_util::udp::frame::UdpFramed::socket]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::get_ref", "Argument[self].Reference.Field[tokio_util::udp::frame::UdpFramed::socket]", "ReturnValue.Reference", "value", "dfc-generated"] - ["::into_inner", "Argument[self].Field[tokio_util::udp::frame::UdpFramed::socket]", "ReturnValue", "value", "dfc-generated"] - ["::new", "Argument[0]", "ReturnValue.Field[tokio_util::udp::frame::UdpFramed::socket]", "value", "dfc-generated"] - ["::new", "Argument[1]", "ReturnValue.Field[tokio_util::udp::frame::UdpFramed::codec]", "value", "dfc-generated"] - - ["::read_buffer", "Argument[self].Field[tokio_util::udp::frame::UdpFramed::rd]", "ReturnValue.Reference", "value", "dfc-generated"] - - ["::read_buffer_mut", "Argument[self].Field[tokio_util::udp::frame::UdpFramed::rd]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::read_buffer", "Argument[self].Reference.Field[tokio_util::udp::frame::UdpFramed::rd]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["::read_buffer_mut", "Argument[self].Reference.Field[tokio_util::udp::frame::UdpFramed::rd]", "ReturnValue.Reference", "value", "dfc-generated"] + - ["tokio::future::block_on::block_on", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::io::join::join", "Argument[0]", "ReturnValue.Field[tokio::io::join::Join::reader]", "value", "dfc-generated"] - ["tokio::io::join::join", "Argument[1]", "ReturnValue.Field[tokio::io::join::Join::writer]", "value", "dfc-generated"] - ["tokio::io::seek::seek", "Argument[0]", "ReturnValue.Field[tokio::io::seek::Seek::seek]", "value", "dfc-generated"] - ["tokio::io::seek::seek", "Argument[1]", "ReturnValue.Field[tokio::io::seek::Seek::pos].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["tokio::io::util::chain::chain", "Argument[0]", "ReturnValue.Field[tokio::io::util::chain::Chain::first]", "value", "dfc-generated"] - ["tokio::io::util::chain::chain", "Argument[1]", "ReturnValue.Field[tokio::io::util::chain::Chain::second]", "value", "dfc-generated"] + - ["tokio::io::util::copy::copy", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["tokio::io::util::copy::copy", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["tokio::io::util::copy_bidirectional::copy_bidirectional", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["tokio::io::util::copy_bidirectional::copy_bidirectional", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["tokio::io::util::copy_bidirectional::copy_bidirectional_with_sizes", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["tokio::io::util::copy_bidirectional::copy_bidirectional_with_sizes", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["tokio::io::util::copy_buf::copy_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["tokio::io::util::copy_buf::copy_buf", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["tokio::io::util::fill_buf::fill_buf", "Argument[0]", "ReturnValue.Field[tokio::io::util::fill_buf::FillBuf::reader].Field[core::option::Option::Some(0)]", "value", "dfc-generated"] - ["tokio::io::util::flush::flush", "Argument[0]", "ReturnValue.Field[tokio::io::util::flush::Flush::a]", "value", "dfc-generated"] - ["tokio::io::util::lines::lines", "Argument[0]", "ReturnValue.Field[tokio::io::util::lines::Lines::reader]", "value", "dfc-generated"] @@ -1481,6 +2235,7 @@ extensions: - ["tokio::io::util::read_exact::read_exact", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_exact::ReadExact::reader]", "value", "dfc-generated"] - ["tokio::io::util::read_line::finish_string_read", "Argument[0].Field[core::result::Result::Err(0)]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Err(0)]", "value", "dfc-generated"] - ["tokio::io::util::read_line::finish_string_read", "Argument[0].Field[core::result::Result::Ok(0)]", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "value", "dfc-generated"] + - ["tokio::io::util::read_line::finish_string_read", "Argument[1].Field[core::result::Result::Err(0)].Field[alloc::string::FromUtf8Error::bytes]", "Argument[3].Reference.Field[alloc::string::String::vec]", "value", "dfc-generated"] - ["tokio::io::util::read_line::finish_string_read", "Argument[1].Field[core::result::Result::Ok(0)]", "Argument[3].Reference", "value", "dfc-generated"] - ["tokio::io::util::read_line::read_line", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_line::ReadLine::reader]", "value", "dfc-generated"] - ["tokio::io::util::read_line::read_line", "Argument[1]", "ReturnValue.Field[tokio::io::util::read_line::ReadLine::output]", "value", "dfc-generated"] @@ -1492,6 +2247,7 @@ extensions: - ["tokio::io::util::read_until::read_until", "Argument[0]", "ReturnValue.Field[tokio::io::util::read_until::ReadUntil::reader]", "value", "dfc-generated"] - ["tokio::io::util::read_until::read_until", "Argument[1]", "ReturnValue.Field[tokio::io::util::read_until::ReadUntil::delimiter]", "value", "dfc-generated"] - ["tokio::io::util::read_until::read_until", "Argument[2]", "ReturnValue.Field[tokio::io::util::read_until::ReadUntil::buf]", "value", "dfc-generated"] + - ["tokio::io::util::read_until::read_until_internal", "Argument[2]", "Argument[4]", "taint", "df-generated"] - ["tokio::io::util::repeat::repeat", "Argument[0]", "ReturnValue.Field[tokio::io::util::repeat::Repeat::byte]", "value", "dfc-generated"] - ["tokio::io::util::shutdown::shutdown", "Argument[0]", "ReturnValue.Field[tokio::io::util::shutdown::Shutdown::a]", "value", "dfc-generated"] - ["tokio::io::util::split::split", "Argument[0]", "ReturnValue.Field[tokio::io::util::split::Split::reader]", "value", "dfc-generated"] @@ -1515,18 +2271,15 @@ extensions: - ["tokio::net::unix::split::split", "Argument[0]", "ReturnValue.Field[1].Field[tokio::net::unix::split::WriteHalf(0)]", "value", "dfc-generated"] - ["tokio::net::unix::split_owned::reunite", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::unix::split_owned::ReuniteError(0)]", "value", "dfc-generated"] - ["tokio::net::unix::split_owned::reunite", "Argument[1]", "ReturnValue.Field[core::result::Result::Err(0)].Field[tokio::net::unix::split_owned::ReuniteError(1)]", "value", "dfc-generated"] + - ["tokio::process::imp::build_child", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::runtime::context::runtime::enter_runtime", "Argument[2].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["tokio::runtime::context::runtime_mt::exit_runtime", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["tokio::runtime::context::runtime_mt::exit_runtime", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - - ["tokio::runtime::metrics::batch::duration_as_u64", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::runtime::scheduler::block_in_place::block_in_place", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["tokio::runtime::scheduler::block_in_place::block_in_place", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["tokio::runtime::scheduler::multi_thread::worker::block_in_place", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["tokio::runtime::scheduler::multi_thread::worker::block_in_place", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["tokio::signal::unix::signal", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::sync::mpsc::block::offset", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::sync::mpsc::block::start_index", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::task::blocking::block_in_place", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - - ["tokio::task::blocking::block_in_place", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["tokio::task::coop::budget", "Argument[0].ReturnValue", "ReturnValue", "value", "dfc-generated"] - ["tokio::task::coop::cooperative", "Argument[0]", "ReturnValue.Field[tokio::task::coop::Coop::fut]", "value", "dfc-generated"] - ["tokio::task::coop::unconstrained::unconstrained", "Argument[0]", "ReturnValue.Field[tokio::task::coop::unconstrained::Unconstrained::inner]", "value", "dfc-generated"] @@ -1534,9 +2287,11 @@ extensions: - ["tokio::time::interval::interval", "Argument[0]", "ReturnValue.Field[tokio::time::interval::Interval::period]", "value", "dfc-generated"] - ["tokio::time::interval::interval_at", "Argument[1]", "ReturnValue.Field[tokio::time::interval::Interval::period]", "value", "dfc-generated"] - ["tokio::time::sleep::sleep_until", "Argument[0]", "ReturnValue.Field[tokio::time::sleep::Sleep::entry].Field[tokio::runtime::time::entry::TimerEntry::deadline]", "value", "dfc-generated"] + - ["tokio::util::as_ref::upgrade", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::util::bit::unpack", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["tokio::util::bit::unpack", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["tokio::util::bit::unpack", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["tokio::util::memchr::memchr", "Argument[1]", "ReturnValue", "taint", "df-generated"] - ["tokio::util::trace::blocking_task", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["tokio::util::trace::task", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["tokio::util::typeid::try_transmute", "Argument[0]", "ReturnValue.Field[core::result::Result::Err(0)]", "value", "dfc-generated"] @@ -1546,42 +2301,55 @@ extensions: - ["tokio_macros::select_priv_clean_pattern", "Argument[0]", "ReturnValue", "value", "dfc-generated"] - ["tokio_stream::stream_ext::throttle::throttle", "Argument[0]", "ReturnValue.Field[tokio_stream::stream_ext::throttle::Throttle::duration]", "value", "dfc-generated"] - ["tokio_stream::stream_ext::throttle::throttle", "Argument[1]", "ReturnValue.Field[tokio_stream::stream_ext::throttle::Throttle::stream]", "value", "dfc-generated"] - - ["tokio_test::task::spawn", "Argument[0]", "ReturnValue.Field[tokio_test::task::Spawn::future].Reference", "value", "dfc-generated"] + - ["tokio_test::block_on", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["tokio_util::io::read_arc::read_exact_arc", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["tokio_util::io::read_buf::read_buf", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["tokio_util::io::read_buf::read_buf", "Argument[1]", "ReturnValue", "taint", "df-generated"] - addsTo: pack: codeql/rust-all extensible: sinkModel data: + - ["<& as tokio::io::async_read::AsyncRead>::poll_read", "Argument[1]", "log-injection", "df-generated"] + - ["::for_each", "Argument[0]", "log-injection", "df-generated"] + - ["::initialize", "Argument[1]", "alloc-layout", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::write", "Argument[0]", "log-injection", "df-generated"] - ["::poll_write", "Argument[1]", "log-injection", "df-generated"] + - ["::write", "Argument[0]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] + - ["::poll_read", "Argument[self]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::poll_write", "Argument[1]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] + - ["::create_new", "Argument[0]", "path-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - ["::copy_to", "Argument[0]", "log-injection", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] - ["::put_slice", "Argument[self]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] - - ["::unsync_load", "Argument[self]", "pointer-access", "df-generated"] - - ["::unsync_load", "Argument[self]", "pointer-access", "df-generated"] - - ["::unsync_load", "Argument[self]", "pointer-access", "df-generated"] - - ["::with", "Argument[self]", "pointer-access", "df-generated"] + - ["::with_capacity", "Argument[1]", "alloc-layout", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::try_write", "Argument[0]", "log-injection", "df-generated"] + - ["::try_write", "Argument[0]", "log-injection", "df-generated"] + - ["::try_write", "Argument[0]", "log-injection", "df-generated"] + - ["::try_write", "Argument[0]", "log-injection", "df-generated"] + - ["::try_write", "Argument[0]", "log-injection", "df-generated"] + - ["::try_write", "Argument[0]", "log-injection", "df-generated"] + - ["::try_write", "Argument[0]", "log-injection", "df-generated"] - ["::poll_recv", "Argument[self]", "log-injection", "df-generated"] - - ["::shutdown", "Argument[0]", "pointer-access", "df-generated"] - - ["::pop", "Argument[self]", "pointer-access", "df-generated"] - - ["::push", "Argument[self]", "pointer-access", "df-generated"] - - ["::pop", "Argument[self]", "pointer-access", "df-generated"] - - ["::pop_n", "Argument[self]", "pointer-access", "df-generated"] - - ["::push", "Argument[self]", "pointer-access", "df-generated"] - - ["::push_batch", "Argument[self]", "pointer-access", "df-generated"] - - ["::push", "Argument[self]", "pointer-access", "df-generated"] - - ["::push_batch", "Argument[self]", "pointer-access", "df-generated"] - - ["::set_queue_next", "Argument[0]", "pointer-access", "df-generated"] + - ["::build", "Argument[self]", "alloc-layout", "df-generated"] + - ["::try_io", "Argument[1]", "log-injection", "df-generated"] + - ["::can_spawn_local_on_local_runtime", "Argument[self]", "alloc-layout", "df-generated"] + - ["::can_spawn_local_on_local_runtime", "Argument[self]", "log-injection", "df-generated"] + - ["::new", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new", "Argument[0]", "alloc-layout", "df-generated"] + - ["::set_queue_next", "Argument[0]", "alloc-layout", "df-generated"] + - ["::set_queue_next", "Argument[0]", "log-injection", "df-generated"] - ["::transition_to_terminal", "Argument[0]", "log-injection", "df-generated"] - ["::poll", "Argument[0]", "log-injection", "df-generated"] - ["::poll", "Argument[self]", "log-injection", "df-generated"] @@ -1593,29 +2361,48 @@ extensions: - ["::release", "Argument[0]", "log-injection", "df-generated"] - ["::drop", "Argument[self]", "log-injection", "df-generated"] - ["::add_permits", "Argument[0]", "log-injection", "df-generated"] - - ["::into_inner", "Argument[self]", "pointer-access", "df-generated"] + - ["::drop", "Argument[self]", "log-injection", "df-generated"] + - ["::drop", "Argument[self]", "log-injection", "df-generated"] - ["::drop", "Argument[self]", "log-injection", "df-generated"] - ["::drop", "Argument[self]", "log-injection", "df-generated"] + - ["::drop", "Argument[self]", "log-injection", "df-generated"] - ["::add_permits", "Argument[0]", "log-injection", "df-generated"] - ["::drop", "Argument[self]", "log-injection", "df-generated"] + - ["::abort_all", "Argument[self]", "alloc-layout", "df-generated"] + - ["::join_all", "Argument[self]", "alloc-layout", "df-generated"] + - ["::shutdown", "Argument[self]", "alloc-layout", "df-generated"] + - ["::for_each", "Argument[self]", "alloc-layout", "df-generated"] + - ["::new", "Argument[0]", "alloc-layout", "df-generated"] + - ["::new", "Argument[1]", "alloc-layout", "df-generated"] - ["::insert", "Argument[self]", "log-injection", "df-generated"] - ["::poll_next_many", "Argument[self]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] + - ["::with_capacity", "Argument[0]", "alloc-layout", "df-generated"] + - ["::clone", "Argument[self]", "alloc-layout", "df-generated"] + - ["::build", "Argument[self]", "alloc-layout", "df-generated"] + - ["::build_with_handle", "Argument[self]", "alloc-layout", "df-generated"] - ["::read", "Argument[self]", "log-injection", "df-generated"] - ["::read_error", "Argument[self]", "log-injection", "df-generated"] - ["::wait", "Argument[self]", "log-injection", "df-generated"] - ["::write", "Argument[self]", "log-injection", "df-generated"] - ["::write_error", "Argument[self]", "log-injection", "df-generated"] + - ["::clone", "Argument[self]", "alloc-layout", "df-generated"] - ["::next", "Argument[self]", "log-injection", "df-generated"] - ["::wait", "Argument[self]", "log-injection", "df-generated"] - ["::poll_read", "Argument[1]", "log-injection", "df-generated"] + - ["::add_permits", "Argument[0]", "log-injection", "df-generated"] - ["::drop", "Argument[self]", "pointer-access", "df-generated"] - - ["::fmt", "Argument[self]", "pointer-access", "df-generated"] - - ["::poll_next", "Argument[self]", "log-injection", "df-generated"] + - ["::fmt", "Argument[self]", "alloc-layout", "df-generated"] + - ["::fmt", "Argument[self]", "log-injection", "df-generated"] + - ["::deadline", "Argument[0]", "log-injection", "df-generated"] - ["::poll_expired", "Argument[self]", "log-injection", "df-generated"] + - ["::remove", "Argument[0]", "log-injection", "df-generated"] - ["::remove", "Argument[self]", "log-injection", "df-generated"] + - ["::reset", "Argument[0]", "log-injection", "df-generated"] - ["::reset", "Argument[self]", "log-injection", "df-generated"] + - ["::reset_at", "Argument[0]", "log-injection", "df-generated"] - ["::reset_at", "Argument[self]", "log-injection", "df-generated"] + - ["::try_remove", "Argument[0]", "log-injection", "df-generated"] - ["::try_remove", "Argument[self]", "log-injection", "df-generated"] - ["::index", "Argument[0]", "log-injection", "df-generated"] - ["::index_mut", "Argument[0]", "log-injection", "df-generated"] @@ -1633,6 +2420,7 @@ extensions: - ["signal_realtime::support::signal::send_signal", "Argument[0]", "log-injection", "df-generated"] - ["signal_twice::support::signal::send_signal", "Argument[0]", "log-injection", "df-generated"] - ["signal_usr1::support::signal::send_signal", "Argument[0]", "log-injection", "df-generated"] + - ["tokio::runtime::scheduler::multi_thread::worker::create", "Argument[0]", "alloc-layout", "df-generated"] - ["tokio::signal::unix::signal", "Argument[0]", "log-injection", "df-generated"] - ["tokio::signal::unix::signal_with_handle", "Argument[0]", "log-injection", "df-generated"] - addsTo: @@ -1641,8 +2429,6 @@ extensions: data: - ["::file_name", "ReturnValue", "file", "df-generated"] - ["::path", "ReturnValue", "file", "df-generated"] + - ["::open_receiver", "ReturnValue", "file", "df-generated"] + - ["::open_sender", "ReturnValue", "file", "df-generated"] - ["connect-tcp::connect", "ReturnValue", "remote", "df-generated"] - - ["tokio::runtime::context::runtime_mt::exit_runtime", "ReturnValue", "file", "df-generated"] - - ["tokio::runtime::scheduler::block_in_place::block_in_place", "ReturnValue", "file", "df-generated"] - - ["tokio::runtime::scheduler::multi_thread::worker::block_in_place", "ReturnValue", "file", "df-generated"] - - ["tokio::task::blocking::block_in_place", "ReturnValue", "file", "df-generated"] diff --git a/rust/ql/lib/qlpack.yml b/rust/ql/lib/qlpack.yml index 551f2cd20cf..c976e05b9b9 100644 --- a/rust/ql/lib/qlpack.yml +++ b/rust/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-all -version: 0.2.3-dev +version: 0.2.5-dev groups: rust extractor: rust dbscheme: rust.dbscheme diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme index c467bf63916..66a48986364 100644 --- a/rust/ql/lib/rust.dbscheme +++ b/rust/ql/lib/rust.dbscheme @@ -109,11 +109,23 @@ yaml_locations(unique int locatable: @yaml_locatable ref, @yaml_locatable = @yaml_node | @yaml_error; /*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ databaseMetadata( string metadataKey: string ref, string value: string ref ); +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ overlayChangedFiles( string path: string ref ); @@ -409,7 +421,6 @@ callable_attrs( | @labelable_expr | @let_expr | @literal_expr -| @macro_block_expr | @macro_expr | @match_expr | @method_call_expr @@ -2036,23 +2047,6 @@ literal_pat_literals( int literal: @literal_expr ref ); -macro_block_exprs( - unique int id: @macro_block_expr -); - -#keyset[id, index] -macro_block_expr_statements( - int id: @macro_block_expr ref, - int index: int ref, - int statement: @stmt ref -); - -#keyset[id] -macro_block_expr_tail_exprs( - int id: @macro_block_expr ref, - int tail_expr: @expr ref -); - macro_exprs( unique int id: @macro_expr ); diff --git a/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/old.dbscheme b/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/old.dbscheme new file mode 100644 index 00000000000..90861289dd4 --- /dev/null +++ b/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/old.dbscheme @@ -0,0 +1,3544 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/rust.dbscheme b/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/rust.dbscheme new file mode 100644 index 00000000000..66a48986364 --- /dev/null +++ b/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/rust.dbscheme @@ -0,0 +1,3556 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/upgrade.properties b/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/upgrade.properties new file mode 100644 index 00000000000..00fae2d3bc6 --- /dev/null +++ b/rust/ql/lib/upgrades/90861289dd4c4d9fc029ed0fc249c1e11c5aab01/upgrade.properties @@ -0,0 +1,2 @@ +description: Sections for databaseMetadata and overlayChangedFiles +compatibility: full diff --git a/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/old.dbscheme b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/old.dbscheme new file mode 100644 index 00000000000..c467bf63916 --- /dev/null +++ b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/old.dbscheme @@ -0,0 +1,3562 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_block_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_block_exprs( + unique int id: @macro_block_expr +); + +#keyset[id, index] +macro_block_expr_statements( + int id: @macro_block_expr ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +macro_block_expr_tail_exprs( + int id: @macro_block_expr ref, + int tail_expr: @expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/rust.dbscheme b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/rust.dbscheme new file mode 100644 index 00000000000..90861289dd4 --- /dev/null +++ b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/rust.dbscheme @@ -0,0 +1,3544 @@ +// generated by codegen, do not edit + +// from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme +/*- Files and folders -*/ + +/** + * The location of an element. + * 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( + 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 +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Empty location -*/ + +empty_location( + int location: @location_default ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Diagnostic messages -*/ + +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 +); + +/*- Diagnostic messages: severity -*/ + +case @diagnostic.severity of + 10 = @diagnostic_debug +| 20 = @diagnostic_info +| 30 = @diagnostic_warning +| 40 = @diagnostic_error +; + +/*- YAML -*/ + +#keyset[parent, idx] +yaml (unique int id: @yaml_node, + int kind: int ref, + int parent: @yaml_node_parent ref, + int idx: int ref, + string tag: string ref, + string tostring: string ref); + +case @yaml_node.kind of + 0 = @yaml_scalar_node +| 1 = @yaml_mapping_node +| 2 = @yaml_sequence_node +| 3 = @yaml_alias_node +; + +@yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; + +@yaml_node_parent = @yaml_collection_node | @file; + +yaml_anchors (unique int node: @yaml_node ref, + string anchor: string ref); + +yaml_aliases (unique int alias: @yaml_alias_node ref, + string target: string ref); + +yaml_scalars (unique int scalar: @yaml_scalar_node ref, + int style: int ref, + string value: string ref); + +yaml_errors (unique int id: @yaml_error, + string message: string ref); + +yaml_locations(unique int locatable: @yaml_locatable ref, + int location: @location_default ref); + +@yaml_locatable = @yaml_node | @yaml_error; + +/*- Database metadata -*/ +databaseMetadata( + string metadataKey: string ref, + string value: string ref +); + +overlayChangedFiles( + string path: string ref +); + + +// from prefix.dbscheme +#keyset[id] +locatable_locations( + int id: @locatable ref, + int location: @location_default ref +); + + +// from schema + +@element = + @extractor_step +| @locatable +| @named_crate +| @unextracted +; + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int duration_ms: int ref +); + +#keyset[id] +extractor_step_files( + int id: @extractor_step ref, + int file: @file ref +); + +@locatable = + @ast_node +| @crate +; + +named_crates( + unique int id: @named_crate, + string name: string ref, + int crate: @crate ref +); + +@unextracted = + @missing +| @unimplemented +; + +@ast_node = + @abi +| @addressable +| @arg_list +| @asm_dir_spec +| @asm_operand +| @asm_operand_expr +| @asm_option +| @asm_piece +| @asm_reg_spec +| @assoc_item_list +| @attr +| @callable +| @expr +| @extern_item_list +| @field_list +| @for_binder +| @format_args_arg +| @generic_arg +| @generic_arg_list +| @generic_param +| @generic_param_list +| @item_list +| @label +| @let_else +| @macro_items +| @match_arm +| @match_arm_list +| @match_guard +| @meta +| @name +| @param_base +| @param_list +| @parenthesized_arg_list +| @pat +| @path +| @path_ast_node +| @path_segment +| @rename +| @ret_type_repr +| @return_type_syntax +| @source_file +| @stmt +| @stmt_list +| @struct_expr_field +| @struct_expr_field_list +| @struct_field +| @struct_pat_field +| @struct_pat_field_list +| @token +| @token_tree +| @tuple_field +| @type_bound +| @type_bound_list +| @type_repr +| @use_bound_generic_arg +| @use_bound_generic_args +| @use_tree +| @use_tree_list +| @variant_list +| @visibility +| @where_clause +| @where_pred +; + +crates( + unique int id: @crate +); + +#keyset[id] +crate_names( + int id: @crate ref, + string name: string ref +); + +#keyset[id] +crate_versions( + int id: @crate ref, + string version: string ref +); + +#keyset[id, index] +crate_cfg_options( + int id: @crate ref, + int index: int ref, + string cfg_option: string ref +); + +#keyset[id, index] +crate_named_dependencies( + int id: @crate ref, + int index: int ref, + int named_dependency: @named_crate ref +); + +missings( + unique int id: @missing +); + +unimplementeds( + unique int id: @unimplemented +); + +abis( + unique int id: @abi +); + +#keyset[id] +abi_abi_strings( + int id: @abi ref, + string abi_string: string ref +); + +@addressable = + @item +| @variant +; + +arg_lists( + unique int id: @arg_list +); + +#keyset[id, index] +arg_list_args( + int id: @arg_list ref, + int index: int ref, + int arg: @expr ref +); + +asm_dir_specs( + unique int id: @asm_dir_spec +); + +@asm_operand = + @asm_const +| @asm_label +| @asm_reg_operand +| @asm_sym +; + +asm_operand_exprs( + unique int id: @asm_operand_expr +); + +#keyset[id] +asm_operand_expr_in_exprs( + int id: @asm_operand_expr ref, + int in_expr: @expr ref +); + +#keyset[id] +asm_operand_expr_out_exprs( + int id: @asm_operand_expr ref, + int out_expr: @expr ref +); + +asm_options( + unique int id: @asm_option +); + +#keyset[id] +asm_option_is_raw( + int id: @asm_option ref +); + +@asm_piece = + @asm_clobber_abi +| @asm_operand_named +| @asm_options_list +; + +asm_reg_specs( + unique int id: @asm_reg_spec +); + +#keyset[id] +asm_reg_spec_identifiers( + int id: @asm_reg_spec ref, + int identifier: @name_ref ref +); + +assoc_item_lists( + unique int id: @assoc_item_list +); + +#keyset[id, index] +assoc_item_list_assoc_items( + int id: @assoc_item_list ref, + int index: int ref, + int assoc_item: @assoc_item ref +); + +#keyset[id, index] +assoc_item_list_attrs( + int id: @assoc_item_list ref, + int index: int ref, + int attr: @attr ref +); + +attrs( + unique int id: @attr +); + +#keyset[id] +attr_meta( + int id: @attr ref, + int meta: @meta ref +); + +@callable = + @closure_expr +| @function +; + +#keyset[id] +callable_param_lists( + int id: @callable ref, + int param_list: @param_list ref +); + +#keyset[id, index] +callable_attrs( + int id: @callable ref, + int index: int ref, + int attr: @attr ref +); + +@expr = + @array_expr_internal +| @asm_expr +| @await_expr +| @become_expr +| @binary_expr +| @break_expr +| @call_expr +| @cast_expr +| @closure_expr +| @continue_expr +| @field_expr +| @format_args_expr +| @if_expr +| @index_expr +| @labelable_expr +| @let_expr +| @literal_expr +| @macro_expr +| @match_expr +| @method_call_expr +| @offset_of_expr +| @paren_expr +| @path_expr_base +| @prefix_expr +| @range_expr +| @ref_expr +| @return_expr +| @struct_expr +| @try_expr +| @tuple_expr +| @underscore_expr +| @yeet_expr +| @yield_expr +; + +extern_item_lists( + unique int id: @extern_item_list +); + +#keyset[id, index] +extern_item_list_attrs( + int id: @extern_item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +extern_item_list_extern_items( + int id: @extern_item_list ref, + int index: int ref, + int extern_item: @extern_item ref +); + +@field_list = + @struct_field_list +| @tuple_field_list +; + +for_binders( + unique int id: @for_binder +); + +#keyset[id] +for_binder_generic_param_lists( + int id: @for_binder ref, + int generic_param_list: @generic_param_list ref +); + +format_args_args( + unique int id: @format_args_arg +); + +#keyset[id] +format_args_arg_exprs( + int id: @format_args_arg ref, + int expr: @expr ref +); + +#keyset[id] +format_args_arg_names( + int id: @format_args_arg ref, + int name: @name ref +); + +@generic_arg = + @assoc_type_arg +| @const_arg +| @lifetime_arg +| @type_arg +; + +generic_arg_lists( + unique int id: @generic_arg_list +); + +#keyset[id, index] +generic_arg_list_generic_args( + int id: @generic_arg_list ref, + int index: int ref, + int generic_arg: @generic_arg ref +); + +@generic_param = + @const_param +| @lifetime_param +| @type_param +; + +generic_param_lists( + unique int id: @generic_param_list +); + +#keyset[id, index] +generic_param_list_generic_params( + int id: @generic_param_list ref, + int index: int ref, + int generic_param: @generic_param ref +); + +item_lists( + unique int id: @item_list +); + +#keyset[id, index] +item_list_attrs( + int id: @item_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +item_list_items( + int id: @item_list ref, + int index: int ref, + int item: @item ref +); + +labels( + unique int id: @label +); + +#keyset[id] +label_lifetimes( + int id: @label ref, + int lifetime: @lifetime ref +); + +let_elses( + unique int id: @let_else +); + +#keyset[id] +let_else_block_exprs( + int id: @let_else ref, + int block_expr: @block_expr ref +); + +macro_items( + unique int id: @macro_items +); + +#keyset[id, index] +macro_items_items( + int id: @macro_items ref, + int index: int ref, + int item: @item ref +); + +match_arms( + unique int id: @match_arm +); + +#keyset[id, index] +match_arm_attrs( + int id: @match_arm ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_arm_exprs( + int id: @match_arm ref, + int expr: @expr ref +); + +#keyset[id] +match_arm_guards( + int id: @match_arm ref, + int guard: @match_guard ref +); + +#keyset[id] +match_arm_pats( + int id: @match_arm ref, + int pat: @pat ref +); + +match_arm_lists( + unique int id: @match_arm_list +); + +#keyset[id, index] +match_arm_list_arms( + int id: @match_arm_list ref, + int index: int ref, + int arm: @match_arm ref +); + +#keyset[id, index] +match_arm_list_attrs( + int id: @match_arm_list ref, + int index: int ref, + int attr: @attr ref +); + +match_guards( + unique int id: @match_guard +); + +#keyset[id] +match_guard_conditions( + int id: @match_guard ref, + int condition: @expr ref +); + +meta( + unique int id: @meta +); + +#keyset[id] +meta_exprs( + int id: @meta ref, + int expr: @expr ref +); + +#keyset[id] +meta_is_unsafe( + int id: @meta ref +); + +#keyset[id] +meta_paths( + int id: @meta ref, + int path: @path ref +); + +#keyset[id] +meta_token_trees( + int id: @meta ref, + int token_tree: @token_tree ref +); + +names( + unique int id: @name +); + +#keyset[id] +name_texts( + int id: @name ref, + string text: string ref +); + +@param_base = + @param +| @self_param +; + +#keyset[id, index] +param_base_attrs( + int id: @param_base ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +param_base_type_reprs( + int id: @param_base ref, + int type_repr: @type_repr ref +); + +param_lists( + unique int id: @param_list +); + +#keyset[id, index] +param_list_params( + int id: @param_list ref, + int index: int ref, + int param: @param ref +); + +#keyset[id] +param_list_self_params( + int id: @param_list ref, + int self_param: @self_param ref +); + +parenthesized_arg_lists( + unique int id: @parenthesized_arg_list +); + +#keyset[id, index] +parenthesized_arg_list_type_args( + int id: @parenthesized_arg_list ref, + int index: int ref, + int type_arg: @type_arg ref +); + +@pat = + @box_pat +| @const_block_pat +| @ident_pat +| @literal_pat +| @macro_pat +| @or_pat +| @paren_pat +| @path_pat +| @range_pat +| @ref_pat +| @rest_pat +| @slice_pat +| @struct_pat +| @tuple_pat +| @tuple_struct_pat +| @wildcard_pat +; + +paths( + unique int id: @path +); + +#keyset[id] +path_qualifiers( + int id: @path ref, + int qualifier: @path ref +); + +#keyset[id] +path_segments_( + int id: @path ref, + int segment: @path_segment ref +); + +@path_ast_node = + @path_expr +| @path_pat +| @struct_expr +| @struct_pat +| @tuple_struct_pat +; + +#keyset[id] +path_ast_node_paths( + int id: @path_ast_node ref, + int path: @path ref +); + +path_segments( + unique int id: @path_segment +); + +#keyset[id] +path_segment_generic_arg_lists( + int id: @path_segment ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +path_segment_identifiers( + int id: @path_segment ref, + int identifier: @name_ref ref +); + +#keyset[id] +path_segment_parenthesized_arg_lists( + int id: @path_segment ref, + int parenthesized_arg_list: @parenthesized_arg_list ref +); + +#keyset[id] +path_segment_ret_types( + int id: @path_segment ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +path_segment_return_type_syntaxes( + int id: @path_segment ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +path_segment_type_reprs( + int id: @path_segment ref, + int type_repr: @type_repr ref +); + +#keyset[id] +path_segment_trait_type_reprs( + int id: @path_segment ref, + int trait_type_repr: @path_type_repr ref +); + +renames( + unique int id: @rename +); + +#keyset[id] +rename_names( + int id: @rename ref, + int name: @name ref +); + +ret_type_reprs( + unique int id: @ret_type_repr +); + +#keyset[id] +ret_type_repr_type_reprs( + int id: @ret_type_repr ref, + int type_repr: @type_repr ref +); + +return_type_syntaxes( + unique int id: @return_type_syntax +); + +source_files( + unique int id: @source_file +); + +#keyset[id, index] +source_file_attrs( + int id: @source_file ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +source_file_items( + int id: @source_file ref, + int index: int ref, + int item: @item ref +); + +@stmt = + @expr_stmt +| @item +| @let_stmt +; + +stmt_lists( + unique int id: @stmt_list +); + +#keyset[id, index] +stmt_list_attrs( + int id: @stmt_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +stmt_list_statements( + int id: @stmt_list ref, + int index: int ref, + int statement: @stmt ref +); + +#keyset[id] +stmt_list_tail_exprs( + int id: @stmt_list ref, + int tail_expr: @expr ref +); + +struct_expr_fields( + unique int id: @struct_expr_field +); + +#keyset[id, index] +struct_expr_field_attrs( + int id: @struct_expr_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_expr_field_exprs( + int id: @struct_expr_field ref, + int expr: @expr ref +); + +#keyset[id] +struct_expr_field_identifiers( + int id: @struct_expr_field ref, + int identifier: @name_ref ref +); + +struct_expr_field_lists( + unique int id: @struct_expr_field_list +); + +#keyset[id, index] +struct_expr_field_list_attrs( + int id: @struct_expr_field_list ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +struct_expr_field_list_fields( + int id: @struct_expr_field_list ref, + int index: int ref, + int field: @struct_expr_field ref +); + +#keyset[id] +struct_expr_field_list_spreads( + int id: @struct_expr_field_list ref, + int spread: @expr ref +); + +struct_fields( + unique int id: @struct_field +); + +#keyset[id, index] +struct_field_attrs( + int id: @struct_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_field_defaults( + int id: @struct_field ref, + int default: @expr ref +); + +#keyset[id] +struct_field_is_unsafe( + int id: @struct_field ref +); + +#keyset[id] +struct_field_names( + int id: @struct_field ref, + int name: @name ref +); + +#keyset[id] +struct_field_type_reprs( + int id: @struct_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +struct_field_visibilities( + int id: @struct_field ref, + int visibility: @visibility ref +); + +struct_pat_fields( + unique int id: @struct_pat_field +); + +#keyset[id, index] +struct_pat_field_attrs( + int id: @struct_pat_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +struct_pat_field_identifiers( + int id: @struct_pat_field ref, + int identifier: @name_ref ref +); + +#keyset[id] +struct_pat_field_pats( + int id: @struct_pat_field ref, + int pat: @pat ref +); + +struct_pat_field_lists( + unique int id: @struct_pat_field_list +); + +#keyset[id, index] +struct_pat_field_list_fields( + int id: @struct_pat_field_list ref, + int index: int ref, + int field: @struct_pat_field ref +); + +#keyset[id] +struct_pat_field_list_rest_pats( + int id: @struct_pat_field_list ref, + int rest_pat: @rest_pat ref +); + +@token = + @comment +; + +token_trees( + unique int id: @token_tree +); + +tuple_fields( + unique int id: @tuple_field +); + +#keyset[id, index] +tuple_field_attrs( + int id: @tuple_field ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +tuple_field_type_reprs( + int id: @tuple_field ref, + int type_repr: @type_repr ref +); + +#keyset[id] +tuple_field_visibilities( + int id: @tuple_field ref, + int visibility: @visibility ref +); + +type_bounds( + unique int id: @type_bound +); + +#keyset[id] +type_bound_for_binders( + int id: @type_bound ref, + int for_binder: @for_binder ref +); + +#keyset[id] +type_bound_is_async( + int id: @type_bound ref +); + +#keyset[id] +type_bound_is_const( + int id: @type_bound ref +); + +#keyset[id] +type_bound_lifetimes( + int id: @type_bound ref, + int lifetime: @lifetime ref +); + +#keyset[id] +type_bound_type_reprs( + int id: @type_bound ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_bound_use_bound_generic_args( + int id: @type_bound ref, + int use_bound_generic_args: @use_bound_generic_args ref +); + +type_bound_lists( + unique int id: @type_bound_list +); + +#keyset[id, index] +type_bound_list_bounds( + int id: @type_bound_list ref, + int index: int ref, + int bound: @type_bound ref +); + +@type_repr = + @array_type_repr +| @dyn_trait_type_repr +| @fn_ptr_type_repr +| @for_type_repr +| @impl_trait_type_repr +| @infer_type_repr +| @macro_type_repr +| @never_type_repr +| @paren_type_repr +| @path_type_repr +| @ptr_type_repr +| @ref_type_repr +| @slice_type_repr +| @tuple_type_repr +; + +@use_bound_generic_arg = + @lifetime +| @name_ref +; + +use_bound_generic_args( + unique int id: @use_bound_generic_args +); + +#keyset[id, index] +use_bound_generic_args_use_bound_generic_args( + int id: @use_bound_generic_args ref, + int index: int ref, + int use_bound_generic_arg: @use_bound_generic_arg ref +); + +use_trees( + unique int id: @use_tree +); + +#keyset[id] +use_tree_is_glob( + int id: @use_tree ref +); + +#keyset[id] +use_tree_paths( + int id: @use_tree ref, + int path: @path ref +); + +#keyset[id] +use_tree_renames( + int id: @use_tree ref, + int rename: @rename ref +); + +#keyset[id] +use_tree_use_tree_lists( + int id: @use_tree ref, + int use_tree_list: @use_tree_list ref +); + +use_tree_lists( + unique int id: @use_tree_list +); + +#keyset[id, index] +use_tree_list_use_trees( + int id: @use_tree_list ref, + int index: int ref, + int use_tree: @use_tree ref +); + +variant_lists( + unique int id: @variant_list +); + +#keyset[id, index] +variant_list_variants( + int id: @variant_list ref, + int index: int ref, + int variant: @variant ref +); + +visibilities( + unique int id: @visibility +); + +#keyset[id] +visibility_paths( + int id: @visibility ref, + int path: @path ref +); + +where_clauses( + unique int id: @where_clause +); + +#keyset[id, index] +where_clause_predicates( + int id: @where_clause ref, + int index: int ref, + int predicate: @where_pred ref +); + +where_preds( + unique int id: @where_pred +); + +#keyset[id] +where_pred_for_binders( + int id: @where_pred ref, + int for_binder: @for_binder ref +); + +#keyset[id] +where_pred_lifetimes( + int id: @where_pred ref, + int lifetime: @lifetime ref +); + +#keyset[id] +where_pred_type_reprs( + int id: @where_pred ref, + int type_repr: @type_repr ref +); + +#keyset[id] +where_pred_type_bound_lists( + int id: @where_pred ref, + int type_bound_list: @type_bound_list ref +); + +array_expr_internals( + unique int id: @array_expr_internal +); + +#keyset[id, index] +array_expr_internal_attrs( + int id: @array_expr_internal ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +array_expr_internal_exprs( + int id: @array_expr_internal ref, + int index: int ref, + int expr: @expr ref +); + +#keyset[id] +array_expr_internal_is_semicolon( + int id: @array_expr_internal ref +); + +array_type_reprs( + unique int id: @array_type_repr +); + +#keyset[id] +array_type_repr_const_args( + int id: @array_type_repr ref, + int const_arg: @const_arg ref +); + +#keyset[id] +array_type_repr_element_type_reprs( + int id: @array_type_repr ref, + int element_type_repr: @type_repr ref +); + +asm_clobber_abis( + unique int id: @asm_clobber_abi +); + +asm_consts( + unique int id: @asm_const +); + +#keyset[id] +asm_const_exprs( + int id: @asm_const ref, + int expr: @expr ref +); + +#keyset[id] +asm_const_is_const( + int id: @asm_const ref +); + +asm_labels( + unique int id: @asm_label +); + +#keyset[id] +asm_label_block_exprs( + int id: @asm_label ref, + int block_expr: @block_expr ref +); + +asm_operand_nameds( + unique int id: @asm_operand_named +); + +#keyset[id] +asm_operand_named_asm_operands( + int id: @asm_operand_named ref, + int asm_operand: @asm_operand ref +); + +#keyset[id] +asm_operand_named_names( + int id: @asm_operand_named ref, + int name: @name ref +); + +asm_options_lists( + unique int id: @asm_options_list +); + +#keyset[id, index] +asm_options_list_asm_options( + int id: @asm_options_list ref, + int index: int ref, + int asm_option: @asm_option ref +); + +asm_reg_operands( + unique int id: @asm_reg_operand +); + +#keyset[id] +asm_reg_operand_asm_dir_specs( + int id: @asm_reg_operand ref, + int asm_dir_spec: @asm_dir_spec ref +); + +#keyset[id] +asm_reg_operand_asm_operand_exprs( + int id: @asm_reg_operand ref, + int asm_operand_expr: @asm_operand_expr ref +); + +#keyset[id] +asm_reg_operand_asm_reg_specs( + int id: @asm_reg_operand ref, + int asm_reg_spec: @asm_reg_spec ref +); + +asm_syms( + unique int id: @asm_sym +); + +#keyset[id] +asm_sym_paths( + int id: @asm_sym ref, + int path: @path ref +); + +assoc_type_args( + unique int id: @assoc_type_arg +); + +#keyset[id] +assoc_type_arg_const_args( + int id: @assoc_type_arg ref, + int const_arg: @const_arg ref +); + +#keyset[id] +assoc_type_arg_generic_arg_lists( + int id: @assoc_type_arg ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +assoc_type_arg_identifiers( + int id: @assoc_type_arg ref, + int identifier: @name_ref ref +); + +#keyset[id] +assoc_type_arg_param_lists( + int id: @assoc_type_arg ref, + int param_list: @param_list ref +); + +#keyset[id] +assoc_type_arg_ret_types( + int id: @assoc_type_arg ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +assoc_type_arg_return_type_syntaxes( + int id: @assoc_type_arg ref, + int return_type_syntax: @return_type_syntax ref +); + +#keyset[id] +assoc_type_arg_type_reprs( + int id: @assoc_type_arg ref, + int type_repr: @type_repr ref +); + +#keyset[id] +assoc_type_arg_type_bound_lists( + int id: @assoc_type_arg ref, + int type_bound_list: @type_bound_list ref +); + +await_exprs( + unique int id: @await_expr +); + +#keyset[id, index] +await_expr_attrs( + int id: @await_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +await_expr_exprs( + int id: @await_expr ref, + int expr: @expr ref +); + +become_exprs( + unique int id: @become_expr +); + +#keyset[id, index] +become_expr_attrs( + int id: @become_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +become_expr_exprs( + int id: @become_expr ref, + int expr: @expr ref +); + +binary_exprs( + unique int id: @binary_expr +); + +#keyset[id, index] +binary_expr_attrs( + int id: @binary_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +binary_expr_lhs( + int id: @binary_expr ref, + int lhs: @expr ref +); + +#keyset[id] +binary_expr_operator_names( + int id: @binary_expr ref, + string operator_name: string ref +); + +#keyset[id] +binary_expr_rhs( + int id: @binary_expr ref, + int rhs: @expr ref +); + +box_pats( + unique int id: @box_pat +); + +#keyset[id] +box_pat_pats( + int id: @box_pat ref, + int pat: @pat ref +); + +break_exprs( + unique int id: @break_expr +); + +#keyset[id, index] +break_expr_attrs( + int id: @break_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +break_expr_exprs( + int id: @break_expr ref, + int expr: @expr ref +); + +#keyset[id] +break_expr_lifetimes( + int id: @break_expr ref, + int lifetime: @lifetime ref +); + +call_exprs( + unique int id: @call_expr +); + +#keyset[id] +call_expr_arg_lists( + int id: @call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +call_expr_attrs( + int id: @call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +call_expr_functions( + int id: @call_expr ref, + int function: @expr ref +); + +cast_exprs( + unique int id: @cast_expr +); + +#keyset[id, index] +cast_expr_attrs( + int id: @cast_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +cast_expr_exprs( + int id: @cast_expr ref, + int expr: @expr ref +); + +#keyset[id] +cast_expr_type_reprs( + int id: @cast_expr ref, + int type_repr: @type_repr ref +); + +closure_exprs( + unique int id: @closure_expr +); + +#keyset[id] +closure_expr_closure_bodies( + int id: @closure_expr ref, + int closure_body: @expr ref +); + +#keyset[id] +closure_expr_for_binders( + int id: @closure_expr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +closure_expr_is_async( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_const( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_gen( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_move( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_is_static( + int id: @closure_expr ref +); + +#keyset[id] +closure_expr_ret_types( + int id: @closure_expr ref, + int ret_type: @ret_type_repr ref +); + +comments( + unique int id: @comment, + int parent: @ast_node ref, + string text: string ref +); + +const_args( + unique int id: @const_arg +); + +#keyset[id] +const_arg_exprs( + int id: @const_arg ref, + int expr: @expr ref +); + +const_block_pats( + unique int id: @const_block_pat +); + +#keyset[id] +const_block_pat_block_exprs( + int id: @const_block_pat ref, + int block_expr: @block_expr ref +); + +#keyset[id] +const_block_pat_is_const( + int id: @const_block_pat ref +); + +const_params( + unique int id: @const_param +); + +#keyset[id, index] +const_param_attrs( + int id: @const_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_param_default_vals( + int id: @const_param ref, + int default_val: @const_arg ref +); + +#keyset[id] +const_param_is_const( + int id: @const_param ref +); + +#keyset[id] +const_param_names( + int id: @const_param ref, + int name: @name ref +); + +#keyset[id] +const_param_type_reprs( + int id: @const_param ref, + int type_repr: @type_repr ref +); + +continue_exprs( + unique int id: @continue_expr +); + +#keyset[id, index] +continue_expr_attrs( + int id: @continue_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +continue_expr_lifetimes( + int id: @continue_expr ref, + int lifetime: @lifetime ref +); + +dyn_trait_type_reprs( + unique int id: @dyn_trait_type_repr +); + +#keyset[id] +dyn_trait_type_repr_type_bound_lists( + int id: @dyn_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +expr_stmts( + unique int id: @expr_stmt +); + +#keyset[id] +expr_stmt_exprs( + int id: @expr_stmt ref, + int expr: @expr ref +); + +field_exprs( + unique int id: @field_expr +); + +#keyset[id, index] +field_expr_attrs( + int id: @field_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +field_expr_containers( + int id: @field_expr ref, + int container: @expr ref +); + +#keyset[id] +field_expr_identifiers( + int id: @field_expr ref, + int identifier: @name_ref ref +); + +fn_ptr_type_reprs( + unique int id: @fn_ptr_type_repr +); + +#keyset[id] +fn_ptr_type_repr_abis( + int id: @fn_ptr_type_repr ref, + int abi: @abi ref +); + +#keyset[id] +fn_ptr_type_repr_is_async( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_const( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_is_unsafe( + int id: @fn_ptr_type_repr ref +); + +#keyset[id] +fn_ptr_type_repr_param_lists( + int id: @fn_ptr_type_repr ref, + int param_list: @param_list ref +); + +#keyset[id] +fn_ptr_type_repr_ret_types( + int id: @fn_ptr_type_repr ref, + int ret_type: @ret_type_repr ref +); + +for_type_reprs( + unique int id: @for_type_repr +); + +#keyset[id] +for_type_repr_for_binders( + int id: @for_type_repr ref, + int for_binder: @for_binder ref +); + +#keyset[id] +for_type_repr_type_reprs( + int id: @for_type_repr ref, + int type_repr: @type_repr ref +); + +format_args_exprs( + unique int id: @format_args_expr +); + +#keyset[id, index] +format_args_expr_args( + int id: @format_args_expr ref, + int index: int ref, + int arg: @format_args_arg ref +); + +#keyset[id, index] +format_args_expr_attrs( + int id: @format_args_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +format_args_expr_templates( + int id: @format_args_expr ref, + int template: @expr ref +); + +ident_pats( + unique int id: @ident_pat +); + +#keyset[id, index] +ident_pat_attrs( + int id: @ident_pat ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ident_pat_is_mut( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_is_ref( + int id: @ident_pat ref +); + +#keyset[id] +ident_pat_names( + int id: @ident_pat ref, + int name: @name ref +); + +#keyset[id] +ident_pat_pats( + int id: @ident_pat ref, + int pat: @pat ref +); + +if_exprs( + unique int id: @if_expr +); + +#keyset[id, index] +if_expr_attrs( + int id: @if_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +if_expr_conditions( + int id: @if_expr ref, + int condition: @expr ref +); + +#keyset[id] +if_expr_elses( + int id: @if_expr ref, + int else: @expr ref +); + +#keyset[id] +if_expr_thens( + int id: @if_expr ref, + int then: @block_expr ref +); + +impl_trait_type_reprs( + unique int id: @impl_trait_type_repr +); + +#keyset[id] +impl_trait_type_repr_type_bound_lists( + int id: @impl_trait_type_repr ref, + int type_bound_list: @type_bound_list ref +); + +index_exprs( + unique int id: @index_expr +); + +#keyset[id, index] +index_expr_attrs( + int id: @index_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +index_expr_bases( + int id: @index_expr ref, + int base: @expr ref +); + +#keyset[id] +index_expr_indices( + int id: @index_expr ref, + int index: @expr ref +); + +infer_type_reprs( + unique int id: @infer_type_repr +); + +@item = + @asm_expr +| @assoc_item +| @extern_block +| @extern_crate +| @extern_item +| @impl +| @macro_def +| @macro_rules +| @module +| @trait +| @trait_alias +| @type_item +| @use +; + +#keyset[id] +item_attribute_macro_expansions( + int id: @item ref, + int attribute_macro_expansion: @macro_items ref +); + +@labelable_expr = + @block_expr +| @looping_expr +; + +#keyset[id] +labelable_expr_labels( + int id: @labelable_expr ref, + int label: @label ref +); + +let_exprs( + unique int id: @let_expr +); + +#keyset[id, index] +let_expr_attrs( + int id: @let_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_expr_scrutinees( + int id: @let_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +let_expr_pats( + int id: @let_expr ref, + int pat: @pat ref +); + +let_stmts( + unique int id: @let_stmt +); + +#keyset[id, index] +let_stmt_attrs( + int id: @let_stmt ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +let_stmt_initializers( + int id: @let_stmt ref, + int initializer: @expr ref +); + +#keyset[id] +let_stmt_let_elses( + int id: @let_stmt ref, + int let_else: @let_else ref +); + +#keyset[id] +let_stmt_pats( + int id: @let_stmt ref, + int pat: @pat ref +); + +#keyset[id] +let_stmt_type_reprs( + int id: @let_stmt ref, + int type_repr: @type_repr ref +); + +lifetimes( + unique int id: @lifetime +); + +#keyset[id] +lifetime_texts( + int id: @lifetime ref, + string text: string ref +); + +lifetime_args( + unique int id: @lifetime_arg +); + +#keyset[id] +lifetime_arg_lifetimes( + int id: @lifetime_arg ref, + int lifetime: @lifetime ref +); + +lifetime_params( + unique int id: @lifetime_param +); + +#keyset[id, index] +lifetime_param_attrs( + int id: @lifetime_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +lifetime_param_lifetimes( + int id: @lifetime_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +lifetime_param_type_bound_lists( + int id: @lifetime_param ref, + int type_bound_list: @type_bound_list ref +); + +literal_exprs( + unique int id: @literal_expr +); + +#keyset[id, index] +literal_expr_attrs( + int id: @literal_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +literal_expr_text_values( + int id: @literal_expr ref, + string text_value: string ref +); + +literal_pats( + unique int id: @literal_pat +); + +#keyset[id] +literal_pat_literals( + int id: @literal_pat ref, + int literal: @literal_expr ref +); + +macro_exprs( + unique int id: @macro_expr +); + +#keyset[id] +macro_expr_macro_calls( + int id: @macro_expr ref, + int macro_call: @macro_call ref +); + +macro_pats( + unique int id: @macro_pat +); + +#keyset[id] +macro_pat_macro_calls( + int id: @macro_pat ref, + int macro_call: @macro_call ref +); + +macro_type_reprs( + unique int id: @macro_type_repr +); + +#keyset[id] +macro_type_repr_macro_calls( + int id: @macro_type_repr ref, + int macro_call: @macro_call ref +); + +match_exprs( + unique int id: @match_expr +); + +#keyset[id, index] +match_expr_attrs( + int id: @match_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +match_expr_scrutinees( + int id: @match_expr ref, + int scrutinee: @expr ref +); + +#keyset[id] +match_expr_match_arm_lists( + int id: @match_expr ref, + int match_arm_list: @match_arm_list ref +); + +method_call_exprs( + unique int id: @method_call_expr +); + +#keyset[id] +method_call_expr_arg_lists( + int id: @method_call_expr ref, + int arg_list: @arg_list ref +); + +#keyset[id, index] +method_call_expr_attrs( + int id: @method_call_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +method_call_expr_generic_arg_lists( + int id: @method_call_expr ref, + int generic_arg_list: @generic_arg_list ref +); + +#keyset[id] +method_call_expr_identifiers( + int id: @method_call_expr ref, + int identifier: @name_ref ref +); + +#keyset[id] +method_call_expr_receivers( + int id: @method_call_expr ref, + int receiver: @expr ref +); + +name_refs( + unique int id: @name_ref +); + +#keyset[id] +name_ref_texts( + int id: @name_ref ref, + string text: string ref +); + +never_type_reprs( + unique int id: @never_type_repr +); + +offset_of_exprs( + unique int id: @offset_of_expr +); + +#keyset[id, index] +offset_of_expr_attrs( + int id: @offset_of_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +offset_of_expr_fields( + int id: @offset_of_expr ref, + int index: int ref, + int field: @name_ref ref +); + +#keyset[id] +offset_of_expr_type_reprs( + int id: @offset_of_expr ref, + int type_repr: @type_repr ref +); + +or_pats( + unique int id: @or_pat +); + +#keyset[id, index] +or_pat_pats( + int id: @or_pat ref, + int index: int ref, + int pat: @pat ref +); + +params( + unique int id: @param +); + +#keyset[id] +param_pats( + int id: @param ref, + int pat: @pat ref +); + +paren_exprs( + unique int id: @paren_expr +); + +#keyset[id, index] +paren_expr_attrs( + int id: @paren_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +paren_expr_exprs( + int id: @paren_expr ref, + int expr: @expr ref +); + +paren_pats( + unique int id: @paren_pat +); + +#keyset[id] +paren_pat_pats( + int id: @paren_pat ref, + int pat: @pat ref +); + +paren_type_reprs( + unique int id: @paren_type_repr +); + +#keyset[id] +paren_type_repr_type_reprs( + int id: @paren_type_repr ref, + int type_repr: @type_repr ref +); + +@path_expr_base = + @path_expr +; + +path_pats( + unique int id: @path_pat +); + +path_type_reprs( + unique int id: @path_type_repr +); + +#keyset[id] +path_type_repr_paths( + int id: @path_type_repr ref, + int path: @path ref +); + +prefix_exprs( + unique int id: @prefix_expr +); + +#keyset[id, index] +prefix_expr_attrs( + int id: @prefix_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +prefix_expr_exprs( + int id: @prefix_expr ref, + int expr: @expr ref +); + +#keyset[id] +prefix_expr_operator_names( + int id: @prefix_expr ref, + string operator_name: string ref +); + +ptr_type_reprs( + unique int id: @ptr_type_repr +); + +#keyset[id] +ptr_type_repr_is_const( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_is_mut( + int id: @ptr_type_repr ref +); + +#keyset[id] +ptr_type_repr_type_reprs( + int id: @ptr_type_repr ref, + int type_repr: @type_repr ref +); + +range_exprs( + unique int id: @range_expr +); + +#keyset[id, index] +range_expr_attrs( + int id: @range_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +range_expr_ends( + int id: @range_expr ref, + int end: @expr ref +); + +#keyset[id] +range_expr_operator_names( + int id: @range_expr ref, + string operator_name: string ref +); + +#keyset[id] +range_expr_starts( + int id: @range_expr ref, + int start: @expr ref +); + +range_pats( + unique int id: @range_pat +); + +#keyset[id] +range_pat_ends( + int id: @range_pat ref, + int end: @pat ref +); + +#keyset[id] +range_pat_operator_names( + int id: @range_pat ref, + string operator_name: string ref +); + +#keyset[id] +range_pat_starts( + int id: @range_pat ref, + int start: @pat ref +); + +ref_exprs( + unique int id: @ref_expr +); + +#keyset[id, index] +ref_expr_attrs( + int id: @ref_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +ref_expr_exprs( + int id: @ref_expr ref, + int expr: @expr ref +); + +#keyset[id] +ref_expr_is_const( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_mut( + int id: @ref_expr ref +); + +#keyset[id] +ref_expr_is_raw( + int id: @ref_expr ref +); + +ref_pats( + unique int id: @ref_pat +); + +#keyset[id] +ref_pat_is_mut( + int id: @ref_pat ref +); + +#keyset[id] +ref_pat_pats( + int id: @ref_pat ref, + int pat: @pat ref +); + +ref_type_reprs( + unique int id: @ref_type_repr +); + +#keyset[id] +ref_type_repr_is_mut( + int id: @ref_type_repr ref +); + +#keyset[id] +ref_type_repr_lifetimes( + int id: @ref_type_repr ref, + int lifetime: @lifetime ref +); + +#keyset[id] +ref_type_repr_type_reprs( + int id: @ref_type_repr ref, + int type_repr: @type_repr ref +); + +rest_pats( + unique int id: @rest_pat +); + +#keyset[id, index] +rest_pat_attrs( + int id: @rest_pat ref, + int index: int ref, + int attr: @attr ref +); + +return_exprs( + unique int id: @return_expr +); + +#keyset[id, index] +return_expr_attrs( + int id: @return_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +return_expr_exprs( + int id: @return_expr ref, + int expr: @expr ref +); + +self_params( + unique int id: @self_param +); + +#keyset[id] +self_param_is_ref( + int id: @self_param ref +); + +#keyset[id] +self_param_is_mut( + int id: @self_param ref +); + +#keyset[id] +self_param_lifetimes( + int id: @self_param ref, + int lifetime: @lifetime ref +); + +#keyset[id] +self_param_names( + int id: @self_param ref, + int name: @name ref +); + +slice_pats( + unique int id: @slice_pat +); + +#keyset[id, index] +slice_pat_pats( + int id: @slice_pat ref, + int index: int ref, + int pat: @pat ref +); + +slice_type_reprs( + unique int id: @slice_type_repr +); + +#keyset[id] +slice_type_repr_type_reprs( + int id: @slice_type_repr ref, + int type_repr: @type_repr ref +); + +struct_exprs( + unique int id: @struct_expr +); + +#keyset[id] +struct_expr_struct_expr_field_lists( + int id: @struct_expr ref, + int struct_expr_field_list: @struct_expr_field_list ref +); + +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + +struct_pats( + unique int id: @struct_pat +); + +#keyset[id] +struct_pat_struct_pat_field_lists( + int id: @struct_pat ref, + int struct_pat_field_list: @struct_pat_field_list ref +); + +try_exprs( + unique int id: @try_expr +); + +#keyset[id, index] +try_expr_attrs( + int id: @try_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +try_expr_exprs( + int id: @try_expr ref, + int expr: @expr ref +); + +tuple_exprs( + unique int id: @tuple_expr +); + +#keyset[id, index] +tuple_expr_attrs( + int id: @tuple_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +tuple_expr_fields( + int id: @tuple_expr ref, + int index: int ref, + int field: @expr ref +); + +tuple_field_lists( + unique int id: @tuple_field_list +); + +#keyset[id, index] +tuple_field_list_fields( + int id: @tuple_field_list ref, + int index: int ref, + int field: @tuple_field ref +); + +tuple_pats( + unique int id: @tuple_pat +); + +#keyset[id, index] +tuple_pat_fields( + int id: @tuple_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_struct_pats( + unique int id: @tuple_struct_pat +); + +#keyset[id, index] +tuple_struct_pat_fields( + int id: @tuple_struct_pat ref, + int index: int ref, + int field: @pat ref +); + +tuple_type_reprs( + unique int id: @tuple_type_repr +); + +#keyset[id, index] +tuple_type_repr_fields( + int id: @tuple_type_repr ref, + int index: int ref, + int field: @type_repr ref +); + +type_args( + unique int id: @type_arg +); + +#keyset[id] +type_arg_type_reprs( + int id: @type_arg ref, + int type_repr: @type_repr ref +); + +type_params( + unique int id: @type_param +); + +#keyset[id, index] +type_param_attrs( + int id: @type_param ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_param_default_types( + int id: @type_param ref, + int default_type: @type_repr ref +); + +#keyset[id] +type_param_names( + int id: @type_param ref, + int name: @name ref +); + +#keyset[id] +type_param_type_bound_lists( + int id: @type_param ref, + int type_bound_list: @type_bound_list ref +); + +underscore_exprs( + unique int id: @underscore_expr +); + +#keyset[id, index] +underscore_expr_attrs( + int id: @underscore_expr ref, + int index: int ref, + int attr: @attr ref +); + +variants( + unique int id: @variant +); + +#keyset[id, index] +variant_attrs( + int id: @variant ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +variant_discriminants( + int id: @variant ref, + int discriminant: @expr ref +); + +#keyset[id] +variant_field_lists( + int id: @variant ref, + int field_list: @field_list ref +); + +#keyset[id] +variant_names( + int id: @variant ref, + int name: @name ref +); + +#keyset[id] +variant_visibilities( + int id: @variant ref, + int visibility: @visibility ref +); + +wildcard_pats( + unique int id: @wildcard_pat +); + +yeet_exprs( + unique int id: @yeet_expr +); + +#keyset[id, index] +yeet_expr_attrs( + int id: @yeet_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yeet_expr_exprs( + int id: @yeet_expr ref, + int expr: @expr ref +); + +yield_exprs( + unique int id: @yield_expr +); + +#keyset[id, index] +yield_expr_attrs( + int id: @yield_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +yield_expr_exprs( + int id: @yield_expr ref, + int expr: @expr ref +); + +asm_exprs( + unique int id: @asm_expr +); + +#keyset[id, index] +asm_expr_asm_pieces( + int id: @asm_expr ref, + int index: int ref, + int asm_piece: @asm_piece ref +); + +#keyset[id, index] +asm_expr_attrs( + int id: @asm_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id, index] +asm_expr_templates( + int id: @asm_expr ref, + int index: int ref, + int template: @expr ref +); + +@assoc_item = + @const +| @function +| @macro_call +| @type_alias +; + +block_exprs( + unique int id: @block_expr +); + +#keyset[id, index] +block_expr_attrs( + int id: @block_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +block_expr_is_async( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_const( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_gen( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_move( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_try( + int id: @block_expr ref +); + +#keyset[id] +block_expr_is_unsafe( + int id: @block_expr ref +); + +#keyset[id] +block_expr_stmt_lists( + int id: @block_expr ref, + int stmt_list: @stmt_list ref +); + +extern_blocks( + unique int id: @extern_block +); + +#keyset[id] +extern_block_abis( + int id: @extern_block ref, + int abi: @abi ref +); + +#keyset[id, index] +extern_block_attrs( + int id: @extern_block ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_block_extern_item_lists( + int id: @extern_block ref, + int extern_item_list: @extern_item_list ref +); + +#keyset[id] +extern_block_is_unsafe( + int id: @extern_block ref +); + +extern_crates( + unique int id: @extern_crate +); + +#keyset[id, index] +extern_crate_attrs( + int id: @extern_crate ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +extern_crate_identifiers( + int id: @extern_crate ref, + int identifier: @name_ref ref +); + +#keyset[id] +extern_crate_renames( + int id: @extern_crate ref, + int rename: @rename ref +); + +#keyset[id] +extern_crate_visibilities( + int id: @extern_crate ref, + int visibility: @visibility ref +); + +@extern_item = + @function +| @macro_call +| @static +| @type_alias +; + +impls( + unique int id: @impl +); + +#keyset[id] +impl_assoc_item_lists( + int id: @impl ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +impl_attrs( + int id: @impl ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +impl_generic_param_lists( + int id: @impl ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +impl_is_const( + int id: @impl ref +); + +#keyset[id] +impl_is_default( + int id: @impl ref +); + +#keyset[id] +impl_is_unsafe( + int id: @impl ref +); + +#keyset[id] +impl_self_ties( + int id: @impl ref, + int self_ty: @type_repr ref +); + +#keyset[id] +impl_traits( + int id: @impl ref, + int trait: @type_repr ref +); + +#keyset[id] +impl_visibilities( + int id: @impl ref, + int visibility: @visibility ref +); + +#keyset[id] +impl_where_clauses( + int id: @impl ref, + int where_clause: @where_clause ref +); + +@looping_expr = + @for_expr +| @loop_expr +| @while_expr +; + +#keyset[id] +looping_expr_loop_bodies( + int id: @looping_expr ref, + int loop_body: @block_expr ref +); + +macro_defs( + unique int id: @macro_def +); + +#keyset[id] +macro_def_args( + int id: @macro_def ref, + int args: @token_tree ref +); + +#keyset[id, index] +macro_def_attrs( + int id: @macro_def ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_def_bodies( + int id: @macro_def ref, + int body: @token_tree ref +); + +#keyset[id] +macro_def_names( + int id: @macro_def ref, + int name: @name ref +); + +#keyset[id] +macro_def_visibilities( + int id: @macro_def ref, + int visibility: @visibility ref +); + +macro_rules( + unique int id: @macro_rules +); + +#keyset[id, index] +macro_rules_attrs( + int id: @macro_rules ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_rules_names( + int id: @macro_rules ref, + int name: @name ref +); + +#keyset[id] +macro_rules_token_trees( + int id: @macro_rules ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_rules_visibilities( + int id: @macro_rules ref, + int visibility: @visibility ref +); + +modules( + unique int id: @module +); + +#keyset[id, index] +module_attrs( + int id: @module ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +module_item_lists( + int id: @module ref, + int item_list: @item_list ref +); + +#keyset[id] +module_names( + int id: @module ref, + int name: @name ref +); + +#keyset[id] +module_visibilities( + int id: @module ref, + int visibility: @visibility ref +); + +path_exprs( + unique int id: @path_expr +); + +#keyset[id, index] +path_expr_attrs( + int id: @path_expr ref, + int index: int ref, + int attr: @attr ref +); + +traits( + unique int id: @trait +); + +#keyset[id] +trait_assoc_item_lists( + int id: @trait ref, + int assoc_item_list: @assoc_item_list ref +); + +#keyset[id, index] +trait_attrs( + int id: @trait ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_generic_param_lists( + int id: @trait ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_is_auto( + int id: @trait ref +); + +#keyset[id] +trait_is_unsafe( + int id: @trait ref +); + +#keyset[id] +trait_names( + int id: @trait ref, + int name: @name ref +); + +#keyset[id] +trait_type_bound_lists( + int id: @trait ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_visibilities( + int id: @trait ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_where_clauses( + int id: @trait ref, + int where_clause: @where_clause ref +); + +trait_aliases( + unique int id: @trait_alias +); + +#keyset[id, index] +trait_alias_attrs( + int id: @trait_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +trait_alias_generic_param_lists( + int id: @trait_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +trait_alias_names( + int id: @trait_alias ref, + int name: @name ref +); + +#keyset[id] +trait_alias_type_bound_lists( + int id: @trait_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +trait_alias_visibilities( + int id: @trait_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +trait_alias_where_clauses( + int id: @trait_alias ref, + int where_clause: @where_clause ref +); + +@type_item = + @enum +| @struct +| @union +; + +#keyset[id, index] +type_item_derive_macro_expansions( + int id: @type_item ref, + int index: int ref, + int derive_macro_expansion: @macro_items ref +); + +#keyset[id, index] +type_item_attrs( + int id: @type_item ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_item_generic_param_lists( + int id: @type_item ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_item_names( + int id: @type_item ref, + int name: @name ref +); + +#keyset[id] +type_item_visibilities( + int id: @type_item ref, + int visibility: @visibility ref +); + +#keyset[id] +type_item_where_clauses( + int id: @type_item ref, + int where_clause: @where_clause ref +); + +uses( + unique int id: @use +); + +#keyset[id, index] +use_attrs( + int id: @use ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +use_use_trees( + int id: @use ref, + int use_tree: @use_tree ref +); + +#keyset[id] +use_visibilities( + int id: @use ref, + int visibility: @visibility ref +); + +consts( + unique int id: @const +); + +#keyset[id, index] +const_attrs( + int id: @const ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +const_bodies( + int id: @const ref, + int body: @expr ref +); + +#keyset[id] +const_generic_param_lists( + int id: @const ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +const_is_const( + int id: @const ref +); + +#keyset[id] +const_is_default( + int id: @const ref +); + +#keyset[id] +const_names( + int id: @const ref, + int name: @name ref +); + +#keyset[id] +const_type_reprs( + int id: @const ref, + int type_repr: @type_repr ref +); + +#keyset[id] +const_visibilities( + int id: @const ref, + int visibility: @visibility ref +); + +#keyset[id] +const_where_clauses( + int id: @const ref, + int where_clause: @where_clause ref +); + +#keyset[id] +const_has_implementation( + int id: @const ref +); + +enums( + unique int id: @enum +); + +#keyset[id] +enum_variant_lists( + int id: @enum ref, + int variant_list: @variant_list ref +); + +for_exprs( + unique int id: @for_expr +); + +#keyset[id, index] +for_expr_attrs( + int id: @for_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +for_expr_iterables( + int id: @for_expr ref, + int iterable: @expr ref +); + +#keyset[id] +for_expr_pats( + int id: @for_expr ref, + int pat: @pat ref +); + +functions( + unique int id: @function +); + +#keyset[id] +function_abis( + int id: @function ref, + int abi: @abi ref +); + +#keyset[id] +function_function_bodies( + int id: @function ref, + int function_body: @block_expr ref +); + +#keyset[id] +function_generic_param_lists( + int id: @function ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +function_is_async( + int id: @function ref +); + +#keyset[id] +function_is_const( + int id: @function ref +); + +#keyset[id] +function_is_default( + int id: @function ref +); + +#keyset[id] +function_is_gen( + int id: @function ref +); + +#keyset[id] +function_is_unsafe( + int id: @function ref +); + +#keyset[id] +function_names( + int id: @function ref, + int name: @name ref +); + +#keyset[id] +function_ret_types( + int id: @function ref, + int ret_type: @ret_type_repr ref +); + +#keyset[id] +function_visibilities( + int id: @function ref, + int visibility: @visibility ref +); + +#keyset[id] +function_where_clauses( + int id: @function ref, + int where_clause: @where_clause ref +); + +#keyset[id] +function_has_implementation( + int id: @function ref +); + +loop_exprs( + unique int id: @loop_expr +); + +#keyset[id, index] +loop_expr_attrs( + int id: @loop_expr ref, + int index: int ref, + int attr: @attr ref +); + +macro_calls( + unique int id: @macro_call +); + +#keyset[id, index] +macro_call_attrs( + int id: @macro_call ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +macro_call_paths( + int id: @macro_call ref, + int path: @path ref +); + +#keyset[id] +macro_call_token_trees( + int id: @macro_call ref, + int token_tree: @token_tree ref +); + +#keyset[id] +macro_call_macro_call_expansions( + int id: @macro_call ref, + int macro_call_expansion: @ast_node ref +); + +statics( + unique int id: @static +); + +#keyset[id, index] +static_attrs( + int id: @static ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +static_bodies( + int id: @static ref, + int body: @expr ref +); + +#keyset[id] +static_is_mut( + int id: @static ref +); + +#keyset[id] +static_is_static( + int id: @static ref +); + +#keyset[id] +static_is_unsafe( + int id: @static ref +); + +#keyset[id] +static_names( + int id: @static ref, + int name: @name ref +); + +#keyset[id] +static_type_reprs( + int id: @static ref, + int type_repr: @type_repr ref +); + +#keyset[id] +static_visibilities( + int id: @static ref, + int visibility: @visibility ref +); + +structs( + unique int id: @struct +); + +#keyset[id] +struct_field_lists_( + int id: @struct ref, + int field_list: @field_list ref +); + +type_aliases( + unique int id: @type_alias +); + +#keyset[id, index] +type_alias_attrs( + int id: @type_alias ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +type_alias_generic_param_lists( + int id: @type_alias ref, + int generic_param_list: @generic_param_list ref +); + +#keyset[id] +type_alias_is_default( + int id: @type_alias ref +); + +#keyset[id] +type_alias_names( + int id: @type_alias ref, + int name: @name ref +); + +#keyset[id] +type_alias_type_reprs( + int id: @type_alias ref, + int type_repr: @type_repr ref +); + +#keyset[id] +type_alias_type_bound_lists( + int id: @type_alias ref, + int type_bound_list: @type_bound_list ref +); + +#keyset[id] +type_alias_visibilities( + int id: @type_alias ref, + int visibility: @visibility ref +); + +#keyset[id] +type_alias_where_clauses( + int id: @type_alias ref, + int where_clause: @where_clause ref +); + +unions( + unique int id: @union +); + +#keyset[id] +union_struct_field_lists( + int id: @union ref, + int struct_field_list: @struct_field_list ref +); + +while_exprs( + unique int id: @while_expr +); + +#keyset[id, index] +while_expr_attrs( + int id: @while_expr ref, + int index: int ref, + int attr: @attr ref +); + +#keyset[id] +while_expr_conditions( + int id: @while_expr ref, + int condition: @expr ref +); diff --git a/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/upgrade.properties b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/upgrade.properties new file mode 100644 index 00000000000..10aa9fe16a0 --- /dev/null +++ b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/upgrade.properties @@ -0,0 +1,13 @@ +description: Merge the relations `macro_block_exprs` and `block_exprs` +compatibility: full + +macro_block_exprs.rel: delete +macro_block_expr_statements.rel: delete +macro_block_expr_tail_exprs.rel: delete + +block_exprs.rel: run upgrade.ql new_block_exprs +stmt_lists.rel: run upgrade.ql new_stmt_lists +block_expr_stmt_lists.rel: run upgrade.ql new_block_expr_stmt_lists +stmt_list_statements.rel: run upgrade.ql new_stmt_list_statements +stmt_list_tail_exprs.rel: run upgrade.ql new_stmt_list_tail_exprs +macro_call_macro_call_expansions.rel: run upgrade.ql new_macro_call_macro_call_expansions \ No newline at end of file diff --git a/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/upgrade.ql b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/upgrade.ql new file mode 100644 index 00000000000..adf5e25c81f --- /dev/null +++ b/rust/ql/lib/upgrades/c467bf63916002287b7bde8ce8b094c57579bd81/upgrade.ql @@ -0,0 +1,62 @@ +class Element extends @element { + string toString() { none() } +} + +newtype TAddedElement = + TBlockExpr(Element macroBlock) { macro_block_exprs(macroBlock) } or + TStmtList(Element macroBlock) { macro_block_exprs(macroBlock) } + +module Fresh = QlBuiltins::NewEntity; + +class TNewElement = @element or Fresh::EntityId; + +class NewElement extends TNewElement { + string toString() { none() } +} + +query predicate new_block_exprs(NewElement id) { + block_exprs(id) or + id = Fresh::map(TBlockExpr(_)) +} + +query predicate new_stmt_lists(NewElement id) { + stmt_lists(id) or + id = Fresh::map(TStmtList(_)) +} + +query predicate new_block_expr_stmt_lists(NewElement id, NewElement list) { + block_expr_stmt_lists(id, list) + or + exists(Element macroBlock | + id = Fresh::map(TBlockExpr(macroBlock)) and + list = Fresh::map(TStmtList(macroBlock)) + ) +} + +query predicate new_stmt_list_statements(NewElement id, int index, Element stmt) { + stmt_list_statements(id, index, stmt) + or + exists(Element macroBlock | + id = Fresh::map(TStmtList(macroBlock)) and + macro_block_expr_statements(macroBlock, index, stmt) + ) +} + +query predicate new_stmt_list_tail_exprs(NewElement id, Element expr) { + stmt_list_tail_exprs(id, expr) + or + exists(Element macroBlock | + id = Fresh::map(TStmtList(macroBlock)) and + macro_block_expr_tail_exprs(macroBlock, expr) + ) +} + +query predicate new_macro_call_macro_call_expansions(NewElement id, NewElement expansion) { + macro_call_macro_call_expansions(id, expansion) and + not macro_block_exprs(expansion) + or + exists(Element macroBlock | + expansion = Fresh::map(TBlockExpr(macroBlock)) and + macro_call_macro_call_expansions(id, macroBlock) + ) +} diff --git a/rust/ql/lib/utils/test/PathResolutionInlineExpectationsTest.qll b/rust/ql/lib/utils/test/PathResolutionInlineExpectationsTest.qll index d8b2703203d..bde96ace1a4 100644 --- a/rust/ql/lib/utils/test/PathResolutionInlineExpectationsTest.qll +++ b/rust/ql/lib/utils/test/PathResolutionInlineExpectationsTest.qll @@ -4,7 +4,7 @@ private import rust private import codeql.rust.internal.PathResolution -private import codeql.rust.internal.TypeInference +private import codeql.rust.internal.typeinference.TypeInference private import utils.test.InlineExpectationsTest private module ResolveTest implements TestSig { diff --git a/rust/ql/src/CHANGELOG.md b/rust/ql/src/CHANGELOG.md index f5e2fdb6407..6f17ba91133 100644 --- a/rust/ql/src/CHANGELOG.md +++ b/rust/ql/src/CHANGELOG.md @@ -1,3 +1,16 @@ +## 0.1.25 + +### Minor Analysis Improvements + +* Fixed common false positives for the `rust/unused-variable` and `rust/unused-value` queries. +* Fixed false positives from the `rust/access-invalid-pointer` query, by only considering dereferences of raw pointers as sinks. +* Fixed false positives from the `rust/access-after-lifetime-ended` query, involving calls to trait methods. +* The `rust/hard-coded-cryptographic-value` query has been extended with new heuristic sinks identifying passwords, initialization vectors, nonces and salts. + +## 0.1.24 + +No user-facing changes. + ## 0.1.23 No user-facing changes. diff --git a/rust/ql/src/change-notes/2025-12-01-hard-coded-cryptographic-value.md b/rust/ql/src/change-notes/2025-12-01-hard-coded-cryptographic-value.md deleted file mode 100644 index f211982df62..00000000000 --- a/rust/ql/src/change-notes/2025-12-01-hard-coded-cryptographic-value.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `rust/hard-coded-cryptographic-value` query has been extended with new heuristic sinks identifying passwords, initialization vectors, nonces and salts. diff --git a/rust/ql/src/change-notes/2025-12-04-access-after-lifetime-ended.md b/rust/ql/src/change-notes/2025-12-04-access-after-lifetime-ended.md deleted file mode 100644 index 1e9200eec8f..00000000000 --- a/rust/ql/src/change-notes/2025-12-04-access-after-lifetime-ended.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Fixed false positives from the `rust/access-after-lifetime-ended` query, involving calls to trait methods. diff --git a/rust/ql/src/change-notes/2025-12-05-exclude-dereference-sinks.md b/rust/ql/src/change-notes/2025-12-05-exclude-dereference-sinks.md deleted file mode 100644 index c0ccd758e8d..00000000000 --- a/rust/ql/src/change-notes/2025-12-05-exclude-dereference-sinks.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Fixed false positives from the `rust/access-invalid-pointer` query, by only considering dereferences of raw pointers as sinks. diff --git a/rust/ql/src/change-notes/2025-12-10-unused-variable.md b/rust/ql/src/change-notes/2025-12-10-unused-variable.md deleted file mode 100644 index 7391255e608..00000000000 --- a/rust/ql/src/change-notes/2025-12-10-unused-variable.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Fixed common false positives for the `rust/unused-variable` and `rust/unused-value` queries. diff --git a/rust/ql/src/change-notes/released/0.1.24.md b/rust/ql/src/change-notes/released/0.1.24.md new file mode 100644 index 00000000000..e94e0c402f0 --- /dev/null +++ b/rust/ql/src/change-notes/released/0.1.24.md @@ -0,0 +1,3 @@ +## 0.1.24 + +No user-facing changes. diff --git a/rust/ql/src/change-notes/released/0.1.25.md b/rust/ql/src/change-notes/released/0.1.25.md new file mode 100644 index 00000000000..36eda5e0851 --- /dev/null +++ b/rust/ql/src/change-notes/released/0.1.25.md @@ -0,0 +1,8 @@ +## 0.1.25 + +### Minor Analysis Improvements + +* Fixed common false positives for the `rust/unused-variable` and `rust/unused-value` queries. +* Fixed false positives from the `rust/access-invalid-pointer` query, by only considering dereferences of raw pointers as sinks. +* Fixed false positives from the `rust/access-after-lifetime-ended` query, involving calls to trait methods. +* The `rust/hard-coded-cryptographic-value` query has been extended with new heuristic sinks identifying passwords, initialization vectors, nonces and salts. diff --git a/rust/ql/src/codeql-pack.release.yml b/rust/ql/src/codeql-pack.release.yml index 484c6d90798..44eb1ee2438 100644 --- a/rust/ql/src/codeql-pack.release.yml +++ b/rust/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.23 +lastReleaseVersion: 0.1.25 diff --git a/rust/ql/src/qlpack.yml b/rust/ql/src/qlpack.yml index 2162add3f35..e8873e00339 100644 --- a/rust/ql/src/qlpack.yml +++ b/rust/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-queries -version: 0.1.24-dev +version: 0.1.26-dev groups: - rust - queries diff --git a/rust/ql/src/queries/diagnostics/TypeInferenceConsistencyCounts.ql b/rust/ql/src/queries/diagnostics/TypeInferenceConsistencyCounts.ql index 3a98cef3b81..c3cd00674c9 100644 --- a/rust/ql/src/queries/diagnostics/TypeInferenceConsistencyCounts.ql +++ b/rust/ql/src/queries/diagnostics/TypeInferenceConsistencyCounts.ql @@ -5,7 +5,7 @@ * @id rust/diagnostics/type-inference-consistency-counts */ -private import codeql.rust.internal.TypeInferenceConsistency as Consistency +private import codeql.rust.internal.typeinference.TypeInferenceConsistency as Consistency // see also `rust/diagnostics/type-inference-consistency`, which lists the // individual inconsistency results. diff --git a/rust/ql/src/queries/summary/NodesWithTypeAtLengthLimit.ql b/rust/ql/src/queries/summary/NodesWithTypeAtLengthLimit.ql index d06d1af510c..135bb8098ca 100644 --- a/rust/ql/src/queries/summary/NodesWithTypeAtLengthLimit.ql +++ b/rust/ql/src/queries/summary/NodesWithTypeAtLengthLimit.ql @@ -7,7 +7,7 @@ */ import rust -import codeql.rust.internal.TypeInference +import codeql.rust.internal.typeinference.TypeInference from int atLimit where diff --git a/rust/ql/src/queries/summary/Stats.qll b/rust/ql/src/queries/summary/Stats.qll index d06389fb6a7..36eeb0df4ef 100644 --- a/rust/ql/src/queries/summary/Stats.qll +++ b/rust/ql/src/queries/summary/Stats.qll @@ -8,7 +8,7 @@ private import codeql.rust.dataflow.internal.DataFlowImpl private import codeql.rust.dataflow.internal.TaintTrackingImpl private import codeql.rust.internal.AstConsistency as AstConsistency private import codeql.rust.internal.PathResolutionConsistency as PathResolutionConsistency -private import codeql.rust.internal.TypeInferenceConsistency as TypeInferenceConsistency +private import codeql.rust.internal.typeinference.TypeInferenceConsistency as TypeInferenceConsistency private import codeql.rust.controlflow.internal.CfgConsistency as CfgConsistency private import codeql.rust.dataflow.internal.DataFlowConsistency as DataFlowConsistency private import codeql.rust.dataflow.internal.SsaImpl::Consistency as SsaConsistency diff --git a/rust/ql/src/queries/telemetry/DatabaseQuality.qll b/rust/ql/src/queries/telemetry/DatabaseQuality.qll index 5f50cdd4c4f..37163ffd7dd 100644 --- a/rust/ql/src/queries/telemetry/DatabaseQuality.qll +++ b/rust/ql/src/queries/telemetry/DatabaseQuality.qll @@ -7,8 +7,8 @@ import rust import codeql.util.ReportStats import codeql.rust.elements.internal.CallExprImpl::Impl as CallExprImpl -import codeql.rust.internal.TypeInference as TypeInference -import codeql.rust.internal.Type +import codeql.rust.internal.typeinference.TypeInference as TypeInference +import codeql.rust.internal.typeinference.Type /** * A file that is included in the quality statistics. diff --git a/rust/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/rust/ql/src/utils/modelgenerator/internal/CaptureModels.qll index 9826f56795f..fb71423503d 100644 --- a/rust/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/rust/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -7,12 +7,17 @@ private import codeql.rust.dataflow.internal.Content private import codeql.rust.dataflow.FlowSource as FlowSource private import codeql.rust.dataflow.FlowSink as FlowSink private import codeql.rust.dataflow.internal.TaintTrackingImpl +private import codeql.rust.dataflow.internal.TaintTrackingImpl as TaintTrackingImpl private import codeql.mad.modelgenerator.internal.ModelGeneratorImpl private import codeql.rust.dataflow.internal.FlowSummaryImpl as FlowSummary private newtype TCallable = TFunction(R::Function api, string path) { path = api.getCanonicalPath() and + // A canonical path can contain `;` as the syntax for array types use `;`. + // This does not work with the shared model generator, so for now we just + // exclude canonical paths with `;`s. + not exists(api.getCanonicalPath().indexOf(";")) and ( // This excludes closures (these are not exported API endpoints) and // functions without a `pub` visibility. A function can be `pub` without @@ -38,9 +43,15 @@ class QualifiedCallable extends TCallable { string getCanonicalPath() { result = path } } -module ModelGeneratorCommonInput implements - ModelGeneratorCommonInputSig -{ +private module RustDataFlowInput implements DataFlowImpl::RustDataFlowInputSig { + predicate includeDynamicTargets() { none() } +} + +module RustDataFlow = DataFlowImpl::RustDataFlowGen; + +module RustTaintTracking = TaintTrackingImpl::RustTaintTrackingGen; + +module ModelGeneratorCommonInput implements ModelGeneratorCommonInputSig { // NOTE: We are not using type information for now. class Type = Unit; @@ -67,9 +78,8 @@ module ModelGeneratorCommonInput implements string parameterExactAccess(R::ParamBase p) { result = - "Argument[" + - any(DataFlowImpl::RustDataFlow::ParameterPosition pos | p = pos.getParameterIn(_)) - .toString() + "]" + "Argument[" + any(RustDataFlow::ParameterPosition pos | p = pos.getParameterIn(_)).toString() + + "]" } string parameterApproximateAccess(R::ParamBase p) { result = parameterExactAccess(p) } @@ -79,16 +89,12 @@ module ModelGeneratorCommonInput implements } bindingset[c] - string paramReturnNodeAsApproximateOutput( - QualifiedCallable c, DataFlowImpl::RustDataFlow::ParameterPosition pos - ) { + string paramReturnNodeAsApproximateOutput(QualifiedCallable c, RustDataFlow::ParameterPosition pos) { result = paramReturnNodeAsExactOutput(c, pos) } bindingset[c] - string paramReturnNodeAsExactOutput( - QualifiedCallable c, DataFlowImpl::RustDataFlow::ParameterPosition pos - ) { + string paramReturnNodeAsExactOutput(QualifiedCallable c, RustDataFlow::ParameterPosition pos) { result = parameterExactAccess(c.getFunction().getParam(pos.getPosition())) or pos.isSelf() and result = qualifierString() @@ -98,7 +104,7 @@ module ModelGeneratorCommonInput implements result.getFunction() = ret.(Node::Node).getEnclosingCallable().asCfgScope() } - predicate isOwnInstanceAccessNode(DataFlowImpl::RustDataFlow::ReturnNode node) { + predicate isOwnInstanceAccessNode(RustDataFlow::ReturnNode node) { // This is probably not relevant to implement for Rust, as we only use // `captureMixedFlow` which doesn't explicitly distinguish between // functions that return `self` and those that don't. @@ -109,13 +115,15 @@ module ModelGeneratorCommonInput implements c.(SingletonContentSet).getContent() instanceof ElementContent } + predicate applyReadStepsAsTaintSteps() { none() } + string partialModelRow(Callable api, int i) { i = 0 and result = api.getCanonicalPath() } string partialNeutralModelRow(Callable api, int i) { result = partialModelRow(api, i) } } private import ModelGeneratorCommonInput -private import MakeModelGeneratorFactory +private import MakeModelGeneratorFactory private module SummaryModelGeneratorInput implements SummaryModelGeneratorInputSig { class SummaryTargetApi extends QualifiedCallable { diff --git a/rust/ql/test/extractor-tests/generated/.generated_tests.list b/rust/ql/test/extractor-tests/generated/.generated_tests.list index a0f338af420..73e2a1b767d 100644 --- a/rust/ql/test/extractor-tests/generated/.generated_tests.list +++ b/rust/ql/test/extractor-tests/generated/.generated_tests.list @@ -67,7 +67,6 @@ LifetimeParam/gen_lifetime_param.rs e3f9a417ae7a88a4d81d9cb747b361a3246d270d142f LiteralExpr/gen_literal_expr.rs 2db01ad390e5c0c63a957c043230a462cb4cc25715eea6ede15d43c55d35976d 2db01ad390e5c0c63a957c043230a462cb4cc25715eea6ede15d43c55d35976d LiteralPat/gen_literal_pat.rs a471b481b6989001817a3988696f445d9a4dea784e543c346536dacbee1e96f3 a471b481b6989001817a3988696f445d9a4dea784e543c346536dacbee1e96f3 LoopExpr/gen_loop_expr.rs 35deaf35e765db4ae3124a11284266d8f341d1ce7b700030efada0dda8878619 35deaf35e765db4ae3124a11284266d8f341d1ce7b700030efada0dda8878619 -MacroBlockExpr/gen_macro_block_expr.rs 4284a6e6ad81827d8616a00fec7f5bc21104eed40d93e3acc2b933ee22cb8577 4284a6e6ad81827d8616a00fec7f5bc21104eed40d93e3acc2b933ee22cb8577 MacroCall/gen_macro_call.rs c30added613d9edb3cb1321ae46fc6a088a2f22d2cc979119466ec02f6e09ed6 c30added613d9edb3cb1321ae46fc6a088a2f22d2cc979119466ec02f6e09ed6 MacroDef/gen_macro_def.rs 6f895ecab8c13a73c28ce67fcee39baf7928745a80fb440811014f6d31b22378 6f895ecab8c13a73c28ce67fcee39baf7928745a80fb440811014f6d31b22378 MacroExpr/gen_macro_expr.rs 5e1748356f431eea343a2aad2798c22073151940ea2cda0f0cce78c3d96104f0 5e1748356f431eea343a2aad2798c22073151940ea2cda0f0cce78c3d96104f0 diff --git a/rust/ql/test/extractor-tests/generated/.gitattributes b/rust/ql/test/extractor-tests/generated/.gitattributes index 2679395b34f..660ad73721a 100644 --- a/rust/ql/test/extractor-tests/generated/.gitattributes +++ b/rust/ql/test/extractor-tests/generated/.gitattributes @@ -69,7 +69,6 @@ /LiteralExpr/gen_literal_expr.rs linguist-generated /LiteralPat/gen_literal_pat.rs linguist-generated /LoopExpr/gen_loop_expr.rs linguist-generated -/MacroBlockExpr/gen_macro_block_expr.rs linguist-generated /MacroCall/gen_macro_call.rs linguist-generated /MacroDef/gen_macro_def.rs linguist-generated /MacroExpr/gen_macro_expr.rs linguist-generated diff --git a/rust/ql/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql b/rust/ql/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql deleted file mode 100644 index bae6d7d1f62..00000000000 --- a/rust/ql/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql +++ /dev/null @@ -1,13 +0,0 @@ -// generated by codegen, do not edit -import codeql.rust.elements -import TestUtils - -query predicate instances(MacroBlockExpr x) { toBeTested(x) and not x.isUnknown() } - -query predicate getStatement(MacroBlockExpr x, int index, Stmt getStatement) { - toBeTested(x) and not x.isUnknown() and getStatement = x.getStatement(index) -} - -query predicate getTailExpr(MacroBlockExpr x, Expr getTailExpr) { - toBeTested(x) and not x.isUnknown() and getTailExpr = x.getTailExpr() -} diff --git a/rust/ql/test/extractor-tests/generated/MacroBlockExpr/gen_macro_block_expr.rs b/rust/ql/test/extractor-tests/generated/MacroBlockExpr/gen_macro_block_expr.rs deleted file mode 100644 index 62a408411e8..00000000000 --- a/rust/ql/test/extractor-tests/generated/MacroBlockExpr/gen_macro_block_expr.rs +++ /dev/null @@ -1,14 +0,0 @@ -// generated by codegen, do not edit - -fn test_macro_block_expr() -> () { - // A sequence of statements generated by a `MacroCall`. For example: - macro_rules! my_macro { - () => { - let mut x = 40; - x += 2; - x - }; - } - - my_macro!(); // this macro expands to a sequence of statements (and an expression) -} diff --git a/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall.expected b/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall.expected index e73178f5a4f..1f74bc9cc36 100644 --- a/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall.expected +++ b/rust/ql/test/extractor-tests/generated/MacroCall/MacroCall.expected @@ -10,5 +10,5 @@ getTokenTree | gen_macro_call.rs:7:5:7:29 | println!... | gen_macro_call.rs:7:13:7:29 | TokenTree | | gen_macro_call.rs:7:14:7:28 | ...::format_args_nl!... | gen_macro_call.rs:7:14:7:28 | TokenTree | getMacroCallExpansion -| gen_macro_call.rs:7:5:7:29 | println!... | gen_macro_call.rs:7:14:7:28 | MacroBlockExpr | +| gen_macro_call.rs:7:5:7:29 | println!... | gen_macro_call.rs:7:14:7:28 | { ... } | | gen_macro_call.rs:7:14:7:28 | ...::format_args_nl!... | gen_macro_call.rs:7:14:7:28 | FormatArgsExpr | diff --git a/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected b/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected index 5d43ff532fd..6f0b278d062 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/PrintAst.expected @@ -356,41 +356,43 @@ macro_expansion.rs: # 33| getSegment(): [PathSegment] hello # 33| getIdentifier(): [NameRef] hello # 33| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 31| getStatement(0): [ExprStmt] ExprStmt -# 31| getExpr(): [MacroExpr] MacroExpr -# 31| getMacroCall(): [MacroCall] println!... -# 31| getPath(): [Path] println -# 31| getSegment(): [PathSegment] println -# 31| getIdentifier(): [NameRef] println -# 31| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 31| getTailExpr(): [BlockExpr] { ... } +# 31| getMacroCallExpansion(): [BlockExpr] { ... } +# 33| getStmtList(): [StmtList] StmtList +# 31| getStatement(0): [ExprStmt] ExprStmt +# 31| getExpr(): [MacroExpr] MacroExpr +# 31| getMacroCall(): [MacroCall] println!... +# 31| getPath(): [Path] println +# 31| getSegment(): [PathSegment] println +# 31| getIdentifier(): [NameRef] println +# 31| getTokenTree(): [TokenTree] TokenTree +# 31| getMacroCallExpansion(): [BlockExpr] { ... } # 31| getStmtList(): [StmtList] StmtList -# 31| getStatement(0): [ExprStmt] ExprStmt -# 31| getExpr(): [CallExpr] ...::_print(...) -# 31| getArgList(): [ArgList] ArgList -# 31| getArg(0): [MacroExpr] MacroExpr -# 31| getMacroCall(): [MacroCall] ...::format_args_nl!... -# 31| getPath(): [Path] ...::format_args_nl -# 31| getQualifier(): [Path] $crate -# 31| getSegment(): [PathSegment] $crate -# 31| getIdentifier(): [NameRef] $crate -# 31| getSegment(): [PathSegment] format_args_nl -# 31| getIdentifier(): [NameRef] format_args_nl -# 31| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr -# 31| getTemplate(): [StringLiteralExpr] "hello!\n" -# 31| getFunction(): [PathExpr] ...::_print -# 31| getPath(): [Path] ...::_print -# 31| getQualifier(): [Path] ...::io -# 31| getQualifier(): [Path] $crate -# 31| getSegment(): [PathSegment] $crate -# 31| getIdentifier(): [NameRef] $crate -# 31| getSegment(): [PathSegment] io -# 31| getIdentifier(): [NameRef] io -# 31| getSegment(): [PathSegment] _print -# 31| getIdentifier(): [NameRef] _print +# 31| getTailExpr(): [BlockExpr] { ... } +# 31| getStmtList(): [StmtList] StmtList +# 31| getStatement(0): [ExprStmt] ExprStmt +# 31| getExpr(): [CallExpr] ...::_print(...) +# 31| getArgList(): [ArgList] ArgList +# 31| getArg(0): [MacroExpr] MacroExpr +# 31| getMacroCall(): [MacroCall] ...::format_args_nl!... +# 31| getPath(): [Path] ...::format_args_nl +# 31| getQualifier(): [Path] $crate +# 31| getSegment(): [PathSegment] $crate +# 31| getIdentifier(): [NameRef] $crate +# 31| getSegment(): [PathSegment] format_args_nl +# 31| getIdentifier(): [NameRef] format_args_nl +# 31| getTokenTree(): [TokenTree] TokenTree +# 31| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr +# 31| getTemplate(): [StringLiteralExpr] "hello!\n" +# 31| getFunction(): [PathExpr] ...::_print +# 31| getPath(): [Path] ...::_print +# 31| getQualifier(): [Path] ...::io +# 31| getQualifier(): [Path] $crate +# 31| getSegment(): [PathSegment] $crate +# 31| getIdentifier(): [NameRef] $crate +# 31| getSegment(): [PathSegment] io +# 31| getIdentifier(): [NameRef] io +# 31| getSegment(): [PathSegment] _print +# 31| getIdentifier(): [NameRef] _print # 32| getName(): [Name] bzz_0 # 32| getVisibility(): [Visibility] pub # 32| getItem(1): [Function] fn bzz_1 @@ -404,41 +406,43 @@ macro_expansion.rs: # 33| getSegment(): [PathSegment] hello # 33| getIdentifier(): [NameRef] hello # 33| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 31| getStatement(0): [ExprStmt] ExprStmt -# 31| getExpr(): [MacroExpr] MacroExpr -# 31| getMacroCall(): [MacroCall] println!... -# 31| getPath(): [Path] println -# 31| getSegment(): [PathSegment] println -# 31| getIdentifier(): [NameRef] println -# 31| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 31| getTailExpr(): [BlockExpr] { ... } +# 31| getMacroCallExpansion(): [BlockExpr] { ... } +# 33| getStmtList(): [StmtList] StmtList +# 31| getStatement(0): [ExprStmt] ExprStmt +# 31| getExpr(): [MacroExpr] MacroExpr +# 31| getMacroCall(): [MacroCall] println!... +# 31| getPath(): [Path] println +# 31| getSegment(): [PathSegment] println +# 31| getIdentifier(): [NameRef] println +# 31| getTokenTree(): [TokenTree] TokenTree +# 31| getMacroCallExpansion(): [BlockExpr] { ... } # 31| getStmtList(): [StmtList] StmtList -# 31| getStatement(0): [ExprStmt] ExprStmt -# 31| getExpr(): [CallExpr] ...::_print(...) -# 31| getArgList(): [ArgList] ArgList -# 31| getArg(0): [MacroExpr] MacroExpr -# 31| getMacroCall(): [MacroCall] ...::format_args_nl!... -# 31| getPath(): [Path] ...::format_args_nl -# 31| getQualifier(): [Path] $crate -# 31| getSegment(): [PathSegment] $crate -# 31| getIdentifier(): [NameRef] $crate -# 31| getSegment(): [PathSegment] format_args_nl -# 31| getIdentifier(): [NameRef] format_args_nl -# 31| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr -# 31| getTemplate(): [StringLiteralExpr] "hello!\n" -# 31| getFunction(): [PathExpr] ...::_print -# 31| getPath(): [Path] ...::_print -# 31| getQualifier(): [Path] ...::io -# 31| getQualifier(): [Path] $crate -# 31| getSegment(): [PathSegment] $crate -# 31| getIdentifier(): [NameRef] $crate -# 31| getSegment(): [PathSegment] io -# 31| getIdentifier(): [NameRef] io -# 31| getSegment(): [PathSegment] _print -# 31| getIdentifier(): [NameRef] _print +# 31| getTailExpr(): [BlockExpr] { ... } +# 31| getStmtList(): [StmtList] StmtList +# 31| getStatement(0): [ExprStmt] ExprStmt +# 31| getExpr(): [CallExpr] ...::_print(...) +# 31| getArgList(): [ArgList] ArgList +# 31| getArg(0): [MacroExpr] MacroExpr +# 31| getMacroCall(): [MacroCall] ...::format_args_nl!... +# 31| getPath(): [Path] ...::format_args_nl +# 31| getQualifier(): [Path] $crate +# 31| getSegment(): [PathSegment] $crate +# 31| getIdentifier(): [NameRef] $crate +# 31| getSegment(): [PathSegment] format_args_nl +# 31| getIdentifier(): [NameRef] format_args_nl +# 31| getTokenTree(): [TokenTree] TokenTree +# 31| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr +# 31| getTemplate(): [StringLiteralExpr] "hello!\n" +# 31| getFunction(): [PathExpr] ...::_print +# 31| getPath(): [Path] ...::_print +# 31| getQualifier(): [Path] ...::io +# 31| getQualifier(): [Path] $crate +# 31| getSegment(): [PathSegment] $crate +# 31| getIdentifier(): [NameRef] $crate +# 31| getSegment(): [PathSegment] io +# 31| getIdentifier(): [NameRef] io +# 31| getSegment(): [PathSegment] _print +# 31| getIdentifier(): [NameRef] _print # 32| getName(): [Name] bzz_1 # 32| getVisibility(): [Visibility] pub # 32| getItem(2): [Function] fn bzz_2 @@ -452,41 +456,43 @@ macro_expansion.rs: # 33| getSegment(): [PathSegment] hello # 33| getIdentifier(): [NameRef] hello # 33| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 31| getStatement(0): [ExprStmt] ExprStmt -# 31| getExpr(): [MacroExpr] MacroExpr -# 31| getMacroCall(): [MacroCall] println!... -# 31| getPath(): [Path] println -# 31| getSegment(): [PathSegment] println -# 31| getIdentifier(): [NameRef] println -# 31| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 31| getTailExpr(): [BlockExpr] { ... } +# 31| getMacroCallExpansion(): [BlockExpr] { ... } +# 33| getStmtList(): [StmtList] StmtList +# 31| getStatement(0): [ExprStmt] ExprStmt +# 31| getExpr(): [MacroExpr] MacroExpr +# 31| getMacroCall(): [MacroCall] println!... +# 31| getPath(): [Path] println +# 31| getSegment(): [PathSegment] println +# 31| getIdentifier(): [NameRef] println +# 31| getTokenTree(): [TokenTree] TokenTree +# 31| getMacroCallExpansion(): [BlockExpr] { ... } # 31| getStmtList(): [StmtList] StmtList -# 31| getStatement(0): [ExprStmt] ExprStmt -# 31| getExpr(): [CallExpr] ...::_print(...) -# 31| getArgList(): [ArgList] ArgList -# 31| getArg(0): [MacroExpr] MacroExpr -# 31| getMacroCall(): [MacroCall] ...::format_args_nl!... -# 31| getPath(): [Path] ...::format_args_nl -# 31| getQualifier(): [Path] $crate -# 31| getSegment(): [PathSegment] $crate -# 31| getIdentifier(): [NameRef] $crate -# 31| getSegment(): [PathSegment] format_args_nl -# 31| getIdentifier(): [NameRef] format_args_nl -# 31| getTokenTree(): [TokenTree] TokenTree -# 31| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr -# 31| getTemplate(): [StringLiteralExpr] "hello!\n" -# 31| getFunction(): [PathExpr] ...::_print -# 31| getPath(): [Path] ...::_print -# 31| getQualifier(): [Path] ...::io -# 31| getQualifier(): [Path] $crate -# 31| getSegment(): [PathSegment] $crate -# 31| getIdentifier(): [NameRef] $crate -# 31| getSegment(): [PathSegment] io -# 31| getIdentifier(): [NameRef] io -# 31| getSegment(): [PathSegment] _print -# 31| getIdentifier(): [NameRef] _print +# 31| getTailExpr(): [BlockExpr] { ... } +# 31| getStmtList(): [StmtList] StmtList +# 31| getStatement(0): [ExprStmt] ExprStmt +# 31| getExpr(): [CallExpr] ...::_print(...) +# 31| getArgList(): [ArgList] ArgList +# 31| getArg(0): [MacroExpr] MacroExpr +# 31| getMacroCall(): [MacroCall] ...::format_args_nl!... +# 31| getPath(): [Path] ...::format_args_nl +# 31| getQualifier(): [Path] $crate +# 31| getSegment(): [PathSegment] $crate +# 31| getIdentifier(): [NameRef] $crate +# 31| getSegment(): [PathSegment] format_args_nl +# 31| getIdentifier(): [NameRef] format_args_nl +# 31| getTokenTree(): [TokenTree] TokenTree +# 31| getMacroCallExpansion(): [FormatArgsExpr] FormatArgsExpr +# 31| getTemplate(): [StringLiteralExpr] "hello!\n" +# 31| getFunction(): [PathExpr] ...::_print +# 31| getPath(): [Path] ...::_print +# 31| getQualifier(): [Path] ...::io +# 31| getQualifier(): [Path] $crate +# 31| getSegment(): [PathSegment] $crate +# 31| getIdentifier(): [NameRef] $crate +# 31| getSegment(): [PathSegment] io +# 31| getIdentifier(): [NameRef] io +# 31| getSegment(): [PathSegment] _print +# 31| getIdentifier(): [NameRef] _print # 32| getName(): [Name] bzz_2 # 32| getVisibility(): [Visibility] pub # 31| getAttr(0): [Attr] Attr @@ -1428,243 +1434,94 @@ proc_macro.rs: # 15| getSegment(): [PathSegment] quote_each_token # 15| getIdentifier(): [NameRef] quote_each_token # 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... -# 15| getPath(): [Path] ...::quote_tokens_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_tokens_with_context -# 15| getIdentifier(): [NameRef] quote_tokens_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(0): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(1): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(2): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(3): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getTailExpr(): [BlockExpr] { ... } -# 16| getStmtList(): [StmtList] StmtList -# 15| getStatement(0): [Use] use ...::ext::* -# 15| getUseTree(): [UseTree] ...::ext::* -# 15| getPath(): [Path] ...::ext -# 15| getQualifier(): [Path] ...::__private -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] __private -# 15| getIdentifier(): [NameRef] __private -# 15| getSegment(): [PathSegment] ext -# 15| getIdentifier(): [NameRef] ext -# 15| getStatement(1): [LetStmt] let ... = ...::ThereIsNoIteratorInRepetition -# 15| getInitializer(): [PathExpr] ...::ThereIsNoIteratorInRepetition -# 15| getPath(): [Path] ...::ThereIsNoIteratorInRepetition -# 15| getQualifier(): [Path] ...::__private -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] __private -# 15| getIdentifier(): [NameRef] __private -# 15| getSegment(): [PathSegment] ThereIsNoIteratorInRepetition -# 15| getIdentifier(): [NameRef] ThereIsNoIteratorInRepetition -# 15| getPat(): [IdentPat] has_iter -# 15| getName(): [Name] has_iter -# 16| getStatement(2): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_names!... -# 15| getPath(): [Path] ...::pounded_var_names -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_names -# 15| getIdentifier(): [NameRef] pounded_var_names -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... -# 15| getPath(): [Path] ...::pounded_var_names_with_context +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... +# 15| getPath(): [Path] ...::quote_tokens_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_tokens_with_context +# 15| getIdentifier(): [NameRef] quote_tokens_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(1): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(2): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(3): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getTailExpr(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 15| getStatement(0): [Use] use ...::ext::* +# 15| getUseTree(): [UseTree] ...::ext::* +# 15| getPath(): [Path] ...::ext +# 15| getQualifier(): [Path] ...::__private # 15| getQualifier(): [Path] $crate # 15| getSegment(): [PathSegment] $crate # 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_names_with_context -# 15| getIdentifier(): [NameRef] pounded_var_names_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getStatement(0): [ExprStmt] ExprStmt -# 15| getExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getTailExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_names!... -# 15| getPath(): [Path] ...::pounded_var_names -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_names -# 15| getIdentifier(): [NameRef] pounded_var_names -# 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getTailExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... -# 15| getPath(): [Path] ...::pounded_var_names_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_names_with_context -# 15| getIdentifier(): [NameRef] pounded_var_names_with_context -# 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getTailExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(1): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(2): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(0): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_bind_into_iter!... -# 15| getPath(): [Path] ...::quote_bind_into_iter -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_bind_into_iter -# 15| getIdentifier(): [NameRef] quote_bind_into_iter -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(0): [LetStmt] let ... = ... -# 15| getAttr(0): [Attr] Attr -# 15| getMeta(): [Meta] Meta -# 15| getPath(): [Path] allow -# 15| getSegment(): [PathSegment] allow -# 15| getIdentifier(): [NameRef] allow -# 15| getTokenTree(): [TokenTree] TokenTree -# 16| getInitializer(): [MethodCallExpr] items.quote_into_iter() -# 15| getArgList(): [ArgList] ArgList -# 15| getIdentifier(): [NameRef] quote_into_iter -# 16| getReceiver(): [VariableAccess] items -# 16| getPath(): [Path] items -# 16| getSegment(): [PathSegment] items -# 16| getIdentifier(): [NameRef] items -# 16| getPat(): [TuplePat] TuplePat -# 16| getField(0): [IdentPat] mut items -# 16| getName(): [Name] items -# 15| getField(1): [IdentPat] i -# 15| getName(): [Name] i -# 15| getStatement(1): [LetStmt] let ... = ... -# 15| getInitializer(): [BinaryExpr] ... | ... -# 15| getLhs(): [VariableAccess] has_iter -# 15| getPath(): [Path] has_iter -# 15| getSegment(): [PathSegment] has_iter -# 15| getIdentifier(): [NameRef] has_iter -# 15| getRhs(): [VariableAccess] i -# 15| getPath(): [Path] i -# 15| getSegment(): [PathSegment] i -# 15| getIdentifier(): [NameRef] i -# 15| getPat(): [IdentPat] has_iter -# 15| getName(): [Name] has_iter -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getStatement(3): [LetStmt] let _ = has_iter -# 15| getInitializer(): [VariableAccess] has_iter -# 15| getPath(): [Path] has_iter -# 15| getSegment(): [PathSegment] has_iter -# 15| getIdentifier(): [NameRef] has_iter -# 15| getPat(): [WildcardPat] _ -# 15| getTypeRepr(): [PathTypeRepr] ...::HasIterator -# 15| getPath(): [Path] ...::HasIterator -# 15| getQualifier(): [Path] ...::__private -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] __private -# 15| getIdentifier(): [NameRef] __private -# 15| getSegment(): [PathSegment] HasIterator -# 15| getIdentifier(): [NameRef] HasIterator -# 16| getTailExpr(): [WhileExpr] while true { ... } -# 16| getLoopBody(): [BlockExpr] { ... } -# 16| getStmtList(): [StmtList] StmtList -# 16| getStatement(0): [ExprStmt] ExprStmt +# 15| getSegment(): [PathSegment] __private +# 15| getIdentifier(): [NameRef] __private +# 15| getSegment(): [PathSegment] ext +# 15| getIdentifier(): [NameRef] ext +# 15| getStatement(1): [LetStmt] let ... = ...::ThereIsNoIteratorInRepetition +# 15| getInitializer(): [PathExpr] ...::ThereIsNoIteratorInRepetition +# 15| getPath(): [Path] ...::ThereIsNoIteratorInRepetition +# 15| getQualifier(): [Path] ...::__private +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] __private +# 15| getIdentifier(): [NameRef] __private +# 15| getSegment(): [PathSegment] ThereIsNoIteratorInRepetition +# 15| getIdentifier(): [NameRef] ThereIsNoIteratorInRepetition +# 15| getPat(): [IdentPat] has_iter +# 15| getName(): [Name] has_iter +# 16| getStatement(2): [ExprStmt] ExprStmt # 16| getExpr(): [MacroExpr] MacroExpr # 16| getMacroCall(): [MacroCall] ...::pounded_var_names!... # 15| getPath(): [Path] ...::pounded_var_names @@ -1674,325 +1531,515 @@ proc_macro.rs: # 15| getSegment(): [PathSegment] pounded_var_names # 15| getIdentifier(): [NameRef] pounded_var_names # 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... -# 15| getPath(): [Path] ...::pounded_var_names_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_names_with_context -# 15| getIdentifier(): [NameRef] pounded_var_names_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getStatement(0): [ExprStmt] ExprStmt -# 15| getExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getTailExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_names!... -# 15| getPath(): [Path] ...::pounded_var_names -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_names -# 15| getIdentifier(): [NameRef] pounded_var_names -# 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... +# 15| getPath(): [Path] ...::pounded_var_names_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_names_with_context +# 15| getIdentifier(): [NameRef] pounded_var_names_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 15| getStatement(0): [ExprStmt] ExprStmt +# 15| getExpr(): [MacroExpr] MacroExpr +# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 15| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList # 15| getTailExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... -# 15| getPath(): [Path] ...::pounded_var_names_with_context +# 15| getMacroCall(): [MacroCall] ...::pounded_var_names!... +# 15| getPath(): [Path] ...::pounded_var_names # 15| getQualifier(): [Path] $crate # 15| getSegment(): [PathSegment] $crate # 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_names_with_context -# 15| getIdentifier(): [NameRef] pounded_var_names_with_context +# 15| getSegment(): [PathSegment] pounded_var_names +# 15| getIdentifier(): [NameRef] pounded_var_names # 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList +# 15| getTailExpr(): [MacroExpr] MacroExpr +# 15| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... +# 15| getPath(): [Path] ...::pounded_var_names_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_names_with_context +# 15| getIdentifier(): [NameRef] pounded_var_names_with_context +# 15| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList +# 15| getTailExpr(): [MacroExpr] MacroExpr +# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 15| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList +# 16| getStatement(1): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(2): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_bind_into_iter!... +# 15| getPath(): [Path] ...::quote_bind_into_iter +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_bind_into_iter +# 15| getIdentifier(): [NameRef] quote_bind_into_iter +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [LetStmt] let ... = ... +# 15| getAttr(0): [Attr] Attr +# 15| getMeta(): [Meta] Meta +# 15| getPath(): [Path] allow +# 15| getSegment(): [PathSegment] allow +# 15| getIdentifier(): [NameRef] allow +# 15| getTokenTree(): [TokenTree] TokenTree +# 16| getInitializer(): [MethodCallExpr] items.quote_into_iter() +# 15| getArgList(): [ArgList] ArgList +# 15| getIdentifier(): [NameRef] quote_into_iter +# 16| getReceiver(): [VariableAccess] items +# 16| getPath(): [Path] items +# 16| getSegment(): [PathSegment] items +# 16| getIdentifier(): [NameRef] items +# 16| getPat(): [TuplePat] TuplePat +# 16| getField(0): [IdentPat] mut items +# 16| getName(): [Name] items +# 15| getField(1): [IdentPat] i +# 15| getName(): [Name] i +# 15| getStatement(1): [LetStmt] let ... = ... +# 15| getInitializer(): [BinaryExpr] ... | ... +# 15| getLhs(): [VariableAccess] has_iter +# 15| getPath(): [Path] has_iter +# 15| getSegment(): [PathSegment] has_iter +# 15| getIdentifier(): [NameRef] has_iter +# 15| getRhs(): [VariableAccess] i +# 15| getPath(): [Path] i +# 15| getSegment(): [PathSegment] i +# 15| getIdentifier(): [NameRef] i +# 15| getPat(): [IdentPat] has_iter +# 15| getName(): [Name] has_iter +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 15| getStatement(3): [LetStmt] let _ = has_iter +# 15| getInitializer(): [VariableAccess] has_iter +# 15| getPath(): [Path] has_iter +# 15| getSegment(): [PathSegment] has_iter +# 15| getIdentifier(): [NameRef] has_iter +# 15| getPat(): [WildcardPat] _ +# 15| getTypeRepr(): [PathTypeRepr] ...::HasIterator +# 15| getPath(): [Path] ...::HasIterator +# 15| getQualifier(): [Path] ...::__private +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] __private +# 15| getIdentifier(): [NameRef] __private +# 15| getSegment(): [PathSegment] HasIterator +# 15| getIdentifier(): [NameRef] HasIterator +# 16| getTailExpr(): [WhileExpr] while true { ... } +# 16| getLoopBody(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_names!... +# 15| getPath(): [Path] ...::pounded_var_names +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_names +# 15| getIdentifier(): [NameRef] pounded_var_names +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... +# 15| getPath(): [Path] ...::pounded_var_names_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_names_with_context +# 15| getIdentifier(): [NameRef] pounded_var_names_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 15| getStatement(0): [ExprStmt] ExprStmt +# 15| getExpr(): [MacroExpr] MacroExpr +# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 15| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList # 15| getTailExpr(): [MacroExpr] MacroExpr -# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getMacroCall(): [MacroCall] ...::pounded_var_names!... +# 15| getPath(): [Path] ...::pounded_var_names # 15| getQualifier(): [Path] $crate # 15| getSegment(): [PathSegment] $crate # 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 15| getSegment(): [PathSegment] pounded_var_names +# 15| getIdentifier(): [NameRef] pounded_var_names # 15| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(1): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(2): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(0): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_bind_next_or_break!... -# 15| getPath(): [Path] ...::quote_bind_next_or_break +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList +# 15| getTailExpr(): [MacroExpr] MacroExpr +# 15| getMacroCall(): [MacroCall] ...::pounded_var_names_with_context!... +# 15| getPath(): [Path] ...::pounded_var_names_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_names_with_context +# 15| getIdentifier(): [NameRef] pounded_var_names_with_context +# 15| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList +# 15| getTailExpr(): [MacroExpr] MacroExpr +# 15| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 15| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 15| getStmtList(): [StmtList] StmtList +# 16| getStatement(1): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(2): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_bind_next_or_break!... +# 15| getPath(): [Path] ...::quote_bind_next_or_break +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_bind_next_or_break +# 15| getIdentifier(): [NameRef] quote_bind_next_or_break +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [LetStmt] let ... = ... +# 16| getInitializer(): [MatchExpr] match ... { ... } +# 16| getScrutinee(): [MethodCallExpr] items.next() +# 15| getArgList(): [ArgList] ArgList +# 15| getIdentifier(): [NameRef] next +# 16| getReceiver(): [VariableAccess] items +# 16| getPath(): [Path] items +# 16| getSegment(): [PathSegment] items +# 16| getIdentifier(): [NameRef] items +# 15| getMatchArmList(): [MatchArmList] MatchArmList +# 15| getArm(0): [MatchArm] ... => ... +# 15| getExpr(): [TupleStructExpr] ...::RepInterp(...) +# 15| getArgList(): [ArgList] ArgList +# 15| getArg(0): [VariableAccess] _x +# 15| getPath(): [Path] _x +# 15| getSegment(): [PathSegment] _x +# 15| getIdentifier(): [NameRef] _x +# 15| getFunction(): [PathExpr] ...::RepInterp +# 15| getPath(): [Path] ...::RepInterp +# 15| getQualifier(): [Path] ...::__private +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] __private +# 15| getIdentifier(): [NameRef] __private +# 15| getSegment(): [PathSegment] RepInterp +# 15| getIdentifier(): [NameRef] RepInterp +# 15| getPat(): [TupleStructPat] Some(...) +# 15| getPath(): [Path] Some +# 15| getSegment(): [PathSegment] Some +# 15| getIdentifier(): [NameRef] Some +# 15| getField(0): [IdentPat] _x +# 15| getName(): [Name] _x +# 15| getArm(1): [MatchArm] ... => ... +# 15| getExpr(): [BreakExpr] break +# 15| getPat(): [IdentPat] None +# 15| getName(): [Name] None +# 16| getPat(): [IdentPat] items +# 16| getName(): [Name] items +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... +# 15| getPath(): [Path] ...::pounded_var_with_context # 15| getQualifier(): [Path] $crate # 15| getSegment(): [PathSegment] $crate # 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_bind_next_or_break -# 15| getIdentifier(): [NameRef] quote_bind_next_or_break +# 15| getSegment(): [PathSegment] pounded_var_with_context +# 15| getIdentifier(): [NameRef] pounded_var_with_context # 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(0): [LetStmt] let ... = ... -# 16| getInitializer(): [MatchExpr] match ... { ... } -# 16| getScrutinee(): [MethodCallExpr] items.next() -# 15| getArgList(): [ArgList] ArgList -# 15| getIdentifier(): [NameRef] next -# 16| getReceiver(): [VariableAccess] items -# 16| getPath(): [Path] items -# 16| getSegment(): [PathSegment] items -# 16| getIdentifier(): [NameRef] items -# 15| getMatchArmList(): [MatchArmList] MatchArmList -# 15| getArm(0): [MatchArm] ... => ... -# 15| getExpr(): [TupleStructExpr] ...::RepInterp(...) -# 15| getArgList(): [ArgList] ArgList -# 15| getArg(0): [VariableAccess] _x -# 15| getPath(): [Path] _x -# 15| getSegment(): [PathSegment] _x -# 15| getIdentifier(): [NameRef] _x -# 15| getFunction(): [PathExpr] ...::RepInterp -# 15| getPath(): [Path] ...::RepInterp -# 15| getQualifier(): [Path] ...::__private -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] __private -# 15| getIdentifier(): [NameRef] __private -# 15| getSegment(): [PathSegment] RepInterp -# 15| getIdentifier(): [NameRef] RepInterp -# 15| getPat(): [TupleStructPat] Some(...) -# 15| getPath(): [Path] Some -# 15| getSegment(): [PathSegment] Some -# 15| getIdentifier(): [NameRef] Some -# 15| getField(0): [IdentPat] _x -# 15| getName(): [Name] _x -# 15| getArm(1): [MatchArm] ... => ... -# 15| getExpr(): [BreakExpr] break -# 15| getPat(): [IdentPat] None -# 15| getName(): [Name] None -# 16| getPat(): [IdentPat] items -# 16| getName(): [Name] items -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::pounded_var_with_context!... -# 15| getPath(): [Path] ...::pounded_var_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] pounded_var_with_context -# 15| getIdentifier(): [NameRef] pounded_var_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_each_token!... -# 15| getPath(): [Path] ...::quote_each_token -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_each_token -# 15| getIdentifier(): [NameRef] quote_each_token -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList # 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... -# 15| getPath(): [Path] ...::quote_tokens_with_context +# 16| getMacroCall(): [MacroCall] ...::quote_each_token!... +# 15| getPath(): [Path] ...::quote_each_token # 15| getQualifier(): [Path] $crate # 15| getSegment(): [PathSegment] $crate # 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_tokens_with_context -# 15| getIdentifier(): [NameRef] quote_tokens_with_context +# 15| getSegment(): [PathSegment] quote_each_token +# 15| getIdentifier(): [NameRef] quote_each_token # 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(0): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... +# 15| getPath(): [Path] ...::quote_tokens_with_context # 15| getQualifier(): [Path] $crate # 15| getSegment(): [PathSegment] $crate # 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context +# 15| getSegment(): [PathSegment] quote_tokens_with_context +# 15| getIdentifier(): [NameRef] quote_tokens_with_context # 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(1): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(2): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(3): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 16| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(0): [ExprStmt] ExprStmt -# 16| getExpr(): [CallExpr] ...::to_tokens(...) -# 16| getArgList(): [ArgList] ArgList -# 16| getArg(0): [RefExpr] &items -# 16| getExpr(): [VariableAccess] items -# 16| getPath(): [Path] items -# 16| getSegment(): [PathSegment] items -# 16| getIdentifier(): [NameRef] items -# 15| getArg(1): [RefExpr] &mut _s -# 15| getExpr(): [VariableAccess] _s -# 15| getPath(): [Path] _s -# 15| getSegment(): [PathSegment] _s -# 15| getIdentifier(): [NameRef] _s -# 15| getFunction(): [PathExpr] ...::to_tokens -# 15| getPath(): [Path] ...::to_tokens -# 15| getQualifier(): [Path] ...::ToTokens +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context # 15| getQualifier(): [Path] $crate # 15| getSegment(): [PathSegment] $crate # 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] ToTokens -# 15| getIdentifier(): [NameRef] ToTokens -# 15| getSegment(): [PathSegment] to_tokens -# 15| getIdentifier(): [NameRef] to_tokens -# 16| getStatement(4): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(5): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(6): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 15| getCondition(): [BooleanLiteralExpr] true -# 16| getStatement(4): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(5): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(6): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getStatement(7): [ExprStmt] ExprStmt -# 16| getExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 16| getTailExpr(): [MacroExpr] MacroExpr -# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 15| getPath(): [Path] ...::quote_token_with_context -# 15| getQualifier(): [Path] $crate -# 15| getSegment(): [PathSegment] $crate -# 15| getIdentifier(): [NameRef] $crate -# 15| getSegment(): [PathSegment] quote_token_with_context -# 15| getIdentifier(): [NameRef] quote_token_with_context -# 16| getTokenTree(): [TokenTree] TokenTree -# 15| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(1): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(2): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(3): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 16| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(0): [ExprStmt] ExprStmt +# 16| getExpr(): [CallExpr] ...::to_tokens(...) +# 16| getArgList(): [ArgList] ArgList +# 16| getArg(0): [RefExpr] &items +# 16| getExpr(): [VariableAccess] items +# 16| getPath(): [Path] items +# 16| getSegment(): [PathSegment] items +# 16| getIdentifier(): [NameRef] items +# 15| getArg(1): [RefExpr] &mut _s +# 15| getExpr(): [VariableAccess] _s +# 15| getPath(): [Path] _s +# 15| getSegment(): [PathSegment] _s +# 15| getIdentifier(): [NameRef] _s +# 15| getFunction(): [PathExpr] ...::to_tokens +# 15| getPath(): [Path] ...::to_tokens +# 15| getQualifier(): [Path] ...::ToTokens +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] ToTokens +# 15| getIdentifier(): [NameRef] ToTokens +# 15| getSegment(): [PathSegment] to_tokens +# 15| getIdentifier(): [NameRef] to_tokens +# 16| getStatement(4): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(5): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(6): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 15| getCondition(): [BooleanLiteralExpr] true +# 16| getStatement(4): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(5): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(6): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getStatement(7): [ExprStmt] ExprStmt +# 16| getExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList +# 16| getTailExpr(): [MacroExpr] MacroExpr +# 16| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 15| getPath(): [Path] ...::quote_token_with_context +# 15| getQualifier(): [Path] $crate +# 15| getSegment(): [PathSegment] $crate +# 15| getIdentifier(): [NameRef] $crate +# 15| getSegment(): [PathSegment] quote_token_with_context +# 15| getIdentifier(): [NameRef] quote_token_with_context +# 16| getTokenTree(): [TokenTree] TokenTree +# 15| getMacroCallExpansion(): [BlockExpr] { ... } +# 16| getStmtList(): [StmtList] StmtList # 15| getTailExpr(): [VariableAccess] _s # 15| getPath(): [Path] _s # 15| getSegment(): [PathSegment] _s @@ -2258,172 +2305,184 @@ proc_macro.rs: # 25| getSegment(): [PathSegment] quote_each_token # 25| getIdentifier(): [NameRef] quote_each_token # 26| getTokenTree(): [TokenTree] TokenTree -# 26| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getTailExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... -# 25| getPath(): [Path] ...::quote_tokens_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_tokens_with_context -# 25| getIdentifier(): [NameRef] quote_tokens_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 26| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getStatement(0): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getStatement(1): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getStatement(2): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getStatement(3): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 26| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getStatement(0): [ExprStmt] ExprStmt -# 26| getExpr(): [CallExpr] ...::to_tokens(...) -# 26| getArgList(): [ArgList] ArgList -# 26| getArg(0): [RefExpr] &ast -# 26| getExpr(): [VariableAccess] ast -# 26| getPath(): [Path] ast -# 26| getSegment(): [PathSegment] ast -# 26| getIdentifier(): [NameRef] ast -# 25| getArg(1): [RefExpr] &mut _s -# 25| getExpr(): [VariableAccess] _s -# 25| getPath(): [Path] _s -# 25| getSegment(): [PathSegment] _s -# 25| getIdentifier(): [NameRef] _s -# 25| getFunction(): [PathExpr] ...::to_tokens -# 25| getPath(): [Path] ...::to_tokens -# 25| getQualifier(): [Path] ...::ToTokens -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] ToTokens -# 25| getIdentifier(): [NameRef] ToTokens -# 25| getSegment(): [PathSegment] to_tokens -# 25| getIdentifier(): [NameRef] to_tokens -# 26| getStatement(4): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getStatement(5): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 27| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 27| getStatement(0): [ExprStmt] ExprStmt -# 27| getExpr(): [CallExpr] ...::to_tokens(...) -# 27| getArgList(): [ArgList] ArgList -# 27| getArg(0): [RefExpr] &new_ast -# 27| getExpr(): [VariableAccess] new_ast -# 27| getPath(): [Path] new_ast -# 27| getSegment(): [PathSegment] new_ast -# 27| getIdentifier(): [NameRef] new_ast -# 25| getArg(1): [RefExpr] &mut _s -# 25| getExpr(): [VariableAccess] _s -# 25| getPath(): [Path] _s -# 25| getSegment(): [PathSegment] _s -# 25| getIdentifier(): [NameRef] _s -# 25| getFunction(): [PathExpr] ...::to_tokens -# 25| getPath(): [Path] ...::to_tokens -# 25| getQualifier(): [Path] ...::ToTokens -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] ToTokens -# 25| getIdentifier(): [NameRef] ToTokens -# 25| getSegment(): [PathSegment] to_tokens -# 25| getIdentifier(): [NameRef] to_tokens -# 26| getStatement(6): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 26| getStatement(7): [ExprStmt] ExprStmt -# 26| getExpr(): [MacroExpr] MacroExpr -# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 26| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 27| getStatement(8): [ExprStmt] ExprStmt -# 27| getExpr(): [MacroExpr] MacroExpr -# 27| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 27| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 27| getTailExpr(): [MacroExpr] MacroExpr -# 27| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 25| getPath(): [Path] ...::quote_token_with_context -# 25| getQualifier(): [Path] $crate -# 25| getSegment(): [PathSegment] $crate -# 25| getIdentifier(): [NameRef] $crate -# 25| getSegment(): [PathSegment] quote_token_with_context -# 25| getIdentifier(): [NameRef] quote_token_with_context -# 27| getTokenTree(): [TokenTree] TokenTree -# 25| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 26| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getTailExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... +# 25| getPath(): [Path] ...::quote_tokens_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_tokens_with_context +# 25| getIdentifier(): [NameRef] quote_tokens_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 26| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getStatement(0): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getStatement(1): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getStatement(2): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getStatement(3): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 26| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getStatement(0): [ExprStmt] ExprStmt +# 26| getExpr(): [CallExpr] ...::to_tokens(...) +# 26| getArgList(): [ArgList] ArgList +# 26| getArg(0): [RefExpr] &ast +# 26| getExpr(): [VariableAccess] ast +# 26| getPath(): [Path] ast +# 26| getSegment(): [PathSegment] ast +# 26| getIdentifier(): [NameRef] ast +# 25| getArg(1): [RefExpr] &mut _s +# 25| getExpr(): [VariableAccess] _s +# 25| getPath(): [Path] _s +# 25| getSegment(): [PathSegment] _s +# 25| getIdentifier(): [NameRef] _s +# 25| getFunction(): [PathExpr] ...::to_tokens +# 25| getPath(): [Path] ...::to_tokens +# 25| getQualifier(): [Path] ...::ToTokens +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] ToTokens +# 25| getIdentifier(): [NameRef] ToTokens +# 25| getSegment(): [PathSegment] to_tokens +# 25| getIdentifier(): [NameRef] to_tokens +# 26| getStatement(4): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getStatement(5): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 27| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 27| getStatement(0): [ExprStmt] ExprStmt +# 27| getExpr(): [CallExpr] ...::to_tokens(...) +# 27| getArgList(): [ArgList] ArgList +# 27| getArg(0): [RefExpr] &new_ast +# 27| getExpr(): [VariableAccess] new_ast +# 27| getPath(): [Path] new_ast +# 27| getSegment(): [PathSegment] new_ast +# 27| getIdentifier(): [NameRef] new_ast +# 25| getArg(1): [RefExpr] &mut _s +# 25| getExpr(): [VariableAccess] _s +# 25| getPath(): [Path] _s +# 25| getSegment(): [PathSegment] _s +# 25| getIdentifier(): [NameRef] _s +# 25| getFunction(): [PathExpr] ...::to_tokens +# 25| getPath(): [Path] ...::to_tokens +# 25| getQualifier(): [Path] ...::ToTokens +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] ToTokens +# 25| getIdentifier(): [NameRef] ToTokens +# 25| getSegment(): [PathSegment] to_tokens +# 25| getIdentifier(): [NameRef] to_tokens +# 26| getStatement(6): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 26| getStatement(7): [ExprStmt] ExprStmt +# 26| getExpr(): [MacroExpr] MacroExpr +# 26| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 26| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 26| getStmtList(): [StmtList] StmtList +# 27| getStatement(8): [ExprStmt] ExprStmt +# 27| getExpr(): [MacroExpr] MacroExpr +# 27| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 27| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 27| getStmtList(): [StmtList] StmtList +# 27| getTailExpr(): [MacroExpr] MacroExpr +# 27| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 25| getPath(): [Path] ...::quote_token_with_context +# 25| getQualifier(): [Path] $crate +# 25| getSegment(): [PathSegment] $crate +# 25| getIdentifier(): [NameRef] $crate +# 25| getSegment(): [PathSegment] quote_token_with_context +# 25| getIdentifier(): [NameRef] quote_token_with_context +# 27| getTokenTree(): [TokenTree] TokenTree +# 25| getMacroCallExpansion(): [BlockExpr] { ... } +# 27| getStmtList(): [StmtList] StmtList # 25| getTailExpr(): [VariableAccess] _s # 25| getPath(): [Path] _s # 25| getSegment(): [PathSegment] _s @@ -2707,1097 +2766,1149 @@ proc_macro.rs: # 41| getSegment(): [PathSegment] quote_each_token # 41| getIdentifier(): [NameRef] quote_each_token # 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getTailExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... -# 41| getPath(): [Path] ...::quote_tokens_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_tokens_with_context -# 41| getIdentifier(): [NameRef] quote_tokens_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(0): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(1): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(2): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(3): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getTailExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getTailExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... +# 41| getPath(): [Path] ...::quote_tokens_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_tokens_with_context +# 41| getIdentifier(): [NameRef] quote_tokens_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(0): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(1): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(2): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(3): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getTailExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(0): [ExprStmt] ExprStmt +# 42| getExpr(): [CallExpr] ...::push_ident(...) +# 42| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 42| getArg(1): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "const" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 42| getStatement(4): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList # 42| getStatement(0): [ExprStmt] ExprStmt -# 42| getExpr(): [CallExpr] ...::push_ident(...) +# 42| getExpr(): [CallExpr] ...::to_tokens(...) # 42| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s +# 42| getArg(0): [RefExpr] &const_ident +# 42| getExpr(): [VariableAccess] const_ident +# 42| getPath(): [Path] const_ident +# 42| getSegment(): [PathSegment] const_ident +# 42| getIdentifier(): [NameRef] const_ident +# 41| getArg(1): [RefExpr] &mut _s # 41| getExpr(): [VariableAccess] _s # 41| getPath(): [Path] _s # 41| getSegment(): [PathSegment] _s # 41| getIdentifier(): [NameRef] _s -# 42| getArg(1): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "const" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private +# 41| getFunction(): [PathExpr] ...::to_tokens +# 41| getPath(): [Path] ...::to_tokens +# 41| getQualifier(): [Path] ...::ToTokens # 41| getQualifier(): [Path] $crate # 41| getSegment(): [PathSegment] $crate # 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 42| getStatement(4): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(0): [ExprStmt] ExprStmt -# 42| getExpr(): [CallExpr] ...::to_tokens(...) -# 42| getArgList(): [ArgList] ArgList -# 42| getArg(0): [RefExpr] &const_ident -# 42| getExpr(): [VariableAccess] const_ident -# 42| getPath(): [Path] const_ident -# 42| getSegment(): [PathSegment] const_ident -# 42| getIdentifier(): [NameRef] const_ident -# 41| getArg(1): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::to_tokens -# 41| getPath(): [Path] ...::to_tokens -# 41| getQualifier(): [Path] ...::ToTokens -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] ToTokens -# 41| getIdentifier(): [NameRef] ToTokens -# 41| getSegment(): [PathSegment] to_tokens -# 41| getIdentifier(): [NameRef] to_tokens -# 42| getStatement(5): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(6): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getTailExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 41| getStatement(0): [ExprStmt] ExprStmt -# 41| getExpr(): [CallExpr] ...::push_colon(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::push_colon -# 41| getPath(): [Path] ...::push_colon -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_colon -# 41| getIdentifier(): [NameRef] push_colon -# 42| getStatement(7): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getTailExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(0): [ExprStmt] ExprStmt -# 42| getExpr(): [CallExpr] ...::push_ident(...) -# 42| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 42| getArg(1): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "u32" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 42| getStatement(8): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getTailExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 41| getStatement(0): [ExprStmt] ExprStmt -# 41| getExpr(): [CallExpr] ...::push_eq(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::push_eq -# 41| getPath(): [Path] ...::push_eq -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_eq -# 41| getIdentifier(): [NameRef] push_eq -# 42| getStatement(9): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getTailExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getStatement(0): [ExprStmt] ExprStmt -# 42| getExpr(): [CallExpr] ...::parse(...) -# 42| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 42| getArg(1): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "42" -# 41| getFunction(): [PathExpr] ...::parse -# 41| getPath(): [Path] ...::parse -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] parse -# 41| getIdentifier(): [NameRef] parse -# 42| getStatement(10): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 42| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 42| getTailExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 42| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 41| getStatement(0): [ExprStmt] ExprStmt -# 41| getExpr(): [CallExpr] ...::push_semi(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::push_semi -# 41| getPath(): [Path] ...::push_semi -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_semi -# 41| getIdentifier(): [NameRef] push_semi -# 42| getStatement(11): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getTailExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 44| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 41| getSegment(): [PathSegment] ToTokens +# 41| getIdentifier(): [NameRef] ToTokens +# 41| getSegment(): [PathSegment] to_tokens +# 41| getIdentifier(): [NameRef] to_tokens +# 42| getStatement(5): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(6): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getTailExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 41| getStatement(0): [ExprStmt] ExprStmt +# 41| getExpr(): [CallExpr] ...::push_colon(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getFunction(): [PathExpr] ...::push_colon +# 41| getPath(): [Path] ...::push_colon +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_colon +# 41| getIdentifier(): [NameRef] push_colon +# 42| getStatement(7): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getTailExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(0): [ExprStmt] ExprStmt +# 42| getExpr(): [CallExpr] ...::push_ident(...) +# 42| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 42| getArg(1): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "u32" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 42| getStatement(8): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getTailExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 41| getStatement(0): [ExprStmt] ExprStmt +# 41| getExpr(): [CallExpr] ...::push_eq(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getFunction(): [PathExpr] ...::push_eq +# 41| getPath(): [Path] ...::push_eq +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_eq +# 41| getIdentifier(): [NameRef] push_eq +# 42| getStatement(9): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getTailExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getStatement(0): [ExprStmt] ExprStmt +# 42| getExpr(): [CallExpr] ...::parse(...) +# 42| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 42| getArg(1): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "42" +# 41| getFunction(): [PathExpr] ...::parse +# 41| getPath(): [Path] ...::parse +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] parse +# 41| getIdentifier(): [NameRef] parse +# 42| getStatement(10): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 42| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 42| getTailExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 42| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 41| getStatement(0): [ExprStmt] ExprStmt +# 41| getExpr(): [CallExpr] ...::push_semi(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getFunction(): [PathExpr] ...::push_semi +# 41| getPath(): [Path] ...::push_semi +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_semi +# 41| getIdentifier(): [NameRef] push_semi +# 42| getStatement(11): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 44| getTailExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 44| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 44| getStatement(0): [ExprStmt] ExprStmt +# 44| getExpr(): [CallExpr] ...::push_ident(...) +# 44| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 44| getArg(1): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 44| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "impl" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 42| getStatement(12): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 44| getTailExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 44| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 44| getStatement(0): [ExprStmt] ExprStmt +# 44| getExpr(): [CallExpr] ...::push_ident(...) +# 44| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 44| getArg(1): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 44| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "MyTrait" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 42| getStatement(13): [ExprStmt] ExprStmt +# 42| getExpr(): [MacroExpr] MacroExpr +# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 42| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 42| getStmtList(): [StmtList] StmtList +# 44| getTailExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 44| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 44| getStatement(0): [ExprStmt] ExprStmt +# 44| getExpr(): [CallExpr] ...::push_ident(...) +# 44| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 44| getArg(1): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 44| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "for" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 44| getStatement(14): [ExprStmt] ExprStmt +# 44| getExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 44| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList # 44| getStatement(0): [ExprStmt] ExprStmt -# 44| getExpr(): [CallExpr] ...::push_ident(...) +# 44| getExpr(): [CallExpr] ...::to_tokens(...) # 44| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s +# 44| getArg(0): [RefExpr] &name +# 44| getExpr(): [VariableAccess] name +# 44| getPath(): [Path] name +# 44| getSegment(): [PathSegment] name +# 44| getIdentifier(): [NameRef] name +# 41| getArg(1): [RefExpr] &mut _s # 41| getExpr(): [VariableAccess] _s # 41| getPath(): [Path] _s # 41| getSegment(): [PathSegment] _s # 41| getIdentifier(): [NameRef] _s -# 44| getArg(1): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 44| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "impl" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private +# 41| getFunction(): [PathExpr] ...::to_tokens +# 41| getPath(): [Path] ...::to_tokens +# 41| getQualifier(): [Path] ...::ToTokens # 41| getQualifier(): [Path] $crate # 41| getSegment(): [PathSegment] $crate # 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 42| getStatement(12): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getTailExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 44| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getStatement(0): [ExprStmt] ExprStmt -# 44| getExpr(): [CallExpr] ...::push_ident(...) -# 44| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 44| getArg(1): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 44| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "MyTrait" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 42| getStatement(13): [ExprStmt] ExprStmt -# 42| getExpr(): [MacroExpr] MacroExpr -# 42| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 42| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getTailExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 44| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getStatement(0): [ExprStmt] ExprStmt -# 44| getExpr(): [CallExpr] ...::push_ident(...) -# 44| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 44| getArg(1): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 44| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "for" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 44| getStatement(14): [ExprStmt] ExprStmt -# 44| getExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 44| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getStatement(0): [ExprStmt] ExprStmt -# 44| getExpr(): [CallExpr] ...::to_tokens(...) -# 44| getArgList(): [ArgList] ArgList -# 44| getArg(0): [RefExpr] &name -# 44| getExpr(): [VariableAccess] name -# 44| getPath(): [Path] name -# 44| getSegment(): [PathSegment] name -# 44| getIdentifier(): [NameRef] name -# 41| getArg(1): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::to_tokens -# 41| getPath(): [Path] ...::to_tokens -# 41| getQualifier(): [Path] ...::ToTokens -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] ToTokens -# 41| getIdentifier(): [NameRef] ToTokens -# 41| getSegment(): [PathSegment] to_tokens -# 41| getIdentifier(): [NameRef] to_tokens -# 44| getStatement(15): [ExprStmt] ExprStmt -# 44| getExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 44| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getStatement(16): [ExprStmt] ExprStmt -# 44| getExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 44| getTokenTree(): [TokenTree] TokenTree -# 44| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getTailExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 44| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(0): [ExprStmt] ExprStmt -# 45| getExpr(): [CallExpr] ...::push_group(...) -# 45| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getArg(1): [PathExpr] ...::Brace -# 41| getPath(): [Path] ...::Brace -# 41| getQualifier(): [Path] ...::Delimiter -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] Delimiter -# 41| getIdentifier(): [NameRef] Delimiter -# 41| getSegment(): [PathSegment] Brace -# 41| getIdentifier(): [NameRef] Brace -# 45| getArg(2): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote!... -# 41| getPath(): [Path] ...::quote -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote -# 41| getIdentifier(): [NameRef] quote -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [BlockExpr] { ... } -# 45| getStmtList(): [StmtList] StmtList -# 41| getStatement(0): [LetStmt] let ... = ... -# 41| getInitializer(): [CallExpr] ...::new(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getFunction(): [PathExpr] ...::new -# 41| getPath(): [Path] ...::new -# 41| getQualifier(): [Path] ...::TokenStream -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] TokenStream -# 41| getIdentifier(): [NameRef] TokenStream -# 41| getSegment(): [PathSegment] new -# 41| getIdentifier(): [NameRef] new -# 41| getPat(): [IdentPat] mut _s -# 41| getName(): [Name] _s -# 45| getStatement(1): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_each_token!... -# 41| getPath(): [Path] ...::quote_each_token +# 41| getSegment(): [PathSegment] ToTokens +# 41| getIdentifier(): [NameRef] ToTokens +# 41| getSegment(): [PathSegment] to_tokens +# 41| getIdentifier(): [NameRef] to_tokens +# 44| getStatement(15): [ExprStmt] ExprStmt +# 44| getExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 44| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 44| getStatement(16): [ExprStmt] ExprStmt +# 44| getExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 44| getTokenTree(): [TokenTree] TokenTree +# 44| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 44| getTailExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 44| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 45| getStatement(0): [ExprStmt] ExprStmt +# 45| getExpr(): [CallExpr] ...::push_group(...) +# 45| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getArg(1): [PathExpr] ...::Brace +# 41| getPath(): [Path] ...::Brace +# 41| getQualifier(): [Path] ...::Delimiter +# 41| getQualifier(): [Path] ...::__private # 41| getQualifier(): [Path] $crate # 41| getSegment(): [PathSegment] $crate # 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_each_token -# 41| getIdentifier(): [NameRef] quote_each_token -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... -# 41| getPath(): [Path] ...::quote_tokens_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_tokens_with_context -# 41| getIdentifier(): [NameRef] quote_tokens_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(0): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(1): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(2): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(3): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(0): [ExprStmt] ExprStmt -# 45| getExpr(): [CallExpr] ...::push_ident(...) -# 45| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 45| getArg(1): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "fn" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 45| getStatement(4): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(0): [ExprStmt] ExprStmt -# 45| getExpr(): [CallExpr] ...::push_ident(...) -# 45| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 45| getArg(1): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "my_method" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 45| getStatement(5): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 41| getStatement(0): [ExprStmt] ExprStmt -# 41| getExpr(): [CallExpr] ...::push_group(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getArg(1): [PathExpr] ...::Parenthesis -# 41| getPath(): [Path] ...::Parenthesis -# 41| getQualifier(): [Path] ...::Delimiter -# 41| getQualifier(): [Path] ...::__private +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] Delimiter +# 41| getIdentifier(): [NameRef] Delimiter +# 41| getSegment(): [PathSegment] Brace +# 41| getIdentifier(): [NameRef] Brace +# 45| getArg(2): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote!... +# 41| getPath(): [Path] ...::quote +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote +# 41| getIdentifier(): [NameRef] quote +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 41| getStatement(0): [LetStmt] let ... = ... +# 41| getInitializer(): [CallExpr] ...::new(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getFunction(): [PathExpr] ...::new +# 41| getPath(): [Path] ...::new +# 41| getQualifier(): [Path] ...::TokenStream +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] TokenStream +# 41| getIdentifier(): [NameRef] TokenStream +# 41| getSegment(): [PathSegment] new +# 41| getIdentifier(): [NameRef] new +# 41| getPat(): [IdentPat] mut _s +# 41| getName(): [Name] _s +# 45| getStatement(1): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_each_token!... +# 41| getPath(): [Path] ...::quote_each_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_each_token +# 41| getIdentifier(): [NameRef] quote_each_token +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_tokens_with_context!... +# 41| getPath(): [Path] ...::quote_tokens_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_tokens_with_context +# 41| getIdentifier(): [NameRef] quote_tokens_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(0): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(1): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(2): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(3): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token # 41| getQualifier(): [Path] $crate # 41| getSegment(): [PathSegment] $crate # 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] Delimiter -# 41| getIdentifier(): [NameRef] Delimiter -# 41| getSegment(): [PathSegment] Parenthesis -# 41| getIdentifier(): [NameRef] Parenthesis -# 41| getArg(2): [MacroExpr] MacroExpr -# 41| getMacroCall(): [MacroCall] ...::quote!... -# 41| getPath(): [Path] ...::quote -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote -# 41| getIdentifier(): [NameRef] quote -# 41| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [CallExpr] ...::new(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getFunction(): [PathExpr] ...::new -# 41| getPath(): [Path] ...::new -# 41| getQualifier(): [Path] ...::TokenStream -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] TokenStream -# 41| getIdentifier(): [NameRef] TokenStream -# 41| getSegment(): [PathSegment] new -# 41| getIdentifier(): [NameRef] new -# 41| getFunction(): [PathExpr] ...::push_group -# 41| getPath(): [Path] ...::push_group -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_group -# 41| getIdentifier(): [NameRef] push_group -# 45| getStatement(6): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 41| getStatement(0): [ExprStmt] ExprStmt -# 41| getExpr(): [CallExpr] ...::push_rarrow(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::push_rarrow -# 41| getPath(): [Path] ...::push_rarrow -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_rarrow -# 41| getIdentifier(): [NameRef] push_rarrow -# 45| getStatement(7): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(0): [ExprStmt] ExprStmt -# 45| getExpr(): [CallExpr] ...::push_ident(...) -# 45| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 45| getArg(1): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] stringify!... -# 41| getPath(): [Path] stringify -# 41| getSegment(): [PathSegment] stringify -# 41| getIdentifier(): [NameRef] stringify -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [StringLiteralExpr] "u32" -# 41| getFunction(): [PathExpr] ...::push_ident -# 41| getPath(): [Path] ...::push_ident -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_ident -# 41| getIdentifier(): [NameRef] push_ident -# 45| getStatement(8): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 45| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token!... -# 41| getPath(): [Path] ...::quote_token -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token -# 41| getIdentifier(): [NameRef] quote_token -# 45| getTokenTree(): [TokenTree] TokenTree -# 46| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 46| getStatement(0): [ExprStmt] ExprStmt -# 46| getExpr(): [CallExpr] ...::push_group(...) -# 46| getArgList(): [ArgList] ArgList -# 41| getArg(0): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getArg(1): [PathExpr] ...::Brace -# 41| getPath(): [Path] ...::Brace -# 41| getQualifier(): [Path] ...::Delimiter -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] Delimiter -# 41| getIdentifier(): [NameRef] Delimiter -# 41| getSegment(): [PathSegment] Brace -# 41| getIdentifier(): [NameRef] Brace -# 46| getArg(2): [MacroExpr] MacroExpr -# 46| getMacroCall(): [MacroCall] ...::quote!... -# 41| getPath(): [Path] ...::quote -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote -# 41| getIdentifier(): [NameRef] quote -# 46| getTokenTree(): [TokenTree] TokenTree -# 46| getMacroCallExpansion(): [BlockExpr] { ... } -# 46| getStmtList(): [StmtList] StmtList -# 41| getStatement(0): [LetStmt] let ... = ... -# 41| getInitializer(): [CallExpr] ...::new(...) -# 41| getArgList(): [ArgList] ArgList -# 41| getFunction(): [PathExpr] ...::new -# 41| getPath(): [Path] ...::new -# 41| getQualifier(): [Path] ...::TokenStream +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(0): [ExprStmt] ExprStmt +# 45| getExpr(): [CallExpr] ...::push_ident(...) +# 45| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 45| getArg(1): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "fn" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident # 41| getQualifier(): [Path] ...::__private # 41| getQualifier(): [Path] $crate # 41| getSegment(): [PathSegment] $crate # 41| getIdentifier(): [NameRef] $crate # 41| getSegment(): [PathSegment] __private # 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] TokenStream -# 41| getIdentifier(): [NameRef] TokenStream -# 41| getSegment(): [PathSegment] new -# 41| getIdentifier(): [NameRef] new -# 41| getPat(): [IdentPat] mut _s -# 41| getName(): [Name] _s -# 46| getStatement(1): [ExprStmt] ExprStmt -# 46| getExpr(): [CallExpr] ...::to_tokens(...) -# 46| getArgList(): [ArgList] ArgList -# 46| getArg(0): [RefExpr] &const_ident -# 46| getExpr(): [VariableAccess] const_ident -# 46| getPath(): [Path] const_ident -# 46| getSegment(): [PathSegment] const_ident -# 46| getIdentifier(): [NameRef] const_ident -# 41| getArg(1): [RefExpr] &mut _s -# 41| getExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::to_tokens -# 41| getPath(): [Path] ...::to_tokens -# 41| getQualifier(): [Path] ...::ToTokens -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] ToTokens -# 41| getIdentifier(): [NameRef] ToTokens -# 41| getSegment(): [PathSegment] to_tokens -# 41| getIdentifier(): [NameRef] to_tokens -# 41| getTailExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::push_group -# 41| getPath(): [Path] ...::push_group -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_group -# 41| getIdentifier(): [NameRef] push_group -# 45| getStatement(9): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getStatement(10): [ExprStmt] ExprStmt -# 45| getExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 45| getTailExpr(): [MacroExpr] MacroExpr -# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 45| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 41| getTailExpr(): [VariableAccess] _s -# 41| getPath(): [Path] _s -# 41| getSegment(): [PathSegment] _s -# 41| getIdentifier(): [NameRef] _s -# 41| getFunction(): [PathExpr] ...::push_group -# 41| getPath(): [Path] ...::push_group -# 41| getQualifier(): [Path] ...::__private -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] __private -# 41| getIdentifier(): [NameRef] __private -# 41| getSegment(): [PathSegment] push_group -# 41| getIdentifier(): [NameRef] push_group -# 44| getStatement(17): [ExprStmt] ExprStmt -# 44| getExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 44| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getStatement(18): [ExprStmt] ExprStmt -# 44| getExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 44| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr -# 44| getTailExpr(): [MacroExpr] MacroExpr -# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... -# 41| getPath(): [Path] ...::quote_token_with_context -# 41| getQualifier(): [Path] $crate -# 41| getSegment(): [PathSegment] $crate -# 41| getIdentifier(): [NameRef] $crate -# 41| getSegment(): [PathSegment] quote_token_with_context -# 41| getIdentifier(): [NameRef] quote_token_with_context -# 44| getTokenTree(): [TokenTree] TokenTree -# 41| getMacroCallExpansion(): [MacroBlockExpr] MacroBlockExpr +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 45| getStatement(4): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(0): [ExprStmt] ExprStmt +# 45| getExpr(): [CallExpr] ...::push_ident(...) +# 45| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 45| getArg(1): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "my_method" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 45| getStatement(5): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 41| getStatement(0): [ExprStmt] ExprStmt +# 41| getExpr(): [CallExpr] ...::push_group(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getArg(1): [PathExpr] ...::Parenthesis +# 41| getPath(): [Path] ...::Parenthesis +# 41| getQualifier(): [Path] ...::Delimiter +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] Delimiter +# 41| getIdentifier(): [NameRef] Delimiter +# 41| getSegment(): [PathSegment] Parenthesis +# 41| getIdentifier(): [NameRef] Parenthesis +# 41| getArg(2): [MacroExpr] MacroExpr +# 41| getMacroCall(): [MacroCall] ...::quote!... +# 41| getPath(): [Path] ...::quote +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote +# 41| getIdentifier(): [NameRef] quote +# 41| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [CallExpr] ...::new(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getFunction(): [PathExpr] ...::new +# 41| getPath(): [Path] ...::new +# 41| getQualifier(): [Path] ...::TokenStream +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] TokenStream +# 41| getIdentifier(): [NameRef] TokenStream +# 41| getSegment(): [PathSegment] new +# 41| getIdentifier(): [NameRef] new +# 41| getFunction(): [PathExpr] ...::push_group +# 41| getPath(): [Path] ...::push_group +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_group +# 41| getIdentifier(): [NameRef] push_group +# 45| getStatement(6): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 41| getStatement(0): [ExprStmt] ExprStmt +# 41| getExpr(): [CallExpr] ...::push_rarrow(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getFunction(): [PathExpr] ...::push_rarrow +# 41| getPath(): [Path] ...::push_rarrow +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_rarrow +# 41| getIdentifier(): [NameRef] push_rarrow +# 45| getStatement(7): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(0): [ExprStmt] ExprStmt +# 45| getExpr(): [CallExpr] ...::push_ident(...) +# 45| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 45| getArg(1): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] stringify!... +# 41| getPath(): [Path] stringify +# 41| getSegment(): [PathSegment] stringify +# 41| getIdentifier(): [NameRef] stringify +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [StringLiteralExpr] "u32" +# 41| getFunction(): [PathExpr] ...::push_ident +# 41| getPath(): [Path] ...::push_ident +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_ident +# 41| getIdentifier(): [NameRef] push_ident +# 45| getStatement(8): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 45| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token!... +# 41| getPath(): [Path] ...::quote_token +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token +# 41| getIdentifier(): [NameRef] quote_token +# 45| getTokenTree(): [TokenTree] TokenTree +# 46| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 46| getStatement(0): [ExprStmt] ExprStmt +# 46| getExpr(): [CallExpr] ...::push_group(...) +# 46| getArgList(): [ArgList] ArgList +# 41| getArg(0): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getArg(1): [PathExpr] ...::Brace +# 41| getPath(): [Path] ...::Brace +# 41| getQualifier(): [Path] ...::Delimiter +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] Delimiter +# 41| getIdentifier(): [NameRef] Delimiter +# 41| getSegment(): [PathSegment] Brace +# 41| getIdentifier(): [NameRef] Brace +# 46| getArg(2): [MacroExpr] MacroExpr +# 46| getMacroCall(): [MacroCall] ...::quote!... +# 41| getPath(): [Path] ...::quote +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote +# 41| getIdentifier(): [NameRef] quote +# 46| getTokenTree(): [TokenTree] TokenTree +# 46| getMacroCallExpansion(): [BlockExpr] { ... } +# 46| getStmtList(): [StmtList] StmtList +# 41| getStatement(0): [LetStmt] let ... = ... +# 41| getInitializer(): [CallExpr] ...::new(...) +# 41| getArgList(): [ArgList] ArgList +# 41| getFunction(): [PathExpr] ...::new +# 41| getPath(): [Path] ...::new +# 41| getQualifier(): [Path] ...::TokenStream +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] TokenStream +# 41| getIdentifier(): [NameRef] TokenStream +# 41| getSegment(): [PathSegment] new +# 41| getIdentifier(): [NameRef] new +# 41| getPat(): [IdentPat] mut _s +# 41| getName(): [Name] _s +# 46| getStatement(1): [ExprStmt] ExprStmt +# 46| getExpr(): [CallExpr] ...::to_tokens(...) +# 46| getArgList(): [ArgList] ArgList +# 46| getArg(0): [RefExpr] &const_ident +# 46| getExpr(): [VariableAccess] const_ident +# 46| getPath(): [Path] const_ident +# 46| getSegment(): [PathSegment] const_ident +# 46| getIdentifier(): [NameRef] const_ident +# 41| getArg(1): [RefExpr] &mut _s +# 41| getExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getFunction(): [PathExpr] ...::to_tokens +# 41| getPath(): [Path] ...::to_tokens +# 41| getQualifier(): [Path] ...::ToTokens +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] ToTokens +# 41| getIdentifier(): [NameRef] ToTokens +# 41| getSegment(): [PathSegment] to_tokens +# 41| getIdentifier(): [NameRef] to_tokens +# 41| getTailExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getFunction(): [PathExpr] ...::push_group +# 41| getPath(): [Path] ...::push_group +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_group +# 41| getIdentifier(): [NameRef] push_group +# 45| getStatement(9): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getStatement(10): [ExprStmt] ExprStmt +# 45| getExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 45| getTailExpr(): [MacroExpr] MacroExpr +# 45| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 45| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 45| getStmtList(): [StmtList] StmtList +# 41| getTailExpr(): [VariableAccess] _s +# 41| getPath(): [Path] _s +# 41| getSegment(): [PathSegment] _s +# 41| getIdentifier(): [NameRef] _s +# 41| getFunction(): [PathExpr] ...::push_group +# 41| getPath(): [Path] ...::push_group +# 41| getQualifier(): [Path] ...::__private +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] __private +# 41| getIdentifier(): [NameRef] __private +# 41| getSegment(): [PathSegment] push_group +# 41| getIdentifier(): [NameRef] push_group +# 44| getStatement(17): [ExprStmt] ExprStmt +# 44| getExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 44| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 44| getStatement(18): [ExprStmt] ExprStmt +# 44| getExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 44| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList +# 44| getTailExpr(): [MacroExpr] MacroExpr +# 44| getMacroCall(): [MacroCall] ...::quote_token_with_context!... +# 41| getPath(): [Path] ...::quote_token_with_context +# 41| getQualifier(): [Path] $crate +# 41| getSegment(): [PathSegment] $crate +# 41| getIdentifier(): [NameRef] $crate +# 41| getSegment(): [PathSegment] quote_token_with_context +# 41| getIdentifier(): [NameRef] quote_token_with_context +# 44| getTokenTree(): [TokenTree] TokenTree +# 41| getMacroCallExpansion(): [BlockExpr] { ... } +# 44| getStmtList(): [StmtList] StmtList # 41| getTailExpr(): [VariableAccess] _s # 41| getPath(): [Path] _s # 41| getSegment(): [PathSegment] _s diff --git a/rust/ql/test/extractor-tests/macro-expansion/test.expected b/rust/ql/test/extractor-tests/macro-expansion/test.expected index 5abff30113b..f47a7455e91 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/test.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/test.expected @@ -26,12 +26,12 @@ macro_calls | macro_expansion.rs:31:5:31:16 | ...::format_args_nl!... | macro_expansion.rs:31:5:31:16 | FormatArgsExpr | | macro_expansion.rs:31:5:31:16 | ...::format_args_nl!... | macro_expansion.rs:31:5:31:16 | FormatArgsExpr | | macro_expansion.rs:31:5:31:16 | ...::format_args_nl!... | macro_expansion.rs:31:5:31:16 | FormatArgsExpr | -| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | MacroBlockExpr | -| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | MacroBlockExpr | -| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | MacroBlockExpr | -| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | MacroBlockExpr | -| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | MacroBlockExpr | -| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | MacroBlockExpr | +| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | { ... } | +| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | { ... } | +| macro_expansion.rs:31:5:31:16 | println!... | macro_expansion.rs:31:5:31:16 | { ... } | +| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | { ... } | +| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | { ... } | +| macro_expansion.rs:33:9:33:16 | hello!... | macro_expansion.rs:31:5:31:16 | { ... } | | macro_expansion.rs:44:5:44:13 | def_x!... | macro_expansion.rs:44:5:44:10 | MacroItems | | macro_expansion.rs:53:9:53:25 | concat!... | macro_expansion.rs:53:17:53:24 | "xy" | | macro_expansion.rs:55:9:58:5 | my_macro!... | macro_expansion.rs:56:9:57:13 | MacroExpr | diff --git a/rust/ql/test/library-tests/controlflow/Cfg.expected b/rust/ql/test/library-tests/controlflow/Cfg.expected index d8b2972ca52..ef97a3b628f 100644 --- a/rust/ql/test/library-tests/controlflow/Cfg.expected +++ b/rust/ql/test/library-tests/controlflow/Cfg.expected @@ -400,9 +400,9 @@ edges | test.rs:171:26:171:28 | ...::format_args_nl!... | test.rs:171:26:171:28 | MacroExpr | | | test.rs:171:26:171:28 | ExprStmt | test.rs:171:17:171:24 | ...::_print | | | test.rs:171:26:171:28 | FormatArgsExpr | test.rs:171:26:171:28 | ...::format_args_nl!... | | -| test.rs:171:26:171:28 | MacroBlockExpr | test.rs:171:17:171:29 | println!... | | | test.rs:171:26:171:28 | MacroExpr | test.rs:171:26:171:28 | ...::_print(...) | | -| test.rs:171:26:171:28 | { ... } | test.rs:171:26:171:28 | MacroBlockExpr | | +| test.rs:171:26:171:28 | { ... } | test.rs:171:17:171:29 | println!... | | +| test.rs:171:26:171:28 | { ... } | test.rs:171:26:171:28 | { ... } | | | test.rs:172:20:174:13 | { ... } | test.rs:170:13:174:13 | if cond2 {...} else {...} | | | test.rs:173:17:173:24 | ...::_print | test.rs:173:26:173:28 | "2\\n" | | | test.rs:173:17:173:29 | MacroExpr | test.rs:172:20:174:13 | { ... } | | @@ -413,9 +413,9 @@ edges | test.rs:173:26:173:28 | ...::format_args_nl!... | test.rs:173:26:173:28 | MacroExpr | | | test.rs:173:26:173:28 | ExprStmt | test.rs:173:17:173:24 | ...::_print | | | test.rs:173:26:173:28 | FormatArgsExpr | test.rs:173:26:173:28 | ...::format_args_nl!... | | -| test.rs:173:26:173:28 | MacroBlockExpr | test.rs:173:17:173:29 | println!... | | | test.rs:173:26:173:28 | MacroExpr | test.rs:173:26:173:28 | ...::_print(...) | | -| test.rs:173:26:173:28 | { ... } | test.rs:173:26:173:28 | MacroBlockExpr | | +| test.rs:173:26:173:28 | { ... } | test.rs:173:17:173:29 | println!... | | +| test.rs:173:26:173:28 | { ... } | test.rs:173:26:173:28 | { ... } | | | test.rs:175:13:175:20 | ...::_print | test.rs:175:22:175:24 | "3\\n" | | | test.rs:175:13:175:25 | MacroExpr | test.rs:169:18:176:9 | { ... } | | | test.rs:175:13:175:25 | println!... | test.rs:175:13:175:25 | MacroExpr | | @@ -425,9 +425,9 @@ edges | test.rs:175:22:175:24 | ...::format_args_nl!... | test.rs:175:22:175:24 | MacroExpr | | | test.rs:175:22:175:24 | ExprStmt | test.rs:175:13:175:20 | ...::_print | | | test.rs:175:22:175:24 | FormatArgsExpr | test.rs:175:22:175:24 | ...::format_args_nl!... | | -| test.rs:175:22:175:24 | MacroBlockExpr | test.rs:175:13:175:25 | println!... | | | test.rs:175:22:175:24 | MacroExpr | test.rs:175:22:175:24 | ...::_print(...) | | -| test.rs:175:22:175:24 | { ... } | test.rs:175:22:175:24 | MacroBlockExpr | | +| test.rs:175:22:175:24 | { ... } | test.rs:175:13:175:25 | println!... | | +| test.rs:175:22:175:24 | { ... } | test.rs:175:22:175:24 | { ... } | | | test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:179:29:179:29 | a | | | test.rs:179:5:188:5 | exit fn test_nested_if_match (normal) | test.rs:179:5:188:5 | exit fn test_nested_if_match | | | test.rs:179:29:179:29 | a | test.rs:179:29:179:29 | a | | @@ -905,11 +905,11 @@ edges | test.rs:363:39:363:53 | ...::panic_fmt(...) | test.rs:363:39:363:53 | { ... } | | | test.rs:363:39:363:53 | ExprStmt | test.rs:363:32:363:37 | ...::panic_fmt | | | test.rs:363:39:363:53 | FormatArgsExpr | test.rs:363:39:363:53 | ...::const_format_args!... | | -| test.rs:363:39:363:53 | MacroBlockExpr | test.rs:363:32:363:54 | panic!... | | -| test.rs:363:39:363:53 | MacroBlockExpr | test.rs:363:39:363:53 | ...::panic_2021!... | | | test.rs:363:39:363:53 | MacroExpr | test.rs:363:39:363:53 | ...::panic_fmt(...) | | -| test.rs:363:39:363:53 | MacroExpr | test.rs:363:39:363:53 | MacroBlockExpr | | -| test.rs:363:39:363:53 | { ... } | test.rs:363:39:363:53 | MacroBlockExpr | | +| test.rs:363:39:363:53 | MacroExpr | test.rs:363:39:363:53 | { ... } | | +| test.rs:363:39:363:53 | { ... } | test.rs:363:32:363:54 | panic!... | | +| test.rs:363:39:363:53 | { ... } | test.rs:363:39:363:53 | ...::panic_2021!... | | +| test.rs:363:39:363:53 | { ... } | test.rs:363:39:363:53 | { ... } | | | test.rs:364:9:364:9 | n | test.rs:362:46:365:5 | { ... } | | | test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:29:367:29 | m | | | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | exit fn test_let_with_return | | @@ -1190,9 +1190,9 @@ edges | test.rs:495:18:495:32 | ...::format_args_nl!... | test.rs:495:18:495:32 | MacroExpr | | | test.rs:495:18:495:32 | ExprStmt | test.rs:495:9:495:16 | ...::_print | | | test.rs:495:18:495:32 | FormatArgsExpr | test.rs:495:18:495:32 | ...::format_args_nl!... | | -| test.rs:495:18:495:32 | MacroBlockExpr | test.rs:495:9:495:33 | println!... | | | test.rs:495:18:495:32 | MacroExpr | test.rs:495:18:495:32 | ...::_print(...) | | -| test.rs:495:18:495:32 | { ... } | test.rs:495:18:495:32 | MacroBlockExpr | | +| test.rs:495:18:495:32 | { ... } | test.rs:495:9:495:33 | println!... | | +| test.rs:495:18:495:32 | { ... } | test.rs:495:18:495:32 | { ... } | | | test.rs:498:5:517:5 | enter fn async_block | test.rs:498:26:498:26 | b | | | test.rs:498:5:517:5 | exit fn async_block (normal) | test.rs:498:5:517:5 | exit fn async_block | | | test.rs:498:26:498:26 | b | test.rs:498:26:498:26 | b | | @@ -1214,9 +1214,9 @@ edges | test.rs:500:22:500:40 | ...::format_args_nl!... | test.rs:500:22:500:40 | MacroExpr | | | test.rs:500:22:500:40 | ExprStmt | test.rs:500:13:500:20 | ...::_print | | | test.rs:500:22:500:40 | FormatArgsExpr | test.rs:500:22:500:40 | ...::format_args_nl!... | | -| test.rs:500:22:500:40 | MacroBlockExpr | test.rs:500:13:500:41 | println!... | | | test.rs:500:22:500:40 | MacroExpr | test.rs:500:22:500:40 | ...::_print(...) | | -| test.rs:500:22:500:40 | { ... } | test.rs:500:22:500:40 | MacroBlockExpr | | +| test.rs:500:22:500:40 | { ... } | test.rs:500:13:500:41 | println!... | | +| test.rs:500:22:500:40 | { ... } | test.rs:500:22:500:40 | { ... } | | | test.rs:502:9:504:10 | let ... = ... | test.rs:502:31:504:9 | { ... } | | | test.rs:502:13:502:27 | say_how_are_you | test.rs:502:13:502:27 | say_how_are_you | | | test.rs:502:13:502:27 | say_how_are_you | test.rs:505:9:505:28 | let ... = ... | match | @@ -1232,9 +1232,9 @@ edges | test.rs:503:22:503:35 | ...::format_args_nl!... | test.rs:503:22:503:35 | MacroExpr | | | test.rs:503:22:503:35 | ExprStmt | test.rs:503:13:503:20 | ...::_print | | | test.rs:503:22:503:35 | FormatArgsExpr | test.rs:503:22:503:35 | ...::format_args_nl!... | | -| test.rs:503:22:503:35 | MacroBlockExpr | test.rs:503:13:503:36 | println!... | | | test.rs:503:22:503:35 | MacroExpr | test.rs:503:22:503:35 | ...::_print(...) | | -| test.rs:503:22:503:35 | { ... } | test.rs:503:22:503:35 | MacroBlockExpr | | +| test.rs:503:22:503:35 | { ... } | test.rs:503:13:503:36 | println!... | | +| test.rs:503:22:503:35 | { ... } | test.rs:503:22:503:35 | { ... } | | | test.rs:505:9:505:28 | let ... = ... | test.rs:505:20:505:27 | { ... } | | | test.rs:505:13:505:16 | noop | test.rs:505:13:505:16 | noop | | | test.rs:505:13:505:16 | noop | test.rs:506:9:506:26 | ExprStmt | match | @@ -1293,15 +1293,15 @@ edges | test.rs:533:13:533:19 | ...::panic_explicit(...) | test.rs:533:13:533:19 | { ... } | | | test.rs:533:13:533:19 | ExprStmt | test.rs:533:13:533:19 | fn panic_cold_explicit | | | test.rs:533:13:533:19 | ExprStmt | test.rs:533:13:533:19 | panic_cold_explicit | | -| test.rs:533:13:533:19 | MacroBlockExpr | test.rs:533:13:533:19 | ...::panic_2021!... | | | test.rs:533:13:533:19 | MacroExpr | test.rs:533:13:533:19 | { ... } | | | test.rs:533:13:533:19 | enter fn panic_cold_explicit | test.rs:533:13:533:19 | ...::panic_explicit | | | test.rs:533:13:533:19 | exit fn panic_cold_explicit (normal) | test.rs:533:13:533:19 | exit fn panic_cold_explicit | | | test.rs:533:13:533:19 | fn panic_cold_explicit | test.rs:533:13:533:19 | ExprStmt | | | test.rs:533:13:533:19 | panic_cold_explicit | test.rs:533:13:533:19 | panic_cold_explicit(...) | | | test.rs:533:13:533:19 | panic_cold_explicit(...) | test.rs:533:13:533:19 | { ... } | | -| test.rs:533:13:533:19 | { ... } | test.rs:533:13:533:19 | MacroBlockExpr | | +| test.rs:533:13:533:19 | { ... } | test.rs:533:13:533:19 | ...::panic_2021!... | | | test.rs:533:13:533:19 | { ... } | test.rs:533:13:533:19 | exit fn panic_cold_explicit (normal) | | +| test.rs:533:13:533:19 | { ... } | test.rs:533:13:533:19 | { ... } | | | test.rs:533:13:533:19 | { ... } | test.rs:533:21:533:48 | if ... {...} | | | test.rs:533:13:533:49 | MacroExpr | test.rs:532:9:534:9 | { ... } | | | test.rs:533:13:533:49 | assert!... | test.rs:533:13:533:49 | MacroExpr | | @@ -1310,11 +1310,11 @@ edges | test.rs:533:21:533:44 | ...::size_of::<...>(...) | test.rs:533:48:533:48 | 0 | | | test.rs:533:21:533:48 | ... > ... | test.rs:533:21:533:48 | [boolean(false)] ! ... | true | | test.rs:533:21:533:48 | ... > ... | test.rs:533:21:533:48 | [boolean(true)] ! ... | false | -| test.rs:533:21:533:48 | MacroBlockExpr | test.rs:533:13:533:49 | assert!... | | | test.rs:533:21:533:48 | [boolean(false)] ! ... | test.rs:533:21:533:48 | if ... {...} | false | | test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:13:533:19 | ExprStmt | true | | test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | { ... } | | -| test.rs:533:21:533:48 | { ... } | test.rs:533:21:533:48 | MacroBlockExpr | | +| test.rs:533:21:533:48 | { ... } | test.rs:533:13:533:49 | assert!... | | +| test.rs:533:21:533:48 | { ... } | test.rs:533:21:533:48 | { ... } | | | test.rs:533:48:533:48 | 0 | test.rs:533:21:533:48 | ... > ... | | | test.rs:536:9:536:10 | 42 | test.rs:529:41:537:5 | { ... } | | | test.rs:539:5:548:5 | enter fn const_block_panic | test.rs:540:9:540:30 | Const | | diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 8c205afe569..b0c11770a8e 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -11,17 +11,17 @@ localStep | main.rs:7:9:7:9 | s | main.rs:7:9:7:9 | s | | main.rs:7:9:7:14 | ...: i64 | main.rs:7:9:7:9 | s | | main.rs:8:14:8:20 | FormatArgsExpr | main.rs:8:14:8:20 | MacroExpr | -| main.rs:8:14:8:20 | MacroBlockExpr | main.rs:8:5:8:21 | MacroExpr | | main.rs:8:14:8:20 | [post] MacroExpr | main.rs:8:14:8:20 | [post] FormatArgsExpr | -| main.rs:8:14:8:20 | { ... } | main.rs:8:14:8:20 | MacroBlockExpr | +| main.rs:8:14:8:20 | { ... } | main.rs:8:5:8:21 | MacroExpr | +| main.rs:8:14:8:20 | { ... } | main.rs:8:14:8:20 | { ... } | | main.rs:11:13:11:14 | [SSA] sr | main.rs:12:20:12:21 | sr | | main.rs:11:13:11:14 | sr | main.rs:11:13:11:14 | [SSA] sr | | main.rs:11:13:11:14 | sr | main.rs:11:13:11:14 | sr | | main.rs:11:13:11:20 | ...: ... | main.rs:11:13:11:14 | sr | | main.rs:12:14:12:21 | FormatArgsExpr | main.rs:12:14:12:21 | MacroExpr | -| main.rs:12:14:12:21 | MacroBlockExpr | main.rs:12:5:12:22 | MacroExpr | | main.rs:12:14:12:21 | [post] MacroExpr | main.rs:12:14:12:21 | [post] FormatArgsExpr | -| main.rs:12:14:12:21 | { ... } | main.rs:12:14:12:21 | MacroBlockExpr | +| main.rs:12:14:12:21 | { ... } | main.rs:12:5:12:22 | MacroExpr | +| main.rs:12:14:12:21 | { ... } | main.rs:12:14:12:21 | { ... } | | main.rs:23:9:23:9 | [SSA] s | main.rs:24:10:24:10 | s | | main.rs:23:9:23:9 | s | main.rs:23:9:23:9 | [SSA] s | | main.rs:23:9:23:9 | s | main.rs:23:9:23:9 | s | @@ -697,9 +697,9 @@ localStep | main.rs:500:16:500:16 | s | main.rs:500:16:500:16 | s | | main.rs:500:16:500:24 | ...: String | main.rs:500:16:500:16 | s | | main.rs:501:14:501:20 | FormatArgsExpr | main.rs:501:14:501:20 | MacroExpr | -| main.rs:501:14:501:20 | MacroBlockExpr | main.rs:501:5:501:21 | MacroExpr | | main.rs:501:14:501:20 | [post] MacroExpr | main.rs:501:14:501:20 | [post] FormatArgsExpr | -| main.rs:501:14:501:20 | { ... } | main.rs:501:14:501:20 | MacroBlockExpr | +| main.rs:501:14:501:20 | { ... } | main.rs:501:5:501:21 | MacroExpr | +| main.rs:501:14:501:20 | { ... } | main.rs:501:14:501:20 | { ... } | | main.rs:505:9:505:9 | [SSA] a | main.rs:506:13:506:13 | a | | main.rs:505:9:505:9 | a | main.rs:505:9:505:9 | [SSA] a | | main.rs:505:9:505:9 | a | main.rs:505:9:505:9 | a | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected index 27a4192867f..0a130b8a288 100644 --- a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected @@ -2,22 +2,24 @@ models | 1 | Summary: <& as core::ops::deref::Deref>::deref; Argument[self].Reference; ReturnValue; value | | 2 | Summary: <_ as alloc::string::ToString>::to_string; Argument[self].Reference; ReturnValue; taint | | 3 | Summary: <_ as core::convert::From>::from; Argument[0]; ReturnValue; taint | -| 4 | Summary: <_ as core::ops::deref::Deref>::deref; Argument[self].Reference; ReturnValue.Reference; taint | -| 5 | Summary: <_ as core::ops::index::Index>::index; Argument[self].Reference.Element; ReturnValue.Reference; value | -| 6 | Summary: ::deref; Argument[self].Reference.Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | -| 7 | Summary: ::new; Argument[0]; ReturnValue.Field[alloc::boxed::Box(0)]; value | -| 8 | Summary: ::deref; Argument[self]; ReturnValue; value | -| 9 | Summary: ::from; Argument[0]; ReturnValue; taint | -| 10 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 11 | Summary: ::unwrap_or; Argument[0]; ReturnValue; value | -| 12 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 13 | Summary: ::unwrap_or_else; Argument[0].ReturnValue; ReturnValue; value | -| 14 | Summary: ::unwrap_or_else; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 15 | Summary: ::err; Argument[self].Field[core::result::Result::Err(0)]; ReturnValue.Field[core::option::Option::Some(0)]; value | -| 16 | Summary: ::expect; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 17 | Summary: ::expect_err; Argument[self].Field[core::result::Result::Err(0)]; ReturnValue; value | -| 18 | Summary: ::ok; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue.Field[core::option::Option::Some(0)]; value | -| 19 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 4 | Summary: <_ as core::convert::Into>::into; Argument[self].Element; ReturnValue.Element; taint | +| 5 | Summary: <_ as core::convert::Into>::into; Argument[self].Reference.Element; ReturnValue.Element; taint | +| 6 | Summary: <_ as core::ops::deref::Deref>::deref; Argument[self].Reference; ReturnValue.Reference; taint | +| 7 | Summary: <_ as core::ops::index::Index>::index; Argument[self].Reference.Element; ReturnValue.Reference; value | +| 8 | Summary: ::deref; Argument[self].Reference.Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | +| 9 | Summary: ::new; Argument[0]; ReturnValue.Field[alloc::boxed::Box(0)]; value | +| 10 | Summary: ::deref; Argument[self]; ReturnValue; value | +| 11 | Summary: ::from; Argument[0]; ReturnValue; taint | +| 12 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 13 | Summary: ::unwrap_or; Argument[0]; ReturnValue; value | +| 14 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 15 | Summary: ::unwrap_or_else; Argument[0].ReturnValue; ReturnValue; value | +| 16 | Summary: ::unwrap_or_else; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 17 | Summary: ::err; Argument[self].Field[core::result::Result::Err(0)]; ReturnValue.Field[core::option::Option::Some(0)]; value | +| 18 | Summary: ::expect; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 19 | Summary: ::expect_err; Argument[self].Field[core::result::Result::Err(0)]; ReturnValue; value | +| 20 | Summary: ::ok; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue.Field[core::option::Option::Some(0)]; value | +| 21 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | edges | main.rs:23:9:23:9 | s | main.rs:24:10:24:10 | s | provenance | | | main.rs:23:9:23:9 | s | main.rs:26:12:26:12 | x | provenance | | @@ -45,8 +47,8 @@ edges | main.rs:82:5:82:5 | l | main.rs:83:10:83:10 | l | provenance | | | main.rs:115:9:115:9 | i [Box(0)] | main.rs:116:11:116:11 | i [Box(0)] | provenance | | | main.rs:115:13:115:31 | ...::new(...) [Box(0)] | main.rs:115:9:115:9 | i [Box(0)] | provenance | | -| main.rs:115:22:115:30 | source(...) | main.rs:115:13:115:31 | ...::new(...) [Box(0)] | provenance | MaD:7 | -| main.rs:116:11:116:11 | i [Box(0)] | main.rs:116:10:116:11 | * ... | provenance | MaD:6 | +| main.rs:115:22:115:30 | source(...) | main.rs:115:13:115:31 | ...::new(...) [Box(0)] | provenance | MaD:9 | +| main.rs:116:11:116:11 | i [Box(0)] | main.rs:116:10:116:11 | * ... | provenance | MaD:8 | | main.rs:123:9:123:9 | a [tuple.0] | main.rs:124:10:124:10 | a [tuple.0] | provenance | | | main.rs:123:13:123:26 | TupleExpr [tuple.0] | main.rs:123:9:123:9 | a [tuple.0] | provenance | | | main.rs:123:14:123:22 | source(...) | main.rs:123:13:123:26 | TupleExpr [tuple.0] | provenance | | @@ -129,17 +131,17 @@ edges | main.rs:278:9:278:10 | s1 [Some] | main.rs:279:10:279:11 | s1 [Some] | provenance | | | main.rs:278:14:278:29 | Some(...) [Some] | main.rs:278:9:278:10 | s1 [Some] | provenance | | | main.rs:278:19:278:28 | source(...) | main.rs:278:14:278:29 | Some(...) [Some] | provenance | | -| main.rs:279:10:279:11 | s1 [Some] | main.rs:279:10:279:20 | s1.unwrap() | provenance | MaD:10 | +| main.rs:279:10:279:11 | s1 [Some] | main.rs:279:10:279:20 | s1.unwrap() | provenance | MaD:12 | | main.rs:283:9:283:10 | s1 [Some] | main.rs:284:10:284:11 | s1 [Some] | provenance | | | main.rs:283:14:283:29 | Some(...) [Some] | main.rs:283:9:283:10 | s1 [Some] | provenance | | | main.rs:283:19:283:28 | source(...) | main.rs:283:14:283:29 | Some(...) [Some] | provenance | | -| main.rs:284:10:284:11 | s1 [Some] | main.rs:284:10:284:24 | s1.unwrap_or(...) | provenance | MaD:12 | -| main.rs:287:23:287:32 | source(...) | main.rs:287:10:287:33 | s2.unwrap_or(...) | provenance | MaD:11 | +| main.rs:284:10:284:11 | s1 [Some] | main.rs:284:10:284:24 | s1.unwrap_or(...) | provenance | MaD:14 | +| main.rs:287:23:287:32 | source(...) | main.rs:287:10:287:33 | s2.unwrap_or(...) | provenance | MaD:13 | | main.rs:291:9:291:10 | s1 [Some] | main.rs:292:10:292:11 | s1 [Some] | provenance | | | main.rs:291:14:291:29 | Some(...) [Some] | main.rs:291:9:291:10 | s1 [Some] | provenance | | | main.rs:291:19:291:28 | source(...) | main.rs:291:14:291:29 | Some(...) [Some] | provenance | | -| main.rs:292:10:292:11 | s1 [Some] | main.rs:292:10:292:32 | s1.unwrap_or_else(...) | provenance | MaD:14 | -| main.rs:295:31:295:40 | source(...) | main.rs:295:10:295:41 | s2.unwrap_or_else(...) | provenance | MaD:13 | +| main.rs:292:10:292:11 | s1 [Some] | main.rs:292:10:292:32 | s1.unwrap_or_else(...) | provenance | MaD:16 | +| main.rs:295:31:295:40 | source(...) | main.rs:295:10:295:41 | s2.unwrap_or_else(...) | provenance | MaD:15 | | main.rs:299:9:299:10 | s1 [Some] | main.rs:301:14:301:15 | s1 [Some] | provenance | | | main.rs:299:14:299:29 | Some(...) [Some] | main.rs:299:9:299:10 | s1 [Some] | provenance | | | main.rs:299:19:299:28 | source(...) | main.rs:299:14:299:29 | Some(...) [Some] | provenance | | @@ -150,16 +152,16 @@ edges | main.rs:308:32:308:45 | Ok(...) [Ok] | main.rs:308:9:308:10 | r1 [Ok] | provenance | | | main.rs:308:35:308:44 | source(...) | main.rs:308:32:308:45 | Ok(...) [Ok] | provenance | | | main.rs:309:9:309:11 | o1a [Some] | main.rs:311:10:311:12 | o1a [Some] | provenance | | -| main.rs:309:28:309:29 | r1 [Ok] | main.rs:309:28:309:34 | r1.ok() [Some] | provenance | MaD:18 | +| main.rs:309:28:309:29 | r1 [Ok] | main.rs:309:28:309:34 | r1.ok() [Some] | provenance | MaD:20 | | main.rs:309:28:309:34 | r1.ok() [Some] | main.rs:309:9:309:11 | o1a [Some] | provenance | | -| main.rs:311:10:311:12 | o1a [Some] | main.rs:311:10:311:21 | o1a.unwrap() | provenance | MaD:10 | +| main.rs:311:10:311:12 | o1a [Some] | main.rs:311:10:311:21 | o1a.unwrap() | provenance | MaD:12 | | main.rs:314:9:314:10 | r2 [Err] | main.rs:316:28:316:29 | r2 [Err] | provenance | | | main.rs:314:32:314:46 | Err(...) [Err] | main.rs:314:9:314:10 | r2 [Err] | provenance | | | main.rs:314:36:314:45 | source(...) | main.rs:314:32:314:46 | Err(...) [Err] | provenance | | | main.rs:316:9:316:11 | o2b [Some] | main.rs:318:10:318:12 | o2b [Some] | provenance | | -| main.rs:316:28:316:29 | r2 [Err] | main.rs:316:28:316:35 | r2.err() [Some] | provenance | MaD:15 | +| main.rs:316:28:316:29 | r2 [Err] | main.rs:316:28:316:35 | r2.err() [Some] | provenance | MaD:17 | | main.rs:316:28:316:35 | r2.err() [Some] | main.rs:316:9:316:11 | o2b [Some] | provenance | | -| main.rs:318:10:318:12 | o2b [Some] | main.rs:318:10:318:21 | o2b.unwrap() | provenance | MaD:10 | +| main.rs:318:10:318:12 | o2b [Some] | main.rs:318:10:318:21 | o2b.unwrap() | provenance | MaD:12 | | main.rs:322:9:322:10 | s1 [Ok] | main.rs:325:14:325:15 | s1 [Ok] | provenance | | | main.rs:322:32:322:45 | Ok(...) [Ok] | main.rs:322:9:322:10 | s1 [Ok] | provenance | | | main.rs:322:35:322:44 | source(...) | main.rs:322:32:322:45 | Ok(...) [Ok] | provenance | | @@ -169,11 +171,11 @@ edges | main.rs:335:9:335:10 | s1 [Ok] | main.rs:336:10:336:11 | s1 [Ok] | provenance | | | main.rs:335:32:335:45 | Ok(...) [Ok] | main.rs:335:9:335:10 | s1 [Ok] | provenance | | | main.rs:335:35:335:44 | source(...) | main.rs:335:32:335:45 | Ok(...) [Ok] | provenance | | -| main.rs:336:10:336:11 | s1 [Ok] | main.rs:336:10:336:22 | s1.expect(...) | provenance | MaD:16 | +| main.rs:336:10:336:11 | s1 [Ok] | main.rs:336:10:336:22 | s1.expect(...) | provenance | MaD:18 | | main.rs:339:9:339:10 | s2 [Err] | main.rs:341:10:341:11 | s2 [Err] | provenance | | | main.rs:339:32:339:46 | Err(...) [Err] | main.rs:339:9:339:10 | s2 [Err] | provenance | | | main.rs:339:36:339:45 | source(...) | main.rs:339:32:339:46 | Err(...) [Err] | provenance | | -| main.rs:341:10:341:11 | s2 [Err] | main.rs:341:10:341:26 | s2.expect_err(...) | provenance | MaD:17 | +| main.rs:341:10:341:11 | s2 [Err] | main.rs:341:10:341:26 | s2.expect_err(...) | provenance | MaD:19 | | main.rs:350:9:350:10 | s1 [A] | main.rs:352:11:352:12 | s1 [A] | provenance | | | main.rs:350:14:350:39 | ...::A(...) [A] | main.rs:350:9:350:10 | s1 [A] | provenance | | | main.rs:350:29:350:38 | source(...) | main.rs:350:14:350:39 | ...::A(...) [A] | provenance | | @@ -222,13 +224,13 @@ edges | main.rs:430:16:430:33 | [...] [element] | main.rs:430:9:430:12 | arr1 [element] | provenance | | | main.rs:430:23:430:32 | source(...) | main.rs:430:16:430:33 | [...] [element] | provenance | | | main.rs:431:9:431:10 | n1 | main.rs:432:10:432:11 | n1 | provenance | | -| main.rs:431:14:431:17 | arr1 [element] | main.rs:431:14:431:20 | arr1[2] | provenance | MaD:5 | +| main.rs:431:14:431:17 | arr1 [element] | main.rs:431:14:431:20 | arr1[2] | provenance | MaD:7 | | main.rs:431:14:431:20 | arr1[2] | main.rs:431:9:431:10 | n1 | provenance | | | main.rs:434:9:434:12 | arr2 [element] | main.rs:435:14:435:17 | arr2 [element] | provenance | | | main.rs:434:16:434:31 | [...; 10] [element] | main.rs:434:9:434:12 | arr2 [element] | provenance | | | main.rs:434:17:434:26 | source(...) | main.rs:434:16:434:31 | [...; 10] [element] | provenance | | | main.rs:435:9:435:10 | n2 | main.rs:436:10:436:11 | n2 | provenance | | -| main.rs:435:14:435:17 | arr2 [element] | main.rs:435:14:435:20 | arr2[4] | provenance | MaD:5 | +| main.rs:435:14:435:17 | arr2 [element] | main.rs:435:14:435:20 | arr2[4] | provenance | MaD:7 | | main.rs:435:14:435:20 | arr2[4] | main.rs:435:9:435:10 | n2 | provenance | | | main.rs:444:9:444:12 | arr1 [element] | main.rs:445:15:445:18 | arr1 [element] | provenance | | | main.rs:444:16:444:33 | [...] [element] | main.rs:444:9:444:12 | arr1 [element] | provenance | | @@ -249,9 +251,9 @@ edges | main.rs:470:5:470:11 | [post] mut_arr [element] | main.rs:473:10:473:16 | mut_arr [element] | provenance | | | main.rs:470:18:470:27 | source(...) | main.rs:470:5:470:11 | [post] mut_arr [element] | provenance | | | main.rs:471:9:471:9 | d | main.rs:472:10:472:10 | d | provenance | | -| main.rs:471:13:471:19 | mut_arr [element] | main.rs:471:13:471:22 | mut_arr[1] | provenance | MaD:5 | +| main.rs:471:13:471:19 | mut_arr [element] | main.rs:471:13:471:22 | mut_arr[1] | provenance | MaD:7 | | main.rs:471:13:471:22 | mut_arr[1] | main.rs:471:9:471:9 | d | provenance | | -| main.rs:473:10:473:16 | mut_arr [element] | main.rs:473:10:473:19 | mut_arr[0] | provenance | MaD:5 | +| main.rs:473:10:473:16 | mut_arr [element] | main.rs:473:10:473:19 | mut_arr[0] | provenance | MaD:7 | | main.rs:496:9:496:9 | s | main.rs:497:10:497:10 | s | provenance | | | main.rs:496:25:496:26 | source(...) | main.rs:496:9:496:9 | s | provenance | | | main.rs:505:9:505:9 | a | main.rs:506:13:506:13 | a | provenance | | @@ -263,26 +265,26 @@ edges | main.rs:506:13:506:13 | a | main.rs:506:13:506:25 | a.to_string() | provenance | MaD:2 | | main.rs:506:13:506:25 | a.to_string() | main.rs:506:9:506:9 | b | provenance | | | main.rs:507:9:507:9 | c | main.rs:512:10:512:10 | c | provenance | | -| main.rs:507:13:507:13 | b | main.rs:507:13:507:28 | b.parse() [Ok] | provenance | MaD:4 | -| main.rs:507:13:507:13 | b | main.rs:507:13:507:28 | b.parse() [Ok] | provenance | MaD:8 | -| main.rs:507:13:507:28 | b.parse() [Ok] | main.rs:507:13:507:37 | ... .unwrap() | provenance | MaD:19 | +| main.rs:507:13:507:13 | b | main.rs:507:13:507:28 | b.parse() [Ok] | provenance | MaD:6 | +| main.rs:507:13:507:13 | b | main.rs:507:13:507:28 | b.parse() [Ok] | provenance | MaD:10 | +| main.rs:507:13:507:28 | b.parse() [Ok] | main.rs:507:13:507:37 | ... .unwrap() | provenance | MaD:21 | | main.rs:507:13:507:37 | ... .unwrap() | main.rs:507:9:507:9 | c | provenance | | | main.rs:508:9:508:9 | d | main.rs:513:10:513:10 | d | provenance | | -| main.rs:508:18:508:18 | b | main.rs:508:18:508:26 | b.parse() [Ok] | provenance | MaD:4 | -| main.rs:508:18:508:18 | b | main.rs:508:18:508:26 | b.parse() [Ok] | provenance | MaD:8 | -| main.rs:508:18:508:26 | b.parse() [Ok] | main.rs:508:18:508:35 | ... .unwrap() | provenance | MaD:19 | +| main.rs:508:18:508:18 | b | main.rs:508:18:508:26 | b.parse() [Ok] | provenance | MaD:6 | +| main.rs:508:18:508:18 | b | main.rs:508:18:508:26 | b.parse() [Ok] | provenance | MaD:10 | +| main.rs:508:18:508:26 | b.parse() [Ok] | main.rs:508:18:508:35 | ... .unwrap() | provenance | MaD:21 | | main.rs:508:18:508:35 | ... .unwrap() | main.rs:508:9:508:9 | d | provenance | | | main.rs:517:9:517:10 | vs [element] | main.rs:519:10:519:11 | vs [element] | provenance | | | main.rs:517:9:517:10 | vs [element] | main.rs:523:14:523:15 | vs [element] | provenance | | | main.rs:517:14:517:34 | [...] [element] | main.rs:517:9:517:10 | vs [element] | provenance | | | main.rs:517:15:517:24 | source(...) | main.rs:517:14:517:34 | [...] [element] | provenance | | -| main.rs:519:10:519:11 | vs [element] | main.rs:519:10:519:14 | vs[0] | provenance | MaD:5 | +| main.rs:519:10:519:11 | vs [element] | main.rs:519:10:519:14 | vs[0] | provenance | MaD:7 | | main.rs:523:9:523:9 | v | main.rs:524:14:524:14 | v | provenance | | | main.rs:523:14:523:15 | vs [element] | main.rs:523:9:523:9 | v | provenance | | | main.rs:542:9:542:18 | mut vs_mut [element] | main.rs:544:10:544:15 | vs_mut [element] | provenance | | | main.rs:542:22:542:42 | [...] [element] | main.rs:542:9:542:18 | mut vs_mut [element] | provenance | | | main.rs:542:23:542:32 | source(...) | main.rs:542:22:542:42 | [...] [element] | provenance | | -| main.rs:544:10:544:15 | vs_mut [element] | main.rs:544:10:544:18 | vs_mut[0] | provenance | MaD:5 | +| main.rs:544:10:544:15 | vs_mut [element] | main.rs:544:10:544:18 | vs_mut[0] | provenance | MaD:7 | | main.rs:554:9:554:9 | a | main.rs:559:10:559:10 | a | provenance | | | main.rs:554:13:554:22 | source(...) | main.rs:554:9:554:9 | a | provenance | | | main.rs:555:9:555:9 | b | main.rs:560:15:560:15 | b | provenance | | @@ -296,12 +298,20 @@ edges | main.rs:560:15:560:15 | b | main.rs:560:14:560:15 | &b | provenance | | | main.rs:562:11:562:15 | c_ref [&ref] | main.rs:562:10:562:15 | * ... | provenance | MaD:1 | | main.rs:566:9:566:9 | a | main.rs:568:10:568:17 | a as i64 | provenance | | +| main.rs:566:9:566:9 | a | main.rs:569:10:569:10 | a | provenance | | +| main.rs:566:9:566:9 | a | main.rs:570:20:570:20 | a | provenance | | | main.rs:566:18:566:27 | source(...) | main.rs:566:9:566:9 | a | provenance | | +| main.rs:569:10:569:10 | a | main.rs:569:10:569:17 | a.into() | provenance | MaD:4 | +| main.rs:569:10:569:10 | a | main.rs:569:10:569:17 | a.into() | provenance | MaD:5 | +| main.rs:570:20:570:20 | a | main.rs:570:10:570:21 | ...::from(...) | provenance | ReflexiveFrom | | main.rs:572:9:572:9 | b | main.rs:574:10:574:17 | b as i64 | provenance | | +| main.rs:572:9:572:9 | b | main.rs:575:10:575:10 | b | provenance | | | main.rs:572:9:572:9 | b | main.rs:576:20:576:20 | b | provenance | | | main.rs:572:18:572:27 | source(...) | main.rs:572:9:572:9 | b | provenance | | +| main.rs:575:10:575:10 | b | main.rs:575:10:575:17 | b.into() | provenance | MaD:4 | +| main.rs:575:10:575:10 | b | main.rs:575:10:575:17 | b.into() | provenance | MaD:5 | | main.rs:576:20:576:20 | b | main.rs:576:10:576:21 | ...::from(...) | provenance | MaD:3 | -| main.rs:576:20:576:20 | b | main.rs:576:10:576:21 | ...::from(...) | provenance | MaD:9 | +| main.rs:576:20:576:20 | b | main.rs:576:10:576:21 | ...::from(...) | provenance | MaD:11 | nodes | main.rs:19:10:19:18 | source(...) | semmle.label | source(...) | | main.rs:23:9:23:9 | s | semmle.label | s | @@ -630,9 +640,15 @@ nodes | main.rs:566:9:566:9 | a | semmle.label | a | | main.rs:566:18:566:27 | source(...) | semmle.label | source(...) | | main.rs:568:10:568:17 | a as i64 | semmle.label | a as i64 | +| main.rs:569:10:569:10 | a | semmle.label | a | +| main.rs:569:10:569:17 | a.into() | semmle.label | a.into() | +| main.rs:570:10:570:21 | ...::from(...) | semmle.label | ...::from(...) | +| main.rs:570:20:570:20 | a | semmle.label | a | | main.rs:572:9:572:9 | b | semmle.label | b | | main.rs:572:18:572:27 | source(...) | semmle.label | source(...) | | main.rs:574:10:574:17 | b as i64 | semmle.label | b as i64 | +| main.rs:575:10:575:10 | b | semmle.label | b | +| main.rs:575:10:575:17 | b.into() | semmle.label | b.into() | | main.rs:576:10:576:21 | ...::from(...) | semmle.label | ...::from(...) | | main.rs:576:20:576:20 | b | semmle.label | b | subpaths @@ -707,5 +723,8 @@ testFailures | main.rs:561:14:561:18 | c_ref | main.rs:556:13:556:22 | source(...) | main.rs:561:14:561:18 | c_ref | $@ | main.rs:556:13:556:22 | source(...) | source(...) | | main.rs:562:10:562:15 | * ... | main.rs:556:13:556:22 | source(...) | main.rs:562:10:562:15 | * ... | $@ | main.rs:556:13:556:22 | source(...) | source(...) | | main.rs:568:10:568:17 | a as i64 | main.rs:566:18:566:27 | source(...) | main.rs:568:10:568:17 | a as i64 | $@ | main.rs:566:18:566:27 | source(...) | source(...) | +| main.rs:569:10:569:17 | a.into() | main.rs:566:18:566:27 | source(...) | main.rs:569:10:569:17 | a.into() | $@ | main.rs:566:18:566:27 | source(...) | source(...) | +| main.rs:570:10:570:21 | ...::from(...) | main.rs:566:18:566:27 | source(...) | main.rs:570:10:570:21 | ...::from(...) | $@ | main.rs:566:18:566:27 | source(...) | source(...) | | main.rs:574:10:574:17 | b as i64 | main.rs:572:18:572:27 | source(...) | main.rs:574:10:574:17 | b as i64 | $@ | main.rs:572:18:572:27 | source(...) | source(...) | +| main.rs:575:10:575:17 | b.into() | main.rs:572:18:572:27 | source(...) | main.rs:575:10:575:17 | b.into() | $@ | main.rs:572:18:572:27 | source(...) | source(...) | | main.rs:576:10:576:21 | ...::from(...) | main.rs:572:18:572:27 | source(...) | main.rs:576:10:576:21 | ...::from(...) | $@ | main.rs:572:18:572:27 | source(...) | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/local/main.rs b/rust/ql/test/library-tests/dataflow/local/main.rs index b3c40bd4513..41f34da6122 100644 --- a/rust/ql/test/library-tests/dataflow/local/main.rs +++ b/rust/ql/test/library-tests/dataflow/local/main.rs @@ -566,13 +566,13 @@ fn conversions() { let a: i64 = source(50); sink(a as i64); // $ hasTaintFlow=50 - sink(a.into()); // $ MISSING: hasValueFlow=50 - sink(i64::from(a)); // $ MISSING: hasTaintFlow=50 -- we cannot resolve the `impl From for T` implementation + sink(a.into()); // $ SPURIOUS: hasTaintFlow=50 $ MISSING: hasValueFlow=50 -- it is not possible to define a value-preserving summary for `into` since it depends on which `from` function is called + sink(i64::from(a)); // $ hasValueFlow=50 let b: i32 = source(51) as i32; sink(b as i64); // $ hasTaintFlow=51 - sink(b.into()); // $ MISSING: hasTaintFlow=51 + sink(b.into()); // $ hasTaintFlow=51 sink(i64::from(b)); // $ hasTaintFlow=51 } diff --git a/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected b/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected index 7e8a551b67b..14244fff454 100644 --- a/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected @@ -10,45 +10,49 @@ models | 9 | Summary: ::new; Argument[0]; ReturnValue.Field[alloc::boxed::Box(0)]; value | | 10 | Summary: ::pin; Argument[0]; ReturnValue.Field[core::pin::Pin::pointer].Field[alloc::boxed::Box(0)]; value | | 11 | Summary: ::clone; Argument[self].Reference; ReturnValue; value | -| 12 | Summary: ::map_or; Argument[1].ReturnValue; ReturnValue; value | -| 13 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 14 | Summary: ::zip; Argument[0].Field[core::option::Option::Some(0)]; ReturnValue.Field[core::option::Option::Some(0)].Field[1]; value | -| 15 | Summary: ::deref; Argument[self].Reference.Field[core::pin::Pin::pointer].Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | -| 16 | Summary: ::deref; Argument[self].Reference.Field[core::pin::Pin::pointer].Reference; ReturnValue.Reference; value | -| 17 | Summary: ::into_inner; Argument[0].Field[core::pin::Pin::pointer]; ReturnValue; value | -| 18 | Summary: ::into_inner_unchecked; Argument[0].Field[core::pin::Pin::pointer]; ReturnValue; value | -| 19 | Summary: ::new; Argument[0].Reference; ReturnValue; value | -| 20 | Summary: ::new; Argument[0]; ReturnValue.Field[core::pin::Pin::pointer]; value | -| 21 | Summary: ::new_unchecked; Argument[0]; ReturnValue.Field[core::pin::Pin::pointer]; value | -| 22 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 23 | Summary: core::ptr::read; Argument[0].Reference; ReturnValue; value | -| 24 | Summary: core::ptr::write; Argument[1]; Argument[0].Reference; value | +| 12 | Summary: ::clone; Argument[self]; ReturnValue; value | +| 13 | Summary: ::map_or; Argument[1].ReturnValue; ReturnValue; value | +| 14 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 15 | Summary: ::zip; Argument[0].Field[core::option::Option::Some(0)]; ReturnValue.Field[core::option::Option::Some(0)].Field[1]; value | +| 16 | Summary: ::deref; Argument[self].Reference.Field[core::pin::Pin::pointer].Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | +| 17 | Summary: ::deref; Argument[self].Reference.Field[core::pin::Pin::pointer].Reference; ReturnValue.Reference; value | +| 18 | Summary: ::into_inner; Argument[0].Field[core::pin::Pin::pointer]; ReturnValue; value | +| 19 | Summary: ::into_inner_unchecked; Argument[0].Field[core::pin::Pin::pointer]; ReturnValue; value | +| 20 | Summary: ::new; Argument[0].Reference; ReturnValue; value | +| 21 | Summary: ::new; Argument[0]; ReturnValue.Field[core::pin::Pin::pointer]; value | +| 22 | Summary: ::new_unchecked; Argument[0]; ReturnValue.Field[core::pin::Pin::pointer]; value | +| 23 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 24 | Summary: core::ptr::read; Argument[0].Reference; ReturnValue; value | +| 25 | Summary: core::ptr::write; Argument[1]; Argument[0].Reference; value | edges | main.rs:12:9:12:9 | a [Some] | main.rs:13:10:13:10 | a [Some] | provenance | | | main.rs:12:9:12:9 | a [Some] | main.rs:14:13:14:13 | a [Some] | provenance | | | main.rs:12:13:12:28 | Some(...) [Some] | main.rs:12:9:12:9 | a [Some] | provenance | | | main.rs:12:18:12:27 | source(...) | main.rs:12:13:12:28 | Some(...) [Some] | provenance | | -| main.rs:13:10:13:10 | a [Some] | main.rs:13:10:13:19 | a.unwrap() | provenance | MaD:13 | +| main.rs:13:10:13:10 | a [Some] | main.rs:13:10:13:19 | a.unwrap() | provenance | MaD:14 | | main.rs:14:9:14:9 | b [Some] | main.rs:15:10:15:10 | b [Some] | provenance | | | main.rs:14:13:14:13 | a [Some] | main.rs:14:13:14:21 | a.clone() [Some] | provenance | MaD:2 | | main.rs:14:13:14:21 | a.clone() [Some] | main.rs:14:9:14:9 | b [Some] | provenance | | -| main.rs:15:10:15:10 | b [Some] | main.rs:15:10:15:19 | b.unwrap() | provenance | MaD:13 | +| main.rs:15:10:15:10 | b [Some] | main.rs:15:10:15:19 | b.unwrap() | provenance | MaD:14 | | main.rs:19:9:19:9 | a [Ok] | main.rs:20:10:20:10 | a [Ok] | provenance | | | main.rs:19:9:19:9 | a [Ok] | main.rs:21:13:21:13 | a [Ok] | provenance | | | main.rs:19:31:19:44 | Ok(...) [Ok] | main.rs:19:9:19:9 | a [Ok] | provenance | | | main.rs:19:34:19:43 | source(...) | main.rs:19:31:19:44 | Ok(...) [Ok] | provenance | | -| main.rs:20:10:20:10 | a [Ok] | main.rs:20:10:20:19 | a.unwrap() | provenance | MaD:22 | +| main.rs:20:10:20:10 | a [Ok] | main.rs:20:10:20:19 | a.unwrap() | provenance | MaD:23 | | main.rs:21:9:21:9 | b [Ok] | main.rs:22:10:22:10 | b [Ok] | provenance | | | main.rs:21:13:21:13 | a [Ok] | main.rs:21:13:21:21 | a.clone() [Ok] | provenance | MaD:2 | | main.rs:21:13:21:21 | a.clone() [Ok] | main.rs:21:9:21:9 | b [Ok] | provenance | | -| main.rs:22:10:22:10 | b [Ok] | main.rs:22:10:22:19 | b.unwrap() | provenance | MaD:22 | +| main.rs:22:10:22:10 | b [Ok] | main.rs:22:10:22:19 | b.unwrap() | provenance | MaD:23 | | main.rs:26:9:26:9 | a | main.rs:27:10:27:10 | a | provenance | | | main.rs:26:9:26:9 | a | main.rs:28:13:28:13 | a | provenance | | | main.rs:26:13:26:22 | source(...) | main.rs:26:9:26:9 | a | provenance | | | main.rs:28:9:28:9 | b | main.rs:29:10:29:10 | b | provenance | | +| main.rs:28:9:28:9 | b [&ref] | main.rs:29:10:29:10 | b | provenance | | | main.rs:28:13:28:13 | a | main.rs:28:13:28:21 | a.clone() | provenance | MaD:2 | | main.rs:28:13:28:13 | a | main.rs:28:13:28:21 | a.clone() | provenance | MaD:11 | +| main.rs:28:13:28:13 | a | main.rs:28:13:28:21 | a.clone() [&ref] | provenance | MaD:12 | | main.rs:28:13:28:21 | a.clone() | main.rs:28:9:28:9 | b | provenance | | +| main.rs:28:13:28:21 | a.clone() [&ref] | main.rs:28:9:28:9 | b [&ref] | provenance | | | main.rs:43:18:43:22 | SelfParam [&ref, Wrapper] | main.rs:44:26:44:31 | self.n | provenance | | | main.rs:44:13:44:33 | Wrapper {...} [Wrapper] | main.rs:43:33:45:9 | { ... } [Wrapper] | provenance | | | main.rs:44:26:44:31 | self.n | main.rs:44:13:44:33 | Wrapper {...} [Wrapper] | provenance | | @@ -71,19 +75,19 @@ edges | main.rs:66:22:66:31 | source(...) | main.rs:66:17:66:32 | Some(...) [Some] | provenance | | | main.rs:67:13:67:13 | z [Some, tuple.1] | main.rs:68:15:68:15 | z [Some, tuple.1] | provenance | | | main.rs:67:17:67:24 | a.zip(...) [Some, tuple.1] | main.rs:67:13:67:13 | z [Some, tuple.1] | provenance | | -| main.rs:67:23:67:23 | b [Some] | main.rs:67:17:67:24 | a.zip(...) [Some, tuple.1] | provenance | MaD:14 | +| main.rs:67:23:67:23 | b [Some] | main.rs:67:17:67:24 | a.zip(...) [Some, tuple.1] | provenance | MaD:15 | | main.rs:68:15:68:15 | z [Some, tuple.1] | main.rs:69:13:69:24 | Some(...) [Some, tuple.1] | provenance | | | main.rs:69:13:69:24 | Some(...) [Some, tuple.1] | main.rs:69:18:69:23 | TuplePat [tuple.1] | provenance | | | main.rs:69:18:69:23 | TuplePat [tuple.1] | main.rs:69:22:69:22 | m | provenance | | | main.rs:69:22:69:22 | m | main.rs:71:22:71:22 | m | provenance | | | main.rs:79:13:79:13 | b | main.rs:80:14:80:14 | b | provenance | | | main.rs:79:17:79:47 | a.map_or(...) | main.rs:79:13:79:13 | b | provenance | | -| main.rs:79:33:79:46 | ... + ... | main.rs:79:17:79:47 | a.map_or(...) | provenance | MaD:12 | +| main.rs:79:33:79:46 | ... + ... | main.rs:79:17:79:47 | a.map_or(...) | provenance | MaD:13 | | main.rs:79:37:79:46 | source(...) | main.rs:79:33:79:46 | ... + ... | provenance | MaD:6 | | main.rs:79:37:79:46 | source(...) | main.rs:79:33:79:46 | ... + ... | provenance | MaD:7 | | main.rs:92:29:92:29 | [post] y [&ref] | main.rs:93:33:93:33 | y [&ref] | provenance | | -| main.rs:92:32:92:41 | source(...) | main.rs:92:29:92:29 | [post] y [&ref] | provenance | MaD:24 | -| main.rs:93:33:93:33 | y [&ref] | main.rs:93:18:93:34 | ...::read(...) | provenance | MaD:23 | +| main.rs:92:32:92:41 | source(...) | main.rs:92:29:92:29 | [post] y [&ref] | provenance | MaD:25 | +| main.rs:93:33:93:33 | y [&ref] | main.rs:93:18:93:34 | ...::read(...) | provenance | MaD:24 | | main.rs:108:13:108:17 | mut i | main.rs:109:34:109:34 | i | provenance | | | main.rs:108:13:108:17 | mut i | main.rs:110:33:110:33 | i | provenance | | | main.rs:108:13:108:17 | mut i | main.rs:111:47:111:47 | i | provenance | | @@ -96,8 +100,8 @@ edges | main.rs:109:13:109:20 | mut pin1 [Pin, &ref] | main.rs:115:31:115:34 | pin1 [Pin, &ref] | provenance | | | main.rs:109:24:109:35 | ...::new(...) | main.rs:109:13:109:20 | mut pin1 | provenance | | | main.rs:109:24:109:35 | ...::new(...) [Pin, &ref] | main.rs:109:13:109:20 | mut pin1 [Pin, &ref] | provenance | | -| main.rs:109:33:109:34 | &i [&ref] | main.rs:109:24:109:35 | ...::new(...) | provenance | MaD:19 | -| main.rs:109:33:109:34 | &i [&ref] | main.rs:109:24:109:35 | ...::new(...) [Pin, &ref] | provenance | MaD:20 | +| main.rs:109:33:109:34 | &i [&ref] | main.rs:109:24:109:35 | ...::new(...) | provenance | MaD:20 | +| main.rs:109:33:109:34 | &i [&ref] | main.rs:109:24:109:35 | ...::new(...) [Pin, &ref] | provenance | MaD:21 | | main.rs:109:34:109:34 | i | main.rs:109:33:109:34 | &i [&ref] | provenance | | | main.rs:110:13:110:20 | mut pin2 [Pin, Box(0)] | main.rs:116:15:116:18 | pin2 [Pin, Box(0)] | provenance | | | main.rs:110:24:110:34 | ...::pin(...) [Pin, Box(0)] | main.rs:110:13:110:20 | mut pin2 [Pin, Box(0)] | provenance | | @@ -107,40 +111,40 @@ edges | main.rs:111:38:111:48 | ...::new(...) [Box(0)] | main.rs:111:24:111:49 | ...::into_pin(...) [Pin, Box(0)] | provenance | MaD:8 | | main.rs:111:47:111:47 | i | main.rs:111:38:111:48 | ...::new(...) [Box(0)] | provenance | MaD:9 | | main.rs:112:13:112:20 | mut pin4 [Pin, &ref] | main.rs:118:15:118:18 | pin4 [Pin, &ref] | provenance | | -| main.rs:112:24:112:27 | &mut pinned [&ref] | main.rs:112:24:112:27 | ...::new_unchecked(...) [Pin, &ref] | provenance | MaD:21 | +| main.rs:112:24:112:27 | &mut pinned [&ref] | main.rs:112:24:112:27 | ...::new_unchecked(...) [Pin, &ref] | provenance | MaD:22 | | main.rs:112:24:112:27 | ...::new_unchecked(...) [Pin, &ref] | main.rs:112:13:112:20 | mut pin4 [Pin, &ref] | provenance | | | main.rs:112:24:112:27 | mut pinned | main.rs:112:24:112:27 | pinned | provenance | | | main.rs:112:24:112:27 | pinned | main.rs:112:24:112:27 | &mut pinned [&ref] | provenance | | -| main.rs:114:15:114:18 | pin1 | main.rs:114:14:114:18 | * ... | provenance | MaD:15 | | main.rs:114:15:114:18 | pin1 | main.rs:114:14:114:18 | * ... | provenance | MaD:16 | -| main.rs:114:15:114:18 | pin1 [Pin, &ref] | main.rs:114:14:114:18 | * ... | provenance | MaD:16 | +| main.rs:114:15:114:18 | pin1 | main.rs:114:14:114:18 | * ... | provenance | MaD:17 | +| main.rs:114:15:114:18 | pin1 [Pin, &ref] | main.rs:114:14:114:18 | * ... | provenance | MaD:17 | | main.rs:115:15:115:35 | ...::into_inner(...) | main.rs:115:14:115:35 | * ... | provenance | MaD:1 | | main.rs:115:15:115:35 | ...::into_inner(...) [&ref] | main.rs:115:14:115:35 | * ... | provenance | MaD:1 | -| main.rs:115:31:115:34 | pin1 | main.rs:115:15:115:35 | ...::into_inner(...) | provenance | MaD:17 | -| main.rs:115:31:115:34 | pin1 [Pin, &ref] | main.rs:115:15:115:35 | ...::into_inner(...) [&ref] | provenance | MaD:17 | -| main.rs:116:15:116:18 | pin2 [Pin, Box(0)] | main.rs:116:14:116:18 | * ... | provenance | MaD:15 | -| main.rs:117:15:117:18 | pin3 [Pin, Box(0)] | main.rs:117:14:117:18 | * ... | provenance | MaD:15 | -| main.rs:118:15:118:18 | pin4 [Pin, &ref] | main.rs:118:14:118:18 | * ... | provenance | MaD:16 | +| main.rs:115:31:115:34 | pin1 | main.rs:115:15:115:35 | ...::into_inner(...) | provenance | MaD:18 | +| main.rs:115:31:115:34 | pin1 [Pin, &ref] | main.rs:115:15:115:35 | ...::into_inner(...) [&ref] | provenance | MaD:18 | +| main.rs:116:15:116:18 | pin2 [Pin, Box(0)] | main.rs:116:14:116:18 | * ... | provenance | MaD:16 | +| main.rs:117:15:117:18 | pin3 [Pin, Box(0)] | main.rs:117:14:117:18 | * ... | provenance | MaD:16 | +| main.rs:118:15:118:18 | pin4 [Pin, &ref] | main.rs:118:14:118:18 | * ... | provenance | MaD:17 | | main.rs:122:13:122:18 | mut ms [MyStruct] | main.rs:123:34:123:35 | ms [MyStruct] | provenance | | | main.rs:122:13:122:18 | mut ms [MyStruct] | main.rs:127:14:127:15 | ms [MyStruct] | provenance | | | main.rs:122:22:122:49 | MyStruct {...} [MyStruct] | main.rs:122:13:122:18 | mut ms [MyStruct] | provenance | | | main.rs:122:38:122:47 | source(...) | main.rs:122:22:122:49 | MyStruct {...} [MyStruct] | provenance | | | main.rs:123:13:123:20 | mut pin1 [Pin, &ref, MyStruct] | main.rs:129:30:129:33 | pin1 [Pin, &ref, MyStruct] | provenance | | | main.rs:123:24:123:36 | ...::new(...) [Pin, &ref, MyStruct] | main.rs:123:13:123:20 | mut pin1 [Pin, &ref, MyStruct] | provenance | | -| main.rs:123:33:123:35 | &ms [&ref, MyStruct] | main.rs:123:24:123:36 | ...::new(...) [Pin, &ref, MyStruct] | provenance | MaD:20 | +| main.rs:123:33:123:35 | &ms [&ref, MyStruct] | main.rs:123:24:123:36 | ...::new(...) [Pin, &ref, MyStruct] | provenance | MaD:21 | | main.rs:123:34:123:35 | ms [MyStruct] | main.rs:123:33:123:35 | &ms [&ref, MyStruct] | provenance | | | main.rs:127:14:127:15 | ms [MyStruct] | main.rs:127:14:127:19 | ms.val | provenance | | | main.rs:129:14:129:34 | ...::into_inner(...) [&ref, MyStruct] | main.rs:129:14:129:38 | ... .val | provenance | | -| main.rs:129:30:129:33 | pin1 [Pin, &ref, MyStruct] | main.rs:129:14:129:34 | ...::into_inner(...) [&ref, MyStruct] | provenance | MaD:17 | +| main.rs:129:30:129:33 | pin1 [Pin, &ref, MyStruct] | main.rs:129:14:129:34 | ...::into_inner(...) [&ref, MyStruct] | provenance | MaD:18 | | main.rs:136:13:136:18 | mut ms [MyStruct] | main.rs:137:44:137:45 | ms [MyStruct] | provenance | | | main.rs:136:22:136:49 | MyStruct {...} [MyStruct] | main.rs:136:13:136:18 | mut ms [MyStruct] | provenance | | | main.rs:136:38:136:47 | source(...) | main.rs:136:22:136:49 | MyStruct {...} [MyStruct] | provenance | | | main.rs:137:13:137:20 | mut pin5 [Pin, &ref, MyStruct] | main.rs:139:40:139:43 | pin5 [Pin, &ref, MyStruct] | provenance | | | main.rs:137:24:137:46 | ...::new_unchecked(...) [Pin, &ref, MyStruct] | main.rs:137:13:137:20 | mut pin5 [Pin, &ref, MyStruct] | provenance | | -| main.rs:137:43:137:45 | &ms [&ref, MyStruct] | main.rs:137:24:137:46 | ...::new_unchecked(...) [Pin, &ref, MyStruct] | provenance | MaD:21 | +| main.rs:137:43:137:45 | &ms [&ref, MyStruct] | main.rs:137:24:137:46 | ...::new_unchecked(...) [Pin, &ref, MyStruct] | provenance | MaD:22 | | main.rs:137:44:137:45 | ms [MyStruct] | main.rs:137:43:137:45 | &ms [&ref, MyStruct] | provenance | | | main.rs:139:14:139:44 | ...::into_inner_unchecked(...) [&ref, MyStruct] | main.rs:139:14:139:48 | ... .val | provenance | | -| main.rs:139:40:139:43 | pin5 [Pin, &ref, MyStruct] | main.rs:139:14:139:44 | ...::into_inner_unchecked(...) [&ref, MyStruct] | provenance | MaD:18 | +| main.rs:139:40:139:43 | pin5 [Pin, &ref, MyStruct] | main.rs:139:14:139:44 | ...::into_inner_unchecked(...) [&ref, MyStruct] | provenance | MaD:19 | | main.rs:153:9:153:9 | a | main.rs:155:13:155:13 | a | provenance | | | main.rs:153:13:153:22 | source(...) | main.rs:153:9:153:9 | a | provenance | | | main.rs:154:9:154:9 | b | main.rs:155:19:155:19 | b | provenance | | @@ -193,8 +197,10 @@ nodes | main.rs:26:13:26:22 | source(...) | semmle.label | source(...) | | main.rs:27:10:27:10 | a | semmle.label | a | | main.rs:28:9:28:9 | b | semmle.label | b | +| main.rs:28:9:28:9 | b [&ref] | semmle.label | b [&ref] | | main.rs:28:13:28:13 | a | semmle.label | a | | main.rs:28:13:28:21 | a.clone() | semmle.label | a.clone() | +| main.rs:28:13:28:21 | a.clone() [&ref] | semmle.label | a.clone() [&ref] | | main.rs:29:10:29:10 | b | semmle.label | b | | main.rs:43:18:43:22 | SelfParam [&ref, Wrapper] | semmle.label | SelfParam [&ref, Wrapper] | | main.rs:43:33:45:9 | { ... } [Wrapper] | semmle.label | { ... } [Wrapper] | diff --git a/rust/ql/test/library-tests/dataflow/sources/database/InlineFlow.expected b/rust/ql/test/library-tests/dataflow/sources/database/InlineFlow.expected index 1314393fd0a..f01253fb493 100644 --- a/rust/ql/test/library-tests/dataflow/sources/database/InlineFlow.expected +++ b/rust/ql/test/library-tests/dataflow/sources/database/InlineFlow.expected @@ -13,38 +13,37 @@ models | 12 | Summary: <_ as core::ops::arith::Add>::add; Argument[0]; ReturnValue; taint | | 13 | Summary: <_ as mysql::conn::queryable::Queryable>::query_fold; Argument[2].ReturnValue; ReturnValue.Field[core::result::Result::Ok(0)]; value | | 14 | Summary: <_ as mysql_async::queryable::Queryable>::query_fold; Argument[2].ReturnValue; ReturnValue.Future.Field[core::result::Result::Ok(0)]; value | -| 15 | Summary: ::add; Argument[0]; ReturnValue; taint | -| 16 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 17 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 15 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 16 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | edges | test.rs:18:13:18:14 | v1 | test.rs:19:14:19:15 | v1 | provenance | | -| test.rs:18:24:18:33 | row.get(...) [Some] | test.rs:18:24:18:42 | ... .unwrap() | provenance | MaD:16 | +| test.rs:18:24:18:33 | row.get(...) [Some] | test.rs:18:24:18:42 | ... .unwrap() | provenance | MaD:15 | | test.rs:18:24:18:42 | ... .unwrap() | test.rs:18:13:18:14 | v1 | provenance | | | test.rs:18:28:18:30 | get | test.rs:18:24:18:33 | row.get(...) [Some] | provenance | Src:MaD:7 | | test.rs:21:13:21:14 | v2 | test.rs:22:14:22:15 | v2 | provenance | | -| test.rs:21:24:21:37 | row.get_opt(...) [Some, Ok] | test.rs:21:24:21:46 | ... .unwrap() [Ok] | provenance | MaD:16 | -| test.rs:21:24:21:46 | ... .unwrap() [Ok] | test.rs:21:24:21:55 | ... .unwrap() | provenance | MaD:17 | +| test.rs:21:24:21:37 | row.get_opt(...) [Some, Ok] | test.rs:21:24:21:46 | ... .unwrap() [Ok] | provenance | MaD:15 | +| test.rs:21:24:21:46 | ... .unwrap() [Ok] | test.rs:21:24:21:55 | ... .unwrap() | provenance | MaD:16 | | test.rs:21:24:21:55 | ... .unwrap() | test.rs:21:13:21:14 | v2 | provenance | | | test.rs:21:28:21:34 | get_opt | test.rs:21:24:21:37 | row.get_opt(...) [Some, Ok] | provenance | Src:MaD:8 | | test.rs:24:13:24:14 | v3 | test.rs:25:14:25:15 | v3 | provenance | | -| test.rs:24:24:24:34 | row.take(...) [Some] | test.rs:24:24:24:43 | ... .unwrap() | provenance | MaD:16 | +| test.rs:24:24:24:34 | row.take(...) [Some] | test.rs:24:24:24:43 | ... .unwrap() | provenance | MaD:15 | | test.rs:24:24:24:43 | ... .unwrap() | test.rs:24:13:24:14 | v3 | provenance | | | test.rs:24:28:24:31 | take | test.rs:24:24:24:34 | row.take(...) [Some] | provenance | Src:MaD:9 | | test.rs:27:13:27:14 | v4 | test.rs:28:14:28:15 | v4 | provenance | | -| test.rs:27:24:27:38 | row.take_opt(...) [Some, Ok] | test.rs:27:24:27:47 | ... .unwrap() [Ok] | provenance | MaD:16 | -| test.rs:27:24:27:47 | ... .unwrap() [Ok] | test.rs:27:24:27:56 | ... .unwrap() | provenance | MaD:17 | +| test.rs:27:24:27:38 | row.take_opt(...) [Some, Ok] | test.rs:27:24:27:47 | ... .unwrap() [Ok] | provenance | MaD:15 | +| test.rs:27:24:27:47 | ... .unwrap() [Ok] | test.rs:27:24:27:56 | ... .unwrap() | provenance | MaD:16 | | test.rs:27:24:27:56 | ... .unwrap() | test.rs:27:13:27:14 | v4 | provenance | | | test.rs:27:28:27:35 | take_opt | test.rs:27:24:27:38 | row.take_opt(...) [Some, Ok] | provenance | Src:MaD:10 | | test.rs:37:13:37:14 | v6 | test.rs:38:14:38:15 | v6 | provenance | | | test.rs:37:23:37:63 | conn.query_first(...) [Ok, Some] | test.rs:37:23:37:64 | TryExpr [Some] | provenance | | -| test.rs:37:23:37:64 | TryExpr [Some] | test.rs:37:23:37:73 | ... .unwrap() | provenance | MaD:16 | +| test.rs:37:23:37:64 | TryExpr [Some] | test.rs:37:23:37:73 | ... .unwrap() | provenance | MaD:15 | | test.rs:37:23:37:73 | ... .unwrap() | test.rs:37:13:37:14 | v6 | provenance | | | test.rs:37:28:37:38 | query_first | test.rs:37:23:37:63 | conn.query_first(...) [Ok, Some] | provenance | Src:MaD:1 | | test.rs:40:13:40:18 | mut t1 [element] | test.rs:42:20:42:21 | t1 [element] | provenance | | | test.rs:40:22:40:71 | conn.exec_iter(...) [Ok, element] | test.rs:40:22:40:72 | TryExpr [element] | provenance | | | test.rs:40:22:40:72 | TryExpr [element] | test.rs:40:13:40:18 | mut t1 [element] | provenance | | | test.rs:40:27:40:35 | exec_iter | test.rs:40:22:40:71 | conn.exec_iter(...) [Ok, element] | provenance | Src:MaD:6 | -| test.rs:41:14:41:61 | ... .get(...) [Some] | test.rs:41:14:41:70 | ... .unwrap() | provenance | MaD:16 | +| test.rs:41:14:41:61 | ... .get(...) [Some] | test.rs:41:14:41:70 | ... .unwrap() | provenance | MaD:15 | | test.rs:41:42:41:44 | get | test.rs:41:14:41:61 | ... .get(...) [Some] | provenance | Src:MaD:7 | | test.rs:42:13:42:15 | row | test.rs:44:22:44:22 | v | provenance | | | test.rs:42:20:42:21 | t1 [element] | test.rs:42:13:42:15 | row | provenance | | @@ -64,7 +63,6 @@ edges | test.rs:66:13:66:21 | ... + ... | test.rs:64:86:67:9 | { ... } | provenance | | | test.rs:66:19:66:21 | row | test.rs:66:13:66:21 | ... + ... | provenance | MaD:11 | | test.rs:66:19:66:21 | row | test.rs:66:13:66:21 | ... + ... | provenance | MaD:12 | -| test.rs:66:19:66:21 | row | test.rs:66:13:66:21 | ... + ... | provenance | MaD:15 | | test.rs:70:22:70:31 | query_fold | test.rs:70:83:70:105 | ...: ... | provenance | Src:MaD:2 | | test.rs:70:83:70:105 | ...: ... | test.rs:71:17:71:18 | id | provenance | | | test.rs:70:83:70:105 | ...: ... | test.rs:72:17:72:20 | name | provenance | | @@ -73,21 +71,21 @@ edges | test.rs:72:17:72:20 | name | test.rs:75:18:75:21 | name | provenance | | | test.rs:73:17:73:19 | age | test.rs:76:18:76:20 | age | provenance | | | test.rs:105:13:105:14 | v1 | test.rs:106:14:106:15 | v1 | provenance | | -| test.rs:105:24:105:33 | row.get(...) [Some] | test.rs:105:24:105:42 | ... .unwrap() | provenance | MaD:16 | +| test.rs:105:24:105:33 | row.get(...) [Some] | test.rs:105:24:105:42 | ... .unwrap() | provenance | MaD:15 | | test.rs:105:24:105:42 | ... .unwrap() | test.rs:105:13:105:14 | v1 | provenance | | | test.rs:105:28:105:30 | get | test.rs:105:24:105:33 | row.get(...) [Some] | provenance | Src:MaD:7 | | test.rs:108:13:108:14 | v2 | test.rs:109:14:109:15 | v2 | provenance | | -| test.rs:108:24:108:37 | row.get_opt(...) [Some, Ok] | test.rs:108:24:108:46 | ... .unwrap() [Ok] | provenance | MaD:16 | -| test.rs:108:24:108:46 | ... .unwrap() [Ok] | test.rs:108:24:108:55 | ... .unwrap() | provenance | MaD:17 | +| test.rs:108:24:108:37 | row.get_opt(...) [Some, Ok] | test.rs:108:24:108:46 | ... .unwrap() [Ok] | provenance | MaD:15 | +| test.rs:108:24:108:46 | ... .unwrap() [Ok] | test.rs:108:24:108:55 | ... .unwrap() | provenance | MaD:16 | | test.rs:108:24:108:55 | ... .unwrap() | test.rs:108:13:108:14 | v2 | provenance | | | test.rs:108:28:108:34 | get_opt | test.rs:108:24:108:37 | row.get_opt(...) [Some, Ok] | provenance | Src:MaD:8 | | test.rs:111:13:111:14 | v3 | test.rs:112:14:112:15 | v3 | provenance | | -| test.rs:111:24:111:34 | row.take(...) [Some] | test.rs:111:24:111:43 | ... .unwrap() | provenance | MaD:16 | +| test.rs:111:24:111:34 | row.take(...) [Some] | test.rs:111:24:111:43 | ... .unwrap() | provenance | MaD:15 | | test.rs:111:24:111:43 | ... .unwrap() | test.rs:111:13:111:14 | v3 | provenance | | | test.rs:111:28:111:31 | take | test.rs:111:24:111:34 | row.take(...) [Some] | provenance | Src:MaD:9 | | test.rs:114:13:114:14 | v4 | test.rs:115:14:115:15 | v4 | provenance | | -| test.rs:114:24:114:38 | row.take_opt(...) [Some, Ok] | test.rs:114:24:114:47 | ... .unwrap() [Ok] | provenance | MaD:16 | -| test.rs:114:24:114:47 | ... .unwrap() [Ok] | test.rs:114:24:114:56 | ... .unwrap() | provenance | MaD:17 | +| test.rs:114:24:114:38 | row.take_opt(...) [Some, Ok] | test.rs:114:24:114:47 | ... .unwrap() [Ok] | provenance | MaD:15 | +| test.rs:114:24:114:47 | ... .unwrap() [Ok] | test.rs:114:24:114:56 | ... .unwrap() | provenance | MaD:16 | | test.rs:114:24:114:56 | ... .unwrap() | test.rs:114:13:114:14 | v4 | provenance | | | test.rs:114:28:114:35 | take_opt | test.rs:114:24:114:38 | row.take_opt(...) [Some, Ok] | provenance | Src:MaD:10 | | test.rs:135:22:135:30 | query_map | test.rs:137:14:137:24 | ...: i64 | provenance | Src:MaD:5 | @@ -107,7 +105,6 @@ edges | test.rs:153:13:153:21 | ... + ... | test.rs:151:86:154:9 | { ... } | provenance | | | test.rs:153:19:153:21 | row | test.rs:153:13:153:21 | ... + ... | provenance | MaD:11 | | test.rs:153:19:153:21 | row | test.rs:153:13:153:21 | ... + ... | provenance | MaD:12 | -| test.rs:153:19:153:21 | row | test.rs:153:13:153:21 | ... + ... | provenance | MaD:15 | | test.rs:157:22:157:31 | query_fold | test.rs:157:83:157:105 | ...: ... | provenance | Src:MaD:4 | | test.rs:157:83:157:105 | ...: ... | test.rs:158:17:158:18 | id | provenance | | | test.rs:157:83:157:105 | ...: ... | test.rs:159:17:159:20 | name | provenance | | diff --git a/rust/ql/test/library-tests/dataflow/sources/file/InlineFlow.expected b/rust/ql/test/library-tests/dataflow/sources/file/InlineFlow.expected index 6ed7d5dafb9..746226c411e 100644 --- a/rust/ql/test/library-tests/dataflow/sources/file/InlineFlow.expected +++ b/rust/ql/test/library-tests/dataflow/sources/file/InlineFlow.expected @@ -35,9 +35,15 @@ models | 34 | Summary: <_ as tokio::io::util::async_read_ext::AsyncReadExt>::read_to_end; Argument[self].Reference; Argument[0].Reference; taint | | 35 | Summary: <_ as tokio::io::util::async_read_ext::AsyncReadExt>::read_to_string; Argument[self].Reference; Argument[0].Reference; taint | | 36 | Summary: <_ as tokio::io::util::async_read_ext::AsyncReadExt>::read_u8; Argument[self].Reference; ReturnValue.Future.Field[core::result::Result::Ok(0)]; taint | -| 37 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 38 | Summary: ::into_string; Argument[self].Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]; ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]; value | -| 39 | Summary: ::as_path; Argument[self].Reference; ReturnValue.Reference; value | +| 37 | Summary: ::to_mut; Argument[self].Reference.Field[alloc::borrow::Cow::Owned(0)]; ReturnValue.Reference; value | +| 38 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 39 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 40 | Summary: ::into_string; Argument[self].Field[std::ffi::os_str::OsString::inner].Field[std::sys::os_str::bytes::Buf::inner]; ReturnValue.Field[core::result::Result::Ok(0)].Field[alloc::string::String::vec]; value | +| 41 | Summary: ::from; Argument[0]; ReturnValue.Field[std::path::PathBuf::inner]; value | +| 42 | Summary: ::deref; Argument[self].Reference.Field[std::path::PathBuf::inner]; ReturnValue.Reference; value | +| 43 | Summary: ::as_path; Argument[self].Reference; ReturnValue.Reference; value | +| 44 | Summary: ::into_boxed_path; Argument[self]; ReturnValue.Field[alloc::boxed::Box(0)]; taint | +| 45 | Summary: ::into_os_string; Argument[self].Field[std::path::PathBuf::inner]; ReturnValue; value | edges | test.rs:12:13:12:18 | buffer | test.rs:13:14:13:19 | buffer | provenance | | | test.rs:12:31:12:43 | ...::read | test.rs:12:31:12:55 | ...::read(...) [Ok] | provenance | Src:MaD:11 | @@ -51,213 +57,252 @@ edges | test.rs:22:22:22:39 | ...::read_to_string | test.rs:22:22:22:51 | ...::read_to_string(...) [Ok] | provenance | Src:MaD:13 | | test.rs:22:22:22:51 | ...::read_to_string(...) [Ok] | test.rs:22:22:22:52 | TryExpr | provenance | | | test.rs:22:22:22:52 | TryExpr | test.rs:22:13:22:18 | buffer | provenance | | -| test.rs:29:13:29:16 | path | test.rs:30:14:30:17 | path | provenance | | -| test.rs:29:13:29:16 | path | test.rs:31:14:31:17 | path | provenance | | -| test.rs:29:13:29:16 | path | test.rs:40:14:40:17 | path | provenance | | -| test.rs:29:13:29:16 | path | test.rs:41:14:41:17 | path | provenance | | -| test.rs:29:20:29:27 | e.path() | test.rs:29:13:29:16 | path | provenance | | -| test.rs:29:22:29:25 | path | test.rs:29:20:29:27 | e.path() | provenance | Src:MaD:4 MaD:4 | -| test.rs:30:14:30:17 | path | test.rs:30:14:30:25 | path.clone() | provenance | MaD:18 | +| test.rs:30:13:30:16 | path | test.rs:31:14:31:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:32:14:32:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:33:14:33:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:34:39:34:42 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:35:14:35:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:36:14:36:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:37:14:37:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:38:14:38:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:39:14:39:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:40:14:40:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:41:14:41:17 | path | provenance | | +| test.rs:30:13:30:16 | path | test.rs:42:14:42:17 | path | provenance | | +| test.rs:30:20:30:27 | e.path() | test.rs:30:13:30:16 | path | provenance | | +| test.rs:30:22:30:25 | path | test.rs:30:20:30:27 | e.path() | provenance | Src:MaD:4 MaD:4 | | test.rs:31:14:31:17 | path | test.rs:31:14:31:25 | path.clone() | provenance | MaD:18 | -| test.rs:31:14:31:25 | path.clone() | test.rs:31:14:31:35 | ... .as_path() | provenance | MaD:39 | -| test.rs:40:14:40:17 | path | test.rs:40:14:40:32 | path.canonicalize() [Ok] | provenance | MaD:19 | -| test.rs:40:14:40:32 | path.canonicalize() [Ok] | test.rs:40:14:40:41 | ... .unwrap() | provenance | MaD:37 | -| test.rs:43:13:43:21 | file_name | test.rs:44:14:44:22 | file_name | provenance | | -| test.rs:43:13:43:21 | file_name | test.rs:45:14:45:22 | file_name | provenance | | -| test.rs:43:13:43:21 | file_name | test.rs:49:14:49:22 | file_name | provenance | | -| test.rs:43:25:43:37 | e.file_name() | test.rs:43:13:43:21 | file_name | provenance | | -| test.rs:43:27:43:35 | file_name | test.rs:43:25:43:37 | e.file_name() | provenance | Src:MaD:3 MaD:3 | -| test.rs:44:14:44:22 | file_name | test.rs:44:14:44:30 | file_name.clone() | provenance | MaD:18 | +| test.rs:32:14:32:17 | path | test.rs:32:14:32:25 | path.clone() | provenance | MaD:18 | +| test.rs:32:14:32:25 | path.clone() | test.rs:32:14:32:35 | ... .as_path() | provenance | MaD:43 | +| test.rs:33:14:33:17 | path | test.rs:33:14:33:25 | path.clone() | provenance | MaD:18 | +| test.rs:33:14:33:25 | path.clone() | test.rs:33:14:33:42 | ... .into_os_string() | provenance | MaD:45 | +| test.rs:34:39:34:42 | path | test.rs:34:39:34:50 | path.clone() | provenance | MaD:18 | +| test.rs:34:39:34:50 | path.clone() | test.rs:34:39:34:68 | ... .into_boxed_path() [Box(0)] | provenance | MaD:44 | +| test.rs:34:39:34:68 | ... .into_boxed_path() [Box(0)] | test.rs:34:14:34:69 | ...::from(...) | provenance | MaD:41 | +| test.rs:35:14:35:17 | path | test.rs:35:14:35:25 | path.clone() | provenance | MaD:18 | +| test.rs:35:14:35:25 | path.clone() | test.rs:35:14:35:37 | ... .as_os_str() | provenance | MaD:19 | +| test.rs:35:14:35:25 | path.clone() | test.rs:35:14:35:37 | ... .as_os_str() | provenance | MaD:42 | +| test.rs:36:14:36:17 | path | test.rs:36:14:36:25 | path.clone() | provenance | MaD:18 | +| test.rs:36:14:36:25 | path.clone() | test.rs:36:14:36:41 | ... .as_mut_os_str() | provenance | MaD:19 | +| test.rs:36:14:36:25 | path.clone() | test.rs:36:14:36:41 | ... .as_mut_os_str() | provenance | MaD:42 | +| test.rs:37:14:37:17 | path | test.rs:37:14:37:26 | path.to_str() | provenance | MaD:19 | +| test.rs:37:14:37:17 | path | test.rs:37:14:37:26 | path.to_str() | provenance | MaD:42 | +| test.rs:38:14:38:17 | path | test.rs:38:14:38:31 | path.to_path_buf() | provenance | MaD:19 | +| test.rs:38:14:38:17 | path | test.rs:38:14:38:31 | path.to_path_buf() | provenance | MaD:42 | +| test.rs:39:14:39:17 | path | test.rs:39:14:39:29 | path.file_name() [Some, &ref] | provenance | MaD:19 | +| test.rs:39:14:39:17 | path | test.rs:39:14:39:29 | path.file_name() [Some, &ref] | provenance | MaD:42 | +| test.rs:39:14:39:29 | path.file_name() [Some, &ref] | test.rs:39:14:39:38 | ... .unwrap() | provenance | MaD:38 | +| test.rs:40:14:40:17 | path | test.rs:40:14:40:29 | path.extension() [Some, &ref] | provenance | MaD:19 | +| test.rs:40:14:40:17 | path | test.rs:40:14:40:29 | path.extension() [Some, &ref] | provenance | MaD:42 | +| test.rs:40:14:40:29 | path.extension() [Some, &ref] | test.rs:40:14:40:38 | ... .unwrap() | provenance | MaD:38 | +| test.rs:41:14:41:17 | path | test.rs:41:14:41:32 | path.canonicalize() [Ok] | provenance | MaD:19 | +| test.rs:41:14:41:17 | path | test.rs:41:14:41:32 | path.canonicalize() [Ok] | provenance | MaD:42 | +| test.rs:41:14:41:32 | path.canonicalize() [Ok] | test.rs:41:14:41:41 | ... .unwrap() | provenance | MaD:39 | +| test.rs:44:13:44:21 | file_name | test.rs:45:14:45:22 | file_name | provenance | | +| test.rs:44:13:44:21 | file_name | test.rs:46:14:46:22 | file_name | provenance | | +| test.rs:44:13:44:21 | file_name | test.rs:47:14:47:22 | file_name | provenance | | +| test.rs:44:13:44:21 | file_name | test.rs:48:14:48:22 | file_name | provenance | | +| test.rs:44:13:44:21 | file_name | test.rs:49:14:49:22 | file_name | provenance | | +| test.rs:44:13:44:21 | file_name | test.rs:50:14:50:22 | file_name | provenance | | +| test.rs:44:25:44:37 | e.file_name() | test.rs:44:13:44:21 | file_name | provenance | | +| test.rs:44:27:44:35 | file_name | test.rs:44:25:44:37 | e.file_name() | provenance | Src:MaD:3 MaD:3 | | test.rs:45:14:45:22 | file_name | test.rs:45:14:45:30 | file_name.clone() | provenance | MaD:18 | -| test.rs:45:14:45:30 | file_name.clone() | test.rs:45:14:45:44 | ... .into_string() [Ok, String] | provenance | MaD:38 | -| test.rs:45:14:45:44 | ... .into_string() [Ok, String] | test.rs:45:14:45:53 | ... .unwrap() | provenance | MaD:37 | -| test.rs:65:13:65:18 | target | test.rs:66:14:66:19 | target | provenance | | -| test.rs:65:22:65:34 | ...::read_link | test.rs:65:22:65:49 | ...::read_link(...) [Ok] | provenance | Src:MaD:12 | -| test.rs:65:22:65:49 | ...::read_link(...) [Ok] | test.rs:65:22:65:50 | TryExpr | provenance | | -| test.rs:65:22:65:50 | TryExpr | test.rs:65:13:65:18 | target | provenance | | -| test.rs:74:13:74:18 | buffer | test.rs:75:14:75:19 | buffer | provenance | | -| test.rs:74:31:74:45 | ...::read | test.rs:74:31:74:57 | ...::read(...) [future, Ok] | provenance | Src:MaD:14 | -| test.rs:74:31:74:57 | ...::read(...) [future, Ok] | test.rs:74:31:74:63 | await ... [Ok] | provenance | | -| test.rs:74:31:74:63 | await ... [Ok] | test.rs:74:31:74:64 | TryExpr | provenance | | -| test.rs:74:31:74:64 | TryExpr | test.rs:74:13:74:18 | buffer | provenance | | -| test.rs:79:13:79:18 | buffer | test.rs:80:14:80:19 | buffer | provenance | | -| test.rs:79:31:79:45 | ...::read | test.rs:79:31:79:57 | ...::read(...) [future, Ok] | provenance | Src:MaD:14 | -| test.rs:79:31:79:57 | ...::read(...) [future, Ok] | test.rs:79:31:79:63 | await ... [Ok] | provenance | | -| test.rs:79:31:79:63 | await ... [Ok] | test.rs:79:31:79:64 | TryExpr | provenance | | -| test.rs:79:31:79:64 | TryExpr | test.rs:79:13:79:18 | buffer | provenance | | -| test.rs:84:13:84:18 | buffer | test.rs:85:14:85:19 | buffer | provenance | | -| test.rs:84:22:84:46 | ...::read_to_string | test.rs:84:22:84:58 | ...::read_to_string(...) [future, Ok] | provenance | Src:MaD:16 | -| test.rs:84:22:84:58 | ...::read_to_string(...) [future, Ok] | test.rs:84:22:84:64 | await ... [Ok] | provenance | | -| test.rs:84:22:84:64 | await ... [Ok] | test.rs:84:22:84:65 | TryExpr | provenance | | -| test.rs:84:22:84:65 | TryExpr | test.rs:84:13:84:18 | buffer | provenance | | -| test.rs:90:13:90:16 | path | test.rs:92:14:92:17 | path | provenance | | -| test.rs:90:20:90:31 | entry.path() | test.rs:90:13:90:16 | path | provenance | | -| test.rs:90:26:90:29 | path | test.rs:90:20:90:31 | entry.path() | provenance | Src:MaD:10 MaD:10 | -| test.rs:91:13:91:21 | file_name | test.rs:93:14:93:22 | file_name | provenance | | -| test.rs:91:25:91:41 | entry.file_name() | test.rs:91:13:91:21 | file_name | provenance | | -| test.rs:91:31:91:39 | file_name | test.rs:91:25:91:41 | entry.file_name() | provenance | Src:MaD:9 MaD:9 | -| test.rs:97:13:97:18 | target | test.rs:98:14:98:19 | target | provenance | | -| test.rs:97:22:97:41 | ...::read_link | test.rs:97:22:97:56 | ...::read_link(...) [future, Ok] | provenance | Src:MaD:15 | -| test.rs:97:22:97:56 | ...::read_link(...) [future, Ok] | test.rs:97:22:97:62 | await ... [Ok] | provenance | | -| test.rs:97:22:97:62 | await ... [Ok] | test.rs:97:22:97:63 | TryExpr | provenance | | -| test.rs:97:22:97:63 | TryExpr | test.rs:97:13:97:18 | target | provenance | | -| test.rs:107:9:107:16 | mut file | test.rs:111:22:111:25 | file | provenance | | -| test.rs:107:9:107:16 | mut file | test.rs:117:22:117:25 | file | provenance | | -| test.rs:107:9:107:16 | mut file | test.rs:123:22:123:25 | file | provenance | | -| test.rs:107:9:107:16 | mut file | test.rs:129:9:129:12 | file | provenance | | -| test.rs:107:9:107:16 | mut file | test.rs:133:17:133:20 | file | provenance | | -| test.rs:107:20:107:38 | ...::open | test.rs:107:20:107:50 | ...::open(...) [Ok] | provenance | Src:MaD:5 | -| test.rs:107:20:107:50 | ...::open(...) [Ok] | test.rs:107:20:107:51 | TryExpr | provenance | | -| test.rs:107:20:107:51 | TryExpr | test.rs:107:9:107:16 | mut file | provenance | | -| test.rs:111:22:111:25 | file | test.rs:111:32:111:42 | [post] &mut buffer [&ref] | provenance | MaD:23 | -| test.rs:111:32:111:42 | [post] &mut buffer [&ref] | test.rs:111:37:111:42 | [post] buffer | provenance | | -| test.rs:111:37:111:42 | [post] buffer | test.rs:112:15:112:20 | buffer | provenance | | -| test.rs:112:15:112:20 | buffer | test.rs:112:14:112:20 | &buffer | provenance | | -| test.rs:117:22:117:25 | file | test.rs:117:39:117:49 | [post] &mut buffer [&ref] | provenance | MaD:25 | -| test.rs:117:39:117:49 | [post] &mut buffer [&ref] | test.rs:117:44:117:49 | [post] buffer | provenance | | -| test.rs:117:44:117:49 | [post] buffer | test.rs:118:15:118:20 | buffer | provenance | | -| test.rs:118:15:118:20 | buffer | test.rs:118:14:118:20 | &buffer | provenance | | -| test.rs:123:22:123:25 | file | test.rs:123:42:123:52 | [post] &mut buffer [&ref] | provenance | MaD:26 | -| test.rs:123:42:123:52 | [post] &mut buffer [&ref] | test.rs:123:47:123:52 | [post] buffer | provenance | | -| test.rs:123:47:123:52 | [post] buffer | test.rs:124:15:124:20 | buffer | provenance | | -| test.rs:124:15:124:20 | buffer | test.rs:124:14:124:20 | &buffer | provenance | | -| test.rs:129:9:129:12 | file | test.rs:129:25:129:35 | [post] &mut buffer [&ref] | provenance | MaD:24 | -| test.rs:129:25:129:35 | [post] &mut buffer [&ref] | test.rs:129:30:129:35 | [post] buffer | provenance | | -| test.rs:129:30:129:35 | [post] buffer | test.rs:130:15:130:20 | buffer | provenance | | -| test.rs:130:15:130:20 | buffer | test.rs:130:14:130:20 | &buffer | provenance | | -| test.rs:133:17:133:20 | file | test.rs:133:17:133:28 | file.bytes() | provenance | MaD:20 | -| test.rs:133:17:133:28 | file.bytes() | test.rs:134:14:134:17 | byte | provenance | | -| test.rs:140:13:140:18 | mut f1 | test.rs:142:22:142:23 | f1 | provenance | | -| test.rs:140:22:140:63 | ... .open(...) [Ok] | test.rs:140:22:140:72 | ... .unwrap() | provenance | MaD:37 | -| test.rs:140:22:140:72 | ... .unwrap() | test.rs:140:13:140:18 | mut f1 | provenance | | -| test.rs:140:50:140:53 | open | test.rs:140:22:140:63 | ... .open(...) [Ok] | provenance | Src:MaD:6 | -| test.rs:142:22:142:23 | f1 | test.rs:142:30:142:40 | [post] &mut buffer [&ref] | provenance | MaD:23 | -| test.rs:142:30:142:40 | [post] &mut buffer [&ref] | test.rs:142:35:142:40 | [post] buffer | provenance | | -| test.rs:142:35:142:40 | [post] buffer | test.rs:143:15:143:20 | buffer | provenance | | -| test.rs:143:15:143:20 | buffer | test.rs:143:14:143:20 | &buffer | provenance | | -| test.rs:147:13:147:18 | mut f2 | test.rs:149:22:149:23 | f2 | provenance | | -| test.rs:147:22:147:80 | ... .open(...) [Ok] | test.rs:147:22:147:89 | ... .unwrap() | provenance | MaD:37 | -| test.rs:147:22:147:89 | ... .unwrap() | test.rs:147:13:147:18 | mut f2 | provenance | | -| test.rs:147:67:147:70 | open | test.rs:147:22:147:80 | ... .open(...) [Ok] | provenance | Src:MaD:6 | -| test.rs:149:22:149:23 | f2 | test.rs:149:30:149:40 | [post] &mut buffer [&ref] | provenance | MaD:23 | -| test.rs:149:30:149:40 | [post] &mut buffer [&ref] | test.rs:149:35:149:40 | [post] buffer | provenance | | -| test.rs:149:35:149:40 | [post] buffer | test.rs:150:15:150:20 | buffer | provenance | | -| test.rs:150:15:150:20 | buffer | test.rs:150:14:150:20 | &buffer | provenance | | -| test.rs:154:13:154:18 | mut f3 | test.rs:156:22:156:23 | f3 | provenance | | -| test.rs:154:22:154:114 | ... .open(...) [Ok] | test.rs:154:22:154:123 | ... .unwrap() | provenance | MaD:37 | -| test.rs:154:22:154:123 | ... .unwrap() | test.rs:154:13:154:18 | mut f3 | provenance | | -| test.rs:154:101:154:104 | open | test.rs:154:22:154:114 | ... .open(...) [Ok] | provenance | Src:MaD:6 | -| test.rs:156:22:156:23 | f3 | test.rs:156:30:156:40 | [post] &mut buffer [&ref] | provenance | MaD:23 | -| test.rs:156:30:156:40 | [post] &mut buffer [&ref] | test.rs:156:35:156:40 | [post] buffer | provenance | | -| test.rs:156:35:156:40 | [post] buffer | test.rs:157:15:157:20 | buffer | provenance | | -| test.rs:157:15:157:20 | buffer | test.rs:157:14:157:20 | &buffer | provenance | | -| test.rs:164:13:164:17 | file1 | test.rs:166:26:166:30 | file1 | provenance | | -| test.rs:164:21:164:39 | ...::open | test.rs:164:21:164:51 | ...::open(...) [Ok] | provenance | Src:MaD:5 | -| test.rs:164:21:164:51 | ...::open(...) [Ok] | test.rs:164:21:164:52 | TryExpr | provenance | | -| test.rs:164:21:164:52 | TryExpr | test.rs:164:13:164:17 | file1 | provenance | | -| test.rs:165:13:165:17 | file2 | test.rs:166:38:166:42 | file2 | provenance | | -| test.rs:165:21:165:39 | ...::open | test.rs:165:21:165:59 | ...::open(...) [Ok] | provenance | Src:MaD:5 | -| test.rs:165:21:165:59 | ...::open(...) [Ok] | test.rs:165:21:165:60 | TryExpr | provenance | | -| test.rs:165:21:165:60 | TryExpr | test.rs:165:13:165:17 | file2 | provenance | | -| test.rs:166:13:166:22 | mut reader | test.rs:167:9:167:14 | reader | provenance | | -| test.rs:166:26:166:30 | file1 | test.rs:166:26:166:43 | file1.chain(...) | provenance | MaD:22 | -| test.rs:166:26:166:43 | file1.chain(...) | test.rs:166:13:166:22 | mut reader | provenance | | -| test.rs:166:38:166:42 | file2 | test.rs:166:26:166:43 | file1.chain(...) | provenance | MaD:21 | -| test.rs:167:9:167:14 | reader | test.rs:167:31:167:41 | [post] &mut buffer [&ref] | provenance | MaD:26 | -| test.rs:167:31:167:41 | [post] &mut buffer [&ref] | test.rs:167:36:167:41 | [post] buffer | provenance | | -| test.rs:167:36:167:41 | [post] buffer | test.rs:168:15:168:20 | buffer | provenance | | -| test.rs:168:15:168:20 | buffer | test.rs:168:14:168:20 | &buffer | provenance | | -| test.rs:173:13:173:17 | file1 | test.rs:174:26:174:30 | file1 | provenance | | -| test.rs:173:21:173:39 | ...::open | test.rs:173:21:173:51 | ...::open(...) [Ok] | provenance | Src:MaD:5 | -| test.rs:173:21:173:51 | ...::open(...) [Ok] | test.rs:173:21:173:52 | TryExpr | provenance | | -| test.rs:173:21:173:52 | TryExpr | test.rs:173:13:173:17 | file1 | provenance | | -| test.rs:174:13:174:22 | mut reader | test.rs:175:9:175:14 | reader | provenance | | -| test.rs:174:26:174:30 | file1 | test.rs:174:26:174:40 | file1.take(...) | provenance | MaD:27 | -| test.rs:174:26:174:40 | file1.take(...) | test.rs:174:13:174:22 | mut reader | provenance | | -| test.rs:175:9:175:14 | reader | test.rs:175:31:175:41 | [post] &mut buffer [&ref] | provenance | MaD:26 | -| test.rs:175:31:175:41 | [post] &mut buffer [&ref] | test.rs:175:36:175:41 | [post] buffer | provenance | | -| test.rs:175:36:175:41 | [post] buffer | test.rs:176:15:176:20 | buffer | provenance | | -| test.rs:176:15:176:20 | buffer | test.rs:176:14:176:20 | &buffer | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:189:22:189:25 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:195:22:195:25 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:201:22:201:25 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:207:9:207:12 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:212:18:212:21 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:213:18:213:21 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:214:18:214:21 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:215:18:215:21 | file | provenance | | -| test.rs:185:9:185:16 | mut file | test.rs:224:9:224:12 | file | provenance | | -| test.rs:185:20:185:40 | ...::open | test.rs:185:20:185:52 | ...::open(...) [future, Ok] | provenance | Src:MaD:7 | -| test.rs:185:20:185:52 | ...::open(...) [future, Ok] | test.rs:185:20:185:58 | await ... [Ok] | provenance | | -| test.rs:185:20:185:58 | await ... [Ok] | test.rs:185:20:185:59 | TryExpr | provenance | | -| test.rs:185:20:185:59 | TryExpr | test.rs:185:9:185:16 | mut file | provenance | | -| test.rs:189:22:189:25 | file | test.rs:189:32:189:42 | [post] &mut buffer [&ref] | provenance | MaD:28 | -| test.rs:189:32:189:42 | [post] &mut buffer [&ref] | test.rs:189:37:189:42 | [post] buffer | provenance | | -| test.rs:189:37:189:42 | [post] buffer | test.rs:190:15:190:20 | buffer | provenance | | -| test.rs:190:15:190:20 | buffer | test.rs:190:14:190:20 | &buffer | provenance | | -| test.rs:195:22:195:25 | file | test.rs:195:39:195:49 | [post] &mut buffer [&ref] | provenance | MaD:34 | -| test.rs:195:39:195:49 | [post] &mut buffer [&ref] | test.rs:195:44:195:49 | [post] buffer | provenance | | -| test.rs:195:44:195:49 | [post] buffer | test.rs:196:15:196:20 | buffer | provenance | | -| test.rs:196:15:196:20 | buffer | test.rs:196:14:196:20 | &buffer | provenance | | -| test.rs:201:22:201:25 | file | test.rs:201:42:201:52 | [post] &mut buffer [&ref] | provenance | MaD:35 | -| test.rs:201:42:201:52 | [post] &mut buffer [&ref] | test.rs:201:47:201:52 | [post] buffer | provenance | | -| test.rs:201:47:201:52 | [post] buffer | test.rs:202:15:202:20 | buffer | provenance | | +| test.rs:46:14:46:22 | file_name | test.rs:46:14:46:30 | file_name.clone() | provenance | MaD:18 | +| test.rs:46:14:46:30 | file_name.clone() | test.rs:46:14:46:44 | ... .into_string() [Ok, String] | provenance | MaD:40 | +| test.rs:46:14:46:44 | ... .into_string() [Ok, String] | test.rs:46:14:46:53 | ... .unwrap() | provenance | MaD:39 | +| test.rs:47:14:47:22 | file_name | test.rs:47:14:47:31 | file_name.to_str() [Some, &ref] | provenance | MaD:19 | +| test.rs:47:14:47:31 | file_name.to_str() [Some, &ref] | test.rs:47:14:47:40 | ... .unwrap() | provenance | MaD:38 | +| test.rs:48:14:48:22 | file_name | test.rs:48:14:48:40 | file_name.to_string_lossy() [Owned] | provenance | MaD:19 | +| test.rs:48:14:48:40 | file_name.to_string_lossy() [Owned] | test.rs:48:14:48:49 | ... .to_mut() | provenance | MaD:37 | +| test.rs:49:14:49:22 | file_name | test.rs:49:14:49:30 | file_name.clone() | provenance | MaD:18 | +| test.rs:49:14:49:30 | file_name.clone() | test.rs:49:14:49:49 | ... .as_encoded_bytes() | provenance | MaD:19 | +| test.rs:68:13:68:18 | target | test.rs:69:14:69:19 | target | provenance | | +| test.rs:68:22:68:34 | ...::read_link | test.rs:68:22:68:49 | ...::read_link(...) [Ok] | provenance | Src:MaD:12 | +| test.rs:68:22:68:49 | ...::read_link(...) [Ok] | test.rs:68:22:68:50 | TryExpr | provenance | | +| test.rs:68:22:68:50 | TryExpr | test.rs:68:13:68:18 | target | provenance | | +| test.rs:77:13:77:18 | buffer | test.rs:78:14:78:19 | buffer | provenance | | +| test.rs:77:31:77:45 | ...::read | test.rs:77:31:77:57 | ...::read(...) [future, Ok] | provenance | Src:MaD:14 | +| test.rs:77:31:77:57 | ...::read(...) [future, Ok] | test.rs:77:31:77:63 | await ... [Ok] | provenance | | +| test.rs:77:31:77:63 | await ... [Ok] | test.rs:77:31:77:64 | TryExpr | provenance | | +| test.rs:77:31:77:64 | TryExpr | test.rs:77:13:77:18 | buffer | provenance | | +| test.rs:82:13:82:18 | buffer | test.rs:83:14:83:19 | buffer | provenance | | +| test.rs:82:31:82:45 | ...::read | test.rs:82:31:82:57 | ...::read(...) [future, Ok] | provenance | Src:MaD:14 | +| test.rs:82:31:82:57 | ...::read(...) [future, Ok] | test.rs:82:31:82:63 | await ... [Ok] | provenance | | +| test.rs:82:31:82:63 | await ... [Ok] | test.rs:82:31:82:64 | TryExpr | provenance | | +| test.rs:82:31:82:64 | TryExpr | test.rs:82:13:82:18 | buffer | provenance | | +| test.rs:87:13:87:18 | buffer | test.rs:88:14:88:19 | buffer | provenance | | +| test.rs:87:22:87:46 | ...::read_to_string | test.rs:87:22:87:58 | ...::read_to_string(...) [future, Ok] | provenance | Src:MaD:16 | +| test.rs:87:22:87:58 | ...::read_to_string(...) [future, Ok] | test.rs:87:22:87:64 | await ... [Ok] | provenance | | +| test.rs:87:22:87:64 | await ... [Ok] | test.rs:87:22:87:65 | TryExpr | provenance | | +| test.rs:87:22:87:65 | TryExpr | test.rs:87:13:87:18 | buffer | provenance | | +| test.rs:93:13:93:16 | path | test.rs:95:14:95:17 | path | provenance | | +| test.rs:93:20:93:31 | entry.path() | test.rs:93:13:93:16 | path | provenance | | +| test.rs:93:26:93:29 | path | test.rs:93:20:93:31 | entry.path() | provenance | Src:MaD:10 MaD:10 | +| test.rs:94:13:94:21 | file_name | test.rs:96:14:96:22 | file_name | provenance | | +| test.rs:94:25:94:41 | entry.file_name() | test.rs:94:13:94:21 | file_name | provenance | | +| test.rs:94:31:94:39 | file_name | test.rs:94:25:94:41 | entry.file_name() | provenance | Src:MaD:9 MaD:9 | +| test.rs:100:13:100:18 | target | test.rs:101:14:101:19 | target | provenance | | +| test.rs:100:22:100:41 | ...::read_link | test.rs:100:22:100:56 | ...::read_link(...) [future, Ok] | provenance | Src:MaD:15 | +| test.rs:100:22:100:56 | ...::read_link(...) [future, Ok] | test.rs:100:22:100:62 | await ... [Ok] | provenance | | +| test.rs:100:22:100:62 | await ... [Ok] | test.rs:100:22:100:63 | TryExpr | provenance | | +| test.rs:100:22:100:63 | TryExpr | test.rs:100:13:100:18 | target | provenance | | +| test.rs:110:9:110:16 | mut file | test.rs:114:22:114:25 | file | provenance | | +| test.rs:110:9:110:16 | mut file | test.rs:120:22:120:25 | file | provenance | | +| test.rs:110:9:110:16 | mut file | test.rs:126:22:126:25 | file | provenance | | +| test.rs:110:9:110:16 | mut file | test.rs:132:9:132:12 | file | provenance | | +| test.rs:110:9:110:16 | mut file | test.rs:136:17:136:20 | file | provenance | | +| test.rs:110:20:110:38 | ...::open | test.rs:110:20:110:50 | ...::open(...) [Ok] | provenance | Src:MaD:5 | +| test.rs:110:20:110:50 | ...::open(...) [Ok] | test.rs:110:20:110:51 | TryExpr | provenance | | +| test.rs:110:20:110:51 | TryExpr | test.rs:110:9:110:16 | mut file | provenance | | +| test.rs:114:22:114:25 | file | test.rs:114:32:114:42 | [post] &mut buffer [&ref] | provenance | MaD:23 | +| test.rs:114:32:114:42 | [post] &mut buffer [&ref] | test.rs:114:37:114:42 | [post] buffer | provenance | | +| test.rs:114:37:114:42 | [post] buffer | test.rs:115:15:115:20 | buffer | provenance | | +| test.rs:115:15:115:20 | buffer | test.rs:115:14:115:20 | &buffer | provenance | | +| test.rs:120:22:120:25 | file | test.rs:120:39:120:49 | [post] &mut buffer [&ref] | provenance | MaD:25 | +| test.rs:120:39:120:49 | [post] &mut buffer [&ref] | test.rs:120:44:120:49 | [post] buffer | provenance | | +| test.rs:120:44:120:49 | [post] buffer | test.rs:121:15:121:20 | buffer | provenance | | +| test.rs:121:15:121:20 | buffer | test.rs:121:14:121:20 | &buffer | provenance | | +| test.rs:126:22:126:25 | file | test.rs:126:42:126:52 | [post] &mut buffer [&ref] | provenance | MaD:26 | +| test.rs:126:42:126:52 | [post] &mut buffer [&ref] | test.rs:126:47:126:52 | [post] buffer | provenance | | +| test.rs:126:47:126:52 | [post] buffer | test.rs:127:15:127:20 | buffer | provenance | | +| test.rs:127:15:127:20 | buffer | test.rs:127:14:127:20 | &buffer | provenance | | +| test.rs:132:9:132:12 | file | test.rs:132:25:132:35 | [post] &mut buffer [&ref] | provenance | MaD:24 | +| test.rs:132:25:132:35 | [post] &mut buffer [&ref] | test.rs:132:30:132:35 | [post] buffer | provenance | | +| test.rs:132:30:132:35 | [post] buffer | test.rs:133:15:133:20 | buffer | provenance | | +| test.rs:133:15:133:20 | buffer | test.rs:133:14:133:20 | &buffer | provenance | | +| test.rs:136:17:136:20 | file | test.rs:136:17:136:28 | file.bytes() | provenance | MaD:20 | +| test.rs:136:17:136:28 | file.bytes() | test.rs:137:14:137:17 | byte | provenance | | +| test.rs:143:13:143:18 | mut f1 | test.rs:145:22:145:23 | f1 | provenance | | +| test.rs:143:22:143:63 | ... .open(...) [Ok] | test.rs:143:22:143:72 | ... .unwrap() | provenance | MaD:39 | +| test.rs:143:22:143:72 | ... .unwrap() | test.rs:143:13:143:18 | mut f1 | provenance | | +| test.rs:143:50:143:53 | open | test.rs:143:22:143:63 | ... .open(...) [Ok] | provenance | Src:MaD:6 | +| test.rs:145:22:145:23 | f1 | test.rs:145:30:145:40 | [post] &mut buffer [&ref] | provenance | MaD:23 | +| test.rs:145:30:145:40 | [post] &mut buffer [&ref] | test.rs:145:35:145:40 | [post] buffer | provenance | | +| test.rs:145:35:145:40 | [post] buffer | test.rs:146:15:146:20 | buffer | provenance | | +| test.rs:146:15:146:20 | buffer | test.rs:146:14:146:20 | &buffer | provenance | | +| test.rs:150:13:150:18 | mut f2 | test.rs:155:22:155:23 | f2 | provenance | | +| test.rs:150:22:152:27 | ... .open(...) [Ok] | test.rs:150:22:153:21 | ... .unwrap() | provenance | MaD:39 | +| test.rs:150:22:153:21 | ... .unwrap() | test.rs:150:13:150:18 | mut f2 | provenance | | +| test.rs:152:14:152:17 | open | test.rs:150:22:152:27 | ... .open(...) [Ok] | provenance | Src:MaD:6 | +| test.rs:155:22:155:23 | f2 | test.rs:155:30:155:40 | [post] &mut buffer [&ref] | provenance | MaD:23 | +| test.rs:155:30:155:40 | [post] &mut buffer [&ref] | test.rs:155:35:155:40 | [post] buffer | provenance | | +| test.rs:155:35:155:40 | [post] buffer | test.rs:156:15:156:20 | buffer | provenance | | +| test.rs:156:15:156:20 | buffer | test.rs:156:14:156:20 | &buffer | provenance | | +| test.rs:160:13:160:18 | mut f3 | test.rs:168:22:168:23 | f3 | provenance | | +| test.rs:160:22:165:27 | ... .open(...) [Ok] | test.rs:160:22:166:21 | ... .unwrap() | provenance | MaD:39 | +| test.rs:160:22:166:21 | ... .unwrap() | test.rs:160:13:160:18 | mut f3 | provenance | | +| test.rs:165:14:165:17 | open | test.rs:160:22:165:27 | ... .open(...) [Ok] | provenance | Src:MaD:6 | +| test.rs:168:22:168:23 | f3 | test.rs:168:30:168:40 | [post] &mut buffer [&ref] | provenance | MaD:23 | +| test.rs:168:30:168:40 | [post] &mut buffer [&ref] | test.rs:168:35:168:40 | [post] buffer | provenance | | +| test.rs:168:35:168:40 | [post] buffer | test.rs:169:15:169:20 | buffer | provenance | | +| test.rs:169:15:169:20 | buffer | test.rs:169:14:169:20 | &buffer | provenance | | +| test.rs:176:13:176:17 | file1 | test.rs:178:26:178:30 | file1 | provenance | | +| test.rs:176:21:176:39 | ...::open | test.rs:176:21:176:51 | ...::open(...) [Ok] | provenance | Src:MaD:5 | +| test.rs:176:21:176:51 | ...::open(...) [Ok] | test.rs:176:21:176:52 | TryExpr | provenance | | +| test.rs:176:21:176:52 | TryExpr | test.rs:176:13:176:17 | file1 | provenance | | +| test.rs:177:13:177:17 | file2 | test.rs:178:38:178:42 | file2 | provenance | | +| test.rs:177:21:177:39 | ...::open | test.rs:177:21:177:59 | ...::open(...) [Ok] | provenance | Src:MaD:5 | +| test.rs:177:21:177:59 | ...::open(...) [Ok] | test.rs:177:21:177:60 | TryExpr | provenance | | +| test.rs:177:21:177:60 | TryExpr | test.rs:177:13:177:17 | file2 | provenance | | +| test.rs:178:13:178:22 | mut reader | test.rs:179:9:179:14 | reader | provenance | | +| test.rs:178:26:178:30 | file1 | test.rs:178:26:178:43 | file1.chain(...) | provenance | MaD:22 | +| test.rs:178:26:178:43 | file1.chain(...) | test.rs:178:13:178:22 | mut reader | provenance | | +| test.rs:178:38:178:42 | file2 | test.rs:178:26:178:43 | file1.chain(...) | provenance | MaD:21 | +| test.rs:179:9:179:14 | reader | test.rs:179:31:179:41 | [post] &mut buffer [&ref] | provenance | MaD:26 | +| test.rs:179:31:179:41 | [post] &mut buffer [&ref] | test.rs:179:36:179:41 | [post] buffer | provenance | | +| test.rs:179:36:179:41 | [post] buffer | test.rs:180:15:180:20 | buffer | provenance | | +| test.rs:180:15:180:20 | buffer | test.rs:180:14:180:20 | &buffer | provenance | | +| test.rs:185:13:185:17 | file1 | test.rs:186:26:186:30 | file1 | provenance | | +| test.rs:185:21:185:39 | ...::open | test.rs:185:21:185:51 | ...::open(...) [Ok] | provenance | Src:MaD:5 | +| test.rs:185:21:185:51 | ...::open(...) [Ok] | test.rs:185:21:185:52 | TryExpr | provenance | | +| test.rs:185:21:185:52 | TryExpr | test.rs:185:13:185:17 | file1 | provenance | | +| test.rs:186:13:186:22 | mut reader | test.rs:187:9:187:14 | reader | provenance | | +| test.rs:186:26:186:30 | file1 | test.rs:186:26:186:40 | file1.take(...) | provenance | MaD:27 | +| test.rs:186:26:186:40 | file1.take(...) | test.rs:186:13:186:22 | mut reader | provenance | | +| test.rs:187:9:187:14 | reader | test.rs:187:31:187:41 | [post] &mut buffer [&ref] | provenance | MaD:26 | +| test.rs:187:31:187:41 | [post] &mut buffer [&ref] | test.rs:187:36:187:41 | [post] buffer | provenance | | +| test.rs:187:36:187:41 | [post] buffer | test.rs:188:15:188:20 | buffer | provenance | | +| test.rs:188:15:188:20 | buffer | test.rs:188:14:188:20 | &buffer | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:201:22:201:25 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:207:22:207:25 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:213:22:213:25 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:219:9:219:12 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:224:18:224:21 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:225:18:225:21 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:226:18:226:21 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:227:18:227:21 | file | provenance | | +| test.rs:197:9:197:16 | mut file | test.rs:236:9:236:12 | file | provenance | | +| test.rs:197:20:197:40 | ...::open | test.rs:197:20:197:52 | ...::open(...) [future, Ok] | provenance | Src:MaD:7 | +| test.rs:197:20:197:52 | ...::open(...) [future, Ok] | test.rs:197:20:197:58 | await ... [Ok] | provenance | | +| test.rs:197:20:197:58 | await ... [Ok] | test.rs:197:20:197:59 | TryExpr | provenance | | +| test.rs:197:20:197:59 | TryExpr | test.rs:197:9:197:16 | mut file | provenance | | +| test.rs:201:22:201:25 | file | test.rs:201:32:201:42 | [post] &mut buffer [&ref] | provenance | MaD:28 | +| test.rs:201:32:201:42 | [post] &mut buffer [&ref] | test.rs:201:37:201:42 | [post] buffer | provenance | | +| test.rs:201:37:201:42 | [post] buffer | test.rs:202:15:202:20 | buffer | provenance | | | test.rs:202:15:202:20 | buffer | test.rs:202:14:202:20 | &buffer | provenance | | -| test.rs:207:9:207:12 | file | test.rs:207:25:207:35 | [post] &mut buffer [&ref] | provenance | MaD:30 | -| test.rs:207:25:207:35 | [post] &mut buffer [&ref] | test.rs:207:30:207:35 | [post] buffer | provenance | | -| test.rs:207:30:207:35 | [post] buffer | test.rs:208:15:208:20 | buffer | provenance | | +| test.rs:207:22:207:25 | file | test.rs:207:39:207:49 | [post] &mut buffer [&ref] | provenance | MaD:34 | +| test.rs:207:39:207:49 | [post] &mut buffer [&ref] | test.rs:207:44:207:49 | [post] buffer | provenance | | +| test.rs:207:44:207:49 | [post] buffer | test.rs:208:15:208:20 | buffer | provenance | | | test.rs:208:15:208:20 | buffer | test.rs:208:14:208:20 | &buffer | provenance | | -| test.rs:212:13:212:14 | v1 | test.rs:216:14:216:15 | v1 | provenance | | -| test.rs:212:18:212:21 | file | test.rs:212:18:212:31 | file.read_u8() [future, Ok] | provenance | MaD:36 | -| test.rs:212:18:212:31 | file.read_u8() [future, Ok] | test.rs:212:18:212:37 | await ... [Ok] | provenance | | -| test.rs:212:18:212:37 | await ... [Ok] | test.rs:212:18:212:38 | TryExpr | provenance | | -| test.rs:212:18:212:38 | TryExpr | test.rs:212:13:212:14 | v1 | provenance | | -| test.rs:213:13:213:14 | v2 | test.rs:217:14:217:15 | v2 | provenance | | -| test.rs:213:18:213:21 | file | test.rs:213:18:213:32 | file.read_i16() [future, Ok] | provenance | MaD:32 | -| test.rs:213:18:213:32 | file.read_i16() [future, Ok] | test.rs:213:18:213:38 | await ... [Ok] | provenance | | -| test.rs:213:18:213:38 | await ... [Ok] | test.rs:213:18:213:39 | TryExpr | provenance | | -| test.rs:213:18:213:39 | TryExpr | test.rs:213:13:213:14 | v2 | provenance | | -| test.rs:214:13:214:14 | v3 | test.rs:218:14:218:15 | v3 | provenance | | -| test.rs:214:18:214:21 | file | test.rs:214:18:214:32 | file.read_f32() [future, Ok] | provenance | MaD:31 | -| test.rs:214:18:214:32 | file.read_f32() [future, Ok] | test.rs:214:18:214:38 | await ... [Ok] | provenance | | -| test.rs:214:18:214:38 | await ... [Ok] | test.rs:214:18:214:39 | TryExpr | provenance | | -| test.rs:214:18:214:39 | TryExpr | test.rs:214:13:214:14 | v3 | provenance | | -| test.rs:215:13:215:14 | v4 | test.rs:219:14:219:15 | v4 | provenance | | -| test.rs:215:18:215:21 | file | test.rs:215:18:215:35 | file.read_i64_le() [future, Ok] | provenance | MaD:33 | -| test.rs:215:18:215:35 | file.read_i64_le() [future, Ok] | test.rs:215:18:215:41 | await ... [Ok] | provenance | | -| test.rs:215:18:215:41 | await ... [Ok] | test.rs:215:18:215:42 | TryExpr | provenance | | -| test.rs:215:18:215:42 | TryExpr | test.rs:215:13:215:14 | v4 | provenance | | -| test.rs:224:9:224:12 | file | test.rs:224:23:224:33 | [post] &mut buffer [&ref] | provenance | MaD:29 | -| test.rs:224:23:224:33 | [post] &mut buffer [&ref] | test.rs:224:28:224:33 | [post] buffer | provenance | | -| test.rs:224:28:224:33 | [post] buffer | test.rs:225:15:225:20 | buffer | provenance | | -| test.rs:225:15:225:20 | buffer | test.rs:225:14:225:20 | &buffer | provenance | | -| test.rs:231:13:231:18 | mut f1 | test.rs:233:22:233:23 | f1 | provenance | | -| test.rs:231:22:231:65 | ... .open(...) [future, Ok] | test.rs:231:22:231:71 | await ... [Ok] | provenance | | -| test.rs:231:22:231:71 | await ... [Ok] | test.rs:231:22:231:72 | TryExpr | provenance | | -| test.rs:231:22:231:72 | TryExpr | test.rs:231:13:231:18 | mut f1 | provenance | | -| test.rs:231:52:231:55 | open | test.rs:231:22:231:65 | ... .open(...) [future, Ok] | provenance | Src:MaD:8 | -| test.rs:233:22:233:23 | f1 | test.rs:233:30:233:40 | [post] &mut buffer [&ref] | provenance | MaD:28 | -| test.rs:233:30:233:40 | [post] &mut buffer [&ref] | test.rs:233:35:233:40 | [post] buffer | provenance | | -| test.rs:233:35:233:40 | [post] buffer | test.rs:234:15:234:20 | buffer | provenance | | -| test.rs:234:15:234:20 | buffer | test.rs:234:14:234:20 | &buffer | provenance | | -| test.rs:262:9:262:16 | mut file | test.rs:266:22:266:25 | file | provenance | | -| test.rs:262:20:262:44 | ...::open | test.rs:262:20:262:56 | ...::open(...) [future, Ok] | provenance | Src:MaD:1 | -| test.rs:262:20:262:56 | ...::open(...) [future, Ok] | test.rs:262:20:262:62 | await ... [Ok] | provenance | | -| test.rs:262:20:262:62 | await ... [Ok] | test.rs:262:20:262:63 | TryExpr | provenance | | -| test.rs:262:20:262:63 | TryExpr | test.rs:262:9:262:16 | mut file | provenance | | -| test.rs:266:22:266:25 | file | test.rs:266:32:266:42 | [post] &mut buffer [&ref] | provenance | MaD:17 | -| test.rs:266:32:266:42 | [post] &mut buffer [&ref] | test.rs:266:37:266:42 | [post] buffer | provenance | | -| test.rs:266:37:266:42 | [post] buffer | test.rs:267:15:267:20 | buffer | provenance | | -| test.rs:267:15:267:20 | buffer | test.rs:267:14:267:20 | &buffer | provenance | | -| test.rs:273:13:273:18 | mut f1 | test.rs:275:22:275:23 | f1 | provenance | | -| test.rs:273:22:273:69 | ... .open(...) [future, Ok] | test.rs:273:22:273:75 | await ... [Ok] | provenance | | -| test.rs:273:22:273:75 | await ... [Ok] | test.rs:273:22:273:76 | TryExpr | provenance | | -| test.rs:273:22:273:76 | TryExpr | test.rs:273:13:273:18 | mut f1 | provenance | | -| test.rs:273:56:273:59 | open | test.rs:273:22:273:69 | ... .open(...) [future, Ok] | provenance | Src:MaD:2 | -| test.rs:275:22:275:23 | f1 | test.rs:275:30:275:40 | [post] &mut buffer [&ref] | provenance | MaD:17 | -| test.rs:275:30:275:40 | [post] &mut buffer [&ref] | test.rs:275:35:275:40 | [post] buffer | provenance | | -| test.rs:275:35:275:40 | [post] buffer | test.rs:276:15:276:20 | buffer | provenance | | -| test.rs:276:15:276:20 | buffer | test.rs:276:14:276:20 | &buffer | provenance | | +| test.rs:213:22:213:25 | file | test.rs:213:42:213:52 | [post] &mut buffer [&ref] | provenance | MaD:35 | +| test.rs:213:42:213:52 | [post] &mut buffer [&ref] | test.rs:213:47:213:52 | [post] buffer | provenance | | +| test.rs:213:47:213:52 | [post] buffer | test.rs:214:15:214:20 | buffer | provenance | | +| test.rs:214:15:214:20 | buffer | test.rs:214:14:214:20 | &buffer | provenance | | +| test.rs:219:9:219:12 | file | test.rs:219:25:219:35 | [post] &mut buffer [&ref] | provenance | MaD:30 | +| test.rs:219:25:219:35 | [post] &mut buffer [&ref] | test.rs:219:30:219:35 | [post] buffer | provenance | | +| test.rs:219:30:219:35 | [post] buffer | test.rs:220:15:220:20 | buffer | provenance | | +| test.rs:220:15:220:20 | buffer | test.rs:220:14:220:20 | &buffer | provenance | | +| test.rs:224:13:224:14 | v1 | test.rs:228:14:228:15 | v1 | provenance | | +| test.rs:224:18:224:21 | file | test.rs:224:18:224:31 | file.read_u8() [future, Ok] | provenance | MaD:36 | +| test.rs:224:18:224:31 | file.read_u8() [future, Ok] | test.rs:224:18:224:37 | await ... [Ok] | provenance | | +| test.rs:224:18:224:37 | await ... [Ok] | test.rs:224:18:224:38 | TryExpr | provenance | | +| test.rs:224:18:224:38 | TryExpr | test.rs:224:13:224:14 | v1 | provenance | | +| test.rs:225:13:225:14 | v2 | test.rs:229:14:229:15 | v2 | provenance | | +| test.rs:225:18:225:21 | file | test.rs:225:18:225:32 | file.read_i16() [future, Ok] | provenance | MaD:32 | +| test.rs:225:18:225:32 | file.read_i16() [future, Ok] | test.rs:225:18:225:38 | await ... [Ok] | provenance | | +| test.rs:225:18:225:38 | await ... [Ok] | test.rs:225:18:225:39 | TryExpr | provenance | | +| test.rs:225:18:225:39 | TryExpr | test.rs:225:13:225:14 | v2 | provenance | | +| test.rs:226:13:226:14 | v3 | test.rs:230:14:230:15 | v3 | provenance | | +| test.rs:226:18:226:21 | file | test.rs:226:18:226:32 | file.read_f32() [future, Ok] | provenance | MaD:31 | +| test.rs:226:18:226:32 | file.read_f32() [future, Ok] | test.rs:226:18:226:38 | await ... [Ok] | provenance | | +| test.rs:226:18:226:38 | await ... [Ok] | test.rs:226:18:226:39 | TryExpr | provenance | | +| test.rs:226:18:226:39 | TryExpr | test.rs:226:13:226:14 | v3 | provenance | | +| test.rs:227:13:227:14 | v4 | test.rs:231:14:231:15 | v4 | provenance | | +| test.rs:227:18:227:21 | file | test.rs:227:18:227:35 | file.read_i64_le() [future, Ok] | provenance | MaD:33 | +| test.rs:227:18:227:35 | file.read_i64_le() [future, Ok] | test.rs:227:18:227:41 | await ... [Ok] | provenance | | +| test.rs:227:18:227:41 | await ... [Ok] | test.rs:227:18:227:42 | TryExpr | provenance | | +| test.rs:227:18:227:42 | TryExpr | test.rs:227:13:227:14 | v4 | provenance | | +| test.rs:236:9:236:12 | file | test.rs:236:23:236:33 | [post] &mut buffer [&ref] | provenance | MaD:29 | +| test.rs:236:23:236:33 | [post] &mut buffer [&ref] | test.rs:236:28:236:33 | [post] buffer | provenance | | +| test.rs:236:28:236:33 | [post] buffer | test.rs:237:15:237:20 | buffer | provenance | | +| test.rs:237:15:237:20 | buffer | test.rs:237:14:237:20 | &buffer | provenance | | +| test.rs:243:13:243:18 | mut f1 | test.rs:245:22:245:23 | f1 | provenance | | +| test.rs:243:22:243:65 | ... .open(...) [future, Ok] | test.rs:243:22:243:71 | await ... [Ok] | provenance | | +| test.rs:243:22:243:71 | await ... [Ok] | test.rs:243:22:243:72 | TryExpr | provenance | | +| test.rs:243:22:243:72 | TryExpr | test.rs:243:13:243:18 | mut f1 | provenance | | +| test.rs:243:52:243:55 | open | test.rs:243:22:243:65 | ... .open(...) [future, Ok] | provenance | Src:MaD:8 | +| test.rs:245:22:245:23 | f1 | test.rs:245:30:245:40 | [post] &mut buffer [&ref] | provenance | MaD:28 | +| test.rs:245:30:245:40 | [post] &mut buffer [&ref] | test.rs:245:35:245:40 | [post] buffer | provenance | | +| test.rs:245:35:245:40 | [post] buffer | test.rs:246:15:246:20 | buffer | provenance | | +| test.rs:246:15:246:20 | buffer | test.rs:246:14:246:20 | &buffer | provenance | | +| test.rs:274:9:274:16 | mut file | test.rs:278:22:278:25 | file | provenance | | +| test.rs:274:20:274:44 | ...::open | test.rs:274:20:274:56 | ...::open(...) [future, Ok] | provenance | Src:MaD:1 | +| test.rs:274:20:274:56 | ...::open(...) [future, Ok] | test.rs:274:20:274:62 | await ... [Ok] | provenance | | +| test.rs:274:20:274:62 | await ... [Ok] | test.rs:274:20:274:63 | TryExpr | provenance | | +| test.rs:274:20:274:63 | TryExpr | test.rs:274:9:274:16 | mut file | provenance | | +| test.rs:278:22:278:25 | file | test.rs:278:32:278:42 | [post] &mut buffer [&ref] | provenance | MaD:17 | +| test.rs:278:32:278:42 | [post] &mut buffer [&ref] | test.rs:278:37:278:42 | [post] buffer | provenance | | +| test.rs:278:37:278:42 | [post] buffer | test.rs:279:15:279:20 | buffer | provenance | | +| test.rs:279:15:279:20 | buffer | test.rs:279:14:279:20 | &buffer | provenance | | +| test.rs:285:13:285:18 | mut f1 | test.rs:287:22:287:23 | f1 | provenance | | +| test.rs:285:22:285:69 | ... .open(...) [future, Ok] | test.rs:285:22:285:75 | await ... [Ok] | provenance | | +| test.rs:285:22:285:75 | await ... [Ok] | test.rs:285:22:285:76 | TryExpr | provenance | | +| test.rs:285:22:285:76 | TryExpr | test.rs:285:13:285:18 | mut f1 | provenance | | +| test.rs:285:56:285:59 | open | test.rs:285:22:285:69 | ... .open(...) [future, Ok] | provenance | Src:MaD:2 | +| test.rs:287:22:287:23 | f1 | test.rs:287:30:287:40 | [post] &mut buffer [&ref] | provenance | MaD:17 | +| test.rs:287:30:287:40 | [post] &mut buffer [&ref] | test.rs:287:35:287:40 | [post] buffer | provenance | | +| test.rs:287:35:287:40 | [post] buffer | test.rs:288:15:288:20 | buffer | provenance | | +| test.rs:288:15:288:20 | buffer | test.rs:288:14:288:20 | &buffer | provenance | | nodes | test.rs:12:13:12:18 | buffer | semmle.label | buffer | | test.rs:12:31:12:43 | ...::read | semmle.label | ...::read | @@ -274,272 +319,315 @@ nodes | test.rs:22:22:22:51 | ...::read_to_string(...) [Ok] | semmle.label | ...::read_to_string(...) [Ok] | | test.rs:22:22:22:52 | TryExpr | semmle.label | TryExpr | | test.rs:23:14:23:19 | buffer | semmle.label | buffer | -| test.rs:29:13:29:16 | path | semmle.label | path | -| test.rs:29:20:29:27 | e.path() | semmle.label | e.path() | -| test.rs:29:22:29:25 | path | semmle.label | path | -| test.rs:30:14:30:17 | path | semmle.label | path | -| test.rs:30:14:30:25 | path.clone() | semmle.label | path.clone() | +| test.rs:30:13:30:16 | path | semmle.label | path | +| test.rs:30:20:30:27 | e.path() | semmle.label | e.path() | +| test.rs:30:22:30:25 | path | semmle.label | path | | test.rs:31:14:31:17 | path | semmle.label | path | | test.rs:31:14:31:25 | path.clone() | semmle.label | path.clone() | -| test.rs:31:14:31:35 | ... .as_path() | semmle.label | ... .as_path() | +| test.rs:32:14:32:17 | path | semmle.label | path | +| test.rs:32:14:32:25 | path.clone() | semmle.label | path.clone() | +| test.rs:32:14:32:35 | ... .as_path() | semmle.label | ... .as_path() | +| test.rs:33:14:33:17 | path | semmle.label | path | +| test.rs:33:14:33:25 | path.clone() | semmle.label | path.clone() | +| test.rs:33:14:33:42 | ... .into_os_string() | semmle.label | ... .into_os_string() | +| test.rs:34:14:34:69 | ...::from(...) | semmle.label | ...::from(...) | +| test.rs:34:39:34:42 | path | semmle.label | path | +| test.rs:34:39:34:50 | path.clone() | semmle.label | path.clone() | +| test.rs:34:39:34:68 | ... .into_boxed_path() [Box(0)] | semmle.label | ... .into_boxed_path() [Box(0)] | +| test.rs:35:14:35:17 | path | semmle.label | path | +| test.rs:35:14:35:25 | path.clone() | semmle.label | path.clone() | +| test.rs:35:14:35:37 | ... .as_os_str() | semmle.label | ... .as_os_str() | +| test.rs:36:14:36:17 | path | semmle.label | path | +| test.rs:36:14:36:25 | path.clone() | semmle.label | path.clone() | +| test.rs:36:14:36:41 | ... .as_mut_os_str() | semmle.label | ... .as_mut_os_str() | +| test.rs:37:14:37:17 | path | semmle.label | path | +| test.rs:37:14:37:26 | path.to_str() | semmle.label | path.to_str() | +| test.rs:38:14:38:17 | path | semmle.label | path | +| test.rs:38:14:38:31 | path.to_path_buf() | semmle.label | path.to_path_buf() | +| test.rs:39:14:39:17 | path | semmle.label | path | +| test.rs:39:14:39:29 | path.file_name() [Some, &ref] | semmle.label | path.file_name() [Some, &ref] | +| test.rs:39:14:39:38 | ... .unwrap() | semmle.label | ... .unwrap() | | test.rs:40:14:40:17 | path | semmle.label | path | -| test.rs:40:14:40:32 | path.canonicalize() [Ok] | semmle.label | path.canonicalize() [Ok] | -| test.rs:40:14:40:41 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:40:14:40:29 | path.extension() [Some, &ref] | semmle.label | path.extension() [Some, &ref] | +| test.rs:40:14:40:38 | ... .unwrap() | semmle.label | ... .unwrap() | | test.rs:41:14:41:17 | path | semmle.label | path | -| test.rs:43:13:43:21 | file_name | semmle.label | file_name | -| test.rs:43:25:43:37 | e.file_name() | semmle.label | e.file_name() | -| test.rs:43:27:43:35 | file_name | semmle.label | file_name | -| test.rs:44:14:44:22 | file_name | semmle.label | file_name | -| test.rs:44:14:44:30 | file_name.clone() | semmle.label | file_name.clone() | +| test.rs:41:14:41:32 | path.canonicalize() [Ok] | semmle.label | path.canonicalize() [Ok] | +| test.rs:41:14:41:41 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:42:14:42:17 | path | semmle.label | path | +| test.rs:44:13:44:21 | file_name | semmle.label | file_name | +| test.rs:44:25:44:37 | e.file_name() | semmle.label | e.file_name() | +| test.rs:44:27:44:35 | file_name | semmle.label | file_name | | test.rs:45:14:45:22 | file_name | semmle.label | file_name | | test.rs:45:14:45:30 | file_name.clone() | semmle.label | file_name.clone() | -| test.rs:45:14:45:44 | ... .into_string() [Ok, String] | semmle.label | ... .into_string() [Ok, String] | -| test.rs:45:14:45:53 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:46:14:46:22 | file_name | semmle.label | file_name | +| test.rs:46:14:46:30 | file_name.clone() | semmle.label | file_name.clone() | +| test.rs:46:14:46:44 | ... .into_string() [Ok, String] | semmle.label | ... .into_string() [Ok, String] | +| test.rs:46:14:46:53 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:47:14:47:22 | file_name | semmle.label | file_name | +| test.rs:47:14:47:31 | file_name.to_str() [Some, &ref] | semmle.label | file_name.to_str() [Some, &ref] | +| test.rs:47:14:47:40 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:48:14:48:22 | file_name | semmle.label | file_name | +| test.rs:48:14:48:40 | file_name.to_string_lossy() [Owned] | semmle.label | file_name.to_string_lossy() [Owned] | +| test.rs:48:14:48:49 | ... .to_mut() | semmle.label | ... .to_mut() | | test.rs:49:14:49:22 | file_name | semmle.label | file_name | -| test.rs:65:13:65:18 | target | semmle.label | target | -| test.rs:65:22:65:34 | ...::read_link | semmle.label | ...::read_link | -| test.rs:65:22:65:49 | ...::read_link(...) [Ok] | semmle.label | ...::read_link(...) [Ok] | -| test.rs:65:22:65:50 | TryExpr | semmle.label | TryExpr | -| test.rs:66:14:66:19 | target | semmle.label | target | -| test.rs:74:13:74:18 | buffer | semmle.label | buffer | -| test.rs:74:31:74:45 | ...::read | semmle.label | ...::read | -| test.rs:74:31:74:57 | ...::read(...) [future, Ok] | semmle.label | ...::read(...) [future, Ok] | -| test.rs:74:31:74:63 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:74:31:74:64 | TryExpr | semmle.label | TryExpr | -| test.rs:75:14:75:19 | buffer | semmle.label | buffer | -| test.rs:79:13:79:18 | buffer | semmle.label | buffer | -| test.rs:79:31:79:45 | ...::read | semmle.label | ...::read | -| test.rs:79:31:79:57 | ...::read(...) [future, Ok] | semmle.label | ...::read(...) [future, Ok] | -| test.rs:79:31:79:63 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:79:31:79:64 | TryExpr | semmle.label | TryExpr | -| test.rs:80:14:80:19 | buffer | semmle.label | buffer | -| test.rs:84:13:84:18 | buffer | semmle.label | buffer | -| test.rs:84:22:84:46 | ...::read_to_string | semmle.label | ...::read_to_string | -| test.rs:84:22:84:58 | ...::read_to_string(...) [future, Ok] | semmle.label | ...::read_to_string(...) [future, Ok] | -| test.rs:84:22:84:64 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:84:22:84:65 | TryExpr | semmle.label | TryExpr | -| test.rs:85:14:85:19 | buffer | semmle.label | buffer | -| test.rs:90:13:90:16 | path | semmle.label | path | -| test.rs:90:20:90:31 | entry.path() | semmle.label | entry.path() | -| test.rs:90:26:90:29 | path | semmle.label | path | -| test.rs:91:13:91:21 | file_name | semmle.label | file_name | -| test.rs:91:25:91:41 | entry.file_name() | semmle.label | entry.file_name() | -| test.rs:91:31:91:39 | file_name | semmle.label | file_name | -| test.rs:92:14:92:17 | path | semmle.label | path | -| test.rs:93:14:93:22 | file_name | semmle.label | file_name | -| test.rs:97:13:97:18 | target | semmle.label | target | -| test.rs:97:22:97:41 | ...::read_link | semmle.label | ...::read_link | -| test.rs:97:22:97:56 | ...::read_link(...) [future, Ok] | semmle.label | ...::read_link(...) [future, Ok] | -| test.rs:97:22:97:62 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:97:22:97:63 | TryExpr | semmle.label | TryExpr | -| test.rs:98:14:98:19 | target | semmle.label | target | -| test.rs:107:9:107:16 | mut file | semmle.label | mut file | -| test.rs:107:20:107:38 | ...::open | semmle.label | ...::open | -| test.rs:107:20:107:50 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | -| test.rs:107:20:107:51 | TryExpr | semmle.label | TryExpr | -| test.rs:111:22:111:25 | file | semmle.label | file | -| test.rs:111:32:111:42 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:111:37:111:42 | [post] buffer | semmle.label | [post] buffer | -| test.rs:112:14:112:20 | &buffer | semmle.label | &buffer | -| test.rs:112:15:112:20 | buffer | semmle.label | buffer | -| test.rs:117:22:117:25 | file | semmle.label | file | -| test.rs:117:39:117:49 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:117:44:117:49 | [post] buffer | semmle.label | [post] buffer | -| test.rs:118:14:118:20 | &buffer | semmle.label | &buffer | -| test.rs:118:15:118:20 | buffer | semmle.label | buffer | -| test.rs:123:22:123:25 | file | semmle.label | file | -| test.rs:123:42:123:52 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:123:47:123:52 | [post] buffer | semmle.label | [post] buffer | -| test.rs:124:14:124:20 | &buffer | semmle.label | &buffer | -| test.rs:124:15:124:20 | buffer | semmle.label | buffer | -| test.rs:129:9:129:12 | file | semmle.label | file | -| test.rs:129:25:129:35 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:129:30:129:35 | [post] buffer | semmle.label | [post] buffer | -| test.rs:130:14:130:20 | &buffer | semmle.label | &buffer | -| test.rs:130:15:130:20 | buffer | semmle.label | buffer | -| test.rs:133:17:133:20 | file | semmle.label | file | -| test.rs:133:17:133:28 | file.bytes() | semmle.label | file.bytes() | -| test.rs:134:14:134:17 | byte | semmle.label | byte | -| test.rs:140:13:140:18 | mut f1 | semmle.label | mut f1 | -| test.rs:140:22:140:63 | ... .open(...) [Ok] | semmle.label | ... .open(...) [Ok] | -| test.rs:140:22:140:72 | ... .unwrap() | semmle.label | ... .unwrap() | -| test.rs:140:50:140:53 | open | semmle.label | open | -| test.rs:142:22:142:23 | f1 | semmle.label | f1 | -| test.rs:142:30:142:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:142:35:142:40 | [post] buffer | semmle.label | [post] buffer | -| test.rs:143:14:143:20 | &buffer | semmle.label | &buffer | -| test.rs:143:15:143:20 | buffer | semmle.label | buffer | -| test.rs:147:13:147:18 | mut f2 | semmle.label | mut f2 | -| test.rs:147:22:147:80 | ... .open(...) [Ok] | semmle.label | ... .open(...) [Ok] | -| test.rs:147:22:147:89 | ... .unwrap() | semmle.label | ... .unwrap() | -| test.rs:147:67:147:70 | open | semmle.label | open | -| test.rs:149:22:149:23 | f2 | semmle.label | f2 | -| test.rs:149:30:149:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:149:35:149:40 | [post] buffer | semmle.label | [post] buffer | -| test.rs:150:14:150:20 | &buffer | semmle.label | &buffer | -| test.rs:150:15:150:20 | buffer | semmle.label | buffer | -| test.rs:154:13:154:18 | mut f3 | semmle.label | mut f3 | -| test.rs:154:22:154:114 | ... .open(...) [Ok] | semmle.label | ... .open(...) [Ok] | -| test.rs:154:22:154:123 | ... .unwrap() | semmle.label | ... .unwrap() | -| test.rs:154:101:154:104 | open | semmle.label | open | -| test.rs:156:22:156:23 | f3 | semmle.label | f3 | -| test.rs:156:30:156:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:156:35:156:40 | [post] buffer | semmle.label | [post] buffer | -| test.rs:157:14:157:20 | &buffer | semmle.label | &buffer | -| test.rs:157:15:157:20 | buffer | semmle.label | buffer | -| test.rs:164:13:164:17 | file1 | semmle.label | file1 | -| test.rs:164:21:164:39 | ...::open | semmle.label | ...::open | -| test.rs:164:21:164:51 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | -| test.rs:164:21:164:52 | TryExpr | semmle.label | TryExpr | -| test.rs:165:13:165:17 | file2 | semmle.label | file2 | -| test.rs:165:21:165:39 | ...::open | semmle.label | ...::open | -| test.rs:165:21:165:59 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | -| test.rs:165:21:165:60 | TryExpr | semmle.label | TryExpr | -| test.rs:166:13:166:22 | mut reader | semmle.label | mut reader | -| test.rs:166:26:166:30 | file1 | semmle.label | file1 | -| test.rs:166:26:166:43 | file1.chain(...) | semmle.label | file1.chain(...) | -| test.rs:166:38:166:42 | file2 | semmle.label | file2 | -| test.rs:167:9:167:14 | reader | semmle.label | reader | -| test.rs:167:31:167:41 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:167:36:167:41 | [post] buffer | semmle.label | [post] buffer | -| test.rs:168:14:168:20 | &buffer | semmle.label | &buffer | -| test.rs:168:15:168:20 | buffer | semmle.label | buffer | -| test.rs:173:13:173:17 | file1 | semmle.label | file1 | -| test.rs:173:21:173:39 | ...::open | semmle.label | ...::open | -| test.rs:173:21:173:51 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | -| test.rs:173:21:173:52 | TryExpr | semmle.label | TryExpr | -| test.rs:174:13:174:22 | mut reader | semmle.label | mut reader | -| test.rs:174:26:174:30 | file1 | semmle.label | file1 | -| test.rs:174:26:174:40 | file1.take(...) | semmle.label | file1.take(...) | -| test.rs:175:9:175:14 | reader | semmle.label | reader | -| test.rs:175:31:175:41 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:175:36:175:41 | [post] buffer | semmle.label | [post] buffer | -| test.rs:176:14:176:20 | &buffer | semmle.label | &buffer | -| test.rs:176:15:176:20 | buffer | semmle.label | buffer | -| test.rs:185:9:185:16 | mut file | semmle.label | mut file | -| test.rs:185:20:185:40 | ...::open | semmle.label | ...::open | -| test.rs:185:20:185:52 | ...::open(...) [future, Ok] | semmle.label | ...::open(...) [future, Ok] | -| test.rs:185:20:185:58 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:185:20:185:59 | TryExpr | semmle.label | TryExpr | -| test.rs:189:22:189:25 | file | semmle.label | file | -| test.rs:189:32:189:42 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:189:37:189:42 | [post] buffer | semmle.label | [post] buffer | -| test.rs:190:14:190:20 | &buffer | semmle.label | &buffer | -| test.rs:190:15:190:20 | buffer | semmle.label | buffer | -| test.rs:195:22:195:25 | file | semmle.label | file | -| test.rs:195:39:195:49 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:195:44:195:49 | [post] buffer | semmle.label | [post] buffer | -| test.rs:196:14:196:20 | &buffer | semmle.label | &buffer | -| test.rs:196:15:196:20 | buffer | semmle.label | buffer | +| test.rs:49:14:49:30 | file_name.clone() | semmle.label | file_name.clone() | +| test.rs:49:14:49:49 | ... .as_encoded_bytes() | semmle.label | ... .as_encoded_bytes() | +| test.rs:50:14:50:22 | file_name | semmle.label | file_name | +| test.rs:68:13:68:18 | target | semmle.label | target | +| test.rs:68:22:68:34 | ...::read_link | semmle.label | ...::read_link | +| test.rs:68:22:68:49 | ...::read_link(...) [Ok] | semmle.label | ...::read_link(...) [Ok] | +| test.rs:68:22:68:50 | TryExpr | semmle.label | TryExpr | +| test.rs:69:14:69:19 | target | semmle.label | target | +| test.rs:77:13:77:18 | buffer | semmle.label | buffer | +| test.rs:77:31:77:45 | ...::read | semmle.label | ...::read | +| test.rs:77:31:77:57 | ...::read(...) [future, Ok] | semmle.label | ...::read(...) [future, Ok] | +| test.rs:77:31:77:63 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:77:31:77:64 | TryExpr | semmle.label | TryExpr | +| test.rs:78:14:78:19 | buffer | semmle.label | buffer | +| test.rs:82:13:82:18 | buffer | semmle.label | buffer | +| test.rs:82:31:82:45 | ...::read | semmle.label | ...::read | +| test.rs:82:31:82:57 | ...::read(...) [future, Ok] | semmle.label | ...::read(...) [future, Ok] | +| test.rs:82:31:82:63 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:82:31:82:64 | TryExpr | semmle.label | TryExpr | +| test.rs:83:14:83:19 | buffer | semmle.label | buffer | +| test.rs:87:13:87:18 | buffer | semmle.label | buffer | +| test.rs:87:22:87:46 | ...::read_to_string | semmle.label | ...::read_to_string | +| test.rs:87:22:87:58 | ...::read_to_string(...) [future, Ok] | semmle.label | ...::read_to_string(...) [future, Ok] | +| test.rs:87:22:87:64 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:87:22:87:65 | TryExpr | semmle.label | TryExpr | +| test.rs:88:14:88:19 | buffer | semmle.label | buffer | +| test.rs:93:13:93:16 | path | semmle.label | path | +| test.rs:93:20:93:31 | entry.path() | semmle.label | entry.path() | +| test.rs:93:26:93:29 | path | semmle.label | path | +| test.rs:94:13:94:21 | file_name | semmle.label | file_name | +| test.rs:94:25:94:41 | entry.file_name() | semmle.label | entry.file_name() | +| test.rs:94:31:94:39 | file_name | semmle.label | file_name | +| test.rs:95:14:95:17 | path | semmle.label | path | +| test.rs:96:14:96:22 | file_name | semmle.label | file_name | +| test.rs:100:13:100:18 | target | semmle.label | target | +| test.rs:100:22:100:41 | ...::read_link | semmle.label | ...::read_link | +| test.rs:100:22:100:56 | ...::read_link(...) [future, Ok] | semmle.label | ...::read_link(...) [future, Ok] | +| test.rs:100:22:100:62 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:100:22:100:63 | TryExpr | semmle.label | TryExpr | +| test.rs:101:14:101:19 | target | semmle.label | target | +| test.rs:110:9:110:16 | mut file | semmle.label | mut file | +| test.rs:110:20:110:38 | ...::open | semmle.label | ...::open | +| test.rs:110:20:110:50 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | +| test.rs:110:20:110:51 | TryExpr | semmle.label | TryExpr | +| test.rs:114:22:114:25 | file | semmle.label | file | +| test.rs:114:32:114:42 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:114:37:114:42 | [post] buffer | semmle.label | [post] buffer | +| test.rs:115:14:115:20 | &buffer | semmle.label | &buffer | +| test.rs:115:15:115:20 | buffer | semmle.label | buffer | +| test.rs:120:22:120:25 | file | semmle.label | file | +| test.rs:120:39:120:49 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:120:44:120:49 | [post] buffer | semmle.label | [post] buffer | +| test.rs:121:14:121:20 | &buffer | semmle.label | &buffer | +| test.rs:121:15:121:20 | buffer | semmle.label | buffer | +| test.rs:126:22:126:25 | file | semmle.label | file | +| test.rs:126:42:126:52 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:126:47:126:52 | [post] buffer | semmle.label | [post] buffer | +| test.rs:127:14:127:20 | &buffer | semmle.label | &buffer | +| test.rs:127:15:127:20 | buffer | semmle.label | buffer | +| test.rs:132:9:132:12 | file | semmle.label | file | +| test.rs:132:25:132:35 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:132:30:132:35 | [post] buffer | semmle.label | [post] buffer | +| test.rs:133:14:133:20 | &buffer | semmle.label | &buffer | +| test.rs:133:15:133:20 | buffer | semmle.label | buffer | +| test.rs:136:17:136:20 | file | semmle.label | file | +| test.rs:136:17:136:28 | file.bytes() | semmle.label | file.bytes() | +| test.rs:137:14:137:17 | byte | semmle.label | byte | +| test.rs:143:13:143:18 | mut f1 | semmle.label | mut f1 | +| test.rs:143:22:143:63 | ... .open(...) [Ok] | semmle.label | ... .open(...) [Ok] | +| test.rs:143:22:143:72 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:143:50:143:53 | open | semmle.label | open | +| test.rs:145:22:145:23 | f1 | semmle.label | f1 | +| test.rs:145:30:145:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:145:35:145:40 | [post] buffer | semmle.label | [post] buffer | +| test.rs:146:14:146:20 | &buffer | semmle.label | &buffer | +| test.rs:146:15:146:20 | buffer | semmle.label | buffer | +| test.rs:150:13:150:18 | mut f2 | semmle.label | mut f2 | +| test.rs:150:22:152:27 | ... .open(...) [Ok] | semmle.label | ... .open(...) [Ok] | +| test.rs:150:22:153:21 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:152:14:152:17 | open | semmle.label | open | +| test.rs:155:22:155:23 | f2 | semmle.label | f2 | +| test.rs:155:30:155:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:155:35:155:40 | [post] buffer | semmle.label | [post] buffer | +| test.rs:156:14:156:20 | &buffer | semmle.label | &buffer | +| test.rs:156:15:156:20 | buffer | semmle.label | buffer | +| test.rs:160:13:160:18 | mut f3 | semmle.label | mut f3 | +| test.rs:160:22:165:27 | ... .open(...) [Ok] | semmle.label | ... .open(...) [Ok] | +| test.rs:160:22:166:21 | ... .unwrap() | semmle.label | ... .unwrap() | +| test.rs:165:14:165:17 | open | semmle.label | open | +| test.rs:168:22:168:23 | f3 | semmle.label | f3 | +| test.rs:168:30:168:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:168:35:168:40 | [post] buffer | semmle.label | [post] buffer | +| test.rs:169:14:169:20 | &buffer | semmle.label | &buffer | +| test.rs:169:15:169:20 | buffer | semmle.label | buffer | +| test.rs:176:13:176:17 | file1 | semmle.label | file1 | +| test.rs:176:21:176:39 | ...::open | semmle.label | ...::open | +| test.rs:176:21:176:51 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | +| test.rs:176:21:176:52 | TryExpr | semmle.label | TryExpr | +| test.rs:177:13:177:17 | file2 | semmle.label | file2 | +| test.rs:177:21:177:39 | ...::open | semmle.label | ...::open | +| test.rs:177:21:177:59 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | +| test.rs:177:21:177:60 | TryExpr | semmle.label | TryExpr | +| test.rs:178:13:178:22 | mut reader | semmle.label | mut reader | +| test.rs:178:26:178:30 | file1 | semmle.label | file1 | +| test.rs:178:26:178:43 | file1.chain(...) | semmle.label | file1.chain(...) | +| test.rs:178:38:178:42 | file2 | semmle.label | file2 | +| test.rs:179:9:179:14 | reader | semmle.label | reader | +| test.rs:179:31:179:41 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:179:36:179:41 | [post] buffer | semmle.label | [post] buffer | +| test.rs:180:14:180:20 | &buffer | semmle.label | &buffer | +| test.rs:180:15:180:20 | buffer | semmle.label | buffer | +| test.rs:185:13:185:17 | file1 | semmle.label | file1 | +| test.rs:185:21:185:39 | ...::open | semmle.label | ...::open | +| test.rs:185:21:185:51 | ...::open(...) [Ok] | semmle.label | ...::open(...) [Ok] | +| test.rs:185:21:185:52 | TryExpr | semmle.label | TryExpr | +| test.rs:186:13:186:22 | mut reader | semmle.label | mut reader | +| test.rs:186:26:186:30 | file1 | semmle.label | file1 | +| test.rs:186:26:186:40 | file1.take(...) | semmle.label | file1.take(...) | +| test.rs:187:9:187:14 | reader | semmle.label | reader | +| test.rs:187:31:187:41 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:187:36:187:41 | [post] buffer | semmle.label | [post] buffer | +| test.rs:188:14:188:20 | &buffer | semmle.label | &buffer | +| test.rs:188:15:188:20 | buffer | semmle.label | buffer | +| test.rs:197:9:197:16 | mut file | semmle.label | mut file | +| test.rs:197:20:197:40 | ...::open | semmle.label | ...::open | +| test.rs:197:20:197:52 | ...::open(...) [future, Ok] | semmle.label | ...::open(...) [future, Ok] | +| test.rs:197:20:197:58 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:197:20:197:59 | TryExpr | semmle.label | TryExpr | | test.rs:201:22:201:25 | file | semmle.label | file | -| test.rs:201:42:201:52 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:201:47:201:52 | [post] buffer | semmle.label | [post] buffer | +| test.rs:201:32:201:42 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:201:37:201:42 | [post] buffer | semmle.label | [post] buffer | | test.rs:202:14:202:20 | &buffer | semmle.label | &buffer | | test.rs:202:15:202:20 | buffer | semmle.label | buffer | -| test.rs:207:9:207:12 | file | semmle.label | file | -| test.rs:207:25:207:35 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:207:30:207:35 | [post] buffer | semmle.label | [post] buffer | +| test.rs:207:22:207:25 | file | semmle.label | file | +| test.rs:207:39:207:49 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:207:44:207:49 | [post] buffer | semmle.label | [post] buffer | | test.rs:208:14:208:20 | &buffer | semmle.label | &buffer | | test.rs:208:15:208:20 | buffer | semmle.label | buffer | -| test.rs:212:13:212:14 | v1 | semmle.label | v1 | -| test.rs:212:18:212:21 | file | semmle.label | file | -| test.rs:212:18:212:31 | file.read_u8() [future, Ok] | semmle.label | file.read_u8() [future, Ok] | -| test.rs:212:18:212:37 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:212:18:212:38 | TryExpr | semmle.label | TryExpr | -| test.rs:213:13:213:14 | v2 | semmle.label | v2 | -| test.rs:213:18:213:21 | file | semmle.label | file | -| test.rs:213:18:213:32 | file.read_i16() [future, Ok] | semmle.label | file.read_i16() [future, Ok] | -| test.rs:213:18:213:38 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:213:18:213:39 | TryExpr | semmle.label | TryExpr | -| test.rs:214:13:214:14 | v3 | semmle.label | v3 | -| test.rs:214:18:214:21 | file | semmle.label | file | -| test.rs:214:18:214:32 | file.read_f32() [future, Ok] | semmle.label | file.read_f32() [future, Ok] | -| test.rs:214:18:214:38 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:214:18:214:39 | TryExpr | semmle.label | TryExpr | -| test.rs:215:13:215:14 | v4 | semmle.label | v4 | -| test.rs:215:18:215:21 | file | semmle.label | file | -| test.rs:215:18:215:35 | file.read_i64_le() [future, Ok] | semmle.label | file.read_i64_le() [future, Ok] | -| test.rs:215:18:215:41 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:215:18:215:42 | TryExpr | semmle.label | TryExpr | -| test.rs:216:14:216:15 | v1 | semmle.label | v1 | -| test.rs:217:14:217:15 | v2 | semmle.label | v2 | -| test.rs:218:14:218:15 | v3 | semmle.label | v3 | -| test.rs:219:14:219:15 | v4 | semmle.label | v4 | -| test.rs:224:9:224:12 | file | semmle.label | file | -| test.rs:224:23:224:33 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:224:28:224:33 | [post] buffer | semmle.label | [post] buffer | -| test.rs:225:14:225:20 | &buffer | semmle.label | &buffer | -| test.rs:225:15:225:20 | buffer | semmle.label | buffer | -| test.rs:231:13:231:18 | mut f1 | semmle.label | mut f1 | -| test.rs:231:22:231:65 | ... .open(...) [future, Ok] | semmle.label | ... .open(...) [future, Ok] | -| test.rs:231:22:231:71 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:231:22:231:72 | TryExpr | semmle.label | TryExpr | -| test.rs:231:52:231:55 | open | semmle.label | open | -| test.rs:233:22:233:23 | f1 | semmle.label | f1 | -| test.rs:233:30:233:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:233:35:233:40 | [post] buffer | semmle.label | [post] buffer | -| test.rs:234:14:234:20 | &buffer | semmle.label | &buffer | -| test.rs:234:15:234:20 | buffer | semmle.label | buffer | -| test.rs:262:9:262:16 | mut file | semmle.label | mut file | -| test.rs:262:20:262:44 | ...::open | semmle.label | ...::open | -| test.rs:262:20:262:56 | ...::open(...) [future, Ok] | semmle.label | ...::open(...) [future, Ok] | -| test.rs:262:20:262:62 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:262:20:262:63 | TryExpr | semmle.label | TryExpr | -| test.rs:266:22:266:25 | file | semmle.label | file | -| test.rs:266:32:266:42 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:266:37:266:42 | [post] buffer | semmle.label | [post] buffer | -| test.rs:267:14:267:20 | &buffer | semmle.label | &buffer | -| test.rs:267:15:267:20 | buffer | semmle.label | buffer | -| test.rs:273:13:273:18 | mut f1 | semmle.label | mut f1 | -| test.rs:273:22:273:69 | ... .open(...) [future, Ok] | semmle.label | ... .open(...) [future, Ok] | -| test.rs:273:22:273:75 | await ... [Ok] | semmle.label | await ... [Ok] | -| test.rs:273:22:273:76 | TryExpr | semmle.label | TryExpr | -| test.rs:273:56:273:59 | open | semmle.label | open | -| test.rs:275:22:275:23 | f1 | semmle.label | f1 | -| test.rs:275:30:275:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | -| test.rs:275:35:275:40 | [post] buffer | semmle.label | [post] buffer | -| test.rs:276:14:276:20 | &buffer | semmle.label | &buffer | -| test.rs:276:15:276:20 | buffer | semmle.label | buffer | +| test.rs:213:22:213:25 | file | semmle.label | file | +| test.rs:213:42:213:52 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:213:47:213:52 | [post] buffer | semmle.label | [post] buffer | +| test.rs:214:14:214:20 | &buffer | semmle.label | &buffer | +| test.rs:214:15:214:20 | buffer | semmle.label | buffer | +| test.rs:219:9:219:12 | file | semmle.label | file | +| test.rs:219:25:219:35 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:219:30:219:35 | [post] buffer | semmle.label | [post] buffer | +| test.rs:220:14:220:20 | &buffer | semmle.label | &buffer | +| test.rs:220:15:220:20 | buffer | semmle.label | buffer | +| test.rs:224:13:224:14 | v1 | semmle.label | v1 | +| test.rs:224:18:224:21 | file | semmle.label | file | +| test.rs:224:18:224:31 | file.read_u8() [future, Ok] | semmle.label | file.read_u8() [future, Ok] | +| test.rs:224:18:224:37 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:224:18:224:38 | TryExpr | semmle.label | TryExpr | +| test.rs:225:13:225:14 | v2 | semmle.label | v2 | +| test.rs:225:18:225:21 | file | semmle.label | file | +| test.rs:225:18:225:32 | file.read_i16() [future, Ok] | semmle.label | file.read_i16() [future, Ok] | +| test.rs:225:18:225:38 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:225:18:225:39 | TryExpr | semmle.label | TryExpr | +| test.rs:226:13:226:14 | v3 | semmle.label | v3 | +| test.rs:226:18:226:21 | file | semmle.label | file | +| test.rs:226:18:226:32 | file.read_f32() [future, Ok] | semmle.label | file.read_f32() [future, Ok] | +| test.rs:226:18:226:38 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:226:18:226:39 | TryExpr | semmle.label | TryExpr | +| test.rs:227:13:227:14 | v4 | semmle.label | v4 | +| test.rs:227:18:227:21 | file | semmle.label | file | +| test.rs:227:18:227:35 | file.read_i64_le() [future, Ok] | semmle.label | file.read_i64_le() [future, Ok] | +| test.rs:227:18:227:41 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:227:18:227:42 | TryExpr | semmle.label | TryExpr | +| test.rs:228:14:228:15 | v1 | semmle.label | v1 | +| test.rs:229:14:229:15 | v2 | semmle.label | v2 | +| test.rs:230:14:230:15 | v3 | semmle.label | v3 | +| test.rs:231:14:231:15 | v4 | semmle.label | v4 | +| test.rs:236:9:236:12 | file | semmle.label | file | +| test.rs:236:23:236:33 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:236:28:236:33 | [post] buffer | semmle.label | [post] buffer | +| test.rs:237:14:237:20 | &buffer | semmle.label | &buffer | +| test.rs:237:15:237:20 | buffer | semmle.label | buffer | +| test.rs:243:13:243:18 | mut f1 | semmle.label | mut f1 | +| test.rs:243:22:243:65 | ... .open(...) [future, Ok] | semmle.label | ... .open(...) [future, Ok] | +| test.rs:243:22:243:71 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:243:22:243:72 | TryExpr | semmle.label | TryExpr | +| test.rs:243:52:243:55 | open | semmle.label | open | +| test.rs:245:22:245:23 | f1 | semmle.label | f1 | +| test.rs:245:30:245:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:245:35:245:40 | [post] buffer | semmle.label | [post] buffer | +| test.rs:246:14:246:20 | &buffer | semmle.label | &buffer | +| test.rs:246:15:246:20 | buffer | semmle.label | buffer | +| test.rs:274:9:274:16 | mut file | semmle.label | mut file | +| test.rs:274:20:274:44 | ...::open | semmle.label | ...::open | +| test.rs:274:20:274:56 | ...::open(...) [future, Ok] | semmle.label | ...::open(...) [future, Ok] | +| test.rs:274:20:274:62 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:274:20:274:63 | TryExpr | semmle.label | TryExpr | +| test.rs:278:22:278:25 | file | semmle.label | file | +| test.rs:278:32:278:42 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:278:37:278:42 | [post] buffer | semmle.label | [post] buffer | +| test.rs:279:14:279:20 | &buffer | semmle.label | &buffer | +| test.rs:279:15:279:20 | buffer | semmle.label | buffer | +| test.rs:285:13:285:18 | mut f1 | semmle.label | mut f1 | +| test.rs:285:22:285:69 | ... .open(...) [future, Ok] | semmle.label | ... .open(...) [future, Ok] | +| test.rs:285:22:285:75 | await ... [Ok] | semmle.label | await ... [Ok] | +| test.rs:285:22:285:76 | TryExpr | semmle.label | TryExpr | +| test.rs:285:56:285:59 | open | semmle.label | open | +| test.rs:287:22:287:23 | f1 | semmle.label | f1 | +| test.rs:287:30:287:40 | [post] &mut buffer [&ref] | semmle.label | [post] &mut buffer [&ref] | +| test.rs:287:35:287:40 | [post] buffer | semmle.label | [post] buffer | +| test.rs:288:14:288:20 | &buffer | semmle.label | &buffer | +| test.rs:288:15:288:20 | buffer | semmle.label | buffer | subpaths testFailures #select | test.rs:13:14:13:19 | buffer | test.rs:12:31:12:43 | ...::read | test.rs:13:14:13:19 | buffer | $@ | test.rs:12:31:12:43 | ...::read | ...::read | | test.rs:18:14:18:19 | buffer | test.rs:17:31:17:38 | ...::read | test.rs:18:14:18:19 | buffer | $@ | test.rs:17:31:17:38 | ...::read | ...::read | | test.rs:23:14:23:19 | buffer | test.rs:22:22:22:39 | ...::read_to_string | test.rs:23:14:23:19 | buffer | $@ | test.rs:22:22:22:39 | ...::read_to_string | ...::read_to_string | -| test.rs:30:14:30:25 | path.clone() | test.rs:29:22:29:25 | path | test.rs:30:14:30:25 | path.clone() | $@ | test.rs:29:22:29:25 | path | path | -| test.rs:31:14:31:35 | ... .as_path() | test.rs:29:22:29:25 | path | test.rs:31:14:31:35 | ... .as_path() | $@ | test.rs:29:22:29:25 | path | path | -| test.rs:40:14:40:41 | ... .unwrap() | test.rs:29:22:29:25 | path | test.rs:40:14:40:41 | ... .unwrap() | $@ | test.rs:29:22:29:25 | path | path | -| test.rs:41:14:41:17 | path | test.rs:29:22:29:25 | path | test.rs:41:14:41:17 | path | $@ | test.rs:29:22:29:25 | path | path | -| test.rs:44:14:44:30 | file_name.clone() | test.rs:43:27:43:35 | file_name | test.rs:44:14:44:30 | file_name.clone() | $@ | test.rs:43:27:43:35 | file_name | file_name | -| test.rs:45:14:45:53 | ... .unwrap() | test.rs:43:27:43:35 | file_name | test.rs:45:14:45:53 | ... .unwrap() | $@ | test.rs:43:27:43:35 | file_name | file_name | -| test.rs:49:14:49:22 | file_name | test.rs:43:27:43:35 | file_name | test.rs:49:14:49:22 | file_name | $@ | test.rs:43:27:43:35 | file_name | file_name | -| test.rs:66:14:66:19 | target | test.rs:65:22:65:34 | ...::read_link | test.rs:66:14:66:19 | target | $@ | test.rs:65:22:65:34 | ...::read_link | ...::read_link | -| test.rs:75:14:75:19 | buffer | test.rs:74:31:74:45 | ...::read | test.rs:75:14:75:19 | buffer | $@ | test.rs:74:31:74:45 | ...::read | ...::read | -| test.rs:80:14:80:19 | buffer | test.rs:79:31:79:45 | ...::read | test.rs:80:14:80:19 | buffer | $@ | test.rs:79:31:79:45 | ...::read | ...::read | -| test.rs:85:14:85:19 | buffer | test.rs:84:22:84:46 | ...::read_to_string | test.rs:85:14:85:19 | buffer | $@ | test.rs:84:22:84:46 | ...::read_to_string | ...::read_to_string | -| test.rs:92:14:92:17 | path | test.rs:90:26:90:29 | path | test.rs:92:14:92:17 | path | $@ | test.rs:90:26:90:29 | path | path | -| test.rs:93:14:93:22 | file_name | test.rs:91:31:91:39 | file_name | test.rs:93:14:93:22 | file_name | $@ | test.rs:91:31:91:39 | file_name | file_name | -| test.rs:98:14:98:19 | target | test.rs:97:22:97:41 | ...::read_link | test.rs:98:14:98:19 | target | $@ | test.rs:97:22:97:41 | ...::read_link | ...::read_link | -| test.rs:112:14:112:20 | &buffer | test.rs:107:20:107:38 | ...::open | test.rs:112:14:112:20 | &buffer | $@ | test.rs:107:20:107:38 | ...::open | ...::open | -| test.rs:118:14:118:20 | &buffer | test.rs:107:20:107:38 | ...::open | test.rs:118:14:118:20 | &buffer | $@ | test.rs:107:20:107:38 | ...::open | ...::open | -| test.rs:124:14:124:20 | &buffer | test.rs:107:20:107:38 | ...::open | test.rs:124:14:124:20 | &buffer | $@ | test.rs:107:20:107:38 | ...::open | ...::open | -| test.rs:130:14:130:20 | &buffer | test.rs:107:20:107:38 | ...::open | test.rs:130:14:130:20 | &buffer | $@ | test.rs:107:20:107:38 | ...::open | ...::open | -| test.rs:134:14:134:17 | byte | test.rs:107:20:107:38 | ...::open | test.rs:134:14:134:17 | byte | $@ | test.rs:107:20:107:38 | ...::open | ...::open | -| test.rs:143:14:143:20 | &buffer | test.rs:140:50:140:53 | open | test.rs:143:14:143:20 | &buffer | $@ | test.rs:140:50:140:53 | open | open | -| test.rs:150:14:150:20 | &buffer | test.rs:147:67:147:70 | open | test.rs:150:14:150:20 | &buffer | $@ | test.rs:147:67:147:70 | open | open | -| test.rs:157:14:157:20 | &buffer | test.rs:154:101:154:104 | open | test.rs:157:14:157:20 | &buffer | $@ | test.rs:154:101:154:104 | open | open | -| test.rs:168:14:168:20 | &buffer | test.rs:164:21:164:39 | ...::open | test.rs:168:14:168:20 | &buffer | $@ | test.rs:164:21:164:39 | ...::open | ...::open | -| test.rs:168:14:168:20 | &buffer | test.rs:165:21:165:39 | ...::open | test.rs:168:14:168:20 | &buffer | $@ | test.rs:165:21:165:39 | ...::open | ...::open | -| test.rs:176:14:176:20 | &buffer | test.rs:173:21:173:39 | ...::open | test.rs:176:14:176:20 | &buffer | $@ | test.rs:173:21:173:39 | ...::open | ...::open | -| test.rs:190:14:190:20 | &buffer | test.rs:185:20:185:40 | ...::open | test.rs:190:14:190:20 | &buffer | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:196:14:196:20 | &buffer | test.rs:185:20:185:40 | ...::open | test.rs:196:14:196:20 | &buffer | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:202:14:202:20 | &buffer | test.rs:185:20:185:40 | ...::open | test.rs:202:14:202:20 | &buffer | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:208:14:208:20 | &buffer | test.rs:185:20:185:40 | ...::open | test.rs:208:14:208:20 | &buffer | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:216:14:216:15 | v1 | test.rs:185:20:185:40 | ...::open | test.rs:216:14:216:15 | v1 | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:217:14:217:15 | v2 | test.rs:185:20:185:40 | ...::open | test.rs:217:14:217:15 | v2 | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:218:14:218:15 | v3 | test.rs:185:20:185:40 | ...::open | test.rs:218:14:218:15 | v3 | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:219:14:219:15 | v4 | test.rs:185:20:185:40 | ...::open | test.rs:219:14:219:15 | v4 | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:225:14:225:20 | &buffer | test.rs:185:20:185:40 | ...::open | test.rs:225:14:225:20 | &buffer | $@ | test.rs:185:20:185:40 | ...::open | ...::open | -| test.rs:234:14:234:20 | &buffer | test.rs:231:52:231:55 | open | test.rs:234:14:234:20 | &buffer | $@ | test.rs:231:52:231:55 | open | open | -| test.rs:267:14:267:20 | &buffer | test.rs:262:20:262:44 | ...::open | test.rs:267:14:267:20 | &buffer | $@ | test.rs:262:20:262:44 | ...::open | ...::open | -| test.rs:276:14:276:20 | &buffer | test.rs:273:56:273:59 | open | test.rs:276:14:276:20 | &buffer | $@ | test.rs:273:56:273:59 | open | open | +| test.rs:31:14:31:25 | path.clone() | test.rs:30:22:30:25 | path | test.rs:31:14:31:25 | path.clone() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:32:14:32:35 | ... .as_path() | test.rs:30:22:30:25 | path | test.rs:32:14:32:35 | ... .as_path() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:33:14:33:42 | ... .into_os_string() | test.rs:30:22:30:25 | path | test.rs:33:14:33:42 | ... .into_os_string() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:34:14:34:69 | ...::from(...) | test.rs:30:22:30:25 | path | test.rs:34:14:34:69 | ...::from(...) | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:35:14:35:37 | ... .as_os_str() | test.rs:30:22:30:25 | path | test.rs:35:14:35:37 | ... .as_os_str() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:36:14:36:41 | ... .as_mut_os_str() | test.rs:30:22:30:25 | path | test.rs:36:14:36:41 | ... .as_mut_os_str() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:37:14:37:26 | path.to_str() | test.rs:30:22:30:25 | path | test.rs:37:14:37:26 | path.to_str() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:38:14:38:31 | path.to_path_buf() | test.rs:30:22:30:25 | path | test.rs:38:14:38:31 | path.to_path_buf() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:39:14:39:38 | ... .unwrap() | test.rs:30:22:30:25 | path | test.rs:39:14:39:38 | ... .unwrap() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:40:14:40:38 | ... .unwrap() | test.rs:30:22:30:25 | path | test.rs:40:14:40:38 | ... .unwrap() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:41:14:41:41 | ... .unwrap() | test.rs:30:22:30:25 | path | test.rs:41:14:41:41 | ... .unwrap() | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:42:14:42:17 | path | test.rs:30:22:30:25 | path | test.rs:42:14:42:17 | path | $@ | test.rs:30:22:30:25 | path | path | +| test.rs:45:14:45:30 | file_name.clone() | test.rs:44:27:44:35 | file_name | test.rs:45:14:45:30 | file_name.clone() | $@ | test.rs:44:27:44:35 | file_name | file_name | +| test.rs:46:14:46:53 | ... .unwrap() | test.rs:44:27:44:35 | file_name | test.rs:46:14:46:53 | ... .unwrap() | $@ | test.rs:44:27:44:35 | file_name | file_name | +| test.rs:47:14:47:40 | ... .unwrap() | test.rs:44:27:44:35 | file_name | test.rs:47:14:47:40 | ... .unwrap() | $@ | test.rs:44:27:44:35 | file_name | file_name | +| test.rs:48:14:48:49 | ... .to_mut() | test.rs:44:27:44:35 | file_name | test.rs:48:14:48:49 | ... .to_mut() | $@ | test.rs:44:27:44:35 | file_name | file_name | +| test.rs:49:14:49:49 | ... .as_encoded_bytes() | test.rs:44:27:44:35 | file_name | test.rs:49:14:49:49 | ... .as_encoded_bytes() | $@ | test.rs:44:27:44:35 | file_name | file_name | +| test.rs:50:14:50:22 | file_name | test.rs:44:27:44:35 | file_name | test.rs:50:14:50:22 | file_name | $@ | test.rs:44:27:44:35 | file_name | file_name | +| test.rs:69:14:69:19 | target | test.rs:68:22:68:34 | ...::read_link | test.rs:69:14:69:19 | target | $@ | test.rs:68:22:68:34 | ...::read_link | ...::read_link | +| test.rs:78:14:78:19 | buffer | test.rs:77:31:77:45 | ...::read | test.rs:78:14:78:19 | buffer | $@ | test.rs:77:31:77:45 | ...::read | ...::read | +| test.rs:83:14:83:19 | buffer | test.rs:82:31:82:45 | ...::read | test.rs:83:14:83:19 | buffer | $@ | test.rs:82:31:82:45 | ...::read | ...::read | +| test.rs:88:14:88:19 | buffer | test.rs:87:22:87:46 | ...::read_to_string | test.rs:88:14:88:19 | buffer | $@ | test.rs:87:22:87:46 | ...::read_to_string | ...::read_to_string | +| test.rs:95:14:95:17 | path | test.rs:93:26:93:29 | path | test.rs:95:14:95:17 | path | $@ | test.rs:93:26:93:29 | path | path | +| test.rs:96:14:96:22 | file_name | test.rs:94:31:94:39 | file_name | test.rs:96:14:96:22 | file_name | $@ | test.rs:94:31:94:39 | file_name | file_name | +| test.rs:101:14:101:19 | target | test.rs:100:22:100:41 | ...::read_link | test.rs:101:14:101:19 | target | $@ | test.rs:100:22:100:41 | ...::read_link | ...::read_link | +| test.rs:115:14:115:20 | &buffer | test.rs:110:20:110:38 | ...::open | test.rs:115:14:115:20 | &buffer | $@ | test.rs:110:20:110:38 | ...::open | ...::open | +| test.rs:121:14:121:20 | &buffer | test.rs:110:20:110:38 | ...::open | test.rs:121:14:121:20 | &buffer | $@ | test.rs:110:20:110:38 | ...::open | ...::open | +| test.rs:127:14:127:20 | &buffer | test.rs:110:20:110:38 | ...::open | test.rs:127:14:127:20 | &buffer | $@ | test.rs:110:20:110:38 | ...::open | ...::open | +| test.rs:133:14:133:20 | &buffer | test.rs:110:20:110:38 | ...::open | test.rs:133:14:133:20 | &buffer | $@ | test.rs:110:20:110:38 | ...::open | ...::open | +| test.rs:137:14:137:17 | byte | test.rs:110:20:110:38 | ...::open | test.rs:137:14:137:17 | byte | $@ | test.rs:110:20:110:38 | ...::open | ...::open | +| test.rs:146:14:146:20 | &buffer | test.rs:143:50:143:53 | open | test.rs:146:14:146:20 | &buffer | $@ | test.rs:143:50:143:53 | open | open | +| test.rs:156:14:156:20 | &buffer | test.rs:152:14:152:17 | open | test.rs:156:14:156:20 | &buffer | $@ | test.rs:152:14:152:17 | open | open | +| test.rs:169:14:169:20 | &buffer | test.rs:165:14:165:17 | open | test.rs:169:14:169:20 | &buffer | $@ | test.rs:165:14:165:17 | open | open | +| test.rs:180:14:180:20 | &buffer | test.rs:176:21:176:39 | ...::open | test.rs:180:14:180:20 | &buffer | $@ | test.rs:176:21:176:39 | ...::open | ...::open | +| test.rs:180:14:180:20 | &buffer | test.rs:177:21:177:39 | ...::open | test.rs:180:14:180:20 | &buffer | $@ | test.rs:177:21:177:39 | ...::open | ...::open | +| test.rs:188:14:188:20 | &buffer | test.rs:185:21:185:39 | ...::open | test.rs:188:14:188:20 | &buffer | $@ | test.rs:185:21:185:39 | ...::open | ...::open | +| test.rs:202:14:202:20 | &buffer | test.rs:197:20:197:40 | ...::open | test.rs:202:14:202:20 | &buffer | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:208:14:208:20 | &buffer | test.rs:197:20:197:40 | ...::open | test.rs:208:14:208:20 | &buffer | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:214:14:214:20 | &buffer | test.rs:197:20:197:40 | ...::open | test.rs:214:14:214:20 | &buffer | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:220:14:220:20 | &buffer | test.rs:197:20:197:40 | ...::open | test.rs:220:14:220:20 | &buffer | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:228:14:228:15 | v1 | test.rs:197:20:197:40 | ...::open | test.rs:228:14:228:15 | v1 | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:229:14:229:15 | v2 | test.rs:197:20:197:40 | ...::open | test.rs:229:14:229:15 | v2 | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:230:14:230:15 | v3 | test.rs:197:20:197:40 | ...::open | test.rs:230:14:230:15 | v3 | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:231:14:231:15 | v4 | test.rs:197:20:197:40 | ...::open | test.rs:231:14:231:15 | v4 | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:237:14:237:20 | &buffer | test.rs:197:20:197:40 | ...::open | test.rs:237:14:237:20 | &buffer | $@ | test.rs:197:20:197:40 | ...::open | ...::open | +| test.rs:246:14:246:20 | &buffer | test.rs:243:52:243:55 | open | test.rs:246:14:246:20 | &buffer | $@ | test.rs:243:52:243:55 | open | open | +| test.rs:279:14:279:20 | &buffer | test.rs:274:20:274:44 | ...::open | test.rs:279:14:279:20 | &buffer | $@ | test.rs:274:20:274:44 | ...::open | ...::open | +| test.rs:288:14:288:20 | &buffer | test.rs:285:56:285:59 | open | test.rs:288:14:288:20 | &buffer | $@ | test.rs:285:56:285:59 | open | open | diff --git a/rust/ql/test/library-tests/dataflow/sources/file/TaintSources.expected b/rust/ql/test/library-tests/dataflow/sources/file/TaintSources.expected index dd1b94de717..dc17269abe8 100644 --- a/rust/ql/test/library-tests/dataflow/sources/file/TaintSources.expected +++ b/rust/ql/test/library-tests/dataflow/sources/file/TaintSources.expected @@ -1,33 +1,33 @@ | test.rs:12:31:12:43 | ...::read | Flow source 'FileSource' of type file (DEFAULT). | | test.rs:17:31:17:38 | ...::read | Flow source 'FileSource' of type file (DEFAULT). | | test.rs:22:22:22:39 | ...::read_to_string | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:26:18:26:29 | ...::read_dir | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:29:22:29:25 | path | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:43:27:43:35 | file_name | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:51:52:51:59 | read_dir | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:54:22:54:25 | path | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:55:27:55:35 | file_name | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:57:56:57:63 | read_dir | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:60:22:60:25 | path | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:61:27:61:35 | file_name | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:65:22:65:34 | ...::read_link | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:74:31:74:45 | ...::read | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:79:31:79:45 | ...::read | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:84:22:84:46 | ...::read_to_string | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:90:26:90:29 | path | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:91:31:91:39 | file_name | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:97:22:97:41 | ...::read_link | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:107:20:107:38 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:140:50:140:53 | open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:147:67:147:70 | open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:154:101:154:104 | open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:164:21:164:39 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:165:21:165:39 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:173:21:173:39 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:185:20:185:40 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:231:52:231:55 | open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:241:21:241:41 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:242:21:242:41 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:250:21:250:41 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:262:20:262:44 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | -| test.rs:273:56:273:59 | open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:27:26:27:37 | ...::read_dir | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:30:22:30:25 | path | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:44:27:44:35 | file_name | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:53:60:53:67 | read_dir | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:56:22:56:25 | path | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:57:27:57:35 | file_name | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:60:64:60:71 | read_dir | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:63:22:63:25 | path | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:64:27:64:35 | file_name | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:68:22:68:34 | ...::read_link | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:77:31:77:45 | ...::read | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:82:31:82:45 | ...::read | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:87:22:87:46 | ...::read_to_string | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:93:26:93:29 | path | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:94:31:94:39 | file_name | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:100:22:100:41 | ...::read_link | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:110:20:110:38 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:143:50:143:53 | open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:152:14:152:17 | open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:165:14:165:17 | open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:176:21:176:39 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:177:21:177:39 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:185:21:185:39 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:197:20:197:40 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:243:52:243:55 | open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:253:21:253:41 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:254:21:254:41 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:262:21:262:41 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:274:20:274:44 | ...::open | Flow source 'FileSource' of type file (DEFAULT). | +| test.rs:285:56:285:59 | open | Flow source 'FileSource' of type file (DEFAULT). | diff --git a/rust/ql/test/library-tests/dataflow/sources/file/test.rs b/rust/ql/test/library-tests/dataflow/sources/file/test.rs index 18090a54568..5752c07f4d9 100644 --- a/rust/ql/test/library-tests/dataflow/sources/file/test.rs +++ b/rust/ql/test/library-tests/dataflow/sources/file/test.rs @@ -1,11 +1,11 @@ -fn sink(_: T) { } +fn sink(_: T) {} // --- tests --- +use async_std::io::ReadExt; use std::fs; use std::io::Read; use tokio::io::AsyncReadExt; -use async_std::io::ReadExt; fn test_fs() -> Result<(), Box> { { @@ -23,43 +23,46 @@ fn test_fs() -> Result<(), Box> { sink(buffer); // $ hasTaintFlow="file.txt" } - for entry in fs::read_dir("directory")? { // $ Alert[rust/summary/taint-sources] + #[rustfmt::skip] + let _ = for entry in fs::read_dir("directory")? { // $ Alert[rust/summary/taint-sources] let e = entry?; let path = e.path(); // $ Alert[rust/summary/taint-sources] sink(path.clone()); // $ hasTaintFlow sink(path.clone().as_path()); // $ hasTaintFlow - sink(path.clone().into_os_string()); // $ MISSING: hasTaintFlow - sink(std::path::PathBuf::from(path.clone().into_boxed_path())); // $ MISSING: hasTaintFlow - sink(path.clone().as_os_str()); // $ MISSING: hasTaintFlow - sink(path.clone().as_mut_os_str()); // $ MISSING: hasTaintFlow - sink(path.to_str()); // $ MISSING: hasTaintFlow - sink(path.to_path_buf()); // $ MISSING: hasTaintFlow - sink(path.file_name().unwrap()); // $ MISSING: hasTaintFlow - sink(path.extension().unwrap()); // $ MISSING: hasTaintFlow + sink(path.clone().into_os_string()); // $ hasTaintFlow + sink(std::path::PathBuf::from(path.clone().into_boxed_path())); // $ hasTaintFlow + sink(path.clone().as_os_str()); // $ hasTaintFlow + sink(path.clone().as_mut_os_str()); // $ hasTaintFlow + sink(path.to_str()); // $ hasTaintFlow + sink(path.to_path_buf()); // $ hasTaintFlow + sink(path.file_name().unwrap()); // $ hasTaintFlow + sink(path.extension().unwrap()); // $ hasTaintFlow sink(path.canonicalize().unwrap()); // $ hasTaintFlow sink(path); // $ hasTaintFlow let file_name = e.file_name(); // $ Alert[rust/summary/taint-sources] sink(file_name.clone()); // $ hasTaintFlow sink(file_name.clone().into_string().unwrap()); // $ hasTaintFlow - sink(file_name.to_str().unwrap()); // $ MISSING: hasTaintFlow - sink(file_name.to_string_lossy().to_mut()); // $ MISSING: hasTaintFlow - sink(file_name.clone().as_encoded_bytes()); // $ MISSING: hasTaintFlow + sink(file_name.to_str().unwrap()); // $ hasTaintFlow + sink(file_name.to_string_lossy().to_mut()); // $ hasTaintFlow + sink(file_name.clone().as_encoded_bytes()); // $ hasTaintFlow sink(file_name); // $ hasTaintFlow - } - for entry in std::path::Path::new("directory").read_dir()? { // $ Alert[rust/summary/taint-sources] + }; + #[rustfmt::skip] + let _ = for entry in std::path::Path::new("directory").read_dir()? { // $ Alert[rust/summary/taint-sources] let e = entry?; let path = e.path(); // $ Alert[rust/summary/taint-sources] let file_name = e.file_name(); // $ Alert[rust/summary/taint-sources] - } - for entry in std::path::PathBuf::from("directory").read_dir()? { // $ Alert[rust/summary/taint-sources] + }; + #[rustfmt::skip] + let _ = for entry in std::path::PathBuf::from("directory").read_dir()? { // $ Alert[rust/summary/taint-sources] let e = entry?; let path = e.path(); // $ Alert[rust/summary/taint-sources] let file_name = e.file_name(); // $ Alert[rust/summary/taint-sources] - } + }; { let target = fs::read_link("symlink.txt")?; // $ Alert[rust/summary/taint-sources] @@ -144,14 +147,23 @@ fn test_io_file() -> std::io::Result<()> { } { - let mut f2 = std::fs::OpenOptions::new().create_new(true).open("f2.txt").unwrap(); // $ Alert[rust/summary/taint-sources] + let mut f2 = std::fs::OpenOptions::new() + .create_new(true) + .open("f2.txt") // $ Alert[rust/summary/taint-sources] + .unwrap(); let mut buffer = [0u8; 1024]; let _bytes = f2.read(&mut buffer)?; sink(&buffer); // $ hasTaintFlow="f2.txt" } { - let mut f3 = std::fs::OpenOptions::new().read(true).write(true).truncate(true).create(true).open("f3.txt").unwrap(); // $ Alert[rust/summary/taint-sources] + let mut f3 = std::fs::OpenOptions::new() + .read(true) + .write(true) + .truncate(true) + .create(true) + .open("f3.txt") // $ Alert[rust/summary/taint-sources] + .unwrap(); let mut buffer = [0u8; 1024]; let _bytes = f3.read(&mut buffer)?; sink(&buffer); // $ hasTaintFlow="f3.txt" diff --git a/rust/ql/test/library-tests/dataflow/sources/net/InlineFlow.expected b/rust/ql/test/library-tests/dataflow/sources/net/InlineFlow.expected index d9f811bd341..b5a008f9838 100644 --- a/rust/ql/test/library-tests/dataflow/sources/net/InlineFlow.expected +++ b/rust/ql/test/library-tests/dataflow/sources/net/InlineFlow.expected @@ -16,58 +16,63 @@ models | 15 | Summary: <_ as futures_util::io::AsyncBufReadExt>::read_until; Argument[self].Reference; Argument[1].Reference; taint | | 16 | Summary: <_ as futures_util::io::AsyncReadExt>::read; Argument[self].Reference; Argument[0].Reference; taint | | 17 | Summary: <_ as futures_util::io::AsyncReadExt>::read_to_end; Argument[self].Reference; Argument[0].Reference; taint | -| 18 | Summary: <_ as std::io::BufRead>::read_line; Argument[self].Reference; Argument[0].Reference; taint | -| 19 | Summary: <_ as std::io::Read>::read; Argument[self].Reference; Argument[0].Reference; taint | -| 20 | Summary: <_ as std::io::Read>::read_to_end; Argument[self].Reference; Argument[0].Reference; taint | -| 21 | Summary: <_ as std::io::Read>::read_to_string; Argument[self].Reference; Argument[0].Reference; taint | -| 22 | Summary: <_ as std::io::Read>::take; Argument[self]; ReturnValue; taint | -| 23 | Summary: <_ as tokio::io::util::async_read_ext::AsyncReadExt>::read; Argument[self].Reference; Argument[0].Reference; taint | -| 24 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 25 | Summary: ::new; Argument[0].Reference; ReturnValue; value | -| 26 | Summary: ::new; Argument[0]; ReturnValue.Field[core::pin::Pin::pointer]; value | -| 27 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 28 | Summary: ::connect; Argument[1]; ReturnValue.Future.Field[core::result::Result::Ok(0)]; taint | -| 29 | Summary: ::new; Argument[0]; ReturnValue; taint | -| 30 | Summary: ::bytes; Argument[self]; ReturnValue.Future.Field[core::result::Result::Ok(0)]; taint | -| 31 | Summary: ::chunk; Argument[self].Reference; ReturnValue.Future.Field[core::result::Result::Ok(0)].Field[core::option::Option::Some(0)]; taint | -| 32 | Summary: ::text; Argument[self]; ReturnValue.Future.Field[core::result::Result::Ok(0)]; taint | -| 33 | Summary: ::bytes; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 34 | Summary: ::text; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 35 | Summary: ::text_with_charset; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | -| 36 | Summary: ::new; Argument[0]; ReturnValue; taint | -| 37 | Summary: ::peek; Argument[self].Reference; Argument[0].Reference; taint | -| 38 | Summary: ::try_read; Argument[self].Reference; Argument[0].Reference; taint | -| 39 | Summary: ::try_read_buf; Argument[self].Reference; Argument[0].Reference; taint | +| 18 | Summary: <_ as std::io::BufRead>::lines; Argument[self]; ReturnValue; taint | +| 19 | Summary: <_ as std::io::BufRead>::read_line; Argument[self].Reference; Argument[0].Reference; taint | +| 20 | Summary: <_ as std::io::Read>::read; Argument[self].Reference; Argument[0].Reference; taint | +| 21 | Summary: <_ as std::io::Read>::read_to_end; Argument[self].Reference; Argument[0].Reference; taint | +| 22 | Summary: <_ as std::io::Read>::read_to_string; Argument[self].Reference; Argument[0].Reference; taint | +| 23 | Summary: <_ as std::io::Read>::take; Argument[self]; ReturnValue; taint | +| 24 | Summary: <_ as tokio::io::util::async_read_ext::AsyncReadExt>::read; Argument[self].Reference; Argument[0].Reference; taint | +| 25 | Summary: ::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 26 | Summary: ::new; Argument[0].Reference; ReturnValue; value | +| 27 | Summary: ::new; Argument[0]; ReturnValue.Field[core::pin::Pin::pointer]; value | +| 28 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 29 | Summary: ::connect; Argument[1]; ReturnValue.Future.Field[core::result::Result::Ok(0)]; taint | +| 30 | Summary: ::new; Argument[0]; ReturnValue; taint | +| 31 | Summary: ::body; Argument[self].Reference.Field[http::response::Response::body]; ReturnValue.Reference; value | +| 32 | Summary: ::body_mut; Argument[self].Reference.Field[http::response::Response::body]; ReturnValue.Reference; value | +| 33 | Summary: ::into_body; Argument[self].Field[http::response::Response::body]; ReturnValue; value | +| 34 | Summary: ::bytes; Argument[self]; ReturnValue.Future.Field[core::result::Result::Ok(0)]; taint | +| 35 | Summary: ::chunk; Argument[self].Reference; ReturnValue.Future.Field[core::result::Result::Ok(0)].Field[core::option::Option::Some(0)]; taint | +| 36 | Summary: ::text; Argument[self]; ReturnValue.Future.Field[core::result::Result::Ok(0)]; taint | +| 37 | Summary: ::bytes; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 38 | Summary: ::text; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 39 | Summary: ::text_with_charset; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 40 | Summary: ::new; Argument[0]; ReturnValue; taint | +| 41 | Summary: ::try_clone; Argument[self].Reference; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 42 | Summary: ::peek; Argument[self].Reference; Argument[0].Reference; taint | +| 43 | Summary: ::try_read; Argument[self].Reference; Argument[0].Reference; taint | +| 44 | Summary: ::try_read_buf; Argument[self].Reference; Argument[0].Reference; taint | edges | test.rs:11:9:11:22 | remote_string1 | test.rs:12:10:12:23 | remote_string1 | provenance | | | test.rs:11:26:11:47 | ...::get | test.rs:11:26:11:62 | ...::get(...) [Ok] | provenance | Src:MaD:7 | | test.rs:11:26:11:62 | ...::get(...) [Ok] | test.rs:11:26:11:63 | TryExpr | provenance | | -| test.rs:11:26:11:63 | TryExpr | test.rs:11:26:11:70 | ... .text() [Ok] | provenance | MaD:34 | +| test.rs:11:26:11:63 | TryExpr | test.rs:11:26:11:70 | ... .text() [Ok] | provenance | MaD:38 | | test.rs:11:26:11:70 | ... .text() [Ok] | test.rs:11:26:11:71 | TryExpr | provenance | | | test.rs:11:26:11:71 | TryExpr | test.rs:11:9:11:22 | remote_string1 | provenance | | | test.rs:14:9:14:22 | remote_string2 | test.rs:15:10:15:23 | remote_string2 | provenance | | | test.rs:14:26:14:47 | ...::get | test.rs:14:26:14:62 | ...::get(...) [Ok] | provenance | Src:MaD:7 | -| test.rs:14:26:14:62 | ...::get(...) [Ok] | test.rs:14:26:14:71 | ... .unwrap() | provenance | MaD:27 | -| test.rs:14:26:14:71 | ... .unwrap() | test.rs:14:26:14:78 | ... .text() [Ok] | provenance | MaD:34 | -| test.rs:14:26:14:78 | ... .text() [Ok] | test.rs:14:26:14:87 | ... .unwrap() | provenance | MaD:27 | +| test.rs:14:26:14:62 | ...::get(...) [Ok] | test.rs:14:26:14:71 | ... .unwrap() | provenance | MaD:28 | +| test.rs:14:26:14:71 | ... .unwrap() | test.rs:14:26:14:78 | ... .text() [Ok] | provenance | MaD:38 | +| test.rs:14:26:14:78 | ... .text() [Ok] | test.rs:14:26:14:87 | ... .unwrap() | provenance | MaD:28 | | test.rs:14:26:14:87 | ... .unwrap() | test.rs:14:9:14:22 | remote_string2 | provenance | | | test.rs:17:9:17:22 | remote_string3 | test.rs:18:10:18:23 | remote_string3 | provenance | | | test.rs:17:26:17:47 | ...::get | test.rs:17:26:17:62 | ...::get(...) [Ok] | provenance | Src:MaD:7 | -| test.rs:17:26:17:62 | ...::get(...) [Ok] | test.rs:17:26:17:71 | ... .unwrap() | provenance | MaD:27 | -| test.rs:17:26:17:71 | ... .unwrap() | test.rs:17:26:17:98 | ... .text_with_charset(...) [Ok] | provenance | MaD:35 | -| test.rs:17:26:17:98 | ... .text_with_charset(...) [Ok] | test.rs:17:26:17:107 | ... .unwrap() | provenance | MaD:27 | +| test.rs:17:26:17:62 | ...::get(...) [Ok] | test.rs:17:26:17:71 | ... .unwrap() | provenance | MaD:28 | +| test.rs:17:26:17:71 | ... .unwrap() | test.rs:17:26:17:98 | ... .text_with_charset(...) [Ok] | provenance | MaD:39 | +| test.rs:17:26:17:98 | ... .text_with_charset(...) [Ok] | test.rs:17:26:17:107 | ... .unwrap() | provenance | MaD:28 | | test.rs:17:26:17:107 | ... .unwrap() | test.rs:17:9:17:22 | remote_string3 | provenance | | | test.rs:20:9:20:22 | remote_string4 | test.rs:21:10:21:23 | remote_string4 | provenance | | | test.rs:20:26:20:47 | ...::get | test.rs:20:26:20:62 | ...::get(...) [Ok] | provenance | Src:MaD:7 | -| test.rs:20:26:20:62 | ...::get(...) [Ok] | test.rs:20:26:20:71 | ... .unwrap() | provenance | MaD:27 | -| test.rs:20:26:20:71 | ... .unwrap() | test.rs:20:26:20:79 | ... .bytes() [Ok] | provenance | MaD:33 | -| test.rs:20:26:20:79 | ... .bytes() [Ok] | test.rs:20:26:20:88 | ... .unwrap() | provenance | MaD:27 | +| test.rs:20:26:20:62 | ...::get(...) [Ok] | test.rs:20:26:20:71 | ... .unwrap() | provenance | MaD:28 | +| test.rs:20:26:20:71 | ... .unwrap() | test.rs:20:26:20:79 | ... .bytes() [Ok] | provenance | MaD:37 | +| test.rs:20:26:20:79 | ... .bytes() [Ok] | test.rs:20:26:20:88 | ... .unwrap() | provenance | MaD:28 | | test.rs:20:26:20:88 | ... .unwrap() | test.rs:20:9:20:22 | remote_string4 | provenance | | | test.rs:23:9:23:22 | remote_string5 | test.rs:24:10:24:23 | remote_string5 | provenance | | | test.rs:23:26:23:37 | ...::get | test.rs:23:26:23:52 | ...::get(...) [future, Ok] | provenance | Src:MaD:8 | | test.rs:23:26:23:52 | ...::get(...) [future, Ok] | test.rs:23:26:23:58 | await ... [Ok] | provenance | | | test.rs:23:26:23:58 | await ... [Ok] | test.rs:23:26:23:59 | TryExpr | provenance | | -| test.rs:23:26:23:59 | TryExpr | test.rs:23:26:23:66 | ... .text() [future, Ok] | provenance | MaD:32 | +| test.rs:23:26:23:59 | TryExpr | test.rs:23:26:23:66 | ... .text() [future, Ok] | provenance | MaD:36 | | test.rs:23:26:23:66 | ... .text() [future, Ok] | test.rs:23:26:23:72 | await ... [Ok] | provenance | | | test.rs:23:26:23:72 | await ... [Ok] | test.rs:23:26:23:73 | TryExpr | provenance | | | test.rs:23:26:23:73 | TryExpr | test.rs:23:9:23:22 | remote_string5 | provenance | | @@ -75,7 +80,7 @@ edges | test.rs:26:26:26:37 | ...::get | test.rs:26:26:26:52 | ...::get(...) [future, Ok] | provenance | Src:MaD:8 | | test.rs:26:26:26:52 | ...::get(...) [future, Ok] | test.rs:26:26:26:58 | await ... [Ok] | provenance | | | test.rs:26:26:26:58 | await ... [Ok] | test.rs:26:26:26:59 | TryExpr | provenance | | -| test.rs:26:26:26:59 | TryExpr | test.rs:26:26:26:67 | ... .bytes() [future, Ok] | provenance | MaD:30 | +| test.rs:26:26:26:59 | TryExpr | test.rs:26:26:26:67 | ... .bytes() [future, Ok] | provenance | MaD:34 | | test.rs:26:26:26:67 | ... .bytes() [future, Ok] | test.rs:26:26:26:73 | await ... [Ok] | provenance | | | test.rs:26:26:26:73 | await ... [Ok] | test.rs:26:26:26:74 | TryExpr | provenance | | | test.rs:26:26:26:74 | TryExpr | test.rs:26:9:26:22 | remote_string6 | provenance | | @@ -85,13 +90,13 @@ edges | test.rs:29:24:29:50 | ...::get(...) [future, Ok] | test.rs:29:24:29:56 | await ... [Ok] | provenance | | | test.rs:29:24:29:56 | await ... [Ok] | test.rs:29:24:29:57 | TryExpr | provenance | | | test.rs:29:24:29:57 | TryExpr | test.rs:29:9:29:20 | mut request1 | provenance | | -| test.rs:30:10:30:17 | request1 | test.rs:30:10:30:25 | request1.chunk() [future, Ok, Some] | provenance | MaD:31 | +| test.rs:30:10:30:17 | request1 | test.rs:30:10:30:25 | request1.chunk() [future, Ok, Some] | provenance | MaD:35 | | test.rs:30:10:30:25 | request1.chunk() [future, Ok, Some] | test.rs:30:10:30:31 | await ... [Ok, Some] | provenance | | | test.rs:30:10:30:31 | await ... [Ok, Some] | test.rs:30:10:30:32 | TryExpr [Some] | provenance | | -| test.rs:30:10:30:32 | TryExpr [Some] | test.rs:30:10:30:41 | ... .unwrap() | provenance | MaD:24 | +| test.rs:30:10:30:32 | TryExpr [Some] | test.rs:30:10:30:41 | ... .unwrap() | provenance | MaD:25 | | test.rs:31:15:31:25 | Some(...) [Some] | test.rs:31:20:31:24 | chunk | provenance | | | test.rs:31:20:31:24 | chunk | test.rs:32:14:32:18 | chunk | provenance | | -| test.rs:31:29:31:36 | request1 | test.rs:31:29:31:44 | request1.chunk() [future, Ok, Some] | provenance | MaD:31 | +| test.rs:31:29:31:36 | request1 | test.rs:31:29:31:44 | request1.chunk() [future, Ok, Some] | provenance | MaD:35 | | test.rs:31:29:31:44 | request1.chunk() [future, Ok, Some] | test.rs:31:29:31:50 | await ... [Ok, Some] | provenance | | | test.rs:31:29:31:50 | await ... [Ok, Some] | test.rs:31:29:31:51 | TryExpr [Some] | provenance | | | test.rs:31:29:31:51 | TryExpr [Some] | test.rs:31:15:31:25 | Some(...) [Some] | provenance | | @@ -103,33 +108,52 @@ edges | test.rs:60:31:60:42 | send_request | test.rs:60:24:60:51 | sender.send_request(...) [future, Ok] | provenance | Src:MaD:2 | | test.rs:61:15:61:22 | response | test.rs:61:14:61:22 | &response | provenance | | | test.rs:67:9:67:20 | mut response | test.rs:68:11:68:18 | response | provenance | | +| test.rs:67:9:67:20 | mut response | test.rs:76:18:76:25 | response | provenance | | +| test.rs:67:9:67:20 | mut response | test.rs:77:18:77:25 | response | provenance | | +| test.rs:67:9:67:20 | mut response | test.rs:79:24:79:31 | response | provenance | | | test.rs:67:24:67:51 | sender.send_request(...) [future, Ok] | test.rs:67:24:67:57 | await ... [Ok] | provenance | | | test.rs:67:24:67:57 | await ... [Ok] | test.rs:67:24:67:58 | TryExpr | provenance | | | test.rs:67:24:67:58 | TryExpr | test.rs:67:9:67:20 | mut response | provenance | | | test.rs:67:31:67:42 | send_request | test.rs:67:24:67:51 | sender.send_request(...) [future, Ok] | provenance | Src:MaD:2 | | test.rs:68:11:68:18 | response | test.rs:68:10:68:18 | &response | provenance | | +| test.rs:76:18:76:25 | response | test.rs:76:18:76:32 | response.body() | provenance | MaD:31 | +| test.rs:77:18:77:25 | response | test.rs:77:18:77:36 | response.body_mut() | provenance | MaD:32 | +| test.rs:79:17:79:20 | body | test.rs:80:19:80:22 | body | provenance | | +| test.rs:79:24:79:31 | response | test.rs:79:24:79:43 | response.into_body() | provenance | MaD:33 | +| test.rs:79:24:79:43 | response.into_body() | test.rs:79:17:79:20 | body | provenance | | +| test.rs:80:19:80:22 | body | test.rs:80:18:80:22 | &body | provenance | | | test.rs:155:13:155:22 | mut stream | test.rs:162:17:162:22 | stream | provenance | | | test.rs:155:26:155:53 | ...::connect | test.rs:155:26:155:62 | ...::connect(...) [Ok] | provenance | Src:MaD:4 | | test.rs:155:26:155:62 | ...::connect(...) [Ok] | test.rs:155:26:155:63 | TryExpr | provenance | | | test.rs:155:26:155:63 | TryExpr | test.rs:155:13:155:22 | mut stream | provenance | | -| test.rs:162:17:162:22 | stream | test.rs:162:29:162:39 | [post] &mut buffer [&ref] | provenance | MaD:19 | +| test.rs:162:17:162:22 | stream | test.rs:162:29:162:39 | [post] &mut buffer [&ref] | provenance | MaD:20 | | test.rs:162:29:162:39 | [post] &mut buffer [&ref] | test.rs:162:34:162:39 | [post] buffer | provenance | | | test.rs:162:34:162:39 | [post] buffer | test.rs:165:15:165:20 | buffer | provenance | | | test.rs:162:34:162:39 | [post] buffer | test.rs:166:14:166:19 | buffer | provenance | | | test.rs:165:15:165:20 | buffer | test.rs:165:14:165:20 | &buffer | provenance | | | test.rs:166:14:166:19 | buffer | test.rs:166:14:166:22 | buffer[0] | provenance | MaD:10 | | test.rs:174:13:174:22 | mut stream | test.rs:182:58:182:63 | stream | provenance | | +| test.rs:174:13:174:22 | mut stream | test.rs:203:54:203:59 | stream | provenance | | | test.rs:174:26:174:61 | ...::connect_timeout | test.rs:174:26:174:105 | ...::connect_timeout(...) [Ok] | provenance | Src:MaD:5 | | test.rs:174:26:174:105 | ...::connect_timeout(...) [Ok] | test.rs:174:26:174:106 | TryExpr | provenance | | | test.rs:174:26:174:106 | TryExpr | test.rs:174:13:174:22 | mut stream | provenance | | | test.rs:182:21:182:30 | mut reader | test.rs:185:27:185:32 | reader | provenance | | -| test.rs:182:34:182:64 | ...::new(...) | test.rs:182:34:182:74 | ... .take(...) | provenance | MaD:22 | +| test.rs:182:34:182:64 | ...::new(...) | test.rs:182:34:182:74 | ... .take(...) | provenance | MaD:23 | | test.rs:182:34:182:74 | ... .take(...) | test.rs:182:21:182:30 | mut reader | provenance | | -| test.rs:182:58:182:63 | stream | test.rs:182:34:182:64 | ...::new(...) | provenance | MaD:36 | -| test.rs:185:27:185:32 | reader | test.rs:185:44:185:52 | [post] &mut line [&ref] | provenance | MaD:18 | +| test.rs:182:58:182:63 | stream | test.rs:182:34:182:64 | ...::new(...) | provenance | MaD:40 | +| test.rs:185:27:185:32 | reader | test.rs:185:44:185:52 | [post] &mut line [&ref] | provenance | MaD:19 | | test.rs:185:44:185:52 | [post] &mut line [&ref] | test.rs:185:49:185:52 | [post] line | provenance | | | test.rs:185:49:185:52 | [post] line | test.rs:192:35:192:38 | line | provenance | | | test.rs:192:35:192:38 | line | test.rs:192:34:192:38 | &line | provenance | | +| test.rs:203:21:203:26 | reader | test.rs:204:29:204:34 | reader | provenance | | +| test.rs:203:30:203:73 | ...::new(...) | test.rs:203:30:203:83 | ... .take(...) | provenance | MaD:23 | +| test.rs:203:30:203:83 | ... .take(...) | test.rs:203:21:203:26 | reader | provenance | | +| test.rs:203:54:203:59 | stream | test.rs:203:54:203:71 | stream.try_clone() [Ok] | provenance | MaD:41 | +| test.rs:203:54:203:71 | stream.try_clone() [Ok] | test.rs:203:54:203:72 | TryExpr | provenance | | +| test.rs:203:54:203:72 | TryExpr | test.rs:203:30:203:73 | ...::new(...) | provenance | MaD:40 | +| test.rs:204:29:204:34 | reader | test.rs:204:29:204:42 | reader.lines() | provenance | MaD:18 | +| test.rs:204:29:204:42 | reader.lines() | test.rs:205:28:205:37 | Ok(...) | provenance | | +| test.rs:205:28:205:37 | Ok(...) | test.rs:207:30:207:35 | string | provenance | | | test.rs:224:9:224:24 | mut tokio_stream | test.rs:232:17:232:28 | tokio_stream | provenance | | | test.rs:224:9:224:24 | mut tokio_stream | test.rs:236:18:236:29 | tokio_stream | provenance | | | test.rs:224:9:224:24 | mut tokio_stream | test.rs:252:19:252:30 | tokio_stream | provenance | | @@ -138,11 +162,11 @@ edges | test.rs:224:28:224:66 | ...::connect(...) [future, Ok] | test.rs:224:28:224:72 | await ... [Ok] | provenance | | | test.rs:224:28:224:72 | await ... [Ok] | test.rs:224:28:224:73 | TryExpr | provenance | | | test.rs:224:28:224:73 | TryExpr | test.rs:224:9:224:24 | mut tokio_stream | provenance | | -| test.rs:232:17:232:28 | tokio_stream | test.rs:232:35:232:46 | [post] &mut buffer1 [&ref] | provenance | MaD:37 | +| test.rs:232:17:232:28 | tokio_stream | test.rs:232:35:232:46 | [post] &mut buffer1 [&ref] | provenance | MaD:42 | | test.rs:232:35:232:46 | [post] &mut buffer1 [&ref] | test.rs:232:40:232:46 | [post] buffer1 | provenance | | | test.rs:232:40:232:46 | [post] buffer1 | test.rs:239:15:239:21 | buffer1 | provenance | | | test.rs:232:40:232:46 | [post] buffer1 | test.rs:240:14:240:20 | buffer1 | provenance | | -| test.rs:236:18:236:29 | tokio_stream | test.rs:236:36:236:47 | [post] &mut buffer2 [&ref] | provenance | MaD:23 | +| test.rs:236:18:236:29 | tokio_stream | test.rs:236:36:236:47 | [post] &mut buffer2 [&ref] | provenance | MaD:24 | | test.rs:236:36:236:47 | [post] &mut buffer2 [&ref] | test.rs:236:41:236:47 | [post] buffer2 | provenance | | | test.rs:236:41:236:47 | [post] buffer2 | test.rs:243:15:243:21 | buffer2 | provenance | | | test.rs:236:41:236:47 | [post] buffer2 | test.rs:244:14:244:20 | buffer2 | provenance | | @@ -150,17 +174,17 @@ edges | test.rs:240:14:240:20 | buffer1 | test.rs:240:14:240:23 | buffer1[0] | provenance | MaD:10 | | test.rs:243:15:243:21 | buffer2 | test.rs:243:14:243:21 | &buffer2 | provenance | | | test.rs:244:14:244:20 | buffer2 | test.rs:244:14:244:23 | buffer2[0] | provenance | MaD:10 | -| test.rs:252:19:252:30 | tokio_stream | test.rs:252:41:252:51 | [post] &mut buffer [&ref] | provenance | MaD:38 | +| test.rs:252:19:252:30 | tokio_stream | test.rs:252:41:252:51 | [post] &mut buffer [&ref] | provenance | MaD:43 | | test.rs:252:41:252:51 | [post] &mut buffer [&ref] | test.rs:252:46:252:51 | [post] buffer | provenance | | | test.rs:252:46:252:51 | [post] buffer | test.rs:259:27:259:32 | buffer | provenance | | | test.rs:259:27:259:32 | buffer | test.rs:259:26:259:32 | &buffer | provenance | | -| test.rs:275:19:275:30 | tokio_stream | test.rs:275:45:275:55 | [post] &mut buffer [&ref] | provenance | MaD:39 | +| test.rs:275:19:275:30 | tokio_stream | test.rs:275:45:275:55 | [post] &mut buffer [&ref] | provenance | MaD:44 | | test.rs:275:45:275:55 | [post] &mut buffer [&ref] | test.rs:275:50:275:55 | [post] buffer | provenance | | | test.rs:275:50:275:55 | [post] buffer | test.rs:282:27:282:32 | buffer | provenance | | | test.rs:282:27:282:32 | buffer | test.rs:282:26:282:32 | &buffer | provenance | | | test.rs:332:9:332:18 | mut client | test.rs:333:22:333:27 | client | provenance | | | test.rs:332:22:332:50 | ...::new | test.rs:332:22:332:75 | ...::new(...) [Ok] | provenance | Src:MaD:3 | -| test.rs:332:22:332:75 | ...::new(...) [Ok] | test.rs:332:22:332:84 | ... .unwrap() | provenance | MaD:27 | +| test.rs:332:22:332:75 | ...::new(...) [Ok] | test.rs:332:22:332:84 | ... .unwrap() | provenance | MaD:28 | | test.rs:332:22:332:84 | ... .unwrap() | test.rs:332:9:332:18 | mut client | provenance | | | test.rs:333:9:333:18 | mut reader | test.rs:334:11:334:16 | reader | provenance | | | test.rs:333:9:333:18 | mut reader | test.rs:338:22:338:27 | reader | provenance | | @@ -169,15 +193,15 @@ edges | test.rs:333:22:333:27 | client | test.rs:333:22:333:36 | client.reader() | provenance | MaD:9 | | test.rs:333:22:333:36 | client.reader() | test.rs:333:9:333:18 | mut reader | provenance | | | test.rs:334:11:334:16 | reader | test.rs:334:10:334:16 | &reader | provenance | | -| test.rs:338:22:338:27 | reader | test.rs:338:34:338:44 | [post] &mut buffer [&ref] | provenance | MaD:19 | +| test.rs:338:22:338:27 | reader | test.rs:338:34:338:44 | [post] &mut buffer [&ref] | provenance | MaD:20 | | test.rs:338:34:338:44 | [post] &mut buffer [&ref] | test.rs:338:39:338:44 | [post] buffer | provenance | | | test.rs:338:39:338:44 | [post] buffer | test.rs:339:15:339:20 | buffer | provenance | | | test.rs:339:15:339:20 | buffer | test.rs:339:14:339:20 | &buffer | provenance | | -| test.rs:344:22:344:27 | reader | test.rs:344:41:344:51 | [post] &mut buffer [&ref] | provenance | MaD:20 | +| test.rs:344:22:344:27 | reader | test.rs:344:41:344:51 | [post] &mut buffer [&ref] | provenance | MaD:21 | | test.rs:344:41:344:51 | [post] &mut buffer [&ref] | test.rs:344:46:344:51 | [post] buffer | provenance | | | test.rs:344:46:344:51 | [post] buffer | test.rs:345:15:345:20 | buffer | provenance | | | test.rs:345:15:345:20 | buffer | test.rs:345:14:345:20 | &buffer | provenance | | -| test.rs:350:22:350:27 | reader | test.rs:350:44:350:54 | [post] &mut buffer [&ref] | provenance | MaD:21 | +| test.rs:350:22:350:27 | reader | test.rs:350:44:350:54 | [post] &mut buffer [&ref] | provenance | MaD:22 | | test.rs:350:44:350:54 | [post] &mut buffer [&ref] | test.rs:350:49:350:54 | [post] buffer | provenance | | | test.rs:350:49:350:54 | [post] buffer | test.rs:351:15:351:20 | buffer | provenance | | | test.rs:351:15:351:20 | buffer | test.rs:351:14:351:20 | &buffer | provenance | | @@ -196,15 +220,15 @@ edges | test.rs:380:26:380:60 | connector.connect(...) [future, Ok] | test.rs:380:26:380:66 | await ... [Ok] | provenance | | | test.rs:380:26:380:66 | await ... [Ok] | test.rs:380:26:380:67 | TryExpr | provenance | | | test.rs:380:26:380:67 | TryExpr | test.rs:380:13:380:22 | mut reader | provenance | | -| test.rs:380:57:380:59 | tcp | test.rs:380:26:380:60 | connector.connect(...) [future, Ok] | provenance | MaD:28 | +| test.rs:380:57:380:59 | tcp | test.rs:380:26:380:60 | connector.connect(...) [future, Ok] | provenance | MaD:29 | | test.rs:381:15:381:20 | reader | test.rs:381:14:381:20 | &reader | provenance | | | test.rs:386:17:386:26 | mut pinned | test.rs:387:19:387:24 | pinned | provenance | | | test.rs:386:17:386:26 | mut pinned | test.rs:389:30:389:35 | pinned | provenance | | | test.rs:386:17:386:26 | mut pinned [Pin, &ref] | test.rs:387:19:387:24 | pinned [Pin, &ref] | provenance | | | test.rs:386:30:386:50 | ...::new(...) | test.rs:386:17:386:26 | mut pinned | provenance | | | test.rs:386:30:386:50 | ...::new(...) [Pin, &ref] | test.rs:386:17:386:26 | mut pinned [Pin, &ref] | provenance | | -| test.rs:386:39:386:49 | &mut reader [&ref] | test.rs:386:30:386:50 | ...::new(...) | provenance | MaD:25 | -| test.rs:386:39:386:49 | &mut reader [&ref] | test.rs:386:30:386:50 | ...::new(...) [Pin, &ref] | provenance | MaD:26 | +| test.rs:386:39:386:49 | &mut reader [&ref] | test.rs:386:30:386:50 | ...::new(...) | provenance | MaD:26 | +| test.rs:386:39:386:49 | &mut reader [&ref] | test.rs:386:30:386:50 | ...::new(...) [Pin, &ref] | provenance | MaD:27 | | test.rs:386:44:386:49 | reader | test.rs:386:39:386:49 | &mut reader [&ref] | provenance | | | test.rs:387:19:387:24 | pinned | test.rs:387:18:387:24 | &pinned | provenance | | | test.rs:387:19:387:24 | pinned [Pin, &ref] | test.rs:387:18:387:24 | &pinned | provenance | | @@ -242,15 +266,15 @@ edges | test.rs:408:13:408:23 | mut reader2 | test.rs:493:31:493:37 | reader2 | provenance | | | test.rs:408:13:408:23 | mut reader2 | test.rs:500:31:500:37 | reader2 | provenance | | | test.rs:408:27:408:61 | ...::new(...) | test.rs:408:13:408:23 | mut reader2 | provenance | | -| test.rs:408:55:408:60 | reader | test.rs:408:27:408:61 | ...::new(...) | provenance | MaD:29 | +| test.rs:408:55:408:60 | reader | test.rs:408:27:408:61 | ...::new(...) | provenance | MaD:30 | | test.rs:409:15:409:21 | reader2 | test.rs:409:14:409:21 | &reader2 | provenance | | | test.rs:413:17:413:26 | mut pinned | test.rs:414:19:414:24 | pinned | provenance | | | test.rs:413:17:413:26 | mut pinned | test.rs:416:26:416:31 | pinned | provenance | | | test.rs:413:17:413:26 | mut pinned [Pin, &ref] | test.rs:414:19:414:24 | pinned [Pin, &ref] | provenance | | | test.rs:413:30:413:51 | ...::new(...) | test.rs:413:17:413:26 | mut pinned | provenance | | | test.rs:413:30:413:51 | ...::new(...) [Pin, &ref] | test.rs:413:17:413:26 | mut pinned [Pin, &ref] | provenance | | -| test.rs:413:39:413:50 | &mut reader2 [&ref] | test.rs:413:30:413:51 | ...::new(...) | provenance | MaD:25 | -| test.rs:413:39:413:50 | &mut reader2 [&ref] | test.rs:413:30:413:51 | ...::new(...) [Pin, &ref] | provenance | MaD:26 | +| test.rs:413:39:413:50 | &mut reader2 [&ref] | test.rs:413:30:413:51 | ...::new(...) | provenance | MaD:26 | +| test.rs:413:39:413:50 | &mut reader2 [&ref] | test.rs:413:30:413:51 | ...::new(...) [Pin, &ref] | provenance | MaD:27 | | test.rs:413:44:413:50 | reader2 | test.rs:413:39:413:50 | &mut reader2 [&ref] | provenance | | | test.rs:414:19:414:24 | pinned | test.rs:414:18:414:24 | &pinned | provenance | | | test.rs:414:19:414:24 | pinned [Pin, &ref] | test.rs:414:18:414:24 | &pinned | provenance | | @@ -265,7 +289,7 @@ edges | test.rs:423:17:423:23 | buffer2 [Ready, Ok] | test.rs:424:20:424:26 | buffer2 [Ready, Ok] | provenance | | | test.rs:423:27:423:48 | ...::new(...) | test.rs:423:27:423:71 | ... .poll_fill_buf(...) [Ready, Ok] | provenance | MaD:11 | | test.rs:423:27:423:71 | ... .poll_fill_buf(...) [Ready, Ok] | test.rs:423:17:423:23 | buffer2 [Ready, Ok] | provenance | | -| test.rs:423:36:423:47 | &mut reader2 [&ref] | test.rs:423:27:423:48 | ...::new(...) | provenance | MaD:25 | +| test.rs:423:36:423:47 | &mut reader2 [&ref] | test.rs:423:27:423:48 | ...::new(...) | provenance | MaD:26 | | test.rs:423:41:423:47 | reader2 | test.rs:423:36:423:47 | &mut reader2 [&ref] | provenance | | | test.rs:424:20:424:26 | buffer2 [Ready, Ok] | test.rs:425:17:425:36 | ...::Ready(...) [Ready, Ok] | provenance | | | test.rs:424:20:424:26 | buffer2 [Ready, Ok] | test.rs:426:27:426:33 | buffer2 [Ready, Ok] | provenance | | @@ -283,8 +307,8 @@ edges | test.rs:444:17:444:26 | mut pinned [Pin, &ref] | test.rs:445:19:445:24 | pinned [Pin, &ref] | provenance | | | test.rs:444:30:444:51 | ...::new(...) | test.rs:444:17:444:26 | mut pinned | provenance | | | test.rs:444:30:444:51 | ...::new(...) [Pin, &ref] | test.rs:444:17:444:26 | mut pinned [Pin, &ref] | provenance | | -| test.rs:444:39:444:50 | &mut reader2 [&ref] | test.rs:444:30:444:51 | ...::new(...) | provenance | MaD:25 | -| test.rs:444:39:444:50 | &mut reader2 [&ref] | test.rs:444:30:444:51 | ...::new(...) [Pin, &ref] | provenance | MaD:26 | +| test.rs:444:39:444:50 | &mut reader2 [&ref] | test.rs:444:30:444:51 | ...::new(...) | provenance | MaD:26 | +| test.rs:444:39:444:50 | &mut reader2 [&ref] | test.rs:444:30:444:51 | ...::new(...) [Pin, &ref] | provenance | MaD:27 | | test.rs:444:44:444:50 | reader2 | test.rs:444:39:444:50 | &mut reader2 [&ref] | provenance | | | test.rs:445:19:445:24 | pinned | test.rs:445:18:445:24 | &pinned | provenance | | | test.rs:445:19:445:24 | pinned [Pin, &ref] | test.rs:445:18:445:24 | &pinned | provenance | | @@ -314,8 +338,8 @@ edges | test.rs:467:17:467:26 | mut pinned [Pin, &ref] | test.rs:468:19:468:24 | pinned [Pin, &ref] | provenance | | | test.rs:467:30:467:51 | ...::new(...) | test.rs:467:17:467:26 | mut pinned | provenance | | | test.rs:467:30:467:51 | ...::new(...) [Pin, &ref] | test.rs:467:17:467:26 | mut pinned [Pin, &ref] | provenance | | -| test.rs:467:39:467:50 | &mut reader2 [&ref] | test.rs:467:30:467:51 | ...::new(...) | provenance | MaD:25 | -| test.rs:467:39:467:50 | &mut reader2 [&ref] | test.rs:467:30:467:51 | ...::new(...) [Pin, &ref] | provenance | MaD:26 | +| test.rs:467:39:467:50 | &mut reader2 [&ref] | test.rs:467:30:467:51 | ...::new(...) | provenance | MaD:26 | +| test.rs:467:39:467:50 | &mut reader2 [&ref] | test.rs:467:30:467:51 | ...::new(...) [Pin, &ref] | provenance | MaD:27 | | test.rs:467:44:467:50 | reader2 | test.rs:467:39:467:50 | &mut reader2 [&ref] | provenance | | | test.rs:468:19:468:24 | pinned | test.rs:468:18:468:24 | &pinned | provenance | | | test.rs:468:19:468:24 | pinned [Pin, &ref] | test.rs:468:18:468:24 | &pinned | provenance | | @@ -423,6 +447,15 @@ nodes | test.rs:67:31:67:42 | send_request | semmle.label | send_request | | test.rs:68:10:68:18 | &response | semmle.label | &response | | test.rs:68:11:68:18 | response | semmle.label | response | +| test.rs:76:18:76:25 | response | semmle.label | response | +| test.rs:76:18:76:32 | response.body() | semmle.label | response.body() | +| test.rs:77:18:77:25 | response | semmle.label | response | +| test.rs:77:18:77:36 | response.body_mut() | semmle.label | response.body_mut() | +| test.rs:79:17:79:20 | body | semmle.label | body | +| test.rs:79:24:79:31 | response | semmle.label | response | +| test.rs:79:24:79:43 | response.into_body() | semmle.label | response.into_body() | +| test.rs:80:18:80:22 | &body | semmle.label | &body | +| test.rs:80:19:80:22 | body | semmle.label | body | | test.rs:155:13:155:22 | mut stream | semmle.label | mut stream | | test.rs:155:26:155:53 | ...::connect | semmle.label | ...::connect | | test.rs:155:26:155:62 | ...::connect(...) [Ok] | semmle.label | ...::connect(...) [Ok] | @@ -447,6 +480,16 @@ nodes | test.rs:185:49:185:52 | [post] line | semmle.label | [post] line | | test.rs:192:34:192:38 | &line | semmle.label | &line | | test.rs:192:35:192:38 | line | semmle.label | line | +| test.rs:203:21:203:26 | reader | semmle.label | reader | +| test.rs:203:30:203:73 | ...::new(...) | semmle.label | ...::new(...) | +| test.rs:203:30:203:83 | ... .take(...) | semmle.label | ... .take(...) | +| test.rs:203:54:203:59 | stream | semmle.label | stream | +| test.rs:203:54:203:71 | stream.try_clone() [Ok] | semmle.label | stream.try_clone() [Ok] | +| test.rs:203:54:203:72 | TryExpr | semmle.label | TryExpr | +| test.rs:204:29:204:34 | reader | semmle.label | reader | +| test.rs:204:29:204:42 | reader.lines() | semmle.label | reader.lines() | +| test.rs:205:28:205:37 | Ok(...) | semmle.label | Ok(...) | +| test.rs:207:30:207:35 | string | semmle.label | string | | test.rs:224:9:224:24 | mut tokio_stream | semmle.label | mut tokio_stream | | test.rs:224:28:224:57 | ...::connect | semmle.label | ...::connect | | test.rs:224:28:224:66 | ...::connect(...) [future, Ok] | semmle.label | ...::connect(...) [future, Ok] | @@ -668,9 +711,13 @@ testFailures | test.rs:61:14:61:22 | &response | test.rs:60:31:60:42 | send_request | test.rs:61:14:61:22 | &response | $@ | test.rs:60:31:60:42 | send_request | send_request | | test.rs:62:14:62:21 | response | test.rs:60:31:60:42 | send_request | test.rs:62:14:62:21 | response | $@ | test.rs:60:31:60:42 | send_request | send_request | | test.rs:68:10:68:18 | &response | test.rs:67:31:67:42 | send_request | test.rs:68:10:68:18 | &response | $@ | test.rs:67:31:67:42 | send_request | send_request | +| test.rs:76:18:76:32 | response.body() | test.rs:67:31:67:42 | send_request | test.rs:76:18:76:32 | response.body() | $@ | test.rs:67:31:67:42 | send_request | send_request | +| test.rs:77:18:77:36 | response.body_mut() | test.rs:67:31:67:42 | send_request | test.rs:77:18:77:36 | response.body_mut() | $@ | test.rs:67:31:67:42 | send_request | send_request | +| test.rs:80:18:80:22 | &body | test.rs:67:31:67:42 | send_request | test.rs:80:18:80:22 | &body | $@ | test.rs:67:31:67:42 | send_request | send_request | | test.rs:165:14:165:20 | &buffer | test.rs:155:26:155:53 | ...::connect | test.rs:165:14:165:20 | &buffer | $@ | test.rs:155:26:155:53 | ...::connect | ...::connect | | test.rs:166:14:166:22 | buffer[0] | test.rs:155:26:155:53 | ...::connect | test.rs:166:14:166:22 | buffer[0] | $@ | test.rs:155:26:155:53 | ...::connect | ...::connect | | test.rs:192:34:192:38 | &line | test.rs:174:26:174:61 | ...::connect_timeout | test.rs:192:34:192:38 | &line | $@ | test.rs:174:26:174:61 | ...::connect_timeout | ...::connect_timeout | +| test.rs:207:30:207:35 | string | test.rs:174:26:174:61 | ...::connect_timeout | test.rs:207:30:207:35 | string | $@ | test.rs:174:26:174:61 | ...::connect_timeout | ...::connect_timeout | | test.rs:239:14:239:21 | &buffer1 | test.rs:224:28:224:57 | ...::connect | test.rs:239:14:239:21 | &buffer1 | $@ | test.rs:224:28:224:57 | ...::connect | ...::connect | | test.rs:240:14:240:23 | buffer1[0] | test.rs:224:28:224:57 | ...::connect | test.rs:240:14:240:23 | buffer1[0] | $@ | test.rs:224:28:224:57 | ...::connect | ...::connect | | test.rs:243:14:243:21 | &buffer2 | test.rs:224:28:224:57 | ...::connect | test.rs:243:14:243:21 | &buffer2 | $@ | test.rs:224:28:224:57 | ...::connect | ...::connect | diff --git a/rust/ql/test/library-tests/dataflow/sources/net/test.rs b/rust/ql/test/library-tests/dataflow/sources/net/test.rs index f029ac53805..bb6f54cb913 100644 --- a/rust/ql/test/library-tests/dataflow/sources/net/test.rs +++ b/rust/ql/test/library-tests/dataflow/sources/net/test.rs @@ -73,11 +73,11 @@ async fn test_hyper_http(case: i64) -> Result<(), Box> { match case { 1 => { - sink(response.body()); // $ MISSING: hasTaintFlow - sink(response.body_mut()); // $ MISSING: hasTaintFlow + sink(response.body()); // $ hasTaintFlow=request + sink(response.body_mut()); // $ hasTaintFlow=request let body = response.into_body(); - sink(&body); // $ MISSING: hasTaintFlow + sink(&body); // $ hasTaintFlow=request println!("awaiting response..."); let data = body.collect().await?; @@ -204,7 +204,7 @@ async fn test_std_tcpstream(case: i64) -> std::io::Result<()> { for line in reader.lines() { // $ MISSING: Alert[rust/summary/taint-sources] if let Ok(string) = line { println!("line = {}", string); - sink(string); // $ MISSING: hasTaintFlow=&sock_addr + sink(string); // $ hasTaintFlow=&sock_addr } } } diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected index 4c85f166699..d3c65fac62f 100644 --- a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected +++ b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/InlineFlow.expected @@ -10,8 +10,8 @@ models | 9 | Source: axum::routing::method_routing::post; Argument[0].Parameter[0..7]; remote | | 10 | Source: axum::routing::method_routing::put; Argument[0].Parameter[0..7]; remote | | 11 | Summary: ::into_inner; Argument[self]; ReturnValue; taint | -| 12 | Summary: ::as_bytes; Argument[self]; ReturnValue; value | -| 13 | Summary: ::as_str; Argument[self]; ReturnValue; value | +| 12 | Summary: ::as_bytes; Argument[self].Reference; ReturnValue.Reference.Element; taint | +| 13 | Summary: ::as_str; Argument[self].Reference; ReturnValue.Reference; taint | edges | test.rs:11:31:11:31 | a | test.rs:13:14:13:14 | a | provenance | | | test.rs:11:31:11:31 | a | test.rs:14:14:14:14 | a | provenance | | diff --git a/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected b/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected index c39c5e60476..3c95a70e2d8 100644 --- a/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected +++ b/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected @@ -3,12 +3,11 @@ models | 2 | Summary: <_ as core::convert::From>::from; Argument[0]; ReturnValue; taint | | 3 | Summary: <_ as core::ops::index::Index>::index; Argument[self].Reference.Element; ReturnValue.Reference; value | | 4 | Summary: ::from; Argument[0].Field[alloc::borrow::Cow::Owned(0)]; ReturnValue; value | -| 5 | Summary: ::from; Argument[0].Reference; ReturnValue; value | -| 6 | Summary: ::add; Argument[0].Reference; ReturnValue; taint | -| 7 | Summary: ::add; Argument[self,0]; ReturnValue; taint | -| 8 | Summary: ::as_str; Argument[self]; ReturnValue; value | -| 9 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | -| 10 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | +| 5 | Summary: ::add; Argument[0].Reference; ReturnValue; taint | +| 6 | Summary: ::add; Argument[self]; ReturnValue; taint | +| 7 | Summary: ::as_str; Argument[self].Reference; ReturnValue.Reference; taint | +| 8 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | +| 9 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | edges | main.rs:26:9:26:9 | s | main.rs:27:19:27:19 | s | provenance | | | main.rs:26:9:26:9 | s | main.rs:27:19:27:25 | s[...] | provenance | | @@ -20,11 +19,11 @@ edges | main.rs:32:9:32:10 | s1 | main.rs:35:14:35:15 | s1 | provenance | | | main.rs:32:14:32:23 | source(...) | main.rs:32:9:32:10 | s1 | provenance | | | main.rs:35:9:35:10 | s4 | main.rs:38:10:38:11 | s4 | provenance | | -| main.rs:35:14:35:15 | s1 | main.rs:35:14:35:20 | ... + ... | provenance | MaD:7 | +| main.rs:35:14:35:15 | s1 | main.rs:35:14:35:20 | ... + ... | provenance | MaD:6 | | main.rs:35:14:35:20 | ... + ... | main.rs:35:9:35:10 | s4 | provenance | | | main.rs:43:9:43:10 | s1 | main.rs:46:34:46:35 | s1 | provenance | | | main.rs:43:14:43:23 | source(...) | main.rs:43:9:43:10 | s1 | provenance | | -| main.rs:46:33:46:35 | &s1 [&ref] | main.rs:46:10:46:35 | ... + ... | provenance | MaD:6 | +| main.rs:46:33:46:35 | &s1 [&ref] | main.rs:46:10:46:35 | ... + ... | provenance | MaD:5 | | main.rs:46:34:46:35 | s1 | main.rs:46:33:46:35 | &s1 [&ref] | provenance | | | main.rs:51:9:51:10 | s1 | main.rs:52:27:52:28 | s1 | provenance | | | main.rs:51:14:51:29 | source_slice(...) | main.rs:51:9:51:10 | s1 | provenance | | @@ -32,7 +31,6 @@ edges | main.rs:52:14:52:29 | ...::from(...) | main.rs:52:9:52:10 | s2 | provenance | | | main.rs:52:27:52:28 | s1 | main.rs:52:14:52:29 | ...::from(...) | provenance | MaD:2 | | main.rs:52:27:52:28 | s1 | main.rs:52:14:52:29 | ...::from(...) | provenance | MaD:4 | -| main.rs:52:27:52:28 | s1 | main.rs:52:14:52:29 | ...::from(...) | provenance | MaD:5 | | main.rs:57:9:57:10 | s1 | main.rs:58:14:58:15 | s1 | provenance | | | main.rs:57:14:57:29 | source_slice(...) | main.rs:57:9:57:10 | s1 | provenance | | | main.rs:58:9:58:10 | s2 | main.rs:59:10:59:11 | s2 | provenance | | @@ -40,32 +38,32 @@ edges | main.rs:58:14:58:27 | s1.to_string() | main.rs:58:9:58:10 | s2 | provenance | | | main.rs:63:9:63:9 | s | main.rs:64:16:64:16 | s | provenance | | | main.rs:63:13:63:22 | source(...) | main.rs:63:9:63:9 | s | provenance | | -| main.rs:64:16:64:16 | s | main.rs:64:16:64:25 | s.as_str() | provenance | MaD:8 | +| main.rs:64:16:64:16 | s | main.rs:64:16:64:25 | s.as_str() | provenance | MaD:7 | | main.rs:68:9:68:9 | s | main.rs:70:34:70:61 | MacroExpr | provenance | | | main.rs:68:9:68:9 | s | main.rs:73:34:73:59 | MacroExpr | provenance | | | main.rs:68:13:68:22 | source(...) | main.rs:68:9:68:9 | s | provenance | | | main.rs:70:9:70:18 | formatted1 | main.rs:71:10:71:19 | formatted1 | provenance | | | main.rs:70:22:70:62 | ...::format(...) | main.rs:70:9:70:18 | formatted1 | provenance | | -| main.rs:70:34:70:61 | MacroExpr | main.rs:70:22:70:62 | ...::format(...) | provenance | MaD:9 | +| main.rs:70:34:70:61 | MacroExpr | main.rs:70:22:70:62 | ...::format(...) | provenance | MaD:8 | | main.rs:73:9:73:18 | formatted2 | main.rs:74:10:74:19 | formatted2 | provenance | | | main.rs:73:22:73:60 | ...::format(...) | main.rs:73:9:73:18 | formatted2 | provenance | | -| main.rs:73:34:73:59 | MacroExpr | main.rs:73:22:73:60 | ...::format(...) | provenance | MaD:9 | +| main.rs:73:34:73:59 | MacroExpr | main.rs:73:22:73:60 | ...::format(...) | provenance | MaD:8 | | main.rs:76:9:76:13 | width | main.rs:77:34:77:74 | MacroExpr | provenance | | | main.rs:76:17:76:32 | source_usize(...) | main.rs:76:9:76:13 | width | provenance | | | main.rs:77:9:77:18 | formatted3 | main.rs:78:10:78:19 | formatted3 | provenance | | | main.rs:77:22:77:75 | ...::format(...) | main.rs:77:9:77:18 | formatted3 | provenance | | -| main.rs:77:34:77:74 | MacroExpr | main.rs:77:22:77:75 | ...::format(...) | provenance | MaD:9 | +| main.rs:77:34:77:74 | MacroExpr | main.rs:77:22:77:75 | ...::format(...) | provenance | MaD:8 | | main.rs:82:9:82:10 | s1 | main.rs:86:18:86:25 | MacroExpr | provenance | | | main.rs:82:9:82:10 | s1 | main.rs:87:18:87:32 | MacroExpr | provenance | | | main.rs:82:14:82:23 | source(...) | main.rs:82:9:82:10 | s1 | provenance | | | main.rs:86:18:86:25 | ...::format(...) | main.rs:86:18:86:25 | { ... } | provenance | | | main.rs:86:18:86:25 | ...::must_use(...) | main.rs:86:10:86:26 | MacroExpr | provenance | | -| main.rs:86:18:86:25 | MacroExpr | main.rs:86:18:86:25 | ...::format(...) | provenance | MaD:9 | -| main.rs:86:18:86:25 | { ... } | main.rs:86:18:86:25 | ...::must_use(...) | provenance | MaD:10 | +| main.rs:86:18:86:25 | MacroExpr | main.rs:86:18:86:25 | ...::format(...) | provenance | MaD:8 | +| main.rs:86:18:86:25 | { ... } | main.rs:86:18:86:25 | ...::must_use(...) | provenance | MaD:9 | | main.rs:87:18:87:32 | ...::format(...) | main.rs:87:18:87:32 | { ... } | provenance | | | main.rs:87:18:87:32 | ...::must_use(...) | main.rs:87:10:87:33 | MacroExpr | provenance | | -| main.rs:87:18:87:32 | MacroExpr | main.rs:87:18:87:32 | ...::format(...) | provenance | MaD:9 | -| main.rs:87:18:87:32 | { ... } | main.rs:87:18:87:32 | ...::must_use(...) | provenance | MaD:10 | +| main.rs:87:18:87:32 | MacroExpr | main.rs:87:18:87:32 | ...::format(...) | provenance | MaD:8 | +| main.rs:87:18:87:32 | { ... } | main.rs:87:18:87:32 | ...::must_use(...) | provenance | MaD:9 | nodes | main.rs:26:9:26:9 | s | semmle.label | s | | main.rs:26:13:26:22 | source(...) | semmle.label | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/taint/inline-taint-flow.expected b/rust/ql/test/library-tests/dataflow/taint/inline-taint-flow.expected index 49d8e4abb19..53a6a4e01a0 100644 --- a/rust/ql/test/library-tests/dataflow/taint/inline-taint-flow.expected +++ b/rust/ql/test/library-tests/dataflow/taint/inline-taint-flow.expected @@ -5,7 +5,6 @@ models | 4 | Summary: <_ as core::ops::arith::AddAssign>::add_assign; Argument[self].Reference; Argument[self].Reference; taint | | 5 | Summary: <_ as core::ops::arith::Neg>::neg; Argument[self]; ReturnValue; taint | | 6 | Summary: <_ as core::ops::index::Index>::index; Argument[self].Reference.Element; ReturnValue.Reference; value | -| 7 | Summary: ::neg; Argument[self]; ReturnValue; taint | edges | main.rs:12:9:12:9 | a | main.rs:13:10:13:10 | a | provenance | | | main.rs:12:13:12:22 | source(...) | main.rs:12:9:12:9 | a | provenance | | @@ -18,7 +17,6 @@ edges | main.rs:25:9:25:9 | a | main.rs:26:11:26:11 | a | provenance | | | main.rs:25:13:25:22 | source(...) | main.rs:25:9:25:9 | a | provenance | | | main.rs:26:11:26:11 | a | main.rs:26:10:26:11 | - ... | provenance | MaD:5 | -| main.rs:26:11:26:11 | a | main.rs:26:10:26:11 | - ... | provenance | MaD:7 | | main.rs:30:9:30:9 | a | main.rs:31:9:31:9 | b | provenance | | | main.rs:30:13:30:22 | source(...) | main.rs:30:9:30:9 | a | provenance | | | main.rs:31:9:31:9 | b | main.rs:32:10:32:17 | b as i64 | provenance | | diff --git a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected index 28242d86a7b..8dba0e3cf27 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -1,2 +1,2 @@ multipleResolvedTargets -| main.rs:3087:13:3087:17 | x.f() | +| main.rs:2860:13:2860:17 | x.f() | diff --git a/rust/ql/test/library-tests/type-inference/associated_types.rs b/rust/ql/test/library-tests/type-inference/associated_types.rs new file mode 100644 index 00000000000..b08be0264a0 --- /dev/null +++ b/rust/ql/test/library-tests/type-inference/associated_types.rs @@ -0,0 +1,364 @@ +#[derive(Debug, Default, Copy, Clone)] +struct Wrapper(A); + +impl Wrapper { + fn unwrap(self) -> A { + self.0 // $ fieldof=Wrapper + } +} + +#[derive(Debug, Default)] +struct S; + +#[derive(Debug, Default)] +struct S2; + +#[derive(Debug, Default)] +struct S3; + +trait GetSet { + type Output; + + // GetSet::get + fn get(&self) -> Self::Output; + + // GetSet::set + fn set(&self, _a: Self::Output) {} +} + +fn get + ?Sized>(item: &T) -> O { + item.get() // $ target=GetSet::get +} + +trait AnotherGet: GetSet { + type AnotherOutput; + + // AnotherGet::get_another + fn get_another(&self) -> Self::AnotherOutput; +} + +impl GetSet for S { + type Output = S3; + + // S::get + fn get(&self) -> Self::Output { + S3 + } +} + +impl GetSet for Wrapper { + type Output = T; + + // Wrapper::get + fn get(&self) -> Self::Output { + self.0 // $ fieldof=Wrapper + } +} + +mod default_method_using_associated_type { + use super::*; + + trait MyTrait { + type AssociatedType; + + // MyTrait::m1 + fn m1(self) -> Self::AssociatedType; + + fn m2(self) -> Self::AssociatedType + where + Self::AssociatedType: Default, + Self: Sized, + { + self.m1(); // $ target=MyTrait::m1 type=self.m1():AssociatedType[MyTrait] + let _default = Self::AssociatedType::default(); // $ MISSING: target=default _default:AssociatedType + Self::AssociatedType::default() // $ MISSING: target=default + } + } + + impl MyTrait for S { + type AssociatedType = S3; + + // S::m1 + fn m1(self) -> Self::AssociatedType { + S3 + } + } + + impl MyTrait for S2 { + // Associated type definition with a type argument + type AssociatedType = Wrapper; + + fn m1(self) -> Self::AssociatedType { + Wrapper(self) + } + } + + pub fn test() { + let x1 = S; + // Call to method in `impl` block + println!("{:?}", x1.m1()); // $ target=S::m1 type=x1.m1():S3 + + let x2 = S; + // Call to default method in `trait` block + let y = x2.m2(); // $ target=m2 type=y:S3 + println!("{:?}", y); + + let x5 = S2; + println!("{:?}", x5.m1()); // $ target=m1 type=x5.m1():A.S2 + let x6 = S2; + println!("{:?}", x6.m2()); // $ target=m2 type=x6.m2():A.S2 + } +} + +// Tests for signatures that access associated types from type parameters +mod type_param_access_associated_type { + use super::*; + + fn tp_with_as(thing: T) -> ::Output { + thing.get() // $ target=GetSet::get + } + + fn tp_without_as(thing: T) -> T::Output { + thing.get() // $ target=GetSet::get + } + + pub fn test() { + let _o1 = tp_with_as(S); // $ target=tp_with_as MISSING: type=_o1:S3 + let _o2 = tp_without_as(S); // $ target=tp_without_as MISSING: type=_o2:S3 + } +} + +// Tests for specifying associated types using equalities, e.g., `Trait` +mod equality_on_associated_type { + use super::*; + + fn _in_same_trait(x: T) + where + T: GetSet, + { + let _a = x.get(); // $ target=GetSet::get type=_a:char + } + + // Here we specify `Output` from `GetSet` through the subtrait `AnotherGet`. + fn _in_subtrait(x: T) + where + T: AnotherGet, + { + let _a1 = x.get(); // $ target=GetSet::get type=_a1:i32 + let _a2 = get(&x); // $ target=get type=_a2:i32 + let _b = x.get_another(); // $ type=_b:bool target=AnotherGet::get_another + } + + // Here we specify the associated types as two separate trait bounds + fn _two_bounds(x: T) + where + T: AnotherGet, + T: GetSet, + { + let _a1 = x.get(); // $ target=GetSet::get type=_a1:i32 + let _a2 = get(&x); // $ target=get type=_a2:i32 + let _b = x.get_another(); // $ type=_b:bool target=AnotherGet::get_another + } + + trait AssocNameClash: GetSet { + type Output; // This name clashes with GetSet::Output + + // AssocNameClash::get2 + fn get2(&self) -> ::Output; + } + + fn _two_bounds_name_clash(x: T) + where + T: AssocNameClash, + T: GetSet, + { + let _a = x.get(); // $ type=_a:i32 target=GetSet::get + let _b = x.get2(); // $ target=AssocNameClash::get2 MISSING: type=_b:char + } +} + +mod generic_associated_type { + use super::*; + + trait MyTraitAssoc2 { + type GenericAssociatedType; + + // MyTraitAssoc2::put + fn put(&self, a: A) -> Self::GenericAssociatedType; + + // MyTraitAssoc2::put_two + fn put_two(&self, a: A, b: A) -> Self::GenericAssociatedType { + self.put(a); // $ target=MyTraitAssoc2::put + self.put(b) // $ target=MyTraitAssoc2::put + } + } + + impl MyTraitAssoc2 for S { + // Associated type with a type parameter + type GenericAssociatedType = Wrapper; + + // S::put + fn put(&self, a: A) -> Wrapper { + Wrapper(a) + } + } + + pub fn test() { + let s = S; + // Call to the method in `impl` block + let _g1 = s.put(1i32); // $ target=S::put type=_g1:A.i32 + + // Call to default implementation in `trait` block + let _g2 = s.put_two(true, false); // $ target=MyTraitAssoc2::put_two MISSING: type=_g2:A.bool + } +} + +mod multiple_associated_types { + use super::*; + + // A generic trait with multiple associated types. + trait TraitMultipleAssoc { + type Assoc1; + type Assoc2; + + fn get_zero(&self) -> TrG; + + fn get_one(&self) -> Self::Assoc1; + + fn get_two(&self) -> Self::Assoc2; + } + + impl TraitMultipleAssoc for S3 { + type Assoc1 = S; + type Assoc2 = S2; + + fn get_zero(&self) -> S3 { + S3 + } + + fn get_one(&self) -> Self::Assoc1 { + S + } + + fn get_two(&self) -> Self::Assoc2 { + S2 + } + } + + pub fn test() { + let _assoc_zero = S3.get_zero(); // $ target=get_zero type=_assoc_zero:S3 + let _assoc_one = S3.get_one(); // $ target=get_one type=_assoc_one:S + let _assoc_two = S3.get_two(); // $ target=get_two type=_assoc_two:S2 + } +} + +mod associated_type_in_supertrait { + use super::*; + + trait Subtrait: GetSet { + // Subtrait::get_content + fn get_content(&self) -> Self::Output; + } + + // A subtrait declared using a `where` clause. + trait Subtrait2 + where + Self: GetSet, + { + // Subtrait2::insert_two + fn insert_two(&self, c1: Self::Output, c2: Self::Output) { + self.set(c1); // $ target=GetSet::set + self.set(c2); // $ target=GetSet::set + } + } + + struct MyType(T); + + impl GetSet for MyType { + type Output = T; + + fn get(&self) -> Self::Output { + self.0 // $ fieldof=MyType + } + + fn set(&self, _content: Self::Output) { + println!("Inserting content: "); + } + } + + impl Subtrait for MyType { + // MyType::get_content + fn get_content(&self) -> Self::Output { + (*self).0 // $ fieldof=MyType target=deref + } + } + + fn get_content(item: &T) -> T::Output { + item.get_content() // $ target=Subtrait::get_content + } + + fn insert_three(item: &T, c1: T::Output, c2: T::Output, c3: T::Output) { + item.set(c1); // $ target=GetSet::set + item.insert_two(c2, c3); // $ target=Subtrait2::insert_two + } + + pub fn test() { + let item1 = MyType(42i64); + let _content1 = item1.get_content(); // $ target=MyType::get_content MISSING: type=_content1:i64 + + let item2 = MyType(true); + let _content2 = get_content(&item2); // $ target=get_content MISSING: type=_content2:bool + } +} + +mod generic_associated_type_name_clash { + use super::*; + + struct ST(T); + + impl GetSet for ST { + // This is not a recursive type, the `Output` on the right-hand side + // refers to the type parameter of the impl block just above. + type Output = Result; + + fn get(&self) -> Self::Output { + Ok(self.0) // $ fieldof=ST type=Ok(...):Result type=Ok(...):T.Output type=Ok(...):E.Output + } + } + + pub fn test() { + let _y = ST(true).get(); // $ type=_y:Result type=_y:T.bool type=_y:E.bool target=get + } +} + +// Tests for associated types in `dyn` trait objects +mod dyn_trait { + use super::*; + + fn _assoc_type_from_trait(t: &dyn GetSet) { + // Explicit deref + let _a1 = (*t).get(); // $ target=deref target=GetSet::get type=_a1:i32 + + // Auto-deref + let _a2 = t.get(); // $ target=GetSet::get type=_a2:i32 + + let _a3 = get(t); // $ target=get type=_a3:i32 + } + + fn _assoc_type_from_supertrait(t: &dyn AnotherGet) { + let _a1 = (*t).get(); // $ target=deref target=GetSet::get type=_a1:i32 + let _a2 = t.get(); // $ target=GetSet::get type=_a2:i32 + let _a3 = get(t); // $ target=get type=_a3:i32 + let _b1 = (*t).get_another(); // $ target=deref target=AnotherGet::get_another type=_b1:bool + let _b2 = t.get_another(); // $ target=AnotherGet::get_another type=_b2:bool + } +} + +pub fn test() { + default_method_using_associated_type::test(); // $ target=test + type_param_access_associated_type::test(); // $ target=test + generic_associated_type::test(); // $ target=test + multiple_associated_types::test(); // $ target=test + associated_type_in_supertrait::test(); // $ target=test + generic_associated_type_name_clash::test(); // $ target=test +} diff --git a/rust/ql/test/library-tests/type-inference/closure.rs b/rust/ql/test/library-tests/type-inference/closure.rs index 43b26819325..cc756a6b267 100644 --- a/rust/ql/test/library-tests/type-inference/closure.rs +++ b/rust/ql/test/library-tests/type-inference/closure.rs @@ -36,6 +36,10 @@ mod fn_once_trait { let _return = f(true); // $ type=_return:i64 } + fn return_type_omitted(f: F) { + let _return = f(true); // $ type=_return:() + } + fn argument_type i64>(f: F) { let arg = Default::default(); // $ target=default type=arg:bool f(arg); @@ -64,6 +68,80 @@ mod fn_once_trait { } } +mod fn_mut_trait { + fn return_type i64>(mut f: F) { + let _return = f(true); // $ type=_return:i64 + } + + fn return_type_omitted(mut f: F) { + let _return = f(true); // $ type=_return:() + } + + fn argument_type i64>(mut f: F) { + let arg = Default::default(); // $ target=default type=arg:bool + f(arg); + } + + fn apply B>(mut f: F, a: A) -> B { + f(a) + } + + fn apply_two(mut f: impl FnMut(i64) -> i64) -> i64 { + f(2) + } + + fn test() { + let f = |x: bool| -> i64 { + if x { + 1 + } else { + 0 + } + }; + let _r = apply(f, true); // $ target=apply type=_r:i64 + + let f = |x| x + 1; // $ MISSING: type=x:i64 target=add + let _r2 = apply_two(f); // $ target=apply_two certainType=_r2:i64 + } +} + +mod fn_trait { + fn return_type i64>(f: F) { + let _return = f(true); // $ type=_return:i64 + } + + fn return_type_omitted(f: F) { + let _return = f(true); // $ type=_return:() + } + + fn argument_type i64>(f: F) { + let arg = Default::default(); // $ target=default type=arg:bool + f(arg); + } + + fn apply B>(f: F, a: A) -> B { + f(a) + } + + fn apply_two(f: impl Fn(i64) -> i64) -> i64 { + f(2) + } + + fn test() { + let f = |x: bool| -> i64 { + if x { + 1 + } else { + 0 + } + }; + let _r = apply(f, true); // $ target=apply type=_r:i64 + + let f = |x| x + 1; // $ MISSING: type=x:i64 target=add + let _r2 = apply_two(f); // $ target=apply_two certainType=_r2:i64 + } +} + mod dyn_fn_once { fn apply_boxed B + ?Sized>(f: Box, arg: A) -> B { f(arg) diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index 840e17b52ef..451f76dfe92 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -903,214 +903,6 @@ mod function_trait_bounds { } } -mod associated_type_in_trait { - #[derive(Debug)] - struct Wrapper { - field: A, - } - - impl Wrapper { - fn unwrap(self) -> A { - self.field // $ fieldof=Wrapper - } - } - - trait MyTrait { - type AssociatedType; - - // MyTrait::m1 - fn m1(self) -> Self::AssociatedType; - - fn m2(self) -> Self::AssociatedType - where - Self::AssociatedType: Default, - Self: Sized, - { - self.m1(); // $ target=MyTrait::m1 type=self.m1():AssociatedType - Self::AssociatedType::default() - } - } - - trait MyTraitAssoc2 { - type GenericAssociatedType; - - // MyTrait::put - fn put(&self, a: A) -> Self::GenericAssociatedType; - - fn putTwo(&self, a: A, b: A) -> Self::GenericAssociatedType { - self.put(a); // $ target=MyTrait::put - self.put(b) // $ target=MyTrait::put - } - } - - // A generic trait with multiple associated types. - trait TraitMultipleAssoc { - type Assoc1; - type Assoc2; - - fn get_zero(&self) -> TrG; - - fn get_one(&self) -> Self::Assoc1; - - fn get_two(&self) -> Self::Assoc2; - } - - #[derive(Debug, Default)] - struct S; - - #[derive(Debug, Default)] - struct S2; - - #[derive(Debug, Default)] - struct AT; - - impl MyTrait for S { - type AssociatedType = AT; - - // S::m1 - fn m1(self) -> Self::AssociatedType { - AT - } - } - - impl MyTraitAssoc2 for S { - // Associated type with a type parameter - type GenericAssociatedType = Wrapper; - - // S::put - fn put(&self, a: A) -> Wrapper { - Wrapper { field: a } - } - } - - impl MyTrait for S2 { - // Associated type definition with a type argument - type AssociatedType = Wrapper; - - fn m1(self) -> Self::AssociatedType { - Wrapper { field: self } - } - } - - // NOTE: This implementation is just to make it possible to call `m2` on `S2.` - impl Default for Wrapper { - fn default() -> Self { - Wrapper { field: S2 } - } - } - - // Function that returns an associated type from a trait bound - - fn g(thing: T) -> ::AssociatedType { - thing.m1() // $ target=MyTrait::m1 - } - - impl TraitMultipleAssoc for AT { - type Assoc1 = S; - type Assoc2 = S2; - - fn get_zero(&self) -> AT { - AT - } - - fn get_one(&self) -> Self::Assoc1 { - S - } - - fn get_two(&self) -> Self::Assoc2 { - S2 - } - } - - pub fn f() { - let x1 = S; - // Call to method in `impl` block - println!("{:?}", x1.m1()); // $ target=S::m1 type=x1.m1():AT - - let x2 = S; - // Call to default method in `trait` block - let y = x2.m2(); // $ target=m2 type=y:AT - println!("{:?}", y); - - let x3 = S; - // Call to the method in `impl` block - println!("{:?}", x3.put(1).unwrap()); // $ target=S::put target=unwrap - - // Call to default implementation in `trait` block - println!("{:?}", x3.putTwo(2, 3).unwrap()); // $ target=putTwo target=unwrap - - let x4 = g(S); // $ target=g $ MISSING: type=x4:AT - println!("{:?}", x4); - - let x5 = S2; - println!("{:?}", x5.m1()); // $ target=m1 type=x5.m1():A.S2 - let x6 = S2; - println!("{:?}", x6.m2()); // $ target=m2 type=x6.m2():A.S2 - - let assoc_zero = AT.get_zero(); // $ target=get_zero type=assoc_zero:AT - let assoc_one = AT.get_one(); // $ target=get_one type=assoc_one:S - let assoc_two = AT.get_two(); // $ target=get_two type=assoc_two:S2 - } -} - -mod associated_type_in_supertrait { - trait Supertrait { - type Content; - // Supertrait::insert - fn insert(&self, content: Self::Content); - } - - trait Subtrait: Supertrait { - // Subtrait::get_content - fn get_content(&self) -> Self::Content; - } - - // A subtrait declared using a `where` clause. - trait Subtrait2 - where - Self: Supertrait, - { - // Subtrait2::insert_two - fn insert_two(&self, c1: Self::Content, c2: Self::Content) { - self.insert(c1); // $ target=Supertrait::insert - self.insert(c2); // $ target=Supertrait::insert - } - } - - struct MyType(T); - - impl Supertrait for MyType { - type Content = T; - fn insert(&self, _content: Self::Content) { - println!("Inserting content: "); - } - } - - impl Subtrait for MyType { - // MyType::get_content - fn get_content(&self) -> Self::Content { - (*self).0.clone() // $ fieldof=MyType target=clone target=deref - } - } - - fn get_content(item: &T) -> T::Content { - item.get_content() // $ target=Subtrait::get_content - } - - fn insert_three(item: &T, c1: T::Content, c2: T::Content, c3: T::Content) { - item.insert(c1); // $ target=Supertrait::insert - item.insert_two(c2, c3); // $ target=Subtrait2::insert_two - } - - fn test() { - let item1 = MyType(42i64); - let _content1 = item1.get_content(); // $ target=MyType::get_content MISSING: type=_content1:i64 - - let item2 = MyType(true); - let _content2 = get_content(&item2); // $ target=get_content MISSING: type=_content2:bool - } -} - mod generic_enum { #[derive(Debug)] enum MyEnum { @@ -1350,23 +1142,6 @@ mod type_aliases { type S7 = Result, S1>; - struct GenS(GenT); - - trait TraitWithAssocType { - type Output; - fn get_input(self) -> Self::Output; - } - - impl TraitWithAssocType for GenS { - // This is not a recursive type, the `Output` on the right-hand side - // refers to the type parameter of the impl block just above. - type Output = Result; - - fn get_input(self) -> Self::Output { - Ok(self.0) // $ fieldof=GenS type=Ok(...):Result type=Ok(...):T.Output type=Ok(...):E.Output - } - } - pub fn f() { // Type can be inferred from the constructor let p1: MyPair = PairOption::PairBoth(S1, S2); @@ -1387,8 +1162,6 @@ mod type_aliases { g(PairOption::PairSnd(PairOption::PairSnd(S3))); // $ target=g let x: S7; // $ certainType=x:Result $ certainType=x:E.S1 $ certainType=x:T.S4 $ certainType=x:T.T41.S2 $ certainType=x:T.T42.S5 $ certainType=x:T.T42.T5.S2 - - let y = GenS(true).get_input(); // $ type=y:Result type=y:T.bool type=y:E.bool target=get_input } } @@ -2822,7 +2595,7 @@ mod tuples { let i: i64 = pair.0; // $ fieldof=Tuple2 let j: bool = pair.1; // $ fieldof=Tuple2 - let pair = [1, 1].into(); // $ type=pair:(T_2) type=pair:T0.i32 type=pair:T1.i32 MISSING: target=into + let pair = [1, 1].into(); // $ type=pair:(T_2) type=pair:T0.i32 type=pair:T1.i32 target=into match pair { (0, 0) => print!("unexpected"), _ => print!("expected"), @@ -3099,6 +2872,7 @@ mod literal_overlap { } } +mod associated_types; mod blanket_impl; mod closure; mod dereference; @@ -3112,7 +2886,6 @@ fn main() { method_non_parametric_trait_impl::f(); // $ target=f trait_default_self_type_parameter::test(); // $ target=test function_trait_bounds::f(); // $ target=f - associated_type_in_trait::f(); // $ target=f generic_enum::f(); // $ target=f method_supertraits::f(); // $ target=f function_trait_bounds_2::f(); // $ target=f @@ -3133,6 +2906,7 @@ fn main() { method_determined_by_argument_type::f(); // $ target=f tuples::f(); // $ target=f path_buf::f(); // $ target=f + associated_types::test(); // $ target=test dereference::test(); // $ target=test pattern_matching::test_all_patterns(); // $ target=test_all_patterns pattern_matching_experimental::box_patterns(); // $ target=box_patterns diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index a9328488156..197ce9ae47f 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -1,4 +1,231 @@ inferCertainType +| associated_types.rs:5:15:5:18 | SelfParam | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:5:15:5:18 | SelfParam | A | associated_types.rs:4:6:4:6 | A | +| associated_types.rs:5:26:7:5 | { ... } | | associated_types.rs:4:6:4:6 | A | +| associated_types.rs:6:9:6:12 | self | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:6:9:6:12 | self | A | associated_types.rs:4:6:4:6 | A | +| associated_types.rs:23:12:23:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:23:12:23:16 | SelfParam | TRef | associated_types.rs:19:1:27:1 | Self [trait GetSet] | +| associated_types.rs:26:12:26:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:26:12:26:16 | SelfParam | TRef | associated_types.rs:19:1:27:1 | Self [trait GetSet] | +| associated_types.rs:26:19:26:20 | _a | | associated_types.rs:20:5:20:16 | Output[GetSet] | +| associated_types.rs:26:37:26:38 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:29:43:29:46 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:29:43:29:46 | item | TRef | associated_types.rs:29:11:29:40 | T | +| associated_types.rs:29:58:31:1 | { ... } | | associated_types.rs:29:8:29:8 | O | +| associated_types.rs:30:5:30:8 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:30:5:30:8 | item | TRef | associated_types.rs:29:11:29:40 | T | +| associated_types.rs:37:20:37:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:37:20:37:24 | SelfParam | TRef | associated_types.rs:33:1:38:1 | Self [trait AnotherGet] | +| associated_types.rs:44:12:44:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:44:12:44:16 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:44:35:46:5 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:53:12:53:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:53:12:53:16 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:53:12:53:16 | SelfParam | TRef.A | associated_types.rs:49:6:49:12 | T | +| associated_types.rs:53:35:55:5 | { ... } | | associated_types.rs:49:6:49:12 | T | +| associated_types.rs:54:9:54:12 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:54:9:54:12 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:54:9:54:12 | self | TRef.A | associated_types.rs:49:6:49:12 | T | +| associated_types.rs:65:15:65:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | +| associated_types.rs:67:15:67:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | +| associated_types.rs:71:9:75:9 | { ... } | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | +| associated_types.rs:72:13:72:16 | self | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | +| associated_types.rs:82:15:82:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:82:45:84:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:91:15:91:18 | SelfParam | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:91:45:93:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:91:45:93:9 | { ... } | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:92:21:92:24 | self | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:96:19:110:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:99:18:99:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:99:18:99:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:99:18:99:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:99:18:99:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:104:18:104:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:104:18:104:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:104:18:104:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:104:18:104:26 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:107:18:107:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:107:18:107:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:107:18:107:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:107:18:107:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:109:18:109:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:109:18:109:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:109:18:109:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:109:18:109:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:117:30:117:34 | thing | | associated_types.rs:117:19:117:27 | T | +| associated_types.rs:118:9:118:13 | thing | | associated_types.rs:117:19:117:27 | T | +| associated_types.rs:121:33:121:37 | thing | | associated_types.rs:121:22:121:30 | T | +| associated_types.rs:122:9:122:13 | thing | | associated_types.rs:121:22:121:30 | T | +| associated_types.rs:125:19:128:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:135:26:135:26 | x | | associated_types.rs:135:23:135:23 | T | +| associated_types.rs:138:5:140:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:139:18:139:18 | x | | associated_types.rs:135:23:135:23 | T | +| associated_types.rs:143:24:143:24 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:146:5:150:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:147:19:147:19 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:148:23:148:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:148:24:148:24 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:149:18:149:18 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:153:23:153:23 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:157:5:161:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:158:19:158:19 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:159:23:159:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:159:24:159:24 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:160:18:160:18 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:167:17:167:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:167:17:167:21 | SelfParam | TRef | associated_types.rs:163:5:168:5 | Self [trait AssocNameClash] | +| associated_types.rs:170:34:170:34 | x | | associated_types.rs:170:31:170:31 | T | +| associated_types.rs:174:5:177:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:175:18:175:18 | x | | associated_types.rs:170:31:170:31 | T | +| associated_types.rs:176:18:176:18 | x | | associated_types.rs:170:31:170:31 | T | +| associated_types.rs:187:19:187:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:187:19:187:23 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:187:26:187:26 | a | | associated_types.rs:187:16:187:16 | A | +| associated_types.rs:190:23:190:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:190:23:190:27 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:190:30:190:30 | a | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:190:36:190:36 | b | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:190:76:193:9 | { ... } | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:191:13:191:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:191:13:191:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:191:22:191:22 | a | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:192:13:192:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:192:13:192:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:192:22:192:22 | b | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:201:19:201:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:201:19:201:23 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:201:26:201:26 | a | | associated_types.rs:201:16:201:16 | A | +| associated_types.rs:201:46:203:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:201:46:203:9 | { ... } | A | associated_types.rs:201:16:201:16 | A | +| associated_types.rs:202:21:202:21 | a | | associated_types.rs:201:16:201:16 | A | +| associated_types.rs:206:19:213:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:209:25:209:28 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:212:29:212:32 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:212:35:212:39 | false | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:224:21:224:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:224:21:224:25 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:226:20:226:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:226:20:226:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:228:20:228:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:228:20:228:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:235:21:235:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:235:21:235:25 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:235:34:237:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:239:20:239:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:239:20:239:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:239:43:241:9 | { ... } | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:243:20:243:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:243:20:243:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:243:43:245:9 | { ... } | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:248:19:252:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:260:24:260:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:260:24:260:28 | SelfParam | TRef | associated_types.rs:258:5:261:5 | Self [trait Subtrait] | +| associated_types.rs:269:23:269:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:269:23:269:27 | SelfParam | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | +| associated_types.rs:269:30:269:31 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:269:48:269:49 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:269:66:272:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:270:13:270:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:270:13:270:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | +| associated_types.rs:270:22:270:23 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:271:13:271:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:271:13:271:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | +| associated_types.rs:271:22:271:23 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:280:16:280:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:280:16:280:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:280:16:280:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:280:39:282:9 | { ... } | | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:281:13:281:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:281:13:281:16 | self | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:281:13:281:16 | self | TRef.T | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:284:16:284:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:284:16:284:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:284:16:284:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:284:23:284:30 | _content | | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:284:47:286:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:285:22:285:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:285:22:285:42 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:291:24:291:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:291:24:291:28 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:291:24:291:28 | SelfParam | TRef.T | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:292:15:292:18 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:292:15:292:18 | self | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:292:15:292:18 | self | TRef.T | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:296:33:296:36 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:296:33:296:36 | item | TRef | associated_types.rs:296:20:296:30 | T | +| associated_types.rs:297:9:297:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:297:9:297:12 | item | TRef | associated_types.rs:296:20:296:30 | T | +| associated_types.rs:300:35:300:38 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:300:35:300:38 | item | TRef | associated_types.rs:300:21:300:32 | T | +| associated_types.rs:300:90:303:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:301:9:301:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:301:9:301:12 | item | TRef | associated_types.rs:300:21:300:32 | T | +| associated_types.rs:302:9:302:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:302:9:302:12 | item | TRef | associated_types.rs:300:21:300:32 | T | +| associated_types.rs:305:19:311:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:306:28:306:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:309:28:309:31 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:310:37:310:42 | &item2 | | {EXTERNAL LOCATION} | & | +| associated_types.rs:324:16:324:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:324:16:324:20 | SelfParam | TRef | associated_types.rs:317:5:317:20 | ST | +| associated_types.rs:324:16:324:20 | SelfParam | TRef.T | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:324:39:326:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:324:39:326:9 | { ... } | E | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:324:39:326:9 | { ... } | T | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:325:16:325:19 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:325:16:325:19 | self | TRef | associated_types.rs:317:5:317:20 | ST | +| associated_types.rs:325:16:325:19 | self | TRef.T | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:329:19:331:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:330:21:330:24 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:338:31:338:31 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:338:31:338:31 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:338:31:338:31 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:338:61:346:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:340:21:340:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:340:21:340:21 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:340:21:340:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:343:19:343:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:343:19:343:19 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:343:19:343:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:345:23:345:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:345:23:345:23 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:345:23:345:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:348:36:348:36 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:348:36:348:36 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:348:36:348:36 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:348:36:348:36 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:348:92:354:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:349:21:349:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:349:21:349:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:349:21:349:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:349:21:349:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:350:19:350:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:350:19:350:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:350:19:350:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:350:19:350:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:351:23:351:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:351:23:351:23 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:351:23:351:23 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:351:23:351:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:352:21:352:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:352:21:352:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:352:21:352:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:352:21:352:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:353:19:353:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:353:19:353:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:353:19:353:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:353:19:353:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:357:15:364:1 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:358:5:358:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:359:5:359:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:360:5:360:35 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:361:5:361:37 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:362:5:362:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:363:5:363:46 | ...::test(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:15:18:15:22 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:15:18:15:22 | SelfParam | TRef | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:15:42:17:9 | { ... } | | {EXTERNAL LOCATION} | & | @@ -230,51 +457,105 @@ inferCertainType | closure.rs:35:50:37:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:36:23:36:23 | f | | closure.rs:35:20:35:41 | F | | closure.rs:36:25:36:28 | true | | {EXTERNAL LOCATION} | bool | -| closure.rs:39:46:39:46 | f | | closure.rs:39:22:39:43 | F | -| closure.rs:39:52:42:5 | { ... } | | {EXTERNAL LOCATION} | () | -| closure.rs:41:9:41:9 | f | | closure.rs:39:22:39:43 | F | -| closure.rs:44:39:44:39 | f | | closure.rs:44:20:44:36 | F | -| closure.rs:44:45:44:45 | a | | closure.rs:44:14:44:14 | A | -| closure.rs:44:56:46:5 | { ... } | | closure.rs:44:17:44:17 | B | -| closure.rs:45:9:45:9 | f | | closure.rs:44:20:44:36 | F | -| closure.rs:45:11:45:11 | a | | closure.rs:44:14:44:14 | A | -| closure.rs:48:18:48:18 | f | | closure.rs:48:21:48:43 | impl ... | -| closure.rs:48:53:50:5 | { ... } | | {EXTERNAL LOCATION} | i64 | -| closure.rs:49:9:49:9 | f | | closure.rs:48:21:48:43 | impl ... | -| closure.rs:52:15:64:5 | { ... } | | {EXTERNAL LOCATION} | () | -| closure.rs:53:18:53:18 | x | | {EXTERNAL LOCATION} | bool | -| closure.rs:54:16:54:16 | x | | {EXTERNAL LOCATION} | bool | -| closure.rs:60:27:60:30 | true | | {EXTERNAL LOCATION} | bool | -| closure.rs:63:13:63:15 | _r2 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:63:19:63:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | -| closure.rs:68:54:68:54 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:68:54:68:54 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:68:54:68:54 | f | T | closure.rs:68:26:68:51 | F | -| closure.rs:68:65:68:67 | arg | | closure.rs:68:20:68:20 | A | -| closure.rs:68:78:70:5 | { ... } | | closure.rs:68:23:68:23 | B | -| closure.rs:69:9:69:9 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:69:9:69:9 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:69:9:69:9 | f | T | closure.rs:68:26:68:51 | F | -| closure.rs:69:11:69:13 | arg | | closure.rs:68:20:68:20 | A | -| closure.rs:72:30:72:30 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:72:30:72:30 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:72:30:72:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:72:30:72:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:72:30:72:30 | f | T.dyn(Args).T0 | closure.rs:72:24:72:24 | A | -| closure.rs:72:30:72:30 | f | T.dyn(Output) | closure.rs:72:27:72:27 | B | -| closure.rs:72:58:72:60 | arg | | closure.rs:72:24:72:24 | A | -| closure.rs:72:66:75:5 | { ... } | | {EXTERNAL LOCATION} | () | -| closure.rs:73:31:73:31 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:73:31:73:31 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:73:31:73:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:73:31:73:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:73:31:73:31 | f | T.dyn(Args).T0 | closure.rs:72:24:72:24 | A | -| closure.rs:73:31:73:31 | f | T.dyn(Output) | closure.rs:72:27:72:27 | B | -| closure.rs:73:34:73:36 | arg | | closure.rs:72:24:72:24 | A | -| closure.rs:74:31:74:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| closure.rs:74:31:74:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| closure.rs:74:41:74:41 | _ | | {EXTERNAL LOCATION} | i64 | -| closure.rs:74:49:74:52 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:39:45:39:45 | f | | closure.rs:39:28:39:42 | F | +| closure.rs:39:51:41:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:40:23:40:23 | f | | closure.rs:39:28:39:42 | F | +| closure.rs:40:25:40:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:43:46:43:46 | f | | closure.rs:43:22:43:43 | F | +| closure.rs:43:52:46:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:45:9:45:9 | f | | closure.rs:43:22:43:43 | F | +| closure.rs:48:39:48:39 | f | | closure.rs:48:20:48:36 | F | +| closure.rs:48:45:48:45 | a | | closure.rs:48:14:48:14 | A | +| closure.rs:48:56:50:5 | { ... } | | closure.rs:48:17:48:17 | B | +| closure.rs:49:9:49:9 | f | | closure.rs:48:20:48:36 | F | +| closure.rs:49:11:49:11 | a | | closure.rs:48:14:48:14 | A | +| closure.rs:52:18:52:18 | f | | closure.rs:52:21:52:43 | impl ... | +| closure.rs:52:53:54:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:53:9:53:9 | f | | closure.rs:52:21:52:43 | impl ... | +| closure.rs:56:15:68:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:57:18:57:18 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:58:16:58:16 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:64:27:64:30 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:67:13:67:15 | _r2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:67:19:67:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:72:47:72:47 | f | | closure.rs:72:20:72:40 | F | +| closure.rs:72:53:74:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:73:23:73:23 | f | | closure.rs:72:20:72:40 | F | +| closure.rs:73:25:73:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:76:48:76:48 | f | | closure.rs:76:28:76:41 | F | +| closure.rs:76:54:78:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:77:23:77:23 | f | | closure.rs:76:28:76:41 | F | +| closure.rs:77:25:77:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:80:49:80:49 | f | | closure.rs:80:22:80:42 | F | +| closure.rs:80:55:83:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:82:9:82:9 | f | | closure.rs:80:22:80:42 | F | +| closure.rs:85:42:85:42 | f | | closure.rs:85:20:85:35 | F | +| closure.rs:85:48:85:48 | a | | closure.rs:85:14:85:14 | A | +| closure.rs:85:59:87:5 | { ... } | | closure.rs:85:17:85:17 | B | +| closure.rs:86:9:86:9 | f | | closure.rs:85:20:85:35 | F | +| closure.rs:86:11:86:11 | a | | closure.rs:85:14:85:14 | A | +| closure.rs:89:22:89:22 | f | | closure.rs:89:25:89:46 | impl ... | +| closure.rs:89:56:91:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:90:9:90:9 | f | | closure.rs:89:25:89:46 | impl ... | +| closure.rs:93:15:105:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:94:18:94:18 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:95:16:95:16 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:101:27:101:30 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:104:13:104:15 | _r2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:104:19:104:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:109:40:109:40 | f | | closure.rs:109:20:109:37 | F | +| closure.rs:109:46:111:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:110:23:110:23 | f | | closure.rs:109:20:109:37 | F | +| closure.rs:110:25:110:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:113:41:113:41 | f | | closure.rs:113:28:113:38 | F | +| closure.rs:113:47:115:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:114:23:114:23 | f | | closure.rs:113:28:113:38 | F | +| closure.rs:114:25:114:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:117:42:117:42 | f | | closure.rs:117:22:117:39 | F | +| closure.rs:117:48:120:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:119:9:119:9 | f | | closure.rs:117:22:117:39 | F | +| closure.rs:122:35:122:35 | f | | closure.rs:122:20:122:32 | F | +| closure.rs:122:41:122:41 | a | | closure.rs:122:14:122:14 | A | +| closure.rs:122:52:124:5 | { ... } | | closure.rs:122:17:122:17 | B | +| closure.rs:123:9:123:9 | f | | closure.rs:122:20:122:32 | F | +| closure.rs:123:11:123:11 | a | | closure.rs:122:14:122:14 | A | +| closure.rs:126:18:126:18 | f | | closure.rs:126:21:126:39 | impl ... | +| closure.rs:126:49:128:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:127:9:127:9 | f | | closure.rs:126:21:126:39 | impl ... | +| closure.rs:130:15:142:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:131:18:131:18 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:132:16:132:16 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:138:27:138:30 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:141:13:141:15 | _r2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:141:19:141:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:146:54:146:54 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:146:54:146:54 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:146:54:146:54 | f | T | closure.rs:146:26:146:51 | F | +| closure.rs:146:65:146:67 | arg | | closure.rs:146:20:146:20 | A | +| closure.rs:146:78:148:5 | { ... } | | closure.rs:146:23:146:23 | B | +| closure.rs:147:9:147:9 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:147:9:147:9 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:147:9:147:9 | f | T | closure.rs:146:26:146:51 | F | +| closure.rs:147:11:147:13 | arg | | closure.rs:146:20:146:20 | A | +| closure.rs:150:30:150:30 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:150:30:150:30 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:150:30:150:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:150:30:150:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:150:30:150:30 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A | +| closure.rs:150:30:150:30 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B | +| closure.rs:150:58:150:60 | arg | | closure.rs:150:24:150:24 | A | +| closure.rs:150:66:153:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:151:31:151:31 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:151:31:151:31 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:151:31:151:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:151:31:151:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:151:31:151:31 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A | +| closure.rs:151:31:151:31 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B | +| closure.rs:151:34:151:36 | arg | | closure.rs:150:24:150:24 | A | +| closure.rs:152:31:152:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| closure.rs:152:31:152:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| closure.rs:152:41:152:41 | _ | | {EXTERNAL LOCATION} | i64 | +| closure.rs:152:49:152:52 | true | | {EXTERNAL LOCATION} | bool | | dereference.rs:13:14:13:18 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:13:14:13:18 | SelfParam | TRef | dereference.rs:5:1:7:1 | MyIntPointer | | dereference.rs:13:29:15:5 | { ... } | | {EXTERNAL LOCATION} | & | @@ -1470,2160 +1751,2023 @@ inferCertainType | main.rs:900:18:900:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:900:18:900:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:902:13:902:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:913:19:913:22 | SelfParam | | main.rs:907:5:910:5 | Wrapper | -| main.rs:913:19:913:22 | SelfParam | A | main.rs:912:10:912:10 | A | -| main.rs:913:30:915:9 | { ... } | | main.rs:912:10:912:10 | A | -| main.rs:914:13:914:16 | self | | main.rs:907:5:910:5 | Wrapper | -| main.rs:914:13:914:16 | self | A | main.rs:912:10:912:10 | A | -| main.rs:922:15:922:18 | SelfParam | | main.rs:918:5:932:5 | Self [trait MyTrait] | -| main.rs:924:15:924:18 | SelfParam | | main.rs:918:5:932:5 | Self [trait MyTrait] | -| main.rs:928:9:931:9 | { ... } | | main.rs:919:9:919:28 | AssociatedType | -| main.rs:929:13:929:16 | self | | main.rs:918:5:932:5 | Self [trait MyTrait] | -| main.rs:938:19:938:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:938:19:938:23 | SelfParam | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:938:26:938:26 | a | | main.rs:938:16:938:16 | A | -| main.rs:940:22:940:26 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:940:22:940:26 | SelfParam | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:940:29:940:29 | a | | main.rs:940:19:940:19 | A | -| main.rs:940:35:940:35 | b | | main.rs:940:19:940:19 | A | -| main.rs:940:75:943:9 | { ... } | | main.rs:935:9:935:52 | GenericAssociatedType | -| main.rs:941:13:941:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:941:13:941:16 | self | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:941:22:941:22 | a | | main.rs:940:19:940:19 | A | -| main.rs:942:13:942:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:942:13:942:16 | self | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:942:22:942:22 | b | | main.rs:940:19:940:19 | A | -| main.rs:951:21:951:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:951:21:951:25 | SelfParam | TRef | main.rs:946:5:956:5 | Self [trait TraitMultipleAssoc] | -| main.rs:953:20:953:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:953:20:953:24 | SelfParam | TRef | main.rs:946:5:956:5 | Self [trait TraitMultipleAssoc] | -| main.rs:955:20:955:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:955:20:955:24 | SelfParam | TRef | main.rs:946:5:956:5 | Self [trait TraitMultipleAssoc] | -| main.rs:971:15:971:18 | SelfParam | | main.rs:958:5:959:13 | S | -| main.rs:971:45:973:9 | { ... } | | main.rs:964:5:965:14 | AT | -| main.rs:981:19:981:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:981:19:981:23 | SelfParam | TRef | main.rs:958:5:959:13 | S | -| main.rs:981:26:981:26 | a | | main.rs:981:16:981:16 | A | -| main.rs:981:46:983:9 | { ... } | | main.rs:907:5:910:5 | Wrapper | -| main.rs:981:46:983:9 | { ... } | A | main.rs:981:16:981:16 | A | -| main.rs:982:13:982:32 | Wrapper {...} | | main.rs:907:5:910:5 | Wrapper | -| main.rs:982:30:982:30 | a | | main.rs:981:16:981:16 | A | -| main.rs:990:15:990:18 | SelfParam | | main.rs:961:5:962:14 | S2 | -| main.rs:990:45:992:9 | { ... } | | main.rs:907:5:910:5 | Wrapper | -| main.rs:990:45:992:9 | { ... } | A | main.rs:961:5:962:14 | S2 | -| main.rs:991:13:991:35 | Wrapper {...} | | main.rs:907:5:910:5 | Wrapper | -| main.rs:991:30:991:33 | self | | main.rs:961:5:962:14 | S2 | -| main.rs:997:30:999:9 | { ... } | | main.rs:907:5:910:5 | Wrapper | -| main.rs:997:30:999:9 | { ... } | A | main.rs:961:5:962:14 | S2 | -| main.rs:998:13:998:33 | Wrapper {...} | | main.rs:907:5:910:5 | Wrapper | -| main.rs:1004:22:1004:26 | thing | | main.rs:1004:10:1004:19 | T | -| main.rs:1005:9:1005:13 | thing | | main.rs:1004:10:1004:19 | T | -| main.rs:1012:21:1012:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1012:21:1012:25 | SelfParam | TRef | main.rs:964:5:965:14 | AT | -| main.rs:1012:34:1014:9 | { ... } | | main.rs:964:5:965:14 | AT | -| main.rs:1016:20:1016:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1016:20:1016:24 | SelfParam | TRef | main.rs:964:5:965:14 | AT | -| main.rs:1016:43:1018:9 | { ... } | | main.rs:958:5:959:13 | S | -| main.rs:1020:20:1020:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1020:20:1020:24 | SelfParam | TRef | main.rs:964:5:965:14 | AT | -| main.rs:1020:43:1022:9 | { ... } | | main.rs:961:5:962:14 | S2 | -| main.rs:1025:16:1053:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1028:18:1028:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1028:18:1028:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1028:18:1028:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1028:18:1028:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1033:18:1033:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1033:18:1033:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1033:18:1033:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1033:18:1033:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1037:18:1037:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1037:18:1037:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1037:18:1037:43 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1037:18:1037:43 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1040:18:1040:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1040:18:1040:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1040:18:1040:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1040:18:1040:49 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1043:18:1043:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1043:18:1043:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1043:18:1043:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1043:18:1043:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1046:18:1046:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1046:18:1046:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1046:18:1046:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1046:18:1046:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1048:18:1048:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1048:18:1048:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1048:18:1048:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1048:18:1048:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1060:19:1060:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1060:19:1060:23 | SelfParam | TRef | main.rs:1057:5:1061:5 | Self [trait Supertrait] | -| main.rs:1060:26:1060:32 | content | | main.rs:1058:9:1058:21 | Content | -| main.rs:1065:24:1065:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1065:24:1065:28 | SelfParam | TRef | main.rs:1063:5:1066:5 | Self [trait Subtrait] | -| main.rs:1074:23:1074:27 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1074:23:1074:27 | SelfParam | TRef | main.rs:1068:5:1078:5 | Self [trait Subtrait2] | -| main.rs:1074:68:1077:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1075:13:1075:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1075:13:1075:16 | self | TRef | main.rs:1068:5:1078:5 | Self [trait Subtrait2] | -| main.rs:1076:13:1076:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1076:13:1076:16 | self | TRef | main.rs:1068:5:1078:5 | Self [trait Subtrait2] | -| main.rs:1084:19:1084:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1084:19:1084:23 | SelfParam | TRef | main.rs:1080:5:1080:24 | MyType | -| main.rs:1084:19:1084:23 | SelfParam | TRef.T | main.rs:1082:10:1082:10 | T | -| main.rs:1084:26:1084:33 | _content | | main.rs:1082:10:1082:10 | T | -| main.rs:1084:51:1086:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1085:22:1085:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1085:22:1085:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1085:22:1085:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1085:22:1085:42 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1091:24:1091:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1091:24:1091:28 | SelfParam | TRef | main.rs:1080:5:1080:24 | MyType | -| main.rs:1091:24:1091:28 | SelfParam | TRef.T | main.rs:1089:10:1089:17 | T | -| main.rs:1092:15:1092:18 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1092:15:1092:18 | self | TRef | main.rs:1080:5:1080:24 | MyType | -| main.rs:1092:15:1092:18 | self | TRef.T | main.rs:1089:10:1089:17 | T | -| main.rs:1096:33:1096:36 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1096:33:1096:36 | item | TRef | main.rs:1096:20:1096:30 | T | -| main.rs:1097:9:1097:12 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1097:9:1097:12 | item | TRef | main.rs:1096:20:1096:30 | T | -| main.rs:1100:35:1100:38 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1100:35:1100:38 | item | TRef | main.rs:1100:21:1100:32 | T | -| main.rs:1100:93:1103:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1101:9:1101:12 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1101:9:1101:12 | item | TRef | main.rs:1100:21:1100:32 | T | -| main.rs:1102:9:1102:12 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1102:9:1102:12 | item | TRef | main.rs:1100:21:1100:32 | T | -| main.rs:1105:15:1111:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1106:28:1106:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1109:28:1109:31 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1110:37:1110:42 | &item2 | | {EXTERNAL LOCATION} | & | -| main.rs:1127:15:1127:18 | SelfParam | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1127:15:1127:18 | SelfParam | A | main.rs:1126:10:1126:10 | T | -| main.rs:1127:26:1132:9 | { ... } | | main.rs:1126:10:1126:10 | T | -| main.rs:1128:19:1128:22 | self | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1128:19:1128:22 | self | A | main.rs:1126:10:1126:10 | T | -| main.rs:1130:17:1130:32 | ...::C2 {...} | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1135:16:1141:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1137:13:1137:13 | y | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1137:17:1137:36 | ...::C2 {...} | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1139:18:1139:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1139:18:1139:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1139:18:1139:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1139:18:1139:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1140:18:1140:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1140:18:1140:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1140:18:1140:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1140:18:1140:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1140:26:1140:26 | y | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1162:15:1162:18 | SelfParam | | main.rs:1160:5:1163:5 | Self [trait MyTrait1] | -| main.rs:1167:15:1167:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1167:15:1167:19 | SelfParam | TRef | main.rs:1165:5:1177:5 | Self [trait MyTrait2] | -| main.rs:1170:9:1176:9 | { ... } | | main.rs:1165:20:1165:22 | Tr2 | -| main.rs:1172:17:1172:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1172:17:1172:20 | self | TRef | main.rs:1165:5:1177:5 | Self [trait MyTrait2] | -| main.rs:1174:27:1174:30 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1174:27:1174:30 | self | TRef | main.rs:1165:5:1177:5 | Self [trait MyTrait2] | -| main.rs:1181:15:1181:18 | SelfParam | | main.rs:1179:5:1191:5 | Self [trait MyTrait3] | -| main.rs:1184:9:1190:9 | { ... } | | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1186:17:1186:20 | self | | main.rs:1179:5:1191:5 | Self [trait MyTrait3] | -| main.rs:1188:26:1188:30 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1188:27:1188:30 | self | | main.rs:1179:5:1191:5 | Self [trait MyTrait3] | -| main.rs:1195:15:1195:18 | SelfParam | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1195:15:1195:18 | SelfParam | A | main.rs:1193:10:1193:10 | T | -| main.rs:1195:26:1197:9 | { ... } | | main.rs:1193:10:1193:10 | T | -| main.rs:1196:13:1196:16 | self | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1196:13:1196:16 | self | A | main.rs:1193:10:1193:10 | T | -| main.rs:1204:15:1204:18 | SelfParam | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1204:15:1204:18 | SelfParam | A | main.rs:1202:10:1202:10 | T | -| main.rs:1204:35:1206:9 | { ... } | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1204:35:1206:9 | { ... } | A | main.rs:1202:10:1202:10 | T | -| main.rs:1205:13:1205:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1205:26:1205:29 | self | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1205:26:1205:29 | self | A | main.rs:1202:10:1202:10 | T | -| main.rs:1213:44:1213:44 | x | | main.rs:1213:26:1213:41 | T2 | -| main.rs:1213:57:1215:5 | { ... } | | main.rs:1213:22:1213:23 | T1 | -| main.rs:1214:9:1214:9 | x | | main.rs:1213:26:1213:41 | T2 | -| main.rs:1217:56:1217:56 | x | | main.rs:1217:39:1217:53 | T | -| main.rs:1217:62:1221:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1219:17:1219:17 | x | | main.rs:1217:39:1217:53 | T | -| main.rs:1220:18:1220:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1220:18:1220:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1220:18:1220:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1220:18:1220:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1223:16:1247:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1224:13:1224:13 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1224:17:1224:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1225:13:1225:13 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1225:17:1225:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | +| main.rs:919:15:919:18 | SelfParam | | main.rs:907:5:911:5 | MyEnum | +| main.rs:919:15:919:18 | SelfParam | A | main.rs:918:10:918:10 | T | +| main.rs:919:26:924:9 | { ... } | | main.rs:918:10:918:10 | T | +| main.rs:920:19:920:22 | self | | main.rs:907:5:911:5 | MyEnum | +| main.rs:920:19:920:22 | self | A | main.rs:918:10:918:10 | T | +| main.rs:922:17:922:32 | ...::C2 {...} | | main.rs:907:5:911:5 | MyEnum | +| main.rs:927:16:933:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:929:13:929:13 | y | | main.rs:907:5:911:5 | MyEnum | +| main.rs:929:17:929:36 | ...::C2 {...} | | main.rs:907:5:911:5 | MyEnum | +| main.rs:931:18:931:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:931:18:931:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:931:18:931:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:931:18:931:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:932:18:932:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:932:18:932:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:932:18:932:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:932:18:932:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:932:26:932:26 | y | | main.rs:907:5:911:5 | MyEnum | +| main.rs:954:15:954:18 | SelfParam | | main.rs:952:5:955:5 | Self [trait MyTrait1] | +| main.rs:959:15:959:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:959:15:959:19 | SelfParam | TRef | main.rs:957:5:969:5 | Self [trait MyTrait2] | +| main.rs:962:9:968:9 | { ... } | | main.rs:957:20:957:22 | Tr2 | +| main.rs:964:17:964:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:964:17:964:20 | self | TRef | main.rs:957:5:969:5 | Self [trait MyTrait2] | +| main.rs:966:27:966:30 | self | | {EXTERNAL LOCATION} | & | +| main.rs:966:27:966:30 | self | TRef | main.rs:957:5:969:5 | Self [trait MyTrait2] | +| main.rs:973:15:973:18 | SelfParam | | main.rs:971:5:983:5 | Self [trait MyTrait3] | +| main.rs:976:9:982:9 | { ... } | | main.rs:971:20:971:22 | Tr3 | +| main.rs:978:17:978:20 | self | | main.rs:971:5:983:5 | Self [trait MyTrait3] | +| main.rs:980:26:980:30 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:980:27:980:30 | self | | main.rs:971:5:983:5 | Self [trait MyTrait3] | +| main.rs:987:15:987:18 | SelfParam | | main.rs:937:5:940:5 | MyThing | +| main.rs:987:15:987:18 | SelfParam | A | main.rs:985:10:985:10 | T | +| main.rs:987:26:989:9 | { ... } | | main.rs:985:10:985:10 | T | +| main.rs:988:13:988:16 | self | | main.rs:937:5:940:5 | MyThing | +| main.rs:988:13:988:16 | self | A | main.rs:985:10:985:10 | T | +| main.rs:996:15:996:18 | SelfParam | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:996:15:996:18 | SelfParam | A | main.rs:994:10:994:10 | T | +| main.rs:996:35:998:9 | { ... } | | main.rs:937:5:940:5 | MyThing | +| main.rs:996:35:998:9 | { ... } | A | main.rs:994:10:994:10 | T | +| main.rs:997:13:997:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:997:26:997:29 | self | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:997:26:997:29 | self | A | main.rs:994:10:994:10 | T | +| main.rs:1005:44:1005:44 | x | | main.rs:1005:26:1005:41 | T2 | +| main.rs:1005:57:1007:5 | { ... } | | main.rs:1005:22:1005:23 | T1 | +| main.rs:1006:9:1006:9 | x | | main.rs:1005:26:1005:41 | T2 | +| main.rs:1009:56:1009:56 | x | | main.rs:1009:39:1009:53 | T | +| main.rs:1009:62:1013:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1011:17:1011:17 | x | | main.rs:1009:39:1009:53 | T | +| main.rs:1012:18:1012:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1012:18:1012:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1012:18:1012:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1012:18:1012:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1015:16:1039:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1016:13:1016:13 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1016:17:1016:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1017:13:1017:13 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1017:17:1017:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1019:18:1019:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1019:18:1019:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1019:18:1019:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1019:18:1019:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1019:26:1019:26 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1020:18:1020:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1020:18:1020:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1020:18:1020:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1020:18:1020:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1020:26:1020:26 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1022:13:1022:13 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1022:17:1022:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1023:13:1023:13 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1023:17:1023:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1025:18:1025:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1025:18:1025:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1025:18:1025:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1025:18:1025:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1025:26:1025:26 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1026:18:1026:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1026:18:1026:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1026:18:1026:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1026:18:1026:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1026:26:1026:26 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1028:13:1028:13 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1028:17:1028:34 | MyThing2 {...} | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1029:13:1029:13 | y | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1029:17:1029:34 | MyThing2 {...} | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1031:18:1031:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1031:18:1031:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1031:18:1031:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1031:18:1031:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1031:26:1031:26 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1032:18:1032:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1032:18:1032:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1032:18:1032:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1032:26:1032:26 | y | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1034:13:1034:13 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1034:17:1034:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1035:31:1035:31 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1037:13:1037:13 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1037:17:1037:34 | MyThing2 {...} | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1038:31:1038:31 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1055:22:1055:22 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1055:22:1055:22 | x | TRef | main.rs:1055:11:1055:19 | T | +| main.rs:1055:35:1057:5 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1055:35:1057:5 | { ... } | TRef | main.rs:1055:11:1055:19 | T | +| main.rs:1056:9:1056:9 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1056:9:1056:9 | x | TRef | main.rs:1055:11:1055:19 | T | +| main.rs:1060:17:1060:20 | SelfParam | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1060:29:1062:9 | { ... } | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1065:21:1065:21 | x | | main.rs:1065:13:1065:14 | T1 | +| main.rs:1068:5:1070:5 | { ... } | | main.rs:1065:17:1065:18 | T2 | +| main.rs:1069:9:1069:9 | x | | main.rs:1065:13:1065:14 | T1 | +| main.rs:1072:16:1088:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1074:18:1074:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1074:18:1074:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1074:18:1074:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1074:18:1074:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1074:26:1074:31 | id(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1074:29:1074:30 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1077:18:1077:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1077:18:1077:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1077:18:1077:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1077:18:1077:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1077:26:1077:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1077:26:1077:37 | id::<...>(...) | TRef | main.rs:1045:5:1046:14 | S1 | +| main.rs:1077:35:1077:36 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1081:18:1081:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1081:18:1081:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1081:18:1081:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1081:18:1081:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1081:26:1081:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1081:26:1081:44 | id::<...>(...) | TRef | main.rs:1051:5:1051:25 | dyn Trait | +| main.rs:1081:42:1081:43 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1084:9:1084:25 | into::<...>(...) | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1087:13:1087:13 | y | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1101:22:1101:25 | SelfParam | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1101:22:1101:25 | SelfParam | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1101:22:1101:25 | SelfParam | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1101:35:1108:9 | { ... } | | main.rs:1100:15:1100:17 | Snd | +| main.rs:1102:19:1102:22 | self | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1102:19:1102:22 | self | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1102:19:1102:22 | self | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1103:43:1103:82 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:1103:50:1103:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | +| main.rs:1103:50:1103:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1103:50:1103:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:1103:50:1103:81 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1104:43:1104:81 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:1104:50:1104:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | +| main.rs:1104:50:1104:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1104:50:1104:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:1104:50:1104:80 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1132:10:1132:10 | t | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1132:10:1132:10 | t | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1132:10:1132:10 | t | Snd | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1132:10:1132:10 | t | Snd.Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1132:10:1132:10 | t | Snd.Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1132:30:1135:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1133:17:1133:17 | t | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1133:17:1133:17 | t | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1133:17:1133:17 | t | Snd | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1133:17:1133:17 | t | Snd.Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1133:17:1133:17 | t | Snd.Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1134:18:1134:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1134:18:1134:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1134:18:1134:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1134:18:1134:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1145:16:1165:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1147:13:1147:14 | p1 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1147:13:1147:14 | p1 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1147:13:1147:14 | p1 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1148:18:1148:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1148:18:1148:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1148:18:1148:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1148:18:1148:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1148:26:1148:27 | p1 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1148:26:1148:27 | p1 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1148:26:1148:27 | p1 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1151:13:1151:14 | p2 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1151:13:1151:14 | p2 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1151:13:1151:14 | p2 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1152:18:1152:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1152:18:1152:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1152:18:1152:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1152:18:1152:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1152:26:1152:27 | p2 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1152:26:1152:27 | p2 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1152:26:1152:27 | p2 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1155:13:1155:14 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1155:13:1155:14 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1156:18:1156:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1156:18:1156:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1156:18:1156:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1156:18:1156:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1156:26:1156:27 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1156:26:1156:27 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1159:13:1159:14 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1159:13:1159:14 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1159:13:1159:14 | p3 | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1160:18:1160:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1160:18:1160:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1160:18:1160:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1160:18:1160:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1160:26:1160:27 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1160:26:1160:27 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1160:26:1160:27 | p3 | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1162:9:1162:55 | g(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1164:13:1164:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1164:13:1164:13 | x | E | main.rs:1111:5:1112:14 | S1 | +| main.rs:1164:13:1164:13 | x | T | main.rs:1137:5:1137:34 | S4 | +| main.rs:1164:13:1164:13 | x | T.T41 | main.rs:1114:5:1115:14 | S2 | +| main.rs:1164:13:1164:13 | x | T.T42 | main.rs:1139:5:1139:22 | S5 | +| main.rs:1164:13:1164:13 | x | T.T42.T5 | main.rs:1114:5:1115:14 | S2 | +| main.rs:1177:16:1177:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1177:16:1177:24 | SelfParam | TRefMut | main.rs:1175:5:1182:5 | Self [trait MyTrait] | +| main.rs:1177:27:1177:31 | value | | main.rs:1175:19:1175:19 | S | +| main.rs:1179:21:1179:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1179:21:1179:29 | SelfParam | TRefMut | main.rs:1175:5:1182:5 | Self [trait MyTrait] | +| main.rs:1179:32:1179:36 | value | | main.rs:1175:19:1175:19 | S | +| main.rs:1179:42:1181:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1180:13:1180:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1180:13:1180:16 | self | TRefMut | main.rs:1175:5:1182:5 | Self [trait MyTrait] | +| main.rs:1180:22:1180:26 | value | | main.rs:1175:19:1175:19 | S | +| main.rs:1186:16:1186:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1186:16:1186:24 | SelfParam | TRefMut | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1186:16:1186:24 | SelfParam | TRefMut.T | main.rs:1184:10:1184:10 | T | +| main.rs:1186:27:1186:31 | value | | main.rs:1184:10:1184:10 | T | +| main.rs:1186:37:1186:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1190:26:1192:9 | { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1190:26:1192:9 | { ... } | T | main.rs:1189:10:1189:10 | T | +| main.rs:1196:20:1196:23 | SelfParam | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1196:20:1196:23 | SelfParam | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1196:20:1196:23 | SelfParam | T.T | main.rs:1195:10:1195:10 | T | +| main.rs:1196:41:1201:9 | { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1196:41:1201:9 | { ... } | T | main.rs:1195:10:1195:10 | T | +| main.rs:1197:19:1197:22 | self | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1197:19:1197:22 | self | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1197:19:1197:22 | self | T.T | main.rs:1195:10:1195:10 | T | +| main.rs:1207:16:1252:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1208:13:1208:14 | x1 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1208:13:1208:14 | x1 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1208:18:1208:37 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1208:18:1208:37 | ...::new(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1209:18:1209:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1209:18:1209:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1209:18:1209:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1209:18:1209:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1209:26:1209:27 | x1 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1209:26:1209:27 | x1 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1211:17:1211:18 | x2 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1211:22:1211:36 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1212:9:1212:10 | x2 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1213:18:1213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1213:18:1213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1213:18:1213:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1213:26:1213:27 | x2 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1215:17:1215:18 | x3 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1215:22:1215:36 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1216:9:1216:10 | x3 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1217:18:1217:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1217:18:1217:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1217:18:1217:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1217:18:1217:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1217:26:1217:27 | x3 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1219:17:1219:18 | x4 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1219:22:1219:36 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1220:9:1220:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1220:23:1220:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | +| main.rs:1220:28:1220:29 | x4 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1221:18:1221:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1221:18:1221:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1221:18:1221:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1221:18:1221:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1221:26:1221:27 | x4 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1224:18:1224:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1224:18:1224:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1224:18:1224:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1227:18:1227:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1227:18:1227:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1227:18:1227:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1227:18:1227:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1227:26:1227:26 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1228:18:1228:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1228:18:1228:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1228:18:1228:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1228:18:1228:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1228:26:1228:26 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1230:13:1230:13 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1230:17:1230:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1231:13:1231:13 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1231:17:1231:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1233:18:1233:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1233:18:1233:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1233:18:1233:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1233:18:1233:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1233:26:1233:26 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1234:18:1234:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1234:18:1234:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1234:18:1234:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1234:18:1234:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1234:26:1234:26 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1236:13:1236:13 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1236:17:1236:34 | MyThing2 {...} | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1237:13:1237:13 | y | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1237:17:1237:34 | MyThing2 {...} | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1239:18:1239:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1239:18:1239:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1239:18:1239:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1239:18:1239:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1239:26:1239:26 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1240:18:1240:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1240:18:1240:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1240:18:1240:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1240:18:1240:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1240:26:1240:26 | y | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1242:13:1242:13 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1242:17:1242:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1243:31:1243:31 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1245:13:1245:13 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1245:17:1245:34 | MyThing2 {...} | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1246:31:1246:31 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1263:22:1263:22 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1263:22:1263:22 | x | TRef | main.rs:1263:11:1263:19 | T | -| main.rs:1263:35:1265:5 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1263:35:1265:5 | { ... } | TRef | main.rs:1263:11:1263:19 | T | -| main.rs:1264:9:1264:9 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1264:9:1264:9 | x | TRef | main.rs:1263:11:1263:19 | T | -| main.rs:1268:17:1268:20 | SelfParam | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1268:29:1270:9 | { ... } | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1273:21:1273:21 | x | | main.rs:1273:13:1273:14 | T1 | -| main.rs:1276:5:1278:5 | { ... } | | main.rs:1273:17:1273:18 | T2 | -| main.rs:1277:9:1277:9 | x | | main.rs:1273:13:1273:14 | T1 | -| main.rs:1280:16:1296:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1282:18:1282:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1282:18:1282:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1282:18:1282:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1282:18:1282:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1282:26:1282:31 | id(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1282:29:1282:30 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1285:18:1285:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1285:18:1285:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1285:18:1285:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1285:18:1285:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1285:26:1285:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1285:26:1285:37 | id::<...>(...) | TRef | main.rs:1253:5:1254:14 | S1 | -| main.rs:1285:35:1285:36 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1289:18:1289:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1289:18:1289:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1289:18:1289:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1289:18:1289:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1289:26:1289:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1289:26:1289:44 | id::<...>(...) | TRef | main.rs:1259:5:1259:25 | dyn Trait | -| main.rs:1289:42:1289:43 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1292:9:1292:25 | into::<...>(...) | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1295:13:1295:13 | y | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1309:22:1309:25 | SelfParam | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1309:22:1309:25 | SelfParam | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1309:22:1309:25 | SelfParam | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1309:35:1316:9 | { ... } | | main.rs:1308:15:1308:17 | Snd | -| main.rs:1310:19:1310:22 | self | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1310:19:1310:22 | self | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1310:19:1310:22 | self | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1311:43:1311:82 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:1311:50:1311:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | -| main.rs:1311:50:1311:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1311:50:1311:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:1311:50:1311:81 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1312:43:1312:81 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:1312:50:1312:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | -| main.rs:1312:50:1312:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1312:50:1312:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:1312:50:1312:80 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1340:10:1340:10 | t | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1340:10:1340:10 | t | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1340:10:1340:10 | t | Snd | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1340:10:1340:10 | t | Snd.Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1340:10:1340:10 | t | Snd.Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1340:30:1343:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1341:17:1341:17 | t | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1341:17:1341:17 | t | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1341:17:1341:17 | t | Snd | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1341:17:1341:17 | t | Snd.Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1341:17:1341:17 | t | Snd.Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1342:18:1342:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1342:18:1342:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1342:18:1342:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1342:18:1342:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1357:22:1357:25 | SelfParam | | main.rs:1355:5:1358:5 | Self [trait TraitWithAssocType] | -| main.rs:1365:22:1365:25 | SelfParam | | main.rs:1353:5:1353:28 | GenS | -| main.rs:1365:22:1365:25 | SelfParam | GenT | main.rs:1360:10:1360:15 | Output | -| main.rs:1365:44:1367:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1365:44:1367:9 | { ... } | E | main.rs:1360:10:1360:15 | Output | -| main.rs:1365:44:1367:9 | { ... } | T | main.rs:1360:10:1360:15 | Output | -| main.rs:1366:16:1366:19 | self | | main.rs:1353:5:1353:28 | GenS | -| main.rs:1366:16:1366:19 | self | GenT | main.rs:1360:10:1360:15 | Output | -| main.rs:1370:16:1392:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1372:13:1372:14 | p1 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1372:13:1372:14 | p1 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1372:13:1372:14 | p1 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1373:18:1373:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1373:18:1373:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1373:18:1373:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1373:18:1373:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1373:26:1373:27 | p1 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1373:26:1373:27 | p1 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1373:26:1373:27 | p1 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1376:13:1376:14 | p2 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1376:13:1376:14 | p2 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1376:13:1376:14 | p2 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1377:18:1377:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1377:18:1377:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1377:18:1377:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1377:18:1377:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1377:26:1377:27 | p2 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1377:26:1377:27 | p2 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1377:26:1377:27 | p2 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1380:13:1380:14 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1380:13:1380:14 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1381:18:1381:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1381:18:1381:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1381:18:1381:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1381:18:1381:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1381:26:1381:27 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1381:26:1381:27 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1384:13:1384:14 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1384:13:1384:14 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1384:13:1384:14 | p3 | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1385:18:1385:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1385:18:1385:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1385:18:1385:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1385:18:1385:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1385:26:1385:27 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1385:26:1385:27 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1385:26:1385:27 | p3 | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1387:9:1387:55 | g(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1389:13:1389:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1389:13:1389:13 | x | E | main.rs:1319:5:1320:14 | S1 | -| main.rs:1389:13:1389:13 | x | T | main.rs:1345:5:1345:34 | S4 | -| main.rs:1389:13:1389:13 | x | T.T41 | main.rs:1322:5:1323:14 | S2 | -| main.rs:1389:13:1389:13 | x | T.T42 | main.rs:1347:5:1347:22 | S5 | -| main.rs:1389:13:1389:13 | x | T.T42.T5 | main.rs:1322:5:1323:14 | S2 | -| main.rs:1391:22:1391:25 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1404:16:1404:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1404:16:1404:24 | SelfParam | TRefMut | main.rs:1402:5:1409:5 | Self [trait MyTrait] | -| main.rs:1404:27:1404:31 | value | | main.rs:1402:19:1402:19 | S | -| main.rs:1406:21:1406:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1406:21:1406:29 | SelfParam | TRefMut | main.rs:1402:5:1409:5 | Self [trait MyTrait] | -| main.rs:1406:32:1406:36 | value | | main.rs:1402:19:1402:19 | S | -| main.rs:1406:42:1408:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1407:13:1407:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1407:13:1407:16 | self | TRefMut | main.rs:1402:5:1409:5 | Self [trait MyTrait] | -| main.rs:1407:22:1407:26 | value | | main.rs:1402:19:1402:19 | S | -| main.rs:1413:16:1413:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1413:16:1413:24 | SelfParam | TRefMut | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1413:16:1413:24 | SelfParam | TRefMut.T | main.rs:1411:10:1411:10 | T | -| main.rs:1413:27:1413:31 | value | | main.rs:1411:10:1411:10 | T | -| main.rs:1413:37:1413:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1417:26:1419:9 | { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1417:26:1419:9 | { ... } | T | main.rs:1416:10:1416:10 | T | -| main.rs:1423:20:1423:23 | SelfParam | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1423:20:1423:23 | SelfParam | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1423:20:1423:23 | SelfParam | T.T | main.rs:1422:10:1422:10 | T | -| main.rs:1423:41:1428:9 | { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1423:41:1428:9 | { ... } | T | main.rs:1422:10:1422:10 | T | -| main.rs:1424:19:1424:22 | self | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1424:19:1424:22 | self | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1424:19:1424:22 | self | T.T | main.rs:1422:10:1422:10 | T | -| main.rs:1434:16:1479:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1435:13:1435:14 | x1 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1435:13:1435:14 | x1 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1435:18:1435:37 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1435:18:1435:37 | ...::new(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1436:18:1436:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1436:18:1436:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1436:18:1436:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1436:18:1436:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1436:26:1436:27 | x1 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1436:26:1436:27 | x1 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1438:17:1438:18 | x2 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1438:22:1438:36 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1439:9:1439:10 | x2 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1440:18:1440:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1440:18:1440:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1440:18:1440:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1440:18:1440:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1440:26:1440:27 | x2 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1442:17:1442:18 | x3 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1442:22:1442:36 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1443:9:1443:10 | x3 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1444:18:1444:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1444:18:1444:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1444:18:1444:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1444:18:1444:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1444:26:1444:27 | x3 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1446:17:1446:18 | x4 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1446:22:1446:36 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1447:9:1447:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1447:23:1447:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | -| main.rs:1447:28:1447:29 | x4 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1448:18:1448:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1448:18:1448:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1448:18:1448:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1448:18:1448:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1448:26:1448:27 | x4 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1451:18:1451:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1451:18:1451:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1451:18:1451:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1451:18:1451:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1454:18:1454:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1454:18:1454:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1454:18:1454:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1454:18:1454:61 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1454:26:1454:61 | ...::flatten(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1454:26:1454:61 | ...::flatten(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1462:18:1462:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1462:18:1462:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1462:18:1462:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1462:18:1462:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1466:13:1466:16 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1467:13:1467:17 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1469:18:1469:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1469:18:1469:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1469:18:1469:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1469:18:1469:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1472:30:1477:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1473:13:1475:13 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1473:22:1475:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1478:18:1478:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1478:18:1478:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1478:18:1478:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1478:18:1478:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1496:15:1496:18 | SelfParam | | main.rs:1484:5:1485:19 | S | -| main.rs:1496:15:1496:18 | SelfParam | T | main.rs:1495:10:1495:10 | T | -| main.rs:1496:26:1498:9 | { ... } | | main.rs:1495:10:1495:10 | T | -| main.rs:1497:13:1497:16 | self | | main.rs:1484:5:1485:19 | S | -| main.rs:1497:13:1497:16 | self | T | main.rs:1495:10:1495:10 | T | -| main.rs:1500:15:1500:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1500:15:1500:19 | SelfParam | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1500:15:1500:19 | SelfParam | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1500:28:1502:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1500:28:1502:9 | { ... } | TRef | main.rs:1495:10:1495:10 | T | -| main.rs:1501:13:1501:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1501:14:1501:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1501:14:1501:17 | self | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1501:14:1501:17 | self | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1504:15:1504:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1504:15:1504:25 | SelfParam | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1504:15:1504:25 | SelfParam | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1504:34:1506:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1504:34:1506:9 | { ... } | TRef | main.rs:1495:10:1495:10 | T | -| main.rs:1505:13:1505:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1505:14:1505:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1505:14:1505:17 | self | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1505:14:1505:17 | self | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1510:29:1510:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1510:29:1510:33 | SelfParam | TRef | main.rs:1509:5:1512:5 | Self [trait ATrait] | -| main.rs:1511:33:1511:36 | SelfParam | | main.rs:1509:5:1512:5 | Self [trait ATrait] | -| main.rs:1517:29:1517:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1517:29:1517:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1517:29:1517:33 | SelfParam | TRef.TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1517:43:1519:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1518:17:1518:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1518:17:1518:20 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1518:17:1518:20 | self | TRef.TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1522:33:1522:36 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1522:33:1522:36 | SelfParam | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1522:46:1524:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1523:15:1523:18 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1523:15:1523:18 | self | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1527:16:1577:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1529:18:1529:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1529:18:1529:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1529:18:1529:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1529:18:1529:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1533:18:1533:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1533:18:1533:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1533:18:1533:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1533:18:1533:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1534:18:1534:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1534:18:1534:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1534:18:1534:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1534:18:1534:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1538:18:1538:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1538:18:1538:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1538:18:1538:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1538:18:1538:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1538:26:1538:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1538:26:1538:41 | ...::m2(...) | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1538:38:1538:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1539:18:1539:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1539:18:1539:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1539:18:1539:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1539:18:1539:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1539:26:1539:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1539:26:1539:41 | ...::m3(...) | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1539:38:1539:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1541:13:1541:14 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1541:18:1541:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1543:18:1543:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1543:18:1543:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1543:18:1543:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1543:18:1543:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1543:26:1543:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1544:18:1544:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1544:18:1544:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1544:18:1544:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1544:18:1544:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1544:26:1544:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1546:13:1546:14 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1546:18:1546:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1548:18:1548:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1548:18:1548:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1548:18:1548:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1548:18:1548:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1548:26:1548:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1549:18:1549:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1549:18:1549:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1549:18:1549:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1549:18:1549:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1549:26:1549:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1551:13:1551:14 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1551:18:1551:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1554:18:1554:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1554:18:1554:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1554:18:1554:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1554:18:1554:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1554:28:1554:29 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1556:20:1556:22 | &S2 | | {EXTERNAL LOCATION} | & | -| main.rs:1560:18:1560:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1560:18:1560:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1560:18:1560:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1560:18:1560:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1562:13:1562:14 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1562:26:1562:32 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1562:26:1562:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1566:17:1566:18 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1568:13:1568:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1568:24:1568:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1568:25:1568:39 | MyInt {...} | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1570:17:1570:24 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1571:18:1571:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1571:18:1571:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1571:18:1571:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1571:18:1571:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1574:13:1574:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1574:24:1574:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1574:25:1574:39 | MyInt {...} | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1575:17:1575:24 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1576:18:1576:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1576:18:1576:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1576:18:1576:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1576:18:1576:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1583:16:1583:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1583:16:1583:20 | SelfParam | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1586:16:1586:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1586:16:1586:20 | SelfParam | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1586:32:1588:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1586:32:1588:9 | { ... } | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1587:13:1587:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1587:13:1587:16 | self | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1595:16:1595:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1595:16:1595:20 | SelfParam | TRef | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1595:36:1597:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1595:36:1597:9 | { ... } | TRef | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1596:13:1596:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1596:13:1596:16 | self | TRef | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1600:16:1603:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1612:16:1612:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1612:16:1612:20 | SelfParam | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1612:16:1612:20 | SelfParam | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1612:32:1614:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1612:32:1614:9 | { ... } | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1612:32:1614:9 | { ... } | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1613:13:1613:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1613:13:1613:16 | self | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1613:13:1613:16 | self | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1616:16:1616:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1616:16:1616:20 | SelfParam | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1616:16:1616:20 | SelfParam | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1616:23:1616:23 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1616:23:1616:23 | x | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1616:23:1616:23 | x | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1616:42:1618:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1616:42:1618:9 | { ... } | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1616:42:1618:9 | { ... } | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1617:13:1617:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1617:13:1617:16 | self | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1617:13:1617:16 | self | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1621:16:1627:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1626:15:1626:17 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1626:16:1626:17 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1637:17:1637:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1637:17:1637:25 | SelfParam | TRefMut | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1637:28:1639:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1638:13:1638:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1638:13:1638:16 | self | TRefMut | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1638:26:1638:29 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1638:26:1638:29 | self | TRefMut | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1645:15:1645:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1645:15:1645:19 | SelfParam | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1645:31:1647:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1645:31:1647:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1646:13:1646:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1646:14:1646:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1646:15:1646:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1646:16:1646:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1646:16:1646:19 | self | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1649:15:1649:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1649:15:1649:25 | SelfParam | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1649:37:1651:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1649:37:1651:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1650:13:1650:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1650:14:1650:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1650:15:1650:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1650:16:1650:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1650:16:1650:19 | self | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1653:15:1653:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1653:15:1653:15 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1653:34:1655:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1653:34:1655:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1654:13:1654:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1654:13:1654:13 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1657:15:1657:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1657:15:1657:15 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1657:34:1659:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1657:34:1659:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1658:13:1658:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1658:14:1658:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1658:15:1658:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1658:16:1658:16 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1658:16:1658:16 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1662:16:1675:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1663:13:1663:13 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1663:17:1663:20 | S {...} | | main.rs:1642:5:1642:13 | S | -| main.rs:1664:9:1664:9 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1665:9:1665:9 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1666:9:1666:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1666:9:1666:17 | ...::f3(...) | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1666:15:1666:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1666:16:1666:16 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1668:19:1668:24 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1668:20:1668:24 | &true | | {EXTERNAL LOCATION} | & | -| main.rs:1668:21:1668:24 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1673:9:1673:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1673:22:1673:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | -| main.rs:1674:18:1674:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1674:18:1674:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1674:18:1674:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1674:18:1674:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1689:43:1692:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1689:43:1692:5 | { ... } | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1689:43:1692:5 | { ... } | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1696:46:1700:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1696:46:1700:5 | { ... } | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1696:46:1700:5 | { ... } | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1704:40:1709:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1704:40:1709:5 | { ... } | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1704:40:1709:5 | { ... } | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1713:30:1713:34 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1713:30:1713:34 | input | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1713:30:1713:34 | input | T | main.rs:1713:20:1713:27 | T | -| main.rs:1713:69:1720:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1713:69:1720:5 | { ... } | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1713:69:1720:5 | { ... } | T | main.rs:1713:20:1713:27 | T | -| main.rs:1714:21:1714:25 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1714:21:1714:25 | input | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1714:21:1714:25 | input | T | main.rs:1713:20:1713:27 | T | -| main.rs:1716:22:1716:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1716:22:1716:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1716:22:1716:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1716:22:1716:30 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1723:16:1739:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1724:9:1726:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1724:37:1724:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1724:37:1724:52 | try_same_error(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1724:37:1724:52 | try_same_error(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1724:54:1726:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1725:22:1725:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1725:22:1725:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1725:22:1725:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1725:22:1725:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1728:9:1730:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1728:37:1728:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1728:37:1728:55 | try_convert_error(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1728:37:1728:55 | try_convert_error(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1728:57:1730:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1729:22:1729:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1729:22:1729:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1729:22:1729:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1729:22:1729:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1732:9:1734:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1732:37:1732:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1732:37:1732:49 | try_chained(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1732:37:1732:49 | try_chained(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1732:51:1734:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1733:22:1733:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1733:22:1733:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1733:22:1733:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1733:22:1733:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1736:9:1738:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1736:37:1736:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1736:37:1736:63 | try_complex(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:65:1738:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1737:22:1737:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1737:22:1737:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1737:22:1737:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1737:22:1737:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1743:16:1834:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1744:13:1744:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1746:17:1746:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1747:17:1747:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1748:13:1748:13 | c | | {EXTERNAL LOCATION} | char | -| main.rs:1748:17:1748:19 | 'c' | | {EXTERNAL LOCATION} | char | -| main.rs:1749:13:1749:17 | hello | | {EXTERNAL LOCATION} | & | -| main.rs:1749:13:1749:17 | hello | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1749:21:1749:27 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1749:21:1749:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1750:13:1750:13 | f | | {EXTERNAL LOCATION} | f64 | -| main.rs:1750:17:1750:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | -| main.rs:1751:13:1751:13 | t | | {EXTERNAL LOCATION} | bool | -| main.rs:1751:17:1751:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1752:13:1752:13 | f | | {EXTERNAL LOCATION} | bool | -| main.rs:1752:17:1752:21 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1755:26:1755:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1755:26:1755:30 | SelfParam | TRef | main.rs:1754:9:1758:9 | Self [trait MyTrait] | -| main.rs:1761:26:1761:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1761:26:1761:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1761:26:1761:30 | SelfParam | TRef.TArray | main.rs:1760:14:1760:23 | T | -| main.rs:1761:39:1763:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1761:39:1763:13 | { ... } | TRef | main.rs:1760:14:1760:23 | T | -| main.rs:1762:17:1762:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1762:17:1762:20 | self | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1762:17:1762:20 | self | TRef.TArray | main.rs:1760:14:1760:23 | T | -| main.rs:1765:31:1767:13 | { ... } | | main.rs:1760:14:1760:23 | T | -| main.rs:1770:17:1770:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1771:13:1771:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1771:17:1771:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1771:37:1771:46 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1771:38:1771:46 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1772:13:1772:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1772:17:1772:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1775:26:1775:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1775:26:1775:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1775:26:1775:30 | SelfParam | TRef.TSlice | main.rs:1774:14:1774:23 | T | -| main.rs:1775:39:1777:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1775:39:1777:13 | { ... } | TRef | main.rs:1774:14:1774:23 | T | -| main.rs:1776:17:1776:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1776:17:1776:20 | self | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1776:17:1776:20 | self | TRef.TSlice | main.rs:1774:14:1774:23 | T | -| main.rs:1779:31:1781:13 | { ... } | | main.rs:1774:14:1774:23 | T | -| main.rs:1784:13:1784:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1784:13:1784:13 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1784:13:1784:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1784:25:1784:34 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1784:26:1784:34 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1785:17:1785:17 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1785:17:1785:17 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1785:17:1785:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1786:13:1786:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1786:17:1786:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1786:34:1786:34 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1786:34:1786:34 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1786:34:1786:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1787:13:1787:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1787:17:1787:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1790:26:1790:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1790:26:1790:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1790:26:1790:30 | SelfParam | TRef.T0 | main.rs:1789:14:1789:23 | T | -| main.rs:1790:26:1790:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1790:39:1792:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1790:39:1792:13 | { ... } | TRef | main.rs:1789:14:1789:23 | T | -| main.rs:1791:17:1791:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1791:18:1791:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1791:18:1791:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1791:18:1791:21 | self | TRef.T0 | main.rs:1789:14:1789:23 | T | -| main.rs:1791:18:1791:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1794:31:1796:13 | { ... } | | main.rs:1789:14:1789:23 | T | -| main.rs:1799:13:1799:13 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1799:17:1799:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1800:17:1800:17 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1801:13:1801:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1801:17:1801:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1801:37:1801:38 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1801:38:1801:38 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1802:13:1802:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1802:17:1802:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1805:26:1805:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1805:26:1805:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1805:26:1805:30 | SelfParam | TRef.TRef | main.rs:1804:14:1804:23 | T | -| main.rs:1805:39:1807:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1805:39:1807:13 | { ... } | TRef | main.rs:1804:14:1804:23 | T | -| main.rs:1806:18:1806:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1806:18:1806:21 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1806:18:1806:21 | self | TRef.TRef | main.rs:1804:14:1804:23 | T | -| main.rs:1809:31:1811:13 | { ... } | | main.rs:1804:14:1804:23 | T | -| main.rs:1814:13:1814:13 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1814:17:1814:19 | &42 | | {EXTERNAL LOCATION} | & | -| main.rs:1815:17:1815:17 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1816:13:1816:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1816:17:1816:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1816:33:1816:34 | &r | | {EXTERNAL LOCATION} | & | -| main.rs:1816:34:1816:34 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1817:13:1817:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1817:17:1817:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1820:26:1820:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1820:26:1820:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1820:26:1820:30 | SelfParam | TRef.TPtrMut | main.rs:1819:14:1819:23 | T | -| main.rs:1820:39:1822:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1820:39:1822:13 | { ... } | TRef | main.rs:1819:14:1819:23 | T | -| main.rs:1821:26:1821:32 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1821:29:1821:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1821:29:1821:32 | self | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1821:29:1821:32 | self | TRef.TPtrMut | main.rs:1819:14:1819:23 | T | -| main.rs:1824:31:1826:13 | { ... } | | main.rs:1819:14:1819:23 | T | -| main.rs:1830:13:1830:13 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1830:13:1830:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1830:27:1830:32 | &mut v | | {EXTERNAL LOCATION} | &mut | -| main.rs:1831:26:1831:26 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1831:26:1831:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1832:26:1832:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1832:46:1832:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1832:47:1832:47 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1832:47:1832:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1833:13:1833:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1833:17:1833:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1839:16:1851:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1840:13:1840:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:1840:17:1840:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1840:17:1840:29 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1840:25:1840:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:13:1841:13 | y | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:17:1841:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:17:1841:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:25:1841:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1845:17:1847:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1847:16:1849:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1864:30:1866:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1865:13:1865:31 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1872:16:1872:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1872:22:1872:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1872:41:1877:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1873:13:1876:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1874:20:1874:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1874:29:1874:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1875:20:1875:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1875:29:1875:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1882:23:1882:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1882:23:1882:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1882:34:1882:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1882:45:1885:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1883:13:1883:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1883:13:1883:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1883:23:1883:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1884:13:1884:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1884:13:1884:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1884:23:1884:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1890:16:1890:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1890:22:1890:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1890:41:1895:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1891:13:1894:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1892:20:1892:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1892:29:1892:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1893:20:1893:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1893:29:1893:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1900:23:1900:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1900:23:1900:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1900:34:1900:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1900:45:1903:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1901:13:1901:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1901:13:1901:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1901:23:1901:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1902:13:1902:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1902:13:1902:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1902:23:1902:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1908:16:1908:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1908:22:1908:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1908:41:1913:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1909:13:1912:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1910:20:1910:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1910:29:1910:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1911:20:1911:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1911:29:1911:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1917:23:1917:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1917:23:1917:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1917:34:1917:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1917:45:1920:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1918:13:1918:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1918:13:1918:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1918:23:1918:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1919:13:1919:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1919:13:1919:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1919:23:1919:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1925:16:1925:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1925:22:1925:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1925:41:1930:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1926:13:1929:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1927:20:1927:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1927:29:1927:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1928:20:1928:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1928:29:1928:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1934:23:1934:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1934:23:1934:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1934:34:1934:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1934:45:1937:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1935:13:1935:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1935:13:1935:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1935:23:1935:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1936:13:1936:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1936:13:1936:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1936:23:1936:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1942:16:1942:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1942:22:1942:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1942:41:1947:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1943:13:1946:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1944:20:1944:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1944:29:1944:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1945:20:1945:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1945:29:1945:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1951:23:1951:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1951:23:1951:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1951:34:1951:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1951:45:1954:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1952:13:1952:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1952:13:1952:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1952:23:1952:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1953:13:1953:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1953:13:1953:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1953:23:1953:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1959:19:1959:22 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1959:25:1959:27 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1959:44:1964:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1960:13:1963:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1961:20:1961:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1961:29:1961:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1962:20:1962:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1962:29:1962:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1968:26:1968:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1968:26:1968:34 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1968:37:1968:39 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1968:48:1971:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1969:13:1969:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1969:13:1969:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1969:23:1969:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1970:13:1970:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1970:13:1970:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1970:23:1970:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1976:18:1976:21 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1976:24:1976:26 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1976:43:1981:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1977:13:1980:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1978:20:1978:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1978:29:1978:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1979:20:1979:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1979:29:1979:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1985:25:1985:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1985:25:1985:33 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1985:36:1985:38 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1985:47:1988:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1986:13:1986:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1986:13:1986:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1986:23:1986:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1987:13:1987:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1987:13:1987:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1987:23:1987:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1993:19:1993:22 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1993:25:1993:27 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1993:44:1998:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1994:13:1997:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1995:20:1995:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1995:29:1995:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1996:20:1996:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1996:29:1996:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2002:26:2002:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2002:26:2002:34 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2002:37:2002:39 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2002:48:2005:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2003:13:2003:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2003:13:2003:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2003:23:2003:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2004:13:2004:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2004:13:2004:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2004:23:2004:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2010:16:2010:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2010:22:2010:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2010:40:2015:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2011:13:2014:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2012:20:2012:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2012:30:2012:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2013:20:2013:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2013:30:2013:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2019:23:2019:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2019:23:2019:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2019:34:2019:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2019:44:2022:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2020:13:2020:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2020:13:2020:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2020:24:2020:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2021:13:2021:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2021:13:2021:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2021:24:2021:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2027:16:2027:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2027:22:2027:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2027:40:2032:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2028:13:2031:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2029:20:2029:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2029:30:2029:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2030:20:2030:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2030:30:2030:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2036:23:2036:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2036:23:2036:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2036:34:2036:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2036:44:2039:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2037:13:2037:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2037:13:2037:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2037:24:2037:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2038:13:2038:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2038:13:2038:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2038:24:2038:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2044:16:2044:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2044:30:2049:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2045:13:2048:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2046:21:2046:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2047:21:2047:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2054:16:2054:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2054:30:2059:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2055:13:2058:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2056:21:2056:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2057:21:2057:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2063:15:2063:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2063:15:2063:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2063:22:2063:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2063:22:2063:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2063:44:2065:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:13:2064:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2064:13:2064:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2064:13:2064:29 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:13:2064:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:23:2064:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2064:23:2064:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2064:34:2064:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2064:34:2064:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2064:34:2064:50 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:44:2064:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2064:44:2064:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2067:15:2067:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2067:15:2067:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2067:22:2067:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2067:22:2067:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2067:44:2069:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:13:2068:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2068:13:2068:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2068:13:2068:29 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:13:2068:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:23:2068:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2068:23:2068:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2068:34:2068:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2068:34:2068:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2068:34:2068:50 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:44:2068:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2068:44:2068:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2073:24:2073:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2073:24:2073:28 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2073:31:2073:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2073:31:2073:35 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2073:75:2075:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2073:75:2075:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:2074:14:2074:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2074:14:2074:17 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2074:23:2074:26 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2074:23:2074:26 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2074:43:2074:62 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2074:45:2074:49 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2074:45:2074:49 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2074:55:2074:59 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2074:55:2074:59 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2077:15:2077:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2077:15:2077:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2077:22:2077:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2077:22:2077:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2077:44:2079:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:13:2078:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2078:13:2078:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2078:13:2078:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:13:2078:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:22:2078:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2078:22:2078:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2078:33:2078:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2078:33:2078:36 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2078:33:2078:48 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:42:2078:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2078:42:2078:46 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2081:15:2081:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2081:15:2081:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2081:22:2081:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2081:22:2081:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2081:44:2083:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:13:2082:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2082:13:2082:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2082:13:2082:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:13:2082:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:23:2082:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2082:23:2082:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2082:34:2082:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2082:34:2082:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2082:34:2082:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:44:2082:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2082:44:2082:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2085:15:2085:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2085:15:2085:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2085:22:2085:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2085:22:2085:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2085:44:2087:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:13:2086:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2086:13:2086:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2086:13:2086:28 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:13:2086:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:22:2086:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2086:22:2086:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2086:33:2086:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2086:33:2086:36 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2086:33:2086:48 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:42:2086:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2086:42:2086:46 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2089:15:2089:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2089:15:2089:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2089:22:2089:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2089:22:2089:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2089:44:2091:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:13:2090:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2090:13:2090:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2090:13:2090:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:13:2090:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:23:2090:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2090:23:2090:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2090:34:2090:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2090:34:2090:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2090:34:2090:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:44:2090:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2090:44:2090:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2094:26:2094:26 | a | | main.rs:2094:18:2094:23 | T | -| main.rs:2094:32:2094:32 | b | | main.rs:2094:18:2094:23 | T | -| main.rs:2095:9:2095:9 | a | | main.rs:2094:18:2094:23 | T | -| main.rs:2095:13:2095:13 | b | | main.rs:2094:18:2094:23 | T | -| main.rs:2098:16:2229:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2102:23:2102:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2102:31:2102:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2103:23:2103:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2103:31:2103:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2104:23:2104:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2104:30:2104:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2105:23:2105:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2105:31:2105:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2106:23:2106:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2106:30:2106:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2107:23:2107:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2107:32:2107:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2110:23:2110:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2110:31:2110:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2111:23:2111:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2111:31:2111:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2112:23:2112:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2112:31:2112:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2113:23:2113:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2113:31:2113:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2114:23:2114:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2114:31:2114:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2115:39:2115:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2115:45:2115:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2118:17:2118:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2118:34:2118:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2119:9:2119:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2119:27:2119:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2121:17:2121:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2121:34:2121:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2122:9:2122:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2122:27:2122:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2124:17:2124:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2124:34:2124:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2125:9:2125:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2125:27:2125:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2127:17:2127:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2127:34:2127:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2128:9:2128:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2128:27:2128:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2130:17:2130:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2130:34:2130:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2131:9:2131:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2131:27:2131:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2134:26:2134:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2134:34:2134:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2135:25:2135:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2135:33:2135:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2136:26:2136:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2136:34:2136:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2137:23:2137:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2137:32:2137:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2138:23:2138:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2138:32:2138:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2141:17:2141:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2141:37:2141:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2142:9:2142:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2142:30:2142:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2144:17:2144:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2144:36:2144:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2145:9:2145:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2145:29:2145:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2147:17:2147:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2147:37:2147:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2148:9:2148:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2148:30:2148:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2150:17:2150:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2150:34:2150:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2151:9:2151:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2151:28:2151:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2153:17:2153:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2153:34:2153:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2154:9:2154:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2154:28:2154:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2156:24:2156:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2157:24:2157:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2160:13:2160:14 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2160:18:2160:36 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2161:13:2161:14 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2161:18:2161:36 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2164:23:2164:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2164:29:2164:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2165:23:2165:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2165:29:2165:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2166:23:2166:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2166:28:2166:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2167:23:2167:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2167:29:2167:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2168:23:2168:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2168:28:2168:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2169:23:2169:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2169:29:2169:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2172:24:2172:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2172:29:2172:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2173:24:2173:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2173:29:2173:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2174:24:2174:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2174:29:2174:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2175:24:2175:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2175:29:2175:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2176:24:2176:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2176:29:2176:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2179:17:2179:31 | vec2_add_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2179:35:2179:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2180:9:2180:23 | vec2_add_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2180:28:2180:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2182:17:2182:31 | vec2_sub_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2182:35:2182:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2183:9:2183:23 | vec2_sub_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2183:28:2183:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2185:17:2185:31 | vec2_mul_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2185:35:2185:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2186:9:2186:23 | vec2_mul_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2186:28:2186:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2188:17:2188:31 | vec2_div_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2188:35:2188:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2189:9:2189:23 | vec2_div_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2189:28:2189:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2191:17:2191:31 | vec2_rem_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2191:35:2191:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2192:9:2192:23 | vec2_rem_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2192:28:2192:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2195:27:2195:28 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2195:32:2195:33 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2196:26:2196:27 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2196:31:2196:32 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2197:27:2197:28 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2197:32:2197:33 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2198:24:2198:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2198:30:2198:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2199:24:2199:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2199:30:2199:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2202:17:2202:34 | vec2_bitand_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2202:38:2202:39 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2203:9:2203:26 | vec2_bitand_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2203:31:2203:32 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2205:17:2205:33 | vec2_bitor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2205:37:2205:38 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2206:9:2206:25 | vec2_bitor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2206:30:2206:31 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2208:17:2208:34 | vec2_bitxor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2208:38:2208:39 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2209:9:2209:26 | vec2_bitxor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2209:31:2209:32 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2211:17:2211:31 | vec2_shl_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2211:35:2211:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2212:9:2212:23 | vec2_shl_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2212:29:2212:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2214:17:2214:31 | vec2_shr_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2214:35:2214:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2215:9:2215:23 | vec2_shr_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2215:29:2215:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2218:25:2218:26 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2219:25:2219:26 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2223:30:2223:48 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2228:30:2228:48 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2238:18:2238:21 | SelfParam | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2238:24:2238:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2241:25:2243:5 | { ... } | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2246:9:2246:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2250:9:2250:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2250:9:2250:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:2259:13:2259:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | -| main.rs:2259:13:2259:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | -| main.rs:2259:13:2259:42 | SelfParam | Ptr.TRefMut | main.rs:2253:5:2253:14 | S2 | -| main.rs:2260:13:2260:15 | _cx | | {EXTERNAL LOCATION} | &mut | -| main.rs:2260:13:2260:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | -| main.rs:2261:44:2263:9 | { ... } | | {EXTERNAL LOCATION} | Poll | -| main.rs:2261:44:2263:9 | { ... } | T | main.rs:2235:5:2235:14 | S1 | -| main.rs:2270:22:2278:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2271:9:2271:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2271:9:2271:12 | f1(...) | dyn(Output) | main.rs:2235:5:2235:14 | S1 | -| main.rs:2272:9:2272:12 | f2(...) | | main.rs:2245:16:2245:39 | impl ... | -| main.rs:2273:9:2273:12 | f3(...) | | main.rs:2249:16:2249:39 | impl ... | -| main.rs:2274:9:2274:12 | f4(...) | | main.rs:2266:16:2266:39 | impl ... | -| main.rs:2276:13:2276:13 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2276:17:2276:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2277:9:2277:9 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2288:15:2288:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2288:15:2288:19 | SelfParam | TRef | main.rs:2287:5:2289:5 | Self [trait Trait1] | -| main.rs:2288:22:2288:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2292:15:2292:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2292:15:2292:19 | SelfParam | TRef | main.rs:2291:5:2293:5 | Self [trait Trait2] | -| main.rs:2292:22:2292:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2296:15:2296:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2296:15:2296:19 | SelfParam | TRef | main.rs:2282:5:2283:14 | S1 | -| main.rs:2296:22:2296:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2300:15:2300:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2300:15:2300:19 | SelfParam | TRef | main.rs:2282:5:2283:14 | S1 | -| main.rs:2300:22:2300:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2308:18:2308:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2308:18:2308:22 | SelfParam | TRef | main.rs:2307:5:2309:5 | Self [trait MyTrait] | -| main.rs:2312:18:2312:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2312:18:2312:22 | SelfParam | TRef | main.rs:2282:5:2283:14 | S1 | -| main.rs:2312:31:2314:9 | { ... } | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2318:18:2318:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2318:18:2318:22 | SelfParam | TRef | main.rs:2285:5:2285:22 | S3 | -| main.rs:2318:18:2318:22 | SelfParam | TRef.T3 | main.rs:2317:10:2317:17 | T | -| main.rs:2318:30:2321:9 | { ... } | | main.rs:2317:10:2317:17 | T | -| main.rs:2319:25:2319:28 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2319:25:2319:28 | self | TRef | main.rs:2285:5:2285:22 | S3 | -| main.rs:2319:25:2319:28 | self | TRef.T3 | main.rs:2317:10:2317:17 | T | -| main.rs:2328:41:2328:41 | t | | main.rs:2328:26:2328:38 | B | -| main.rs:2328:52:2330:5 | { ... } | | main.rs:2328:23:2328:23 | A | -| main.rs:2329:9:2329:9 | t | | main.rs:2328:26:2328:38 | B | -| main.rs:2332:34:2332:34 | x | | main.rs:2332:24:2332:31 | T | -| main.rs:2332:59:2334:5 | { ... } | | main.rs:2332:43:2332:57 | impl ... | -| main.rs:2332:59:2334:5 | { ... } | impl(T) | main.rs:2332:24:2332:31 | T | -| main.rs:2333:12:2333:12 | x | | main.rs:2332:24:2332:31 | T | -| main.rs:2336:34:2336:34 | x | | main.rs:2336:24:2336:31 | T | -| main.rs:2336:67:2338:5 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2336:67:2338:5 | { ... } | T | main.rs:2336:50:2336:64 | impl ... | -| main.rs:2336:67:2338:5 | { ... } | T.impl(T) | main.rs:2336:24:2336:31 | T | -| main.rs:2337:17:2337:17 | x | | main.rs:2336:24:2336:31 | T | -| main.rs:2340:34:2340:34 | x | | main.rs:2340:24:2340:31 | T | -| main.rs:2340:78:2342:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2340:78:2342:5 | { ... } | T0 | main.rs:2340:44:2340:58 | impl ... | -| main.rs:2340:78:2342:5 | { ... } | T0.impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2340:78:2342:5 | { ... } | T1 | main.rs:2340:61:2340:75 | impl ... | -| main.rs:2340:78:2342:5 | { ... } | T1.impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2341:9:2341:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2341:13:2341:13 | x | | main.rs:2340:24:2340:31 | T | -| main.rs:2341:28:2341:28 | x | | main.rs:2340:24:2340:31 | T | -| main.rs:2344:26:2344:26 | t | | main.rs:2344:29:2344:43 | impl ... | -| main.rs:2344:51:2346:5 | { ... } | | main.rs:2344:23:2344:23 | A | -| main.rs:2345:9:2345:9 | t | | main.rs:2344:29:2344:43 | impl ... | -| main.rs:2348:16:2362:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2349:13:2349:13 | x | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2349:17:2349:20 | f1(...) | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2350:9:2350:9 | x | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2351:9:2351:9 | x | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2352:13:2352:13 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2352:17:2352:32 | get_a_my_trait(...) | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2353:32:2353:32 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2354:13:2354:13 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2354:17:2354:32 | get_a_my_trait(...) | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2355:32:2355:32 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2357:17:2357:35 | get_a_my_trait2(...) | | main.rs:2332:43:2332:57 | impl ... | -| main.rs:2360:17:2360:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2360:17:2360:35 | get_a_my_trait3(...) | T | main.rs:2336:50:2336:64 | impl ... | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | T0 | main.rs:2340:44:2340:58 | impl ... | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | T1 | main.rs:2340:61:2340:75 | impl ... | -| main.rs:2372:16:2372:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2372:16:2372:20 | SelfParam | TRef | main.rs:2368:5:2369:13 | S | -| main.rs:2372:31:2374:9 | { ... } | | main.rs:2368:5:2369:13 | S | -| main.rs:2383:26:2385:9 | { ... } | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2383:26:2385:9 | { ... } | T | main.rs:2382:10:2382:10 | T | -| main.rs:2384:13:2384:38 | MyVec {...} | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2384:27:2384:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2384:27:2384:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2387:17:2387:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2387:17:2387:25 | SelfParam | TRefMut | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2387:17:2387:25 | SelfParam | TRefMut.T | main.rs:2382:10:2382:10 | T | -| main.rs:2387:28:2387:32 | value | | main.rs:2382:10:2382:10 | T | -| main.rs:2387:38:2389:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2388:13:2388:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2388:13:2388:16 | self | TRefMut | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2388:13:2388:16 | self | TRefMut.T | main.rs:2382:10:2382:10 | T | -| main.rs:2388:28:2388:32 | value | | main.rs:2382:10:2382:10 | T | -| main.rs:2396:18:2396:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2396:18:2396:22 | SelfParam | TRef | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2396:18:2396:22 | SelfParam | TRef.T | main.rs:2392:10:2392:10 | T | -| main.rs:2396:25:2396:29 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2396:56:2398:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2396:56:2398:9 | { ... } | TRef | main.rs:2392:10:2392:10 | T | -| main.rs:2397:13:2397:29 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2397:14:2397:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2397:14:2397:17 | self | TRef | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2397:14:2397:17 | self | TRef.T | main.rs:2392:10:2392:10 | T | -| main.rs:2397:24:2397:28 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2401:22:2401:26 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2401:22:2401:26 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2401:22:2401:26 | slice | TRef.TSlice | main.rs:2368:5:2369:13 | S | -| main.rs:2401:35:2403:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2402:17:2402:21 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2402:17:2402:21 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2402:17:2402:21 | slice | TRef.TSlice | main.rs:2368:5:2369:13 | S | -| main.rs:2405:37:2405:37 | a | | main.rs:2405:20:2405:34 | T | -| main.rs:2405:43:2405:43 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2409:9:2409:9 | a | | main.rs:2405:20:2405:34 | T | -| main.rs:2409:11:2409:11 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2412:16:2423:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2413:17:2413:19 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2413:23:2413:34 | ...::new(...) | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2414:9:2414:11 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2415:9:2415:11 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2417:13:2417:14 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2417:13:2417:14 | xs | TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2417:26:2417:28 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2418:17:2418:18 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2418:17:2418:18 | xs | TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2420:29:2420:31 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2422:9:2422:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2422:23:2422:25 | &xs | | {EXTERNAL LOCATION} | & | -| main.rs:2422:24:2422:25 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2422:24:2422:25 | xs | TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2427:16:2429:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2428:25:2428:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | -| main.rs:2428:25:2428:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2428:25:2428:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2428:38:2428:45 | "World!" | | {EXTERNAL LOCATION} | & | -| main.rs:2428:38:2428:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2437:19:2437:22 | SelfParam | | main.rs:2433:5:2438:5 | Self [trait MyAdd] | -| main.rs:2437:25:2437:27 | rhs | | main.rs:2433:17:2433:26 | Rhs | -| main.rs:2444:19:2444:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2444:25:2444:29 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2444:45:2446:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2445:13:2445:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2453:19:2453:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2453:25:2453:29 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2453:25:2453:29 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2453:46:2455:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2454:14:2454:18 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2454:14:2454:18 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2462:19:2462:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2462:25:2462:29 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2462:46:2468:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2463:16:2463:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2477:19:2477:22 | SelfParam | | main.rs:2471:5:2471:19 | S | -| main.rs:2477:19:2477:22 | SelfParam | T | main.rs:2473:10:2473:17 | T | -| main.rs:2477:25:2477:29 | other | | main.rs:2471:5:2471:19 | S | -| main.rs:2477:25:2477:29 | other | T | main.rs:2473:10:2473:17 | T | -| main.rs:2477:54:2479:9 | { ... } | | main.rs:2471:5:2471:19 | S | -| main.rs:2478:16:2478:19 | self | | main.rs:2471:5:2471:19 | S | -| main.rs:2478:16:2478:19 | self | T | main.rs:2473:10:2473:17 | T | -| main.rs:2478:31:2478:35 | other | | main.rs:2471:5:2471:19 | S | -| main.rs:2478:31:2478:35 | other | T | main.rs:2473:10:2473:17 | T | -| main.rs:2486:19:2486:22 | SelfParam | | main.rs:2471:5:2471:19 | S | -| main.rs:2486:19:2486:22 | SelfParam | T | main.rs:2482:10:2482:17 | T | -| main.rs:2486:25:2486:29 | other | | main.rs:2482:10:2482:17 | T | -| main.rs:2486:51:2488:9 | { ... } | | main.rs:2471:5:2471:19 | S | -| main.rs:2487:16:2487:19 | self | | main.rs:2471:5:2471:19 | S | -| main.rs:2487:16:2487:19 | self | T | main.rs:2482:10:2482:17 | T | -| main.rs:2487:31:2487:35 | other | | main.rs:2482:10:2482:17 | T | -| main.rs:2498:19:2498:22 | SelfParam | | main.rs:2471:5:2471:19 | S | -| main.rs:2498:19:2498:22 | SelfParam | T | main.rs:2491:14:2491:14 | T | -| main.rs:2498:25:2498:29 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2498:25:2498:29 | other | TRef | main.rs:2491:14:2491:14 | T | -| main.rs:2498:55:2500:9 | { ... } | | main.rs:2471:5:2471:19 | S | -| main.rs:2499:16:2499:19 | self | | main.rs:2471:5:2471:19 | S | -| main.rs:2499:16:2499:19 | self | T | main.rs:2491:14:2491:14 | T | -| main.rs:2499:31:2499:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2499:31:2499:35 | other | TRef | main.rs:2491:14:2491:14 | T | -| main.rs:2505:20:2505:24 | value | | main.rs:2503:18:2503:18 | T | -| main.rs:2510:20:2510:24 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2510:40:2512:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2511:13:2511:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2517:20:2517:24 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2517:41:2523:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2518:16:2518:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2528:21:2528:25 | value | | main.rs:2526:19:2526:19 | T | -| main.rs:2528:31:2528:31 | x | | main.rs:2526:5:2529:5 | Self [trait MyFrom2] | -| main.rs:2533:21:2533:25 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2533:33:2533:33 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2533:48:2535:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2534:13:2534:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2540:21:2540:25 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2540:34:2540:34 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2540:49:2546:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2541:16:2541:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2551:15:2551:15 | x | | main.rs:2549:5:2555:5 | Self [trait MySelfTrait] | -| main.rs:2554:15:2554:15 | x | | main.rs:2549:5:2555:5 | Self [trait MySelfTrait] | -| main.rs:2559:15:2559:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2559:31:2561:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2560:13:2560:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2564:15:2564:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2564:32:2566:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2565:13:2565:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2571:15:2571:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2571:31:2573:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2576:15:2576:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2576:32:2578:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2577:13:2577:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2581:16:2606:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2582:13:2582:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2583:9:2583:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2583:18:2583:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2584:9:2584:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2584:18:2584:22 | &5i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2584:19:2584:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2585:9:2585:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2585:18:2585:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2587:11:2587:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2587:26:2587:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2588:11:2588:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2588:24:2588:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2589:11:2589:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2589:24:2589:28 | &3i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2589:25:2589:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2591:13:2591:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2591:17:2591:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2591:30:2591:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2592:13:2592:13 | y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2592:17:2592:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2592:30:2592:33 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2593:13:2593:13 | z | | {EXTERNAL LOCATION} | i64 | -| main.rs:2593:38:2593:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2594:9:2594:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2594:23:2594:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2594:30:2594:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2595:9:2595:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2595:23:2595:26 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2595:29:2595:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2596:9:2596:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2596:27:2596:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2596:34:2596:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2598:9:2598:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2598:17:2598:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2599:9:2599:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2599:17:2599:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2600:9:2600:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2600:18:2600:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2601:9:2601:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2601:18:2601:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2602:9:2602:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2602:25:2602:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2603:25:2603:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2604:9:2604:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2604:25:2604:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2605:25:2605:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2613:26:2615:9 | { ... } | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2614:13:2614:25 | MyCallable {...} | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2617:17:2617:21 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2617:17:2617:21 | SelfParam | TRef | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2617:31:2619:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2622:16:2729:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2625:9:2625:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2625:18:2625:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2625:28:2625:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2626:9:2626:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2626:18:2626:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2626:43:2626:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2627:9:2627:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2627:18:2627:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2627:40:2627:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2629:13:2629:17 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2629:21:2629:31 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2629:22:2629:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2630:9:2630:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2630:18:2630:22 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2630:24:2630:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2632:13:2632:17 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2632:21:2632:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2632:22:2632:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2633:9:2633:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2633:18:2633:22 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2633:24:2633:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2635:13:2635:17 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2635:13:2635:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2635:31:2635:39 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2636:9:2636:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2636:18:2636:22 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2636:18:2636:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2636:24:2636:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2638:13:2638:17 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2638:13:2638:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2638:31:2638:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2639:9:2639:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2639:18:2639:22 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2639:18:2639:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2639:24:2639:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2641:17:2641:24 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2641:28:2641:48 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2641:29:2641:33 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2641:29:2641:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2641:36:2641:40 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2641:36:2641:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2641:43:2641:47 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2641:43:2641:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2642:9:2642:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2642:18:2642:26 | &strings1 | | {EXTERNAL LOCATION} | & | -| main.rs:2642:19:2642:26 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2642:28:2642:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2643:9:2643:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2643:18:2643:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | -| main.rs:2643:23:2643:30 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2643:32:2643:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2644:9:2644:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2644:18:2644:25 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2644:27:2644:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2646:13:2646:20 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2647:9:2651:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2648:13:2648:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2648:26:2648:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2648:26:2648:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2649:13:2649:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2649:26:2649:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2649:26:2649:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2650:13:2650:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2650:26:2650:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2650:26:2650:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2652:9:2652:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2652:18:2652:25 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2652:27:2652:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2654:13:2654:20 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2655:9:2659:9 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2655:10:2659:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2656:13:2656:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2656:26:2656:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2656:26:2656:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2657:13:2657:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2657:26:2657:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2657:26:2657:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2658:13:2658:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2658:26:2658:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2658:26:2658:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2660:9:2660:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2660:18:2660:25 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2660:27:2660:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2662:13:2662:21 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2662:25:2662:81 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2662:26:2662:42 | ...::new(...) | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2662:45:2662:61 | ...::new(...) | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2662:64:2662:80 | ...::new(...) | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2663:9:2667:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2664:12:2664:20 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2665:9:2667:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2671:9:2671:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2671:18:2671:22 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2671:24:2671:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2672:9:2672:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2672:18:2672:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2672:19:2672:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2672:19:2672:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2672:28:2672:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2673:13:2673:17 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2673:21:2673:25 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2674:9:2674:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2674:18:2674:22 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2674:24:2674:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2675:13:2675:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2675:26:2675:27 | .. | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2676:9:2676:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2676:18:2676:48 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2676:19:2676:36 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2676:20:2676:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2676:26:2676:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2676:32:2676:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2676:38:2676:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2676:50:2676:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2678:13:2678:18 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2679:9:2682:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | -| main.rs:2680:20:2680:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2681:18:2681:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2683:9:2683:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2683:18:2683:23 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2683:25:2683:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2688:9:2688:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2688:24:2688:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2690:13:2690:18 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2690:13:2690:18 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2690:13:2690:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2690:32:2690:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2690:33:2690:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2691:9:2691:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2691:18:2691:23 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2691:18:2691:23 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2691:18:2691:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2691:25:2691:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2693:22:2693:33 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2693:23:2693:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2694:9:2694:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2694:25:2694:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2696:13:2696:17 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2696:21:2696:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2696:31:2696:42 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2696:32:2696:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2697:9:2697:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2697:18:2697:22 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2697:24:2697:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2699:13:2699:17 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2699:13:2699:17 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2699:13:2699:17 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2699:13:2699:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2699:32:2699:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2699:33:2699:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2700:9:2700:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2700:18:2700:22 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2700:18:2700:22 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2700:18:2700:22 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2700:18:2700:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2700:24:2700:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2702:17:2702:21 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2702:17:2702:21 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2702:25:2702:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2702:25:2702:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2703:9:2703:13 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2703:9:2703:13 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2703:20:2703:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2704:9:2704:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2704:18:2704:22 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2704:18:2704:22 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2704:24:2704:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2708:17:2711:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2709:13:2710:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2709:29:2710:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2713:17:2713:20 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2713:17:2713:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2713:24:2713:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2713:24:2713:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2714:9:2714:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2714:9:2714:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2714:24:2714:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2714:24:2714:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2714:33:2714:37 | "one" | | {EXTERNAL LOCATION} | & | -| main.rs:2714:33:2714:37 | "one" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2715:9:2715:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2715:9:2715:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2715:24:2715:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2715:24:2715:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2715:33:2715:37 | "two" | | {EXTERNAL LOCATION} | & | -| main.rs:2715:33:2715:37 | "two" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2716:9:2716:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2716:20:2716:23 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2716:20:2716:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2716:32:2716:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2717:9:2717:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2717:22:2717:25 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2717:22:2717:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2717:36:2717:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2718:9:2718:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2718:13:2718:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2718:29:2718:32 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2718:29:2718:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2718:41:2718:42 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2719:9:2719:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2719:13:2719:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2719:29:2719:33 | &map1 | | {EXTERNAL LOCATION} | & | -| main.rs:2719:30:2719:33 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2719:30:2719:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2719:35:2719:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2723:17:2723:17 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2725:17:2728:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2725:23:2725:23 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2726:9:2728:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2727:13:2727:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2739:40:2741:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2739:40:2741:9 | { ... } | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2739:40:2741:9 | { ... } | T.T | main.rs:2738:10:2738:19 | T | -| main.rs:2743:30:2745:9 | { ... } | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2743:30:2745:9 | { ... } | T | main.rs:2738:10:2738:19 | T | -| main.rs:2747:19:2747:22 | SelfParam | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2747:19:2747:22 | SelfParam | T | main.rs:2738:10:2738:19 | T | -| main.rs:2747:33:2749:9 | { ... } | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2747:33:2749:9 | { ... } | T | main.rs:2738:10:2738:19 | T | -| main.rs:2748:13:2748:16 | self | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2748:13:2748:16 | self | T | main.rs:2738:10:2738:19 | T | -| main.rs:2760:15:2760:15 | x | | main.rs:2760:12:2760:12 | T | -| main.rs:2760:26:2762:5 | { ... } | | main.rs:2760:12:2760:12 | T | -| main.rs:2761:9:2761:9 | x | | main.rs:2760:12:2760:12 | T | -| main.rs:2764:16:2786:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2765:13:2765:14 | x1 | | {EXTERNAL LOCATION} | Option | -| main.rs:2765:13:2765:14 | x1 | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2765:13:2765:14 | x1 | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2765:34:2765:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2765:34:2765:48 | ...::assoc_fun(...) | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2766:13:2766:14 | x2 | | {EXTERNAL LOCATION} | Option | -| main.rs:2766:13:2766:14 | x2 | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2766:13:2766:14 | x2 | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2766:18:2766:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2766:18:2766:38 | ...::assoc_fun(...) | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2766:18:2766:38 | ...::assoc_fun(...) | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2767:13:2767:14 | x3 | | {EXTERNAL LOCATION} | Option | -| main.rs:2767:13:2767:14 | x3 | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2767:13:2767:14 | x3 | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2767:18:2767:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2767:18:2767:32 | ...::assoc_fun(...) | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2767:18:2767:32 | ...::assoc_fun(...) | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2768:13:2768:14 | x4 | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2768:13:2768:14 | x4 | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2768:18:2768:48 | ...::method(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2768:18:2768:48 | ...::method(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2768:35:2768:47 | ...::default(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2769:13:2769:14 | x5 | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2769:13:2769:14 | x5 | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2769:18:2769:42 | ...::method(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2769:18:2769:42 | ...::method(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2769:29:2769:41 | ...::default(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2773:21:2773:33 | ...::default(...) | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2774:13:2774:15 | x10 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2774:13:2774:15 | x10 | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2774:19:2777:9 | S5::<...> {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2774:19:2777:9 | S5::<...> {...} | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2778:13:2778:15 | x11 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2778:19:2778:34 | S5 {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2779:13:2779:15 | x12 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2779:19:2779:33 | S5 {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2780:13:2780:15 | x13 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2780:19:2783:9 | S5 {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2782:20:2782:32 | ...::default(...) | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2784:13:2784:15 | x14 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2784:19:2784:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2785:13:2785:15 | x15 | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2785:13:2785:15 | x15 | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2785:19:2785:37 | ...::default(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2785:19:2785:37 | ...::default(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2794:35:2796:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2794:35:2796:9 | { ... } | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2794:35:2796:9 | { ... } | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2795:13:2795:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2795:14:2795:18 | S1 {...} | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2795:21:2795:25 | S1 {...} | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2797:16:2797:19 | SelfParam | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2797:22:2797:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2800:16:2834:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2801:13:2801:13 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2801:13:2801:13 | a | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2801:13:2801:13 | a | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2801:17:2801:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2801:17:2801:30 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2801:17:2801:30 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:17:2802:17 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2802:17:2802:17 | b | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:17:2802:17 | b | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:21:2802:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2802:21:2802:34 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:21:2802:34 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:13:2803:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2803:22:2803:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2803:22:2803:35 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:22:2803:35 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:13:2804:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2804:26:2804:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2804:26:2804:39 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:26:2804:39 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:13:2805:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2805:30:2805:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2805:30:2805:43 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:30:2805:43 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2807:9:2807:9 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2807:9:2807:9 | a | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2807:9:2807:9 | a | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2808:9:2808:9 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2808:9:2808:9 | b | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2808:9:2808:9 | b | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2821:13:2821:16 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2821:20:2821:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2822:13:2822:13 | i | | {EXTERNAL LOCATION} | i64 | -| main.rs:2822:22:2822:25 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2823:13:2823:13 | j | | {EXTERNAL LOCATION} | bool | -| main.rs:2823:23:2823:26 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2825:20:2825:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2827:13:2827:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2827:30:2827:41 | "unexpected" | | {EXTERNAL LOCATION} | & | -| main.rs:2827:30:2827:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2827:30:2827:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2827:30:2827:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2828:25:2828:34 | "expected" | | {EXTERNAL LOCATION} | & | -| main.rs:2828:25:2828:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2828:25:2828:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2828:25:2828:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2832:13:2832:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2832:17:2832:31 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2832:18:2832:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2832:18:2832:31 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2832:18:2832:31 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2833:9:2833:9 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2839:27:2861:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2840:13:2840:23 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2840:13:2840:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2840:27:2840:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2840:27:2840:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2840:36:2840:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2843:15:2843:25 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2843:15:2843:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2844:24:2846:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2845:26:2845:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2845:26:2845:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2845:26:2845:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2845:26:2845:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2847:22:2850:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2849:26:2849:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2849:26:2849:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2849:26:2849:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2849:26:2849:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2854:13:2854:22 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2854:13:2854:22 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:26:2854:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2854:26:2854:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:35:2854:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2854:35:2854:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:44:2854:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2855:15:2855:24 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2855:15:2855:24 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2856:26:2859:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2858:26:2858:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2858:26:2858:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2858:26:2858:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2858:26:2858:59 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2870:36:2872:9 | { ... } | | main.rs:2867:5:2867:22 | Path | -| main.rs:2871:13:2871:19 | Path {...} | | main.rs:2867:5:2867:22 | Path | -| main.rs:2874:29:2874:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2874:29:2874:33 | SelfParam | TRef | main.rs:2867:5:2867:22 | Path | -| main.rs:2874:59:2876:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:2874:59:2876:9 | { ... } | E | {EXTERNAL LOCATION} | () | -| main.rs:2874:59:2876:9 | { ... } | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2875:16:2875:29 | ...::new(...) | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2882:39:2884:9 | { ... } | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2883:13:2883:22 | PathBuf {...} | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2892:18:2892:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2892:18:2892:22 | SelfParam | TRef | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2892:34:2896:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2892:34:2896:9 | { ... } | TRef | main.rs:2867:5:2867:22 | Path | -| main.rs:2894:33:2894:43 | ...::new(...) | | main.rs:2867:5:2867:22 | Path | -| main.rs:2895:13:2895:17 | &path | | {EXTERNAL LOCATION} | & | -| main.rs:2899:16:2907:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2900:13:2900:17 | path1 | | main.rs:2867:5:2867:22 | Path | -| main.rs:2900:21:2900:31 | ...::new(...) | | main.rs:2867:5:2867:22 | Path | -| main.rs:2901:21:2901:25 | path1 | | main.rs:2867:5:2867:22 | Path | -| main.rs:2904:13:2904:20 | pathbuf1 | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2904:24:2904:37 | ...::new(...) | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2905:24:2905:31 | pathbuf1 | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2912:14:2912:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2912:14:2912:18 | SelfParam | TRef | main.rs:2911:5:2913:5 | Self [trait MyTrait] | -| main.rs:2919:14:2919:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2919:14:2919:18 | SelfParam | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2919:14:2919:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2919:28:2921:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2920:13:2920:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2920:13:2920:16 | self | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2920:13:2920:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2925:14:2925:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2925:14:2925:18 | SelfParam | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2925:14:2925:18 | SelfParam | TRef.T | main.rs:2915:5:2916:19 | S | -| main.rs:2925:14:2925:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2925:28:2927:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2926:13:2926:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2926:13:2926:16 | self | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2926:13:2926:16 | self | TRef.T | main.rs:2915:5:2916:19 | S | -| main.rs:2926:13:2926:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2931:15:2931:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2931:15:2931:19 | SelfParam | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2931:15:2931:19 | SelfParam | TRef.T | main.rs:2930:10:2930:16 | T | -| main.rs:2931:33:2933:9 | { ... } | | main.rs:2915:5:2916:19 | S | -| main.rs:2931:33:2933:9 | { ... } | T | main.rs:2915:5:2916:19 | S | -| main.rs:2931:33:2933:9 | { ... } | T.T | main.rs:2930:10:2930:16 | T | -| main.rs:2932:17:2932:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2932:17:2932:20 | self | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2932:17:2932:20 | self | TRef.T | main.rs:2930:10:2930:16 | T | -| main.rs:2936:14:2936:14 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2936:48:2953:5 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2936:48:2953:5 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2936:48:2953:5 | { ... } | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:2936:48:2953:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2937:20:2937:20 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2947:12:2947:12 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2949:13:2949:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2949:13:2949:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2951:13:2951:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2951:13:2951:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2957:22:2961:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2958:18:2958:18 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2958:33:2960:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2959:13:2959:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2966:11:2966:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2966:30:2974:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2969:13:2971:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2969:16:2969:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2969:21:2971:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2977:20:2984:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2982:18:2982:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2982:18:2982:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2982:18:2982:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2982:18:2982:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2986:20:2988:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2991:11:2991:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2991:30:2999:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2992:13:2992:13 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2992:17:2996:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2993:13:2995:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2993:16:2993:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2993:21:2995:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2997:18:2997:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2997:18:2997:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2997:18:2997:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2997:18:2997:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2997:29:2997:29 | a | | {EXTERNAL LOCATION} | () | -| main.rs:3003:16:3050:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3005:13:3005:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3005:13:3005:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3009:26:3009:28 | opt | | {EXTERNAL LOCATION} | Option | -| main.rs:3009:26:3009:28 | opt | T | main.rs:3009:23:3009:23 | T | -| main.rs:3009:42:3009:42 | x | | main.rs:3009:23:3009:23 | T | -| main.rs:3009:48:3009:49 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3012:9:3012:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3019:13:3019:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3019:17:3019:39 | ...::A {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3020:13:3020:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3020:13:3020:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3020:13:3020:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3020:40:3020:40 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3021:13:3021:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3021:13:3021:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3021:17:3021:52 | ...::A {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3021:17:3021:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3023:13:3023:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3023:13:3023:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3023:17:3025:9 | ...::B::<...> {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3023:17:3025:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3024:20:3024:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:3027:29:3027:29 | e | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3027:29:3027:29 | e | T1 | main.rs:3027:26:3027:26 | T | -| main.rs:3027:29:3027:29 | e | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3027:53:3027:53 | x | | main.rs:3027:26:3027:26 | T | -| main.rs:3027:59:3027:60 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3030:13:3030:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3030:17:3032:9 | ...::B {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3031:20:3031:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:3033:9:3033:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3033:23:3033:23 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3036:13:3036:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3036:13:3036:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:3036:13:3036:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3040:29:3040:31 | res | | {EXTERNAL LOCATION} | Result | -| main.rs:3040:29:3040:31 | res | E | main.rs:3040:26:3040:26 | E | -| main.rs:3040:29:3040:31 | res | T | main.rs:3040:23:3040:23 | T | -| main.rs:3040:48:3040:48 | x | | main.rs:3040:26:3040:26 | E | -| main.rs:3040:54:3040:55 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3043:9:3043:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3043:23:3043:27 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:3045:17:3045:17 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:3045:17:3045:17 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:3045:21:3045:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:3045:21:3045:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:3046:9:3046:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:3046:9:3046:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:3049:9:3049:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:3049:9:3049:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:3056:14:3056:17 | SelfParam | | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3059:14:3059:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:3059:14:3059:18 | SelfParam | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3059:21:3059:25 | other | | {EXTERNAL LOCATION} | & | -| main.rs:3059:21:3059:25 | other | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3059:44:3061:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:3059:44:3061:9 | { ... } | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3060:13:3060:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:3060:13:3060:16 | self | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3066:14:3066:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | -| main.rs:3066:28:3068:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:3067:13:3067:16 | self | | {EXTERNAL LOCATION} | i32 | -| main.rs:3073:14:3073:17 | SelfParam | | {EXTERNAL LOCATION} | usize | -| main.rs:3073:28:3075:9 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:3074:13:3074:16 | self | | {EXTERNAL LOCATION} | usize | -| main.rs:3080:14:3080:17 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:3080:14:3080:17 | SelfParam | TRef | main.rs:3078:10:3078:10 | T | -| main.rs:3080:28:3082:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:3080:28:3082:9 | { ... } | TRef | main.rs:3078:10:3078:10 | T | -| main.rs:3081:13:3081:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:3081:13:3081:16 | self | TRef | main.rs:3078:10:3078:10 | T | -| main.rs:3085:25:3089:5 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:3091:12:3099:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3092:13:3092:13 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3093:13:3093:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:3093:17:3093:18 | &1 | | {EXTERNAL LOCATION} | & | -| main.rs:3094:17:3094:17 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3094:21:3094:21 | y | | {EXTERNAL LOCATION} | & | -| main.rs:3097:13:3097:13 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:3098:23:3098:23 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:3107:11:3142:1 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3108:5:3108:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3109:5:3109:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:3110:5:3110:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:3110:20:3110:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:3110:41:3110:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:3111:5:3111:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3112:5:3112:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3113:5:3113:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3114:5:3114:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3115:5:3115:33 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3116:5:3116:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3117:5:3117:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3118:5:3118:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3119:5:3119:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3120:5:3120:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3121:5:3121:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3122:5:3122:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3123:5:3123:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3124:5:3124:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3125:5:3125:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3126:5:3126:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3127:5:3127:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:3127:5:3127:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:3128:5:3128:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3129:5:3129:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3130:5:3130:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3131:5:3131:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3132:5:3132:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3133:5:3133:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3134:5:3134:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3135:5:3135:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3136:5:3136:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3137:5:3137:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3138:5:3138:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3139:5:3139:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3140:5:3140:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:3140:5:3140:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:3140:5:3140:20 | ...::f(...) | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:3140:5:3140:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:3140:16:3140:19 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:3141:5:3141:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1227:18:1227:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1227:18:1227:61 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1227:26:1227:61 | ...::flatten(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1227:26:1227:61 | ...::flatten(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1235:18:1235:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1235:18:1235:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1235:18:1235:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1235:18:1235:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1239:13:1239:16 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1240:13:1240:17 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1242:18:1242:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1242:18:1242:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1242:18:1242:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1242:18:1242:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1245:30:1250:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1246:13:1248:13 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1246:22:1248:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1251:18:1251:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1251:18:1251:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1251:18:1251:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1251:18:1251:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1269:15:1269:18 | SelfParam | | main.rs:1257:5:1258:19 | S | +| main.rs:1269:15:1269:18 | SelfParam | T | main.rs:1268:10:1268:10 | T | +| main.rs:1269:26:1271:9 | { ... } | | main.rs:1268:10:1268:10 | T | +| main.rs:1270:13:1270:16 | self | | main.rs:1257:5:1258:19 | S | +| main.rs:1270:13:1270:16 | self | T | main.rs:1268:10:1268:10 | T | +| main.rs:1273:15:1273:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1273:15:1273:19 | SelfParam | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1273:15:1273:19 | SelfParam | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1273:28:1275:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1273:28:1275:9 | { ... } | TRef | main.rs:1268:10:1268:10 | T | +| main.rs:1274:13:1274:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1274:14:1274:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1274:14:1274:17 | self | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1274:14:1274:17 | self | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1277:15:1277:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1277:15:1277:25 | SelfParam | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1277:15:1277:25 | SelfParam | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1277:34:1279:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1277:34:1279:9 | { ... } | TRef | main.rs:1268:10:1268:10 | T | +| main.rs:1278:13:1278:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1278:14:1278:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1278:14:1278:17 | self | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1278:14:1278:17 | self | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1283:29:1283:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1283:29:1283:33 | SelfParam | TRef | main.rs:1282:5:1285:5 | Self [trait ATrait] | +| main.rs:1284:33:1284:36 | SelfParam | | main.rs:1282:5:1285:5 | Self [trait ATrait] | +| main.rs:1290:29:1290:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1290:29:1290:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1290:29:1290:33 | SelfParam | TRef.TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1290:43:1292:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1291:17:1291:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1291:17:1291:20 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1291:17:1291:20 | self | TRef.TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1295:33:1295:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1295:33:1295:36 | SelfParam | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1295:46:1297:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1296:15:1296:18 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1296:15:1296:18 | self | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1300:16:1350:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1302:18:1302:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1302:18:1302:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1302:18:1302:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1302:18:1302:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1306:18:1306:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1306:18:1306:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1306:18:1306:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1306:18:1306:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1307:18:1307:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1307:18:1307:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1307:18:1307:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1307:18:1307:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1311:18:1311:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1311:18:1311:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1311:18:1311:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1311:18:1311:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1311:26:1311:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1311:26:1311:41 | ...::m2(...) | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1311:38:1311:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1312:18:1312:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1312:18:1312:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1312:18:1312:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1312:18:1312:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1312:26:1312:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1312:26:1312:41 | ...::m3(...) | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1312:38:1312:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1314:13:1314:14 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1314:18:1314:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1316:18:1316:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1316:18:1316:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1316:18:1316:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1316:18:1316:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1316:26:1316:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1317:18:1317:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1317:18:1317:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1317:18:1317:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1317:18:1317:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1317:26:1317:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1319:13:1319:14 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1319:18:1319:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1321:18:1321:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1321:18:1321:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1321:18:1321:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1321:18:1321:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1321:26:1321:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1322:18:1322:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1322:18:1322:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1322:18:1322:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1322:18:1322:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1322:26:1322:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1324:13:1324:14 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1324:18:1324:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1327:18:1327:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1327:18:1327:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1327:18:1327:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1327:28:1327:29 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1329:20:1329:22 | &S2 | | {EXTERNAL LOCATION} | & | +| main.rs:1333:18:1333:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1333:18:1333:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1333:18:1333:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1333:18:1333:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1335:13:1335:14 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1335:26:1335:32 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1335:26:1335:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1339:17:1339:18 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1341:13:1341:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1341:24:1341:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1341:25:1341:39 | MyInt {...} | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1343:17:1343:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1344:18:1344:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1344:18:1344:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1344:18:1344:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1344:18:1344:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1347:13:1347:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1347:24:1347:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1347:25:1347:39 | MyInt {...} | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1348:17:1348:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1349:18:1349:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1349:18:1349:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1349:18:1349:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1349:18:1349:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1356:16:1356:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1356:16:1356:20 | SelfParam | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1359:16:1359:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1359:16:1359:20 | SelfParam | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1359:32:1361:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1359:32:1361:9 | { ... } | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1360:13:1360:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1360:13:1360:16 | self | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1368:16:1368:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1368:16:1368:20 | SelfParam | TRef | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1368:36:1370:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1368:36:1370:9 | { ... } | TRef | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1369:13:1369:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1369:13:1369:16 | self | TRef | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1373:16:1376:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1385:16:1385:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1385:16:1385:20 | SelfParam | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1385:16:1385:20 | SelfParam | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1385:32:1387:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1385:32:1387:9 | { ... } | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1385:32:1387:9 | { ... } | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1386:13:1386:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1386:13:1386:16 | self | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1386:13:1386:16 | self | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1389:16:1389:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1389:16:1389:20 | SelfParam | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1389:16:1389:20 | SelfParam | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1389:23:1389:23 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1389:23:1389:23 | x | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1389:23:1389:23 | x | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1389:42:1391:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1389:42:1391:9 | { ... } | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1389:42:1391:9 | { ... } | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1390:13:1390:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1390:13:1390:16 | self | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1390:13:1390:16 | self | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1394:16:1400:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1399:15:1399:17 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1399:16:1399:17 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1410:17:1410:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1410:17:1410:25 | SelfParam | TRefMut | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1410:28:1412:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1411:13:1411:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1411:13:1411:16 | self | TRefMut | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1411:26:1411:29 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1411:26:1411:29 | self | TRefMut | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1418:15:1418:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1418:15:1418:19 | SelfParam | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1418:31:1420:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1418:31:1420:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1419:13:1419:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1419:14:1419:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1419:15:1419:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1419:16:1419:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1419:16:1419:19 | self | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1422:15:1422:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1422:15:1422:25 | SelfParam | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1422:37:1424:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1422:37:1424:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1423:13:1423:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1423:14:1423:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1423:15:1423:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1423:16:1423:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1423:16:1423:19 | self | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1426:15:1426:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1426:15:1426:15 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1426:34:1428:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1426:34:1428:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1427:13:1427:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1427:13:1427:13 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1430:15:1430:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1430:15:1430:15 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1430:34:1432:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1430:34:1432:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1431:13:1431:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1431:14:1431:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1431:15:1431:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1431:16:1431:16 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1431:16:1431:16 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1435:16:1448:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1436:13:1436:13 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1436:17:1436:20 | S {...} | | main.rs:1415:5:1415:13 | S | +| main.rs:1437:9:1437:9 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1438:9:1438:9 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1439:9:1439:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1439:9:1439:17 | ...::f3(...) | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1439:15:1439:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1439:16:1439:16 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1441:19:1441:24 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1441:20:1441:24 | &true | | {EXTERNAL LOCATION} | & | +| main.rs:1441:21:1441:24 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1446:9:1446:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1446:22:1446:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | +| main.rs:1447:18:1447:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1447:18:1447:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1447:18:1447:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1447:18:1447:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1462:43:1465:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1462:43:1465:5 | { ... } | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1462:43:1465:5 | { ... } | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1469:46:1473:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1469:46:1473:5 | { ... } | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1469:46:1473:5 | { ... } | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1477:40:1482:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1477:40:1482:5 | { ... } | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1477:40:1482:5 | { ... } | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1486:30:1486:34 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1486:30:1486:34 | input | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1486:30:1486:34 | input | T | main.rs:1486:20:1486:27 | T | +| main.rs:1486:69:1493:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1486:69:1493:5 | { ... } | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1486:69:1493:5 | { ... } | T | main.rs:1486:20:1486:27 | T | +| main.rs:1487:21:1487:25 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1487:21:1487:25 | input | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1487:21:1487:25 | input | T | main.rs:1486:20:1486:27 | T | +| main.rs:1489:22:1489:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1489:22:1489:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1489:22:1489:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1489:22:1489:30 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1496:16:1512:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1497:9:1499:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1497:37:1497:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1497:37:1497:52 | try_same_error(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1497:37:1497:52 | try_same_error(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1497:54:1499:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1498:22:1498:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1498:22:1498:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1498:22:1498:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1498:22:1498:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1501:9:1503:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1501:37:1501:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1501:37:1501:55 | try_convert_error(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1501:37:1501:55 | try_convert_error(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1501:57:1503:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1502:22:1502:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1502:22:1502:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1502:22:1502:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1502:22:1502:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1505:9:1507:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1505:37:1505:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1505:37:1505:49 | try_chained(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1505:37:1505:49 | try_chained(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1505:51:1507:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1506:22:1506:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1506:22:1506:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1506:22:1506:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1506:22:1506:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1509:9:1511:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1509:37:1509:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1509:37:1509:63 | try_complex(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:65:1511:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1510:22:1510:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1510:22:1510:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1510:22:1510:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1510:22:1510:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1516:16:1607:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1517:13:1517:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1519:17:1519:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1520:17:1520:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1521:13:1521:13 | c | | {EXTERNAL LOCATION} | char | +| main.rs:1521:17:1521:19 | 'c' | | {EXTERNAL LOCATION} | char | +| main.rs:1522:13:1522:17 | hello | | {EXTERNAL LOCATION} | & | +| main.rs:1522:13:1522:17 | hello | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1522:21:1522:27 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1522:21:1522:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1523:13:1523:13 | f | | {EXTERNAL LOCATION} | f64 | +| main.rs:1523:17:1523:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | +| main.rs:1524:13:1524:13 | t | | {EXTERNAL LOCATION} | bool | +| main.rs:1524:17:1524:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1525:13:1525:13 | f | | {EXTERNAL LOCATION} | bool | +| main.rs:1525:17:1525:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1528:26:1528:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1528:26:1528:30 | SelfParam | TRef | main.rs:1527:9:1531:9 | Self [trait MyTrait] | +| main.rs:1534:26:1534:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1534:26:1534:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1534:26:1534:30 | SelfParam | TRef.TArray | main.rs:1533:14:1533:23 | T | +| main.rs:1534:39:1536:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1534:39:1536:13 | { ... } | TRef | main.rs:1533:14:1533:23 | T | +| main.rs:1535:17:1535:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1535:17:1535:20 | self | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1535:17:1535:20 | self | TRef.TArray | main.rs:1533:14:1533:23 | T | +| main.rs:1538:31:1540:13 | { ... } | | main.rs:1533:14:1533:23 | T | +| main.rs:1543:17:1543:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1544:13:1544:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1544:17:1544:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1544:37:1544:46 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1544:38:1544:46 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1545:13:1545:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1545:17:1545:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1548:26:1548:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1548:26:1548:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1548:26:1548:30 | SelfParam | TRef.TSlice | main.rs:1547:14:1547:23 | T | +| main.rs:1548:39:1550:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1548:39:1550:13 | { ... } | TRef | main.rs:1547:14:1547:23 | T | +| main.rs:1549:17:1549:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1549:17:1549:20 | self | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1549:17:1549:20 | self | TRef.TSlice | main.rs:1547:14:1547:23 | T | +| main.rs:1552:31:1554:13 | { ... } | | main.rs:1547:14:1547:23 | T | +| main.rs:1557:13:1557:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1557:13:1557:13 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1557:13:1557:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1557:25:1557:34 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1557:26:1557:34 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1558:17:1558:17 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1558:17:1558:17 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1558:17:1558:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1559:13:1559:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1559:17:1559:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1559:34:1559:34 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1559:34:1559:34 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1559:34:1559:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1560:13:1560:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1560:17:1560:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1563:26:1563:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1563:26:1563:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1563:26:1563:30 | SelfParam | TRef.T0 | main.rs:1562:14:1562:23 | T | +| main.rs:1563:26:1563:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1563:39:1565:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1563:39:1565:13 | { ... } | TRef | main.rs:1562:14:1562:23 | T | +| main.rs:1564:17:1564:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1564:18:1564:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1564:18:1564:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1564:18:1564:21 | self | TRef.T0 | main.rs:1562:14:1562:23 | T | +| main.rs:1564:18:1564:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1567:31:1569:13 | { ... } | | main.rs:1562:14:1562:23 | T | +| main.rs:1572:13:1572:13 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1572:17:1572:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1573:17:1573:17 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1574:13:1574:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1574:17:1574:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1574:37:1574:38 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1574:38:1574:38 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1575:13:1575:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1575:17:1575:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1578:26:1578:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1578:26:1578:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1578:26:1578:30 | SelfParam | TRef.TRef | main.rs:1577:14:1577:23 | T | +| main.rs:1578:39:1580:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1578:39:1580:13 | { ... } | TRef | main.rs:1577:14:1577:23 | T | +| main.rs:1579:18:1579:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1579:18:1579:21 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1579:18:1579:21 | self | TRef.TRef | main.rs:1577:14:1577:23 | T | +| main.rs:1582:31:1584:13 | { ... } | | main.rs:1577:14:1577:23 | T | +| main.rs:1587:13:1587:13 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1587:17:1587:19 | &42 | | {EXTERNAL LOCATION} | & | +| main.rs:1588:17:1588:17 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1589:13:1589:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1589:17:1589:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1589:33:1589:34 | &r | | {EXTERNAL LOCATION} | & | +| main.rs:1589:34:1589:34 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1590:13:1590:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1590:17:1590:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1593:26:1593:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1593:26:1593:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1593:26:1593:30 | SelfParam | TRef.TPtrMut | main.rs:1592:14:1592:23 | T | +| main.rs:1593:39:1595:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1593:39:1595:13 | { ... } | TRef | main.rs:1592:14:1592:23 | T | +| main.rs:1594:26:1594:32 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1594:29:1594:32 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1594:29:1594:32 | self | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1594:29:1594:32 | self | TRef.TPtrMut | main.rs:1592:14:1592:23 | T | +| main.rs:1597:31:1599:13 | { ... } | | main.rs:1592:14:1592:23 | T | +| main.rs:1603:13:1603:13 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1603:13:1603:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1603:27:1603:32 | &mut v | | {EXTERNAL LOCATION} | &mut | +| main.rs:1604:26:1604:26 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1604:26:1604:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1605:26:1605:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1605:46:1605:47 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1605:47:1605:47 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1605:47:1605:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1606:13:1606:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1606:17:1606:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1612:16:1624:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1613:13:1613:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:1613:17:1613:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1613:17:1613:29 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1613:25:1613:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:13:1614:13 | y | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:17:1614:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:17:1614:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:25:1614:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1618:17:1620:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1620:16:1622:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1637:30:1639:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1638:13:1638:31 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1645:16:1645:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1645:22:1645:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1645:41:1650:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1646:13:1649:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1647:20:1647:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1647:29:1647:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1648:20:1648:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1648:29:1648:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1655:23:1655:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1655:23:1655:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1655:34:1655:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1655:45:1658:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1656:13:1656:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1656:13:1656:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1656:23:1656:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1657:13:1657:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1657:13:1657:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1657:23:1657:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1663:16:1663:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1663:22:1663:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1663:41:1668:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1664:13:1667:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1665:20:1665:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1665:29:1665:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1666:20:1666:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1666:29:1666:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1673:23:1673:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1673:23:1673:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1673:34:1673:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1673:45:1676:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1674:13:1674:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1674:13:1674:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1674:23:1674:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1675:13:1675:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1675:13:1675:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1675:23:1675:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1681:16:1681:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1681:22:1681:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1681:41:1686:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1682:13:1685:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1683:20:1683:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1683:29:1683:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1684:20:1684:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1684:29:1684:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1690:23:1690:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1690:23:1690:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1690:34:1690:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1690:45:1693:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1691:13:1691:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1691:13:1691:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1691:23:1691:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1692:13:1692:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1692:13:1692:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1692:23:1692:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1698:16:1698:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1698:22:1698:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1698:41:1703:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1699:13:1702:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1700:20:1700:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1700:29:1700:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1701:20:1701:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1701:29:1701:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1707:23:1707:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1707:23:1707:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1707:34:1707:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1707:45:1710:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1708:13:1708:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1708:13:1708:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1708:23:1708:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1709:13:1709:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1709:13:1709:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1709:23:1709:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1715:16:1715:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1715:22:1715:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1715:41:1720:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1716:13:1719:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1717:20:1717:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1717:29:1717:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1718:20:1718:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1718:29:1718:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1724:23:1724:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1724:23:1724:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1724:34:1724:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1724:45:1727:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1725:13:1725:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1725:13:1725:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1725:23:1725:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1726:13:1726:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1726:13:1726:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1726:23:1726:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1732:19:1732:22 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1732:25:1732:27 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1732:44:1737:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1733:13:1736:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1734:20:1734:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1734:29:1734:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1735:20:1735:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1735:29:1735:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1741:26:1741:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1741:26:1741:34 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1741:37:1741:39 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1741:48:1744:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1742:13:1742:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1742:13:1742:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1742:23:1742:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1743:13:1743:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1743:13:1743:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1743:23:1743:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1749:18:1749:21 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1749:24:1749:26 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1749:43:1754:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1750:13:1753:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1751:20:1751:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1751:29:1751:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1752:20:1752:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1752:29:1752:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1758:25:1758:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1758:25:1758:33 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1758:36:1758:38 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1758:47:1761:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1759:13:1759:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1759:13:1759:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1759:23:1759:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1760:13:1760:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1760:13:1760:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1760:23:1760:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1766:19:1766:22 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1766:25:1766:27 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1766:44:1771:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1767:13:1770:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1768:20:1768:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1768:29:1768:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1769:20:1769:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1769:29:1769:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1775:26:1775:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1775:26:1775:34 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1775:37:1775:39 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1775:48:1778:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1776:13:1776:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1776:13:1776:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1776:23:1776:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1777:13:1777:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1777:13:1777:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1777:23:1777:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1783:16:1783:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1783:22:1783:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1783:40:1788:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1784:13:1787:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1785:20:1785:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1785:30:1785:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1786:20:1786:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1786:30:1786:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1792:23:1792:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1792:23:1792:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1792:34:1792:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1792:44:1795:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1793:13:1793:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1793:13:1793:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1793:24:1793:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1794:13:1794:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1794:13:1794:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1794:24:1794:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1800:16:1800:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1800:22:1800:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1800:40:1805:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1801:13:1804:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1802:20:1802:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1802:30:1802:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1803:20:1803:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1803:30:1803:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1809:23:1809:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1809:23:1809:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1809:34:1809:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1809:44:1812:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1810:13:1810:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1810:13:1810:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1810:24:1810:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1811:13:1811:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1811:13:1811:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1811:24:1811:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1817:16:1817:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1817:30:1822:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1818:13:1821:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1819:21:1819:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1820:21:1820:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1827:16:1827:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1827:30:1832:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1828:13:1831:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1829:21:1829:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1830:21:1830:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1836:15:1836:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1836:15:1836:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1836:22:1836:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1836:22:1836:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1836:44:1838:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:13:1837:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1837:13:1837:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1837:13:1837:29 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:13:1837:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:23:1837:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1837:23:1837:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1837:34:1837:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1837:34:1837:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1837:34:1837:50 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:44:1837:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1837:44:1837:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1840:15:1840:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1840:15:1840:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1840:22:1840:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1840:22:1840:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1840:44:1842:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:13:1841:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1841:13:1841:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1841:13:1841:29 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:13:1841:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:23:1841:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1841:23:1841:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1841:34:1841:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1841:34:1841:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1841:34:1841:50 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:44:1841:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1841:44:1841:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1846:24:1846:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1846:24:1846:28 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1846:31:1846:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1846:31:1846:35 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1846:75:1848:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1846:75:1848:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1847:14:1847:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1847:14:1847:17 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1847:23:1847:26 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1847:23:1847:26 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1847:43:1847:62 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1847:45:1847:49 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1847:45:1847:49 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1847:55:1847:59 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1847:55:1847:59 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1850:15:1850:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1850:15:1850:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1850:22:1850:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1850:22:1850:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1850:44:1852:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:13:1851:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1851:13:1851:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1851:13:1851:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:13:1851:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:22:1851:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1851:22:1851:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1851:33:1851:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1851:33:1851:36 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1851:33:1851:48 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:42:1851:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1851:42:1851:46 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1854:15:1854:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1854:15:1854:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1854:22:1854:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1854:22:1854:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1854:44:1856:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:13:1855:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1855:13:1855:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1855:13:1855:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:13:1855:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:23:1855:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1855:23:1855:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1855:34:1855:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1855:34:1855:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1855:34:1855:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:44:1855:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1855:44:1855:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1858:15:1858:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1858:15:1858:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1858:22:1858:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1858:22:1858:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1858:44:1860:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:13:1859:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1859:13:1859:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1859:13:1859:28 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:13:1859:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:22:1859:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1859:22:1859:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1859:33:1859:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1859:33:1859:36 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1859:33:1859:48 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:42:1859:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1859:42:1859:46 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1862:15:1862:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1862:15:1862:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1862:22:1862:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1862:22:1862:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1862:44:1864:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:13:1863:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1863:13:1863:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1863:13:1863:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:13:1863:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:23:1863:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1863:23:1863:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1863:34:1863:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1863:34:1863:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1863:34:1863:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:44:1863:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1863:44:1863:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1867:26:1867:26 | a | | main.rs:1867:18:1867:23 | T | +| main.rs:1867:32:1867:32 | b | | main.rs:1867:18:1867:23 | T | +| main.rs:1868:9:1868:9 | a | | main.rs:1867:18:1867:23 | T | +| main.rs:1868:13:1868:13 | b | | main.rs:1867:18:1867:23 | T | +| main.rs:1871:16:2002:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1875:23:1875:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1875:31:1875:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1876:23:1876:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1876:31:1876:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1877:23:1877:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1877:30:1877:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1878:23:1878:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1878:31:1878:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1879:23:1879:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1879:30:1879:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1880:23:1880:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1880:32:1880:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1883:23:1883:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1883:31:1883:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1884:23:1884:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1884:31:1884:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1885:23:1885:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1885:31:1885:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1886:23:1886:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1886:31:1886:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1887:23:1887:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1887:31:1887:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1888:39:1888:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1888:45:1888:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1891:17:1891:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1891:34:1891:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1892:9:1892:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1892:27:1892:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1894:17:1894:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1894:34:1894:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1895:9:1895:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1895:27:1895:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1897:17:1897:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1897:34:1897:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1898:9:1898:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1898:27:1898:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1900:17:1900:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1900:34:1900:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1901:9:1901:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1901:27:1901:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1903:17:1903:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1903:34:1903:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1904:9:1904:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1904:27:1904:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1907:26:1907:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1907:34:1907:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1908:25:1908:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1908:33:1908:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1909:26:1909:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1909:34:1909:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1910:23:1910:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1910:32:1910:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1911:23:1911:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1911:32:1911:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1914:17:1914:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1914:37:1914:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1915:9:1915:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1915:30:1915:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1917:17:1917:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1917:36:1917:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1918:9:1918:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1918:29:1918:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1920:17:1920:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1920:37:1920:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1921:9:1921:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1921:30:1921:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1923:17:1923:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1923:34:1923:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1924:9:1924:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1924:28:1924:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1926:17:1926:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1926:34:1926:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1927:9:1927:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1927:28:1927:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1929:24:1929:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1930:24:1930:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1933:13:1933:14 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1933:18:1933:36 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1934:13:1934:14 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1934:18:1934:36 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1937:23:1937:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1937:29:1937:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1938:23:1938:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1938:29:1938:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1939:23:1939:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1939:28:1939:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1940:23:1940:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1940:29:1940:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1941:23:1941:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1941:28:1941:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1942:23:1942:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1942:29:1942:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1945:24:1945:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1945:29:1945:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1946:24:1946:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1946:29:1946:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1947:24:1947:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1947:29:1947:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1948:24:1948:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1948:29:1948:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1949:24:1949:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1949:29:1949:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1952:17:1952:31 | vec2_add_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1952:35:1952:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1953:9:1953:23 | vec2_add_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1953:28:1953:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1955:17:1955:31 | vec2_sub_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1955:35:1955:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1956:9:1956:23 | vec2_sub_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1956:28:1956:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1958:17:1958:31 | vec2_mul_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1958:35:1958:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1959:9:1959:23 | vec2_mul_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1959:28:1959:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1961:17:1961:31 | vec2_div_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1961:35:1961:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1962:9:1962:23 | vec2_div_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1962:28:1962:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1964:17:1964:31 | vec2_rem_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1964:35:1964:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1965:9:1965:23 | vec2_rem_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1965:28:1965:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1968:27:1968:28 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1968:32:1968:33 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1969:26:1969:27 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1969:31:1969:32 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1970:27:1970:28 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1970:32:1970:33 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1971:24:1971:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1971:30:1971:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1972:24:1972:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1972:30:1972:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1975:17:1975:34 | vec2_bitand_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1975:38:1975:39 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1976:9:1976:26 | vec2_bitand_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1976:31:1976:32 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1978:17:1978:33 | vec2_bitor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1978:37:1978:38 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1979:9:1979:25 | vec2_bitor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1979:30:1979:31 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1981:17:1981:34 | vec2_bitxor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1981:38:1981:39 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1982:9:1982:26 | vec2_bitxor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1982:31:1982:32 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1984:17:1984:31 | vec2_shl_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1984:35:1984:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1985:9:1985:23 | vec2_shl_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1985:29:1985:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1987:17:1987:31 | vec2_shr_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1987:35:1987:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1988:9:1988:23 | vec2_shr_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1988:29:1988:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1991:25:1991:26 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1992:25:1992:26 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1996:30:1996:48 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:2001:30:2001:48 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:2011:18:2011:21 | SelfParam | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2011:24:2011:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2014:25:2016:5 | { ... } | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2019:9:2019:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2023:9:2023:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2023:9:2023:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2032:13:2032:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | +| main.rs:2032:13:2032:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | +| main.rs:2032:13:2032:42 | SelfParam | Ptr.TRefMut | main.rs:2026:5:2026:14 | S2 | +| main.rs:2033:13:2033:15 | _cx | | {EXTERNAL LOCATION} | &mut | +| main.rs:2033:13:2033:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | +| main.rs:2034:44:2036:9 | { ... } | | {EXTERNAL LOCATION} | Poll | +| main.rs:2034:44:2036:9 | { ... } | T | main.rs:2008:5:2008:14 | S1 | +| main.rs:2043:22:2051:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2044:9:2044:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2044:9:2044:12 | f1(...) | dyn(Output) | main.rs:2008:5:2008:14 | S1 | +| main.rs:2045:9:2045:12 | f2(...) | | main.rs:2018:16:2018:39 | impl ... | +| main.rs:2046:9:2046:12 | f3(...) | | main.rs:2022:16:2022:39 | impl ... | +| main.rs:2047:9:2047:12 | f4(...) | | main.rs:2039:16:2039:39 | impl ... | +| main.rs:2049:13:2049:13 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2049:17:2049:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2050:9:2050:9 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2061:15:2061:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2061:15:2061:19 | SelfParam | TRef | main.rs:2060:5:2062:5 | Self [trait Trait1] | +| main.rs:2061:22:2061:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2065:15:2065:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2065:15:2065:19 | SelfParam | TRef | main.rs:2064:5:2066:5 | Self [trait Trait2] | +| main.rs:2065:22:2065:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2069:15:2069:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2069:15:2069:19 | SelfParam | TRef | main.rs:2055:5:2056:14 | S1 | +| main.rs:2069:22:2069:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2073:15:2073:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2073:15:2073:19 | SelfParam | TRef | main.rs:2055:5:2056:14 | S1 | +| main.rs:2073:22:2073:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2081:18:2081:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2081:18:2081:22 | SelfParam | TRef | main.rs:2080:5:2082:5 | Self [trait MyTrait] | +| main.rs:2085:18:2085:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2085:18:2085:22 | SelfParam | TRef | main.rs:2055:5:2056:14 | S1 | +| main.rs:2085:31:2087:9 | { ... } | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2091:18:2091:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2091:18:2091:22 | SelfParam | TRef | main.rs:2058:5:2058:22 | S3 | +| main.rs:2091:18:2091:22 | SelfParam | TRef.T3 | main.rs:2090:10:2090:17 | T | +| main.rs:2091:30:2094:9 | { ... } | | main.rs:2090:10:2090:17 | T | +| main.rs:2092:25:2092:28 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2092:25:2092:28 | self | TRef | main.rs:2058:5:2058:22 | S3 | +| main.rs:2092:25:2092:28 | self | TRef.T3 | main.rs:2090:10:2090:17 | T | +| main.rs:2101:41:2101:41 | t | | main.rs:2101:26:2101:38 | B | +| main.rs:2101:52:2103:5 | { ... } | | main.rs:2101:23:2101:23 | A | +| main.rs:2102:9:2102:9 | t | | main.rs:2101:26:2101:38 | B | +| main.rs:2105:34:2105:34 | x | | main.rs:2105:24:2105:31 | T | +| main.rs:2105:59:2107:5 | { ... } | | main.rs:2105:43:2105:57 | impl ... | +| main.rs:2105:59:2107:5 | { ... } | impl(T) | main.rs:2105:24:2105:31 | T | +| main.rs:2106:12:2106:12 | x | | main.rs:2105:24:2105:31 | T | +| main.rs:2109:34:2109:34 | x | | main.rs:2109:24:2109:31 | T | +| main.rs:2109:67:2111:5 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2109:67:2111:5 | { ... } | T | main.rs:2109:50:2109:64 | impl ... | +| main.rs:2109:67:2111:5 | { ... } | T.impl(T) | main.rs:2109:24:2109:31 | T | +| main.rs:2110:17:2110:17 | x | | main.rs:2109:24:2109:31 | T | +| main.rs:2113:34:2113:34 | x | | main.rs:2113:24:2113:31 | T | +| main.rs:2113:78:2115:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2113:78:2115:5 | { ... } | T0 | main.rs:2113:44:2113:58 | impl ... | +| main.rs:2113:78:2115:5 | { ... } | T0.impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2113:78:2115:5 | { ... } | T1 | main.rs:2113:61:2113:75 | impl ... | +| main.rs:2113:78:2115:5 | { ... } | T1.impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2114:9:2114:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2114:13:2114:13 | x | | main.rs:2113:24:2113:31 | T | +| main.rs:2114:28:2114:28 | x | | main.rs:2113:24:2113:31 | T | +| main.rs:2117:26:2117:26 | t | | main.rs:2117:29:2117:43 | impl ... | +| main.rs:2117:51:2119:5 | { ... } | | main.rs:2117:23:2117:23 | A | +| main.rs:2118:9:2118:9 | t | | main.rs:2117:29:2117:43 | impl ... | +| main.rs:2121:16:2135:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2122:13:2122:13 | x | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2122:17:2122:20 | f1(...) | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2123:9:2123:9 | x | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2124:9:2124:9 | x | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2125:13:2125:13 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2125:17:2125:32 | get_a_my_trait(...) | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2126:32:2126:32 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2127:13:2127:13 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2127:17:2127:32 | get_a_my_trait(...) | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2128:32:2128:32 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2130:17:2130:35 | get_a_my_trait2(...) | | main.rs:2105:43:2105:57 | impl ... | +| main.rs:2133:17:2133:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2133:17:2133:35 | get_a_my_trait3(...) | T | main.rs:2109:50:2109:64 | impl ... | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | T0 | main.rs:2113:44:2113:58 | impl ... | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | T1 | main.rs:2113:61:2113:75 | impl ... | +| main.rs:2145:16:2145:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2145:16:2145:20 | SelfParam | TRef | main.rs:2141:5:2142:13 | S | +| main.rs:2145:31:2147:9 | { ... } | | main.rs:2141:5:2142:13 | S | +| main.rs:2156:26:2158:9 | { ... } | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2156:26:2158:9 | { ... } | T | main.rs:2155:10:2155:10 | T | +| main.rs:2157:13:2157:38 | MyVec {...} | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2157:27:2157:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2157:27:2157:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2160:17:2160:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:2160:17:2160:25 | SelfParam | TRefMut | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2160:17:2160:25 | SelfParam | TRefMut.T | main.rs:2155:10:2155:10 | T | +| main.rs:2160:28:2160:32 | value | | main.rs:2155:10:2155:10 | T | +| main.rs:2160:38:2162:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2161:13:2161:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:2161:13:2161:16 | self | TRefMut | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2161:13:2161:16 | self | TRefMut.T | main.rs:2155:10:2155:10 | T | +| main.rs:2161:28:2161:32 | value | | main.rs:2155:10:2155:10 | T | +| main.rs:2169:18:2169:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2169:18:2169:22 | SelfParam | TRef | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2169:18:2169:22 | SelfParam | TRef.T | main.rs:2165:10:2165:10 | T | +| main.rs:2169:25:2169:29 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2169:56:2171:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2169:56:2171:9 | { ... } | TRef | main.rs:2165:10:2165:10 | T | +| main.rs:2170:13:2170:29 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2170:14:2170:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2170:14:2170:17 | self | TRef | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2170:14:2170:17 | self | TRef.T | main.rs:2165:10:2165:10 | T | +| main.rs:2170:24:2170:28 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2174:22:2174:26 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2174:22:2174:26 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2174:22:2174:26 | slice | TRef.TSlice | main.rs:2141:5:2142:13 | S | +| main.rs:2174:35:2176:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2175:17:2175:21 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2175:17:2175:21 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2175:17:2175:21 | slice | TRef.TSlice | main.rs:2141:5:2142:13 | S | +| main.rs:2178:37:2178:37 | a | | main.rs:2178:20:2178:34 | T | +| main.rs:2178:43:2178:43 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2182:9:2182:9 | a | | main.rs:2178:20:2178:34 | T | +| main.rs:2182:11:2182:11 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2185:16:2196:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2186:17:2186:19 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2186:23:2186:34 | ...::new(...) | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2187:9:2187:11 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2188:9:2188:11 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2190:13:2190:14 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2190:13:2190:14 | xs | TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2190:26:2190:28 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2191:17:2191:18 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2191:17:2191:18 | xs | TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2193:29:2193:31 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2195:9:2195:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2195:23:2195:25 | &xs | | {EXTERNAL LOCATION} | & | +| main.rs:2195:24:2195:25 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2195:24:2195:25 | xs | TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2200:16:2202:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2201:25:2201:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | +| main.rs:2201:25:2201:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2201:25:2201:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2201:38:2201:45 | "World!" | | {EXTERNAL LOCATION} | & | +| main.rs:2201:38:2201:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2210:19:2210:22 | SelfParam | | main.rs:2206:5:2211:5 | Self [trait MyAdd] | +| main.rs:2210:25:2210:27 | rhs | | main.rs:2206:17:2206:26 | Rhs | +| main.rs:2217:19:2217:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2217:25:2217:29 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2217:45:2219:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2218:13:2218:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2226:19:2226:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2226:25:2226:29 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2226:25:2226:29 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2226:46:2228:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2227:14:2227:18 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2227:14:2227:18 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2235:19:2235:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2235:25:2235:29 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2235:46:2241:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:16:2236:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2250:19:2250:22 | SelfParam | | main.rs:2244:5:2244:19 | S | +| main.rs:2250:19:2250:22 | SelfParam | T | main.rs:2246:10:2246:17 | T | +| main.rs:2250:25:2250:29 | other | | main.rs:2244:5:2244:19 | S | +| main.rs:2250:25:2250:29 | other | T | main.rs:2246:10:2246:17 | T | +| main.rs:2250:54:2252:9 | { ... } | | main.rs:2244:5:2244:19 | S | +| main.rs:2251:16:2251:19 | self | | main.rs:2244:5:2244:19 | S | +| main.rs:2251:16:2251:19 | self | T | main.rs:2246:10:2246:17 | T | +| main.rs:2251:31:2251:35 | other | | main.rs:2244:5:2244:19 | S | +| main.rs:2251:31:2251:35 | other | T | main.rs:2246:10:2246:17 | T | +| main.rs:2259:19:2259:22 | SelfParam | | main.rs:2244:5:2244:19 | S | +| main.rs:2259:19:2259:22 | SelfParam | T | main.rs:2255:10:2255:17 | T | +| main.rs:2259:25:2259:29 | other | | main.rs:2255:10:2255:17 | T | +| main.rs:2259:51:2261:9 | { ... } | | main.rs:2244:5:2244:19 | S | +| main.rs:2260:16:2260:19 | self | | main.rs:2244:5:2244:19 | S | +| main.rs:2260:16:2260:19 | self | T | main.rs:2255:10:2255:17 | T | +| main.rs:2260:31:2260:35 | other | | main.rs:2255:10:2255:17 | T | +| main.rs:2271:19:2271:22 | SelfParam | | main.rs:2244:5:2244:19 | S | +| main.rs:2271:19:2271:22 | SelfParam | T | main.rs:2264:14:2264:14 | T | +| main.rs:2271:25:2271:29 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2271:25:2271:29 | other | TRef | main.rs:2264:14:2264:14 | T | +| main.rs:2271:55:2273:9 | { ... } | | main.rs:2244:5:2244:19 | S | +| main.rs:2272:16:2272:19 | self | | main.rs:2244:5:2244:19 | S | +| main.rs:2272:16:2272:19 | self | T | main.rs:2264:14:2264:14 | T | +| main.rs:2272:31:2272:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2272:31:2272:35 | other | TRef | main.rs:2264:14:2264:14 | T | +| main.rs:2278:20:2278:24 | value | | main.rs:2276:18:2276:18 | T | +| main.rs:2283:20:2283:24 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2283:40:2285:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2284:13:2284:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2290:20:2290:24 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2290:41:2296:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2291:16:2291:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2301:21:2301:25 | value | | main.rs:2299:19:2299:19 | T | +| main.rs:2301:31:2301:31 | x | | main.rs:2299:5:2302:5 | Self [trait MyFrom2] | +| main.rs:2306:21:2306:25 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2306:33:2306:33 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2306:48:2308:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2307:13:2307:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2313:21:2313:25 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2313:34:2313:34 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2313:49:2319:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2314:16:2314:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2324:15:2324:15 | x | | main.rs:2322:5:2328:5 | Self [trait MySelfTrait] | +| main.rs:2327:15:2327:15 | x | | main.rs:2322:5:2328:5 | Self [trait MySelfTrait] | +| main.rs:2332:15:2332:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2332:31:2334:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2333:13:2333:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2337:15:2337:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2337:32:2339:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2338:13:2338:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2344:15:2344:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2344:31:2346:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2349:15:2349:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2349:32:2351:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2350:13:2350:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2354:16:2379:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2355:13:2355:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2356:9:2356:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2356:18:2356:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2357:9:2357:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2357:18:2357:22 | &5i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2357:19:2357:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2358:9:2358:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2358:18:2358:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2360:11:2360:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2360:26:2360:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2361:11:2361:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2361:24:2361:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2362:11:2362:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2362:24:2362:28 | &3i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2362:25:2362:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2364:13:2364:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2364:17:2364:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2364:30:2364:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2365:13:2365:13 | y | | {EXTERNAL LOCATION} | i64 | +| main.rs:2365:17:2365:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2365:30:2365:33 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2366:13:2366:13 | z | | {EXTERNAL LOCATION} | i64 | +| main.rs:2366:38:2366:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2367:9:2367:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2367:23:2367:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2367:30:2367:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2368:9:2368:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2368:23:2368:26 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2368:29:2368:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2369:9:2369:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2369:27:2369:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2369:34:2369:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2371:9:2371:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2371:17:2371:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2372:9:2372:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2372:17:2372:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2373:9:2373:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2373:18:2373:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2374:9:2374:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2374:18:2374:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2375:9:2375:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2375:25:2375:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2376:25:2376:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2377:9:2377:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2377:25:2377:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2378:25:2378:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2386:26:2388:9 | { ... } | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2387:13:2387:25 | MyCallable {...} | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2390:17:2390:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2390:17:2390:21 | SelfParam | TRef | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2390:31:2392:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2395:16:2502:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2398:9:2398:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2398:18:2398:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2398:28:2398:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2399:9:2399:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2399:18:2399:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2399:43:2399:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2400:9:2400:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2400:18:2400:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2400:40:2400:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2402:13:2402:17 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2402:21:2402:31 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2402:22:2402:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2403:9:2403:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2403:18:2403:22 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2403:24:2403:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2405:13:2405:17 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2405:21:2405:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2405:22:2405:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2406:9:2406:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2406:18:2406:22 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2406:24:2406:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2408:13:2408:17 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2408:13:2408:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2408:31:2408:39 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2409:9:2409:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2409:18:2409:22 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2409:18:2409:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2409:24:2409:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2411:13:2411:17 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2411:13:2411:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2411:31:2411:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2412:9:2412:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2412:18:2412:22 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2412:18:2412:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2412:24:2412:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2414:17:2414:24 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2414:28:2414:48 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2414:29:2414:33 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:29:2414:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2414:36:2414:40 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:36:2414:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2414:43:2414:47 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:43:2414:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2415:9:2415:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2415:18:2415:26 | &strings1 | | {EXTERNAL LOCATION} | & | +| main.rs:2415:19:2415:26 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2415:28:2415:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2416:9:2416:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2416:18:2416:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | +| main.rs:2416:23:2416:30 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2416:32:2416:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2417:9:2417:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2417:18:2417:25 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2417:27:2417:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2419:13:2419:20 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2420:9:2424:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2421:13:2421:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2421:26:2421:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2421:26:2421:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2422:13:2422:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2422:26:2422:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2422:26:2422:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2423:13:2423:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2423:26:2423:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2423:26:2423:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2425:9:2425:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2425:18:2425:25 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2425:27:2425:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2427:13:2427:20 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2428:9:2432:9 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2428:10:2432:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2429:13:2429:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2429:26:2429:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2429:26:2429:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2430:13:2430:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2430:26:2430:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2430:26:2430:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2431:13:2431:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2431:26:2431:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2431:26:2431:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2433:9:2433:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2433:18:2433:25 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2433:27:2433:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2435:13:2435:21 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2435:25:2435:81 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2435:26:2435:42 | ...::new(...) | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2435:45:2435:61 | ...::new(...) | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2435:64:2435:80 | ...::new(...) | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2436:9:2440:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2437:12:2437:20 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2438:9:2440:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2444:9:2444:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2444:18:2444:22 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2444:24:2444:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2445:9:2445:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2445:18:2445:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2445:19:2445:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2445:19:2445:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2445:28:2445:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2446:13:2446:17 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2446:21:2446:25 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2447:9:2447:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2447:18:2447:22 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2447:24:2447:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2448:13:2448:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2448:26:2448:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2449:9:2449:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2449:18:2449:48 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2449:19:2449:36 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2449:20:2449:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:26:2449:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:32:2449:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:38:2449:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2449:50:2449:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2451:13:2451:18 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2452:9:2455:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | +| main.rs:2453:20:2453:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2454:18:2454:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2456:9:2456:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2456:18:2456:23 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2456:25:2456:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2461:9:2461:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2461:24:2461:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2463:13:2463:18 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2463:13:2463:18 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2463:13:2463:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2463:32:2463:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2463:33:2463:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2464:9:2464:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2464:18:2464:23 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2464:18:2464:23 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2464:18:2464:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2464:25:2464:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2466:22:2466:33 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2466:23:2466:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2467:9:2467:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2467:25:2467:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2469:13:2469:17 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2469:21:2469:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2469:31:2469:42 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2469:32:2469:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2470:9:2470:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2470:18:2470:22 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2470:24:2470:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2472:13:2472:17 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2472:13:2472:17 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2472:13:2472:17 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2472:13:2472:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2472:32:2472:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2472:33:2472:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2473:9:2473:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2473:18:2473:22 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2473:18:2473:22 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2473:18:2473:22 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2473:18:2473:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2473:24:2473:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2475:17:2475:21 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2475:17:2475:21 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2475:25:2475:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2475:25:2475:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2476:9:2476:13 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2476:9:2476:13 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2476:20:2476:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2477:9:2477:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2477:18:2477:22 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2477:18:2477:22 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2477:24:2477:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2481:17:2484:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2482:13:2483:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2482:29:2483:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2486:17:2486:20 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2486:17:2486:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2486:24:2486:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2486:24:2486:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2487:9:2487:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2487:9:2487:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2487:24:2487:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2487:24:2487:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2487:33:2487:37 | "one" | | {EXTERNAL LOCATION} | & | +| main.rs:2487:33:2487:37 | "one" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2488:9:2488:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2488:9:2488:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2488:24:2488:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2488:24:2488:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2488:33:2488:37 | "two" | | {EXTERNAL LOCATION} | & | +| main.rs:2488:33:2488:37 | "two" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2489:9:2489:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2489:20:2489:23 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2489:20:2489:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2489:32:2489:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2490:9:2490:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2490:22:2490:25 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2490:22:2490:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2490:36:2490:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2491:9:2491:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2491:13:2491:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2491:29:2491:32 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2491:29:2491:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2491:41:2491:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2492:9:2492:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2492:13:2492:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2492:29:2492:33 | &map1 | | {EXTERNAL LOCATION} | & | +| main.rs:2492:30:2492:33 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2492:30:2492:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2492:35:2492:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2496:17:2496:17 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2498:17:2501:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2498:23:2498:23 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2499:9:2501:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2500:13:2500:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2512:40:2514:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2512:40:2514:9 | { ... } | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2512:40:2514:9 | { ... } | T.T | main.rs:2511:10:2511:19 | T | +| main.rs:2516:30:2518:9 | { ... } | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2516:30:2518:9 | { ... } | T | main.rs:2511:10:2511:19 | T | +| main.rs:2520:19:2520:22 | SelfParam | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2520:19:2520:22 | SelfParam | T | main.rs:2511:10:2511:19 | T | +| main.rs:2520:33:2522:9 | { ... } | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2520:33:2522:9 | { ... } | T | main.rs:2511:10:2511:19 | T | +| main.rs:2521:13:2521:16 | self | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2521:13:2521:16 | self | T | main.rs:2511:10:2511:19 | T | +| main.rs:2533:15:2533:15 | x | | main.rs:2533:12:2533:12 | T | +| main.rs:2533:26:2535:5 | { ... } | | main.rs:2533:12:2533:12 | T | +| main.rs:2534:9:2534:9 | x | | main.rs:2533:12:2533:12 | T | +| main.rs:2537:16:2559:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2538:13:2538:14 | x1 | | {EXTERNAL LOCATION} | Option | +| main.rs:2538:13:2538:14 | x1 | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2538:13:2538:14 | x1 | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2538:34:2538:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2538:34:2538:48 | ...::assoc_fun(...) | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2539:13:2539:14 | x2 | | {EXTERNAL LOCATION} | Option | +| main.rs:2539:13:2539:14 | x2 | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2539:13:2539:14 | x2 | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2539:18:2539:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2539:18:2539:38 | ...::assoc_fun(...) | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2539:18:2539:38 | ...::assoc_fun(...) | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2540:13:2540:14 | x3 | | {EXTERNAL LOCATION} | Option | +| main.rs:2540:13:2540:14 | x3 | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2540:13:2540:14 | x3 | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2540:18:2540:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2540:18:2540:32 | ...::assoc_fun(...) | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2540:18:2540:32 | ...::assoc_fun(...) | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2541:13:2541:14 | x4 | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2541:13:2541:14 | x4 | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2541:18:2541:48 | ...::method(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2541:18:2541:48 | ...::method(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2541:35:2541:47 | ...::default(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2542:13:2542:14 | x5 | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2542:13:2542:14 | x5 | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2542:18:2542:42 | ...::method(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2542:18:2542:42 | ...::method(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2542:29:2542:41 | ...::default(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2546:21:2546:33 | ...::default(...) | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2547:13:2547:15 | x10 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2547:13:2547:15 | x10 | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2547:19:2550:9 | S5::<...> {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2547:19:2550:9 | S5::<...> {...} | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2551:13:2551:15 | x11 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2551:19:2551:34 | S5 {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2552:13:2552:15 | x12 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2552:19:2552:33 | S5 {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2553:13:2553:15 | x13 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2553:19:2556:9 | S5 {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2555:20:2555:32 | ...::default(...) | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2557:13:2557:15 | x14 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2557:19:2557:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2558:13:2558:15 | x15 | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2558:13:2558:15 | x15 | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2558:19:2558:37 | ...::default(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2558:19:2558:37 | ...::default(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2567:35:2569:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2567:35:2569:9 | { ... } | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2567:35:2569:9 | { ... } | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2568:13:2568:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2568:14:2568:18 | S1 {...} | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2568:21:2568:25 | S1 {...} | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2570:16:2570:19 | SelfParam | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2570:22:2570:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2573:16:2607:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2574:13:2574:13 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2574:13:2574:13 | a | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2574:13:2574:13 | a | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2574:17:2574:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2574:17:2574:30 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2574:17:2574:30 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:17:2575:17 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2575:17:2575:17 | b | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:17:2575:17 | b | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:21:2575:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2575:21:2575:34 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:21:2575:34 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:13:2576:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2576:22:2576:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2576:22:2576:35 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:22:2576:35 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:13:2577:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2577:26:2577:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2577:26:2577:39 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:26:2577:39 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:13:2578:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2578:30:2578:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2578:30:2578:43 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:30:2578:43 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2580:9:2580:9 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2580:9:2580:9 | a | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2580:9:2580:9 | a | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2581:9:2581:9 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2581:9:2581:9 | b | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2581:9:2581:9 | b | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2594:13:2594:16 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2594:20:2594:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2595:13:2595:13 | i | | {EXTERNAL LOCATION} | i64 | +| main.rs:2595:22:2595:25 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2596:13:2596:13 | j | | {EXTERNAL LOCATION} | bool | +| main.rs:2596:23:2596:26 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2598:20:2598:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2600:13:2600:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2600:30:2600:41 | "unexpected" | | {EXTERNAL LOCATION} | & | +| main.rs:2600:30:2600:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2600:30:2600:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2600:30:2600:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2601:25:2601:34 | "expected" | | {EXTERNAL LOCATION} | & | +| main.rs:2601:25:2601:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2601:25:2601:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2601:25:2601:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2605:13:2605:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2605:17:2605:31 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2605:18:2605:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2605:18:2605:31 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2605:18:2605:31 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2606:9:2606:9 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2612:27:2634:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2613:13:2613:23 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2613:13:2613:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2613:27:2613:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2613:27:2613:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2613:36:2613:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2616:15:2616:25 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2616:15:2616:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2617:24:2619:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2618:26:2618:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2618:26:2618:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2618:26:2618:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2618:26:2618:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2620:22:2623:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2622:26:2622:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2622:26:2622:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2622:26:2622:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2622:26:2622:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2627:13:2627:22 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2627:13:2627:22 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:26:2627:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2627:26:2627:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:35:2627:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2627:35:2627:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:44:2627:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2628:15:2628:24 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2628:15:2628:24 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2629:26:2632:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2631:26:2631:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2631:26:2631:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2631:26:2631:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2631:26:2631:59 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2643:36:2645:9 | { ... } | | main.rs:2640:5:2640:22 | Path | +| main.rs:2644:13:2644:19 | Path {...} | | main.rs:2640:5:2640:22 | Path | +| main.rs:2647:29:2647:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2647:29:2647:33 | SelfParam | TRef | main.rs:2640:5:2640:22 | Path | +| main.rs:2647:59:2649:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:2647:59:2649:9 | { ... } | E | {EXTERNAL LOCATION} | () | +| main.rs:2647:59:2649:9 | { ... } | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2648:16:2648:29 | ...::new(...) | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2655:39:2657:9 | { ... } | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2656:13:2656:22 | PathBuf {...} | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2665:18:2665:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2665:18:2665:22 | SelfParam | TRef | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2665:34:2669:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2665:34:2669:9 | { ... } | TRef | main.rs:2640:5:2640:22 | Path | +| main.rs:2667:33:2667:43 | ...::new(...) | | main.rs:2640:5:2640:22 | Path | +| main.rs:2668:13:2668:17 | &path | | {EXTERNAL LOCATION} | & | +| main.rs:2672:16:2680:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2673:13:2673:17 | path1 | | main.rs:2640:5:2640:22 | Path | +| main.rs:2673:21:2673:31 | ...::new(...) | | main.rs:2640:5:2640:22 | Path | +| main.rs:2674:21:2674:25 | path1 | | main.rs:2640:5:2640:22 | Path | +| main.rs:2677:13:2677:20 | pathbuf1 | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2677:24:2677:37 | ...::new(...) | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2678:24:2678:31 | pathbuf1 | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2685:14:2685:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2685:14:2685:18 | SelfParam | TRef | main.rs:2684:5:2686:5 | Self [trait MyTrait] | +| main.rs:2692:14:2692:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2692:14:2692:18 | SelfParam | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2692:14:2692:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2692:28:2694:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2693:13:2693:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2693:13:2693:16 | self | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2693:13:2693:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2698:14:2698:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2698:14:2698:18 | SelfParam | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2698:14:2698:18 | SelfParam | TRef.T | main.rs:2688:5:2689:19 | S | +| main.rs:2698:14:2698:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2698:28:2700:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2699:13:2699:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2699:13:2699:16 | self | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2699:13:2699:16 | self | TRef.T | main.rs:2688:5:2689:19 | S | +| main.rs:2699:13:2699:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2704:15:2704:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2704:15:2704:19 | SelfParam | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2704:15:2704:19 | SelfParam | TRef.T | main.rs:2703:10:2703:16 | T | +| main.rs:2704:33:2706:9 | { ... } | | main.rs:2688:5:2689:19 | S | +| main.rs:2704:33:2706:9 | { ... } | T | main.rs:2688:5:2689:19 | S | +| main.rs:2704:33:2706:9 | { ... } | T.T | main.rs:2703:10:2703:16 | T | +| main.rs:2705:17:2705:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2705:17:2705:20 | self | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2705:17:2705:20 | self | TRef.T | main.rs:2703:10:2703:16 | T | +| main.rs:2709:14:2709:14 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2709:48:2726:5 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2709:48:2726:5 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2709:48:2726:5 | { ... } | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2709:48:2726:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2710:20:2710:20 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2720:12:2720:12 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2722:13:2722:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2722:13:2722:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2724:13:2724:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2724:13:2724:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2730:22:2734:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2731:18:2731:18 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2731:33:2733:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2732:13:2732:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2739:11:2739:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2739:30:2747:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2742:13:2744:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2742:16:2742:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2742:21:2744:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2750:20:2757:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2755:18:2755:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2755:18:2755:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2755:18:2755:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2755:18:2755:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2759:20:2761:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2764:11:2764:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2764:30:2772:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2765:13:2765:13 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2765:17:2769:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2766:13:2768:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2766:16:2766:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2766:21:2768:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2770:18:2770:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2770:18:2770:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2770:18:2770:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2770:18:2770:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2770:29:2770:29 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2776:16:2823:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2778:13:2778:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2778:13:2778:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2782:26:2782:28 | opt | | {EXTERNAL LOCATION} | Option | +| main.rs:2782:26:2782:28 | opt | T | main.rs:2782:23:2782:23 | T | +| main.rs:2782:42:2782:42 | x | | main.rs:2782:23:2782:23 | T | +| main.rs:2782:48:2782:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2785:9:2785:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2792:13:2792:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2792:17:2792:39 | ...::A {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2793:13:2793:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2793:13:2793:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2793:13:2793:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2793:40:2793:40 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2794:13:2794:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2794:13:2794:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2794:17:2794:52 | ...::A {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2794:17:2794:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2796:13:2796:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2796:13:2796:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2796:17:2798:9 | ...::B::<...> {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2796:17:2798:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2797:20:2797:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2800:29:2800:29 | e | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2800:29:2800:29 | e | T1 | main.rs:2800:26:2800:26 | T | +| main.rs:2800:29:2800:29 | e | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2800:53:2800:53 | x | | main.rs:2800:26:2800:26 | T | +| main.rs:2800:59:2800:60 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2803:13:2803:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2803:17:2805:9 | ...::B {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2804:20:2804:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2806:9:2806:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2806:23:2806:23 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2809:13:2809:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2809:13:2809:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2809:13:2809:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2813:29:2813:31 | res | | {EXTERNAL LOCATION} | Result | +| main.rs:2813:29:2813:31 | res | E | main.rs:2813:26:2813:26 | E | +| main.rs:2813:29:2813:31 | res | T | main.rs:2813:23:2813:23 | T | +| main.rs:2813:48:2813:48 | x | | main.rs:2813:26:2813:26 | E | +| main.rs:2813:54:2813:55 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2816:9:2816:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2816:23:2816:27 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:2818:17:2818:17 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2818:17:2818:17 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2818:21:2818:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2818:21:2818:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2819:9:2819:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2819:9:2819:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2822:9:2822:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2822:9:2822:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2829:14:2829:17 | SelfParam | | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2832:14:2832:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2832:14:2832:18 | SelfParam | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2832:21:2832:25 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2832:21:2832:25 | other | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2832:44:2834:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2832:44:2834:9 | { ... } | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2833:13:2833:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2833:13:2833:16 | self | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2839:14:2839:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| main.rs:2839:28:2841:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2840:13:2840:16 | self | | {EXTERNAL LOCATION} | i32 | +| main.rs:2846:14:2846:17 | SelfParam | | {EXTERNAL LOCATION} | usize | +| main.rs:2846:28:2848:9 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2847:13:2847:16 | self | | {EXTERNAL LOCATION} | usize | +| main.rs:2853:14:2853:17 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2853:14:2853:17 | SelfParam | TRef | main.rs:2851:10:2851:10 | T | +| main.rs:2853:28:2855:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2853:28:2855:9 | { ... } | TRef | main.rs:2851:10:2851:10 | T | +| main.rs:2854:13:2854:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2854:13:2854:16 | self | TRef | main.rs:2851:10:2851:10 | T | +| main.rs:2858:25:2862:5 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2864:12:2872:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2865:13:2865:13 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2866:13:2866:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2866:17:2866:18 | &1 | | {EXTERNAL LOCATION} | & | +| main.rs:2867:17:2867:17 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2867:21:2867:21 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2870:13:2870:13 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2871:23:2871:23 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2881:11:2916:1 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2882:5:2882:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2883:5:2883:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2884:5:2884:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2884:20:2884:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2884:41:2884:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2885:5:2885:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2886:5:2886:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2887:5:2887:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2888:5:2888:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2889:5:2889:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2890:5:2890:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2891:5:2891:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2892:5:2892:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2893:5:2893:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2894:5:2894:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2895:5:2895:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2896:5:2896:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2897:5:2897:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2898:5:2898:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2899:5:2899:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2900:5:2900:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2900:5:2900:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2901:5:2901:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2902:5:2902:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2903:5:2903:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2904:5:2904:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2905:5:2905:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2906:5:2906:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2907:5:2907:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2908:5:2908:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2909:5:2909:28 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2910:5:2910:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2911:5:2911:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2912:5:2912:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2913:5:2913:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2914:5:2914:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2914:5:2914:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2914:5:2914:20 | ...::f(...) | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2914:5:2914:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2914:16:2914:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2915:5:2915:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:13:26:133:1 | { ... } | T | {EXTERNAL LOCATION} | () | | pattern_matching.rs:15:5:18:5 | if ... {...} | | {EXTERNAL LOCATION} | () | @@ -4534,6 +4678,387 @@ inferCertainType | raw_pointer.rs:59:5:59:30 | raw_type_from_deref(...) | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:59:25:59:29 | false | | {EXTERNAL LOCATION} | bool | inferType +| associated_types.rs:5:15:5:18 | SelfParam | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:5:15:5:18 | SelfParam | A | associated_types.rs:4:6:4:6 | A | +| associated_types.rs:5:26:7:5 | { ... } | | associated_types.rs:4:6:4:6 | A | +| associated_types.rs:6:9:6:12 | self | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:6:9:6:12 | self | A | associated_types.rs:4:6:4:6 | A | +| associated_types.rs:6:9:6:14 | self.0 | | associated_types.rs:4:6:4:6 | A | +| associated_types.rs:23:12:23:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:23:12:23:16 | SelfParam | TRef | associated_types.rs:19:1:27:1 | Self [trait GetSet] | +| associated_types.rs:26:12:26:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:26:12:26:16 | SelfParam | TRef | associated_types.rs:19:1:27:1 | Self [trait GetSet] | +| associated_types.rs:26:19:26:20 | _a | | associated_types.rs:20:5:20:16 | Output[GetSet] | +| associated_types.rs:26:37:26:38 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:29:43:29:46 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:29:43:29:46 | item | TRef | associated_types.rs:29:11:29:40 | T | +| associated_types.rs:29:58:31:1 | { ... } | | associated_types.rs:29:8:29:8 | O | +| associated_types.rs:30:5:30:8 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:30:5:30:8 | item | TRef | associated_types.rs:29:11:29:40 | T | +| associated_types.rs:30:5:30:14 | item.get() | | associated_types.rs:29:8:29:8 | O | +| associated_types.rs:37:20:37:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:37:20:37:24 | SelfParam | TRef | associated_types.rs:33:1:38:1 | Self [trait AnotherGet] | +| associated_types.rs:44:12:44:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:44:12:44:16 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:44:35:46:5 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:45:9:45:10 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:53:12:53:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:53:12:53:16 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:53:12:53:16 | SelfParam | TRef.A | associated_types.rs:49:6:49:12 | T | +| associated_types.rs:53:35:55:5 | { ... } | | associated_types.rs:49:6:49:12 | T | +| associated_types.rs:54:9:54:12 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:54:9:54:12 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:54:9:54:12 | self | TRef.A | associated_types.rs:49:6:49:12 | T | +| associated_types.rs:54:9:54:14 | self.0 | | associated_types.rs:49:6:49:12 | T | +| associated_types.rs:65:15:65:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | +| associated_types.rs:67:15:67:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | +| associated_types.rs:71:9:75:9 | { ... } | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | +| associated_types.rs:72:13:72:16 | self | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | +| associated_types.rs:72:13:72:21 | self.m1() | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | +| associated_types.rs:74:13:74:43 | ...::default(...) | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | +| associated_types.rs:82:15:82:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:82:45:84:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:83:13:83:14 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:91:15:91:18 | SelfParam | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:91:45:93:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:91:45:93:9 | { ... } | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:92:13:92:25 | Wrapper(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:92:13:92:25 | Wrapper(...) | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:92:21:92:24 | self | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:96:19:110:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:97:13:97:14 | x1 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:97:18:97:18 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:99:9:99:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:99:18:99:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:99:18:99:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:99:18:99:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:99:18:99:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:99:18:99:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:99:26:99:27 | x1 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:99:26:99:32 | x1.m1() | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:101:13:101:14 | x2 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:101:18:101:18 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:103:13:103:13 | y | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:103:17:103:18 | x2 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:103:17:103:23 | x2.m2() | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:104:9:104:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:104:18:104:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:104:18:104:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:104:18:104:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:104:18:104:26 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:104:18:104:26 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:104:26:104:26 | y | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:106:13:106:14 | x5 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:106:18:106:19 | S2 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:107:9:107:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:107:18:107:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:107:18:107:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:107:18:107:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:107:18:107:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:107:18:107:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:107:26:107:27 | x5 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:107:26:107:32 | x5.m1() | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:107:26:107:32 | x5.m1() | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:108:13:108:14 | x6 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:108:18:108:19 | S2 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:109:9:109:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:109:18:109:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:109:18:109:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:109:18:109:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:109:18:109:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:109:18:109:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:109:26:109:27 | x6 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:109:26:109:32 | x6.m2() | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:109:26:109:32 | x6.m2() | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:117:30:117:34 | thing | | associated_types.rs:117:19:117:27 | T | +| associated_types.rs:118:9:118:13 | thing | | associated_types.rs:117:19:117:27 | T | +| associated_types.rs:121:33:121:37 | thing | | associated_types.rs:121:22:121:30 | T | +| associated_types.rs:122:9:122:13 | thing | | associated_types.rs:121:22:121:30 | T | +| associated_types.rs:125:19:128:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:126:30:126:30 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:127:33:127:33 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:135:26:135:26 | x | | associated_types.rs:135:23:135:23 | T | +| associated_types.rs:138:5:140:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:139:13:139:14 | _a | | {EXTERNAL LOCATION} | char | +| associated_types.rs:139:18:139:18 | x | | associated_types.rs:135:23:135:23 | T | +| associated_types.rs:139:18:139:24 | x.get() | | {EXTERNAL LOCATION} | char | +| associated_types.rs:143:24:143:24 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:146:5:150:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:147:13:147:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:147:19:147:19 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:147:19:147:25 | x.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:148:13:148:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:148:19:148:25 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:148:23:148:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:148:23:148:24 | &x | TRef | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:148:24:148:24 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:149:13:149:14 | _b | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:149:18:149:18 | x | | associated_types.rs:143:21:143:21 | T | +| associated_types.rs:149:18:149:32 | x.get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:153:23:153:23 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:157:5:161:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:158:13:158:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:158:19:158:19 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:158:19:158:25 | x.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:159:13:159:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:159:19:159:25 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:159:23:159:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:159:23:159:24 | &x | TRef | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:159:24:159:24 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:160:13:160:14 | _b | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:160:18:160:18 | x | | associated_types.rs:153:20:153:20 | T | +| associated_types.rs:160:18:160:32 | x.get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:167:17:167:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:167:17:167:21 | SelfParam | TRef | associated_types.rs:163:5:168:5 | Self [trait AssocNameClash] | +| associated_types.rs:170:34:170:34 | x | | associated_types.rs:170:31:170:31 | T | +| associated_types.rs:174:5:177:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:175:13:175:14 | _a | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:175:18:175:18 | x | | associated_types.rs:170:31:170:31 | T | +| associated_types.rs:175:18:175:24 | x.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:176:18:176:18 | x | | associated_types.rs:170:31:170:31 | T | +| associated_types.rs:187:19:187:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:187:19:187:23 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:187:26:187:26 | a | | associated_types.rs:187:16:187:16 | A | +| associated_types.rs:190:23:190:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:190:23:190:27 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:190:30:190:30 | a | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:190:36:190:36 | b | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:190:76:193:9 | { ... } | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:191:13:191:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:191:13:191:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:191:13:191:23 | self.put(...) | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:191:22:191:22 | a | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:192:13:192:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:192:13:192:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:192:13:192:23 | self.put(...) | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:192:22:192:22 | b | | associated_types.rs:190:20:190:20 | A | +| associated_types.rs:201:19:201:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:201:19:201:23 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:201:26:201:26 | a | | associated_types.rs:201:16:201:16 | A | +| associated_types.rs:201:46:203:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:201:46:203:9 | { ... } | A | associated_types.rs:201:16:201:16 | A | +| associated_types.rs:202:13:202:22 | Wrapper(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:202:13:202:22 | Wrapper(...) | A | associated_types.rs:201:16:201:16 | A | +| associated_types.rs:202:21:202:21 | a | | associated_types.rs:201:16:201:16 | A | +| associated_types.rs:206:19:213:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:207:13:207:13 | s | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:207:17:207:17 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:209:13:209:15 | _g1 | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:209:13:209:15 | _g1 | A | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:209:19:209:19 | s | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:209:19:209:29 | s.put(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:209:19:209:29 | s.put(...) | A | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:209:25:209:28 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:212:13:212:15 | _g2 | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:212:19:212:19 | s | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:212:19:212:40 | s.put_two(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:212:29:212:32 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:212:35:212:39 | false | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:224:21:224:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:224:21:224:25 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:226:20:226:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:226:20:226:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:228:20:228:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:228:20:228:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:235:21:235:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:235:21:235:25 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:235:34:237:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:236:13:236:14 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:239:20:239:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:239:20:239:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:239:43:241:9 | { ... } | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:240:13:240:13 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:243:20:243:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:243:20:243:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:243:43:245:9 | { ... } | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:244:13:244:14 | S2 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:248:19:252:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:249:13:249:23 | _assoc_zero | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:249:27:249:28 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:249:27:249:39 | S3.get_zero() | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:250:13:250:22 | _assoc_one | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:250:26:250:27 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:250:26:250:37 | S3.get_one() | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:251:13:251:22 | _assoc_two | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:251:26:251:27 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:251:26:251:37 | S3.get_two() | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:260:24:260:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:260:24:260:28 | SelfParam | TRef | associated_types.rs:258:5:261:5 | Self [trait Subtrait] | +| associated_types.rs:269:23:269:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:269:23:269:27 | SelfParam | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | +| associated_types.rs:269:30:269:31 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:269:48:269:49 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:269:66:272:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:270:13:270:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:270:13:270:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | +| associated_types.rs:270:13:270:24 | self.set(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:270:22:270:23 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:271:13:271:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:271:13:271:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | +| associated_types.rs:271:13:271:24 | self.set(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:271:22:271:23 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:280:16:280:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:280:16:280:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:280:16:280:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:280:39:282:9 | { ... } | | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:281:13:281:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:281:13:281:16 | self | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:281:13:281:16 | self | TRef.T | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:281:13:281:18 | self.0 | | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:284:16:284:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:284:16:284:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:284:16:284:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:284:23:284:30 | _content | | associated_types.rs:277:10:277:16 | T | +| associated_types.rs:284:47:286:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:285:13:285:43 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:285:22:285:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:285:22:285:42 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:285:22:285:42 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:291:24:291:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:291:24:291:28 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:291:24:291:28 | SelfParam | TRef.T | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:291:47:293:9 | { ... } | | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:292:13:292:19 | (...) | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:292:13:292:19 | (...) | T | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:292:13:292:21 | ... .0 | | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:292:14:292:18 | * ... | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:292:14:292:18 | * ... | T | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:292:15:292:18 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:292:15:292:18 | self | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:292:15:292:18 | self | TRef.T | associated_types.rs:289:10:289:16 | T | +| associated_types.rs:296:33:296:36 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:296:33:296:36 | item | TRef | associated_types.rs:296:20:296:30 | T | +| associated_types.rs:297:9:297:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:297:9:297:12 | item | TRef | associated_types.rs:296:20:296:30 | T | +| associated_types.rs:300:35:300:38 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:300:35:300:38 | item | TRef | associated_types.rs:300:21:300:32 | T | +| associated_types.rs:300:90:303:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:301:9:301:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:301:9:301:12 | item | TRef | associated_types.rs:300:21:300:32 | T | +| associated_types.rs:301:9:301:20 | item.set(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:302:9:302:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:302:9:302:12 | item | TRef | associated_types.rs:300:21:300:32 | T | +| associated_types.rs:302:9:302:31 | item.insert_two(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:305:19:311:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:306:13:306:17 | item1 | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:306:13:306:17 | item1 | T | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:306:21:306:33 | MyType(...) | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:306:21:306:33 | MyType(...) | T | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:306:28:306:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:307:25:307:29 | item1 | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:307:25:307:29 | item1 | T | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:309:13:309:17 | item2 | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:309:13:309:17 | item2 | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:309:21:309:32 | MyType(...) | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:309:21:309:32 | MyType(...) | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:309:28:309:31 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:310:37:310:42 | &item2 | | {EXTERNAL LOCATION} | & | +| associated_types.rs:310:37:310:42 | &item2 | TRef | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:310:37:310:42 | &item2 | TRef.T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:310:38:310:42 | item2 | | associated_types.rs:275:5:275:24 | MyType | +| associated_types.rs:310:38:310:42 | item2 | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:324:16:324:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:324:16:324:20 | SelfParam | TRef | associated_types.rs:317:5:317:20 | ST | +| associated_types.rs:324:16:324:20 | SelfParam | TRef.T | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:324:39:326:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:324:39:326:9 | { ... } | E | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:324:39:326:9 | { ... } | T | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:325:13:325:22 | Ok(...) | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:325:13:325:22 | Ok(...) | E | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:325:13:325:22 | Ok(...) | T | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:325:16:325:19 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:325:16:325:19 | self | TRef | associated_types.rs:317:5:317:20 | ST | +| associated_types.rs:325:16:325:19 | self | TRef.T | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:325:16:325:21 | self.0 | | associated_types.rs:319:10:319:21 | Output | +| associated_types.rs:329:19:331:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:330:13:330:14 | _y | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:330:13:330:14 | _y | E | {EXTERNAL LOCATION} | bool | +| associated_types.rs:330:13:330:14 | _y | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:330:18:330:25 | ST(...) | | associated_types.rs:317:5:317:20 | ST | +| associated_types.rs:330:18:330:25 | ST(...) | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:330:18:330:31 | ... .get() | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:330:18:330:31 | ... .get() | E | {EXTERNAL LOCATION} | bool | +| associated_types.rs:330:18:330:31 | ... .get() | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:330:21:330:24 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:338:31:338:31 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:338:31:338:31 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:338:31:338:31 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:338:61:346:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:340:13:340:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:340:19:340:22 | (...) | | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:340:19:340:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:340:19:340:28 | ... .get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:340:20:340:21 | * ... | | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:340:20:340:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:340:21:340:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:340:21:340:21 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:340:21:340:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:343:13:343:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:343:19:343:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:343:19:343:19 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:343:19:343:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:343:19:343:25 | t.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:345:13:345:15 | _a3 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:345:19:345:24 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:345:23:345:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:345:23:345:23 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:345:23:345:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:348:36:348:36 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:348:36:348:36 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:348:36:348:36 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:348:36:348:36 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:348:92:354:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:349:13:349:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:349:19:349:22 | (...) | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:349:19:349:22 | (...) | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:349:19:349:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:349:19:349:28 | ... .get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:349:20:349:21 | * ... | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:349:20:349:21 | * ... | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:349:20:349:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:349:21:349:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:349:21:349:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:349:21:349:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:349:21:349:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:350:13:350:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:350:19:350:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:350:19:350:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:350:19:350:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:350:19:350:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:350:19:350:25 | t.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:351:13:351:15 | _a3 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:351:19:351:24 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:351:23:351:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:351:23:351:23 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:351:23:351:23 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:351:23:351:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:352:13:352:15 | _b1 | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:352:19:352:22 | (...) | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:352:19:352:22 | (...) | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:352:19:352:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:352:19:352:36 | ... .get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:352:20:352:21 | * ... | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:352:20:352:21 | * ... | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:352:20:352:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:352:21:352:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:352:21:352:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:352:21:352:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:352:21:352:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:353:13:353:15 | _b2 | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:353:19:353:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:353:19:353:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:353:19:353:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:353:19:353:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:353:19:353:33 | t.get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:357:15:364:1 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:358:5:358:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:359:5:359:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:360:5:360:35 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:361:5:361:37 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:362:5:362:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:363:5:363:46 | ...::test(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:15:18:15:22 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:15:18:15:22 | SelfParam | TRef | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:15:42:17:9 | { ... } | | {EXTERNAL LOCATION} | & | @@ -4561,10 +5086,12 @@ inferType | blanket_impl.rs:46:13:46:14 | x1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:46:18:46:19 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:46:18:46:28 | S1.clone1() | | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:47:9:47:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:47:18:47:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:47:20:47:21 | x1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:48:13:48:14 | x2 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:48:18:48:22 | (...) | | {EXTERNAL LOCATION} | & | @@ -4573,18 +5100,22 @@ inferType | blanket_impl.rs:48:19:48:21 | &S1 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:48:19:48:21 | &S1 | TRef | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:48:20:48:21 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:49:9:49:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:49:18:49:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:49:18:49:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:49:18:49:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:49:20:49:21 | x2 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:50:13:50:14 | x3 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:50:18:50:19 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:50:18:50:31 | S1.duplicate() | | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:51:9:51:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:51:18:51:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:51:18:51:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:51:18:51:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:51:20:51:21 | x3 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:52:13:52:14 | x4 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:52:18:52:22 | (...) | | {EXTERNAL LOCATION} | & | @@ -4593,28 +5124,34 @@ inferType | blanket_impl.rs:52:19:52:21 | &S1 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:52:19:52:21 | &S1 | TRef | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:52:20:52:21 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:53:9:53:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:53:18:53:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:53:18:53:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:53:18:53:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:53:20:53:21 | x4 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:54:13:54:14 | x5 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:54:18:54:35 | ...::duplicate(...) | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:54:32:54:34 | &S1 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:54:32:54:34 | &S1 | TRef | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:54:33:54:34 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:55:9:55:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:55:18:55:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:55:18:55:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:55:18:55:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:55:20:55:21 | x5 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:56:13:56:14 | x6 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:56:18:56:19 | S2 | | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:56:18:56:31 | S2.duplicate() | | blanket_impl.rs:6:5:7:14 | S1 | +| blanket_impl.rs:57:9:57:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:57:18:57:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:57:18:57:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:57:18:57:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:57:20:57:21 | x6 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:58:13:58:14 | x7 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:58:18:58:22 | (...) | | {EXTERNAL LOCATION} | & | @@ -4623,10 +5160,12 @@ inferType | blanket_impl.rs:58:19:58:21 | &S2 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:58:19:58:21 | &S2 | TRef | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:58:20:58:21 | S2 | | blanket_impl.rs:9:5:10:14 | S2 | +| blanket_impl.rs:59:9:59:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:59:18:59:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:59:18:59:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:59:18:59:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:59:20:59:21 | x7 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:68:24:68:24 | x | | {EXTERNAL LOCATION} | i64 | | blanket_impl.rs:68:32:68:32 | y | | blanket_impl.rs:67:5:69:5 | Self [trait Trait1] | @@ -4647,37 +5186,45 @@ inferType | blanket_impl.rs:90:18:90:39 | ...::assoc_func1(...) | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:90:34:90:34 | 1 | | {EXTERNAL LOCATION} | i32 | | blanket_impl.rs:90:37:90:38 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:91:9:91:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:91:18:91:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:91:18:91:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:91:18:91:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:91:20:91:21 | x1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:92:13:92:14 | x2 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:92:18:92:43 | ...::assoc_func1(...) | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:92:38:92:38 | 1 | | {EXTERNAL LOCATION} | i32 | | blanket_impl.rs:92:41:92:42 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:93:9:93:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:93:18:93:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:93:18:93:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:93:18:93:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:93:20:93:21 | x2 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:94:13:94:14 | x3 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:94:18:94:39 | ...::assoc_func2(...) | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:94:34:94:34 | 1 | | {EXTERNAL LOCATION} | i32 | | blanket_impl.rs:94:37:94:38 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:95:9:95:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:95:18:95:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:95:18:95:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:95:18:95:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:95:20:95:21 | x3 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:96:13:96:14 | x4 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:96:18:96:43 | ...::assoc_func2(...) | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:96:38:96:38 | 1 | | {EXTERNAL LOCATION} | i32 | | blanket_impl.rs:96:41:96:42 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | +| blanket_impl.rs:97:9:97:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:97:18:97:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:97:18:97:25 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:97:18:97:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:97:20:97:21 | x4 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:108:22:108:26 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:108:22:108:26 | SelfParam | TRef | blanket_impl.rs:107:5:109:5 | Self [trait Flag] | @@ -4827,18 +5374,22 @@ inferType | blanket_impl.rs:277:21:277:25 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:277:21:277:25 | SelfParam | TRef | blanket_impl.rs:276:10:276:22 | T | | blanket_impl.rs:277:28:279:9 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:278:13:278:42 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:278:22:278:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:278:22:278:41 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:278:22:278:41 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:281:24:281:28 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:281:24:281:28 | SelfParam | TRef | blanket_impl.rs:276:10:276:22 | T | | blanket_impl.rs:281:31:281:36 | _query | | blanket_impl.rs:281:21:281:21 | E | | blanket_impl.rs:281:42:283:9 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:282:13:282:42 | MacroExpr | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | TRef | {EXTERNAL LOCATION} | str | | blanket_impl.rs:282:22:282:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:282:22:282:41 | { ... } | | {EXTERNAL LOCATION} | () | +| blanket_impl.rs:282:22:282:41 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:290:16:300:5 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:291:13:291:13 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:291:17:291:34 | MySqlConnection {...} | | blanket_impl.rs:286:5:286:29 | MySqlConnection | @@ -4869,12 +5420,12 @@ inferType | blanket_impl.rs:299:47:299:67 | "SELECT * FROM users" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:299:47:299:67 | "SELECT * FROM users" | TRef | {EXTERNAL LOCATION} | str | | closure.rs:4:19:31:5 | { ... } | | {EXTERNAL LOCATION} | () | -| closure.rs:6:13:6:22 | my_closure | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:6:13:6:22 | my_closure | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:6:13:6:22 | my_closure | dyn(Args) | {EXTERNAL LOCATION} | (T_2) | | closure.rs:6:13:6:22 | my_closure | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:6:13:6:22 | my_closure | dyn(Args).T1 | {EXTERNAL LOCATION} | bool | | closure.rs:6:13:6:22 | my_closure | dyn(Output) | {EXTERNAL LOCATION} | bool | -| closure.rs:6:26:6:38 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:6:26:6:38 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:6:26:6:38 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_2) | | closure.rs:6:26:6:38 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:6:26:6:38 | \|...\| ... | dyn(Args).T1 | {EXTERNAL LOCATION} | bool | @@ -4886,11 +5437,11 @@ inferType | closure.rs:6:38:6:38 | b | | {EXTERNAL LOCATION} | bool | | closure.rs:8:13:8:13 | x | | {EXTERNAL LOCATION} | i64 | | closure.rs:8:22:8:25 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:9:13:9:19 | add_one | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:9:13:9:19 | add_one | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:9:13:9:19 | add_one | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:9:13:9:19 | add_one | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:9:13:9:19 | add_one | dyn(Output) | {EXTERNAL LOCATION} | i64 | -| closure.rs:9:23:9:34 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:9:23:9:34 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:9:23:9:34 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:9:23:9:34 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:9:23:9:34 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | @@ -4899,7 +5450,7 @@ inferType | closure.rs:9:27:9:34 | ... + ... | | {EXTERNAL LOCATION} | i64 | | closure.rs:9:31:9:34 | 1i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:10:13:10:14 | _y | | {EXTERNAL LOCATION} | i64 | -| closure.rs:10:18:10:24 | add_one | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:10:18:10:24 | add_one | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:10:18:10:24 | add_one | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:10:18:10:24 | add_one | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:10:18:10:24 | add_one | dyn(Output) | {EXTERNAL LOCATION} | i64 | @@ -4907,55 +5458,55 @@ inferType | closure.rs:10:26:10:26 | x | | {EXTERNAL LOCATION} | i64 | | closure.rs:13:13:13:13 | x | | {EXTERNAL LOCATION} | i64 | | closure.rs:13:17:13:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | -| closure.rs:14:13:14:20 | add_zero | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:14:13:14:20 | add_zero | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:14:13:14:20 | add_zero | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:14:13:14:20 | add_zero | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:14:13:14:20 | add_zero | dyn(Output) | {EXTERNAL LOCATION} | i64 | -| closure.rs:14:24:14:33 | \|...\| n | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:14:24:14:33 | \|...\| n | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:14:24:14:33 | \|...\| n | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:14:24:14:33 | \|...\| n | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:14:24:14:33 | \|...\| n | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:14:25:14:25 | n | | {EXTERNAL LOCATION} | i64 | | closure.rs:14:33:14:33 | n | | {EXTERNAL LOCATION} | i64 | | closure.rs:15:13:15:14 | _y | | {EXTERNAL LOCATION} | i64 | -| closure.rs:15:18:15:25 | add_zero | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:15:18:15:25 | add_zero | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:15:18:15:25 | add_zero | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:15:18:15:25 | add_zero | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:15:18:15:25 | add_zero | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:15:18:15:28 | add_zero(...) | | {EXTERNAL LOCATION} | i64 | | closure.rs:15:27:15:27 | x | | {EXTERNAL LOCATION} | i64 | -| closure.rs:17:13:17:21 | _get_bool | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:17:13:17:21 | _get_bool | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:17:13:17:21 | _get_bool | dyn(Args) | {EXTERNAL LOCATION} | () | | closure.rs:17:13:17:21 | _get_bool | dyn(Output) | {EXTERNAL LOCATION} | bool | -| closure.rs:17:25:21:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:17:25:21:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:17:25:21:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | () | | closure.rs:17:25:21:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | bool | | closure.rs:17:36:21:9 | { ... } | | {EXTERNAL LOCATION} | bool | | closure.rs:19:17:19:17 | b | | {EXTERNAL LOCATION} | bool | | closure.rs:19:21:19:38 | ...::default(...) | | {EXTERNAL LOCATION} | bool | | closure.rs:20:13:20:13 | b | | {EXTERNAL LOCATION} | bool | -| closure.rs:24:13:24:14 | id | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:24:13:24:14 | id | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:24:13:24:14 | id | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:24:13:24:14 | id | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:24:13:24:14 | id | dyn(Output) | {EXTERNAL LOCATION} | bool | -| closure.rs:24:18:24:22 | \|...\| b | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:24:18:24:22 | \|...\| b | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:24:18:24:22 | \|...\| b | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:24:18:24:22 | \|...\| b | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:24:18:24:22 | \|...\| b | dyn(Output) | {EXTERNAL LOCATION} | bool | | closure.rs:24:19:24:19 | b | | {EXTERNAL LOCATION} | bool | | closure.rs:24:22:24:22 | b | | {EXTERNAL LOCATION} | bool | | closure.rs:25:13:25:14 | _b | | {EXTERNAL LOCATION} | bool | -| closure.rs:25:18:25:19 | id | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:25:18:25:19 | id | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:25:18:25:19 | id | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:25:18:25:19 | id | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:25:18:25:19 | id | dyn(Output) | {EXTERNAL LOCATION} | bool | | closure.rs:25:18:25:25 | id(...) | | {EXTERNAL LOCATION} | bool | | closure.rs:25:21:25:24 | true | | {EXTERNAL LOCATION} | bool | -| closure.rs:28:13:28:15 | id2 | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:28:13:28:15 | id2 | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:28:13:28:15 | id2 | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:28:13:28:15 | id2 | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:28:13:28:15 | id2 | dyn(Output) | {EXTERNAL LOCATION} | bool | -| closure.rs:28:19:28:23 | \|...\| b | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:28:19:28:23 | \|...\| b | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:28:19:28:23 | \|...\| b | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:28:19:28:23 | \|...\| b | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:28:19:28:23 | \|...\| b | dyn(Output) | {EXTERNAL LOCATION} | bool | @@ -4964,7 +5515,7 @@ inferType | closure.rs:29:13:29:15 | arg | | {EXTERNAL LOCATION} | bool | | closure.rs:29:19:29:36 | ...::default(...) | | {EXTERNAL LOCATION} | bool | | closure.rs:30:13:30:15 | _b2 | | {EXTERNAL LOCATION} | bool | -| closure.rs:30:25:30:27 | id2 | | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:30:25:30:27 | id2 | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:30:25:30:27 | id2 | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:30:25:30:27 | id2 | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | | closure.rs:30:25:30:27 | id2 | dyn(Output) | {EXTERNAL LOCATION} | bool | @@ -4976,111 +5527,267 @@ inferType | closure.rs:36:23:36:23 | f | | closure.rs:35:20:35:41 | F | | closure.rs:36:23:36:29 | f(...) | | {EXTERNAL LOCATION} | i64 | | closure.rs:36:25:36:28 | true | | {EXTERNAL LOCATION} | bool | -| closure.rs:39:46:39:46 | f | | closure.rs:39:22:39:43 | F | -| closure.rs:39:52:42:5 | { ... } | | {EXTERNAL LOCATION} | () | -| closure.rs:40:13:40:15 | arg | | {EXTERNAL LOCATION} | bool | -| closure.rs:40:19:40:36 | ...::default(...) | | {EXTERNAL LOCATION} | bool | -| closure.rs:41:9:41:9 | f | | closure.rs:39:22:39:43 | F | -| closure.rs:41:9:41:14 | f(...) | | {EXTERNAL LOCATION} | i64 | -| closure.rs:41:11:41:13 | arg | | {EXTERNAL LOCATION} | bool | -| closure.rs:44:39:44:39 | f | | closure.rs:44:20:44:36 | F | -| closure.rs:44:45:44:45 | a | | closure.rs:44:14:44:14 | A | -| closure.rs:44:56:46:5 | { ... } | | closure.rs:44:17:44:17 | B | -| closure.rs:45:9:45:9 | f | | closure.rs:44:20:44:36 | F | -| closure.rs:45:9:45:12 | f(...) | | closure.rs:44:17:44:17 | B | -| closure.rs:45:11:45:11 | a | | closure.rs:44:14:44:14 | A | -| closure.rs:48:18:48:18 | f | | closure.rs:48:21:48:43 | impl ... | -| closure.rs:48:53:50:5 | { ... } | | {EXTERNAL LOCATION} | i64 | -| closure.rs:49:9:49:9 | f | | closure.rs:48:21:48:43 | impl ... | -| closure.rs:49:9:49:12 | f(...) | | {EXTERNAL LOCATION} | i64 | -| closure.rs:49:11:49:11 | 2 | | {EXTERNAL LOCATION} | i32 | -| closure.rs:49:11:49:11 | 2 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:52:15:64:5 | { ... } | | {EXTERNAL LOCATION} | () | -| closure.rs:53:13:53:13 | f | | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:53:13:53:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:53:13:53:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | -| closure.rs:53:13:53:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| closure.rs:53:13:53:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | -| closure.rs:53:17:59:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:53:17:59:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:53:17:59:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | -| closure.rs:53:17:59:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| closure.rs:53:17:59:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | -| closure.rs:53:18:53:18 | x | | {EXTERNAL LOCATION} | bool | -| closure.rs:53:34:59:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| closure.rs:53:34:59:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| closure.rs:54:13:58:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| closure.rs:54:13:58:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i64 | -| closure.rs:54:16:54:16 | x | | {EXTERNAL LOCATION} | bool | -| closure.rs:54:18:56:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| closure.rs:54:18:56:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| closure.rs:55:17:55:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| closure.rs:55:17:55:17 | 1 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:56:20:58:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| closure.rs:56:20:58:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| closure.rs:57:17:57:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| closure.rs:57:17:57:17 | 0 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:60:13:60:14 | _r | | {EXTERNAL LOCATION} | i32 | -| closure.rs:60:13:60:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:60:18:60:31 | apply(...) | | {EXTERNAL LOCATION} | i32 | -| closure.rs:60:18:60:31 | apply(...) | | {EXTERNAL LOCATION} | i64 | -| closure.rs:60:24:60:24 | f | | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:60:24:60:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:60:24:60:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | -| closure.rs:60:24:60:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| closure.rs:60:24:60:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | -| closure.rs:60:27:60:30 | true | | {EXTERNAL LOCATION} | bool | -| closure.rs:62:13:62:13 | f | | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:62:13:62:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:62:17:62:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:62:17:62:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:62:25:62:25 | 1 | | {EXTERNAL LOCATION} | i32 | -| closure.rs:63:13:63:15 | _r2 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:63:19:63:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | -| closure.rs:63:29:63:29 | f | | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:63:29:63:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:68:54:68:54 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:68:54:68:54 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:68:54:68:54 | f | T | closure.rs:68:26:68:51 | F | -| closure.rs:68:65:68:67 | arg | | closure.rs:68:20:68:20 | A | -| closure.rs:68:78:70:5 | { ... } | | closure.rs:68:23:68:23 | B | -| closure.rs:69:9:69:9 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:69:9:69:9 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:69:9:69:9 | f | T | closure.rs:68:26:68:51 | F | -| closure.rs:69:9:69:14 | f(...) | | closure.rs:68:23:68:23 | B | -| closure.rs:69:11:69:13 | arg | | closure.rs:68:20:68:20 | A | -| closure.rs:72:30:72:30 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:72:30:72:30 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:72:30:72:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:72:30:72:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:72:30:72:30 | f | T.dyn(Args).T0 | closure.rs:72:24:72:24 | A | -| closure.rs:72:30:72:30 | f | T.dyn(Output) | closure.rs:72:27:72:27 | B | -| closure.rs:72:58:72:60 | arg | | closure.rs:72:24:72:24 | A | -| closure.rs:72:66:75:5 | { ... } | | {EXTERNAL LOCATION} | () | -| closure.rs:73:13:73:15 | _r1 | | closure.rs:72:27:72:27 | B | -| closure.rs:73:19:73:37 | apply_boxed(...) | | closure.rs:72:27:72:27 | B | -| closure.rs:73:31:73:31 | f | | {EXTERNAL LOCATION} | Box | -| closure.rs:73:31:73:31 | f | A | {EXTERNAL LOCATION} | Global | -| closure.rs:73:31:73:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:73:31:73:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:73:31:73:31 | f | T.dyn(Args).T0 | closure.rs:72:24:72:24 | A | -| closure.rs:73:31:73:31 | f | T.dyn(Output) | closure.rs:72:27:72:27 | B | -| closure.rs:73:34:73:36 | arg | | closure.rs:72:24:72:24 | A | -| closure.rs:74:13:74:15 | _r2 | | {EXTERNAL LOCATION} | bool | -| closure.rs:74:19:74:57 | apply_boxed(...) | | {EXTERNAL LOCATION} | bool | -| closure.rs:74:31:74:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| closure.rs:74:31:74:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| closure.rs:74:31:74:53 | ...::new(...) | T | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:74:31:74:53 | ...::new(...) | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:74:31:74:53 | ...::new(...) | T.dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | -| closure.rs:74:31:74:53 | ...::new(...) | T.dyn(Output) | {EXTERNAL LOCATION} | bool | -| closure.rs:74:40:74:52 | \|...\| true | | {EXTERNAL LOCATION} | dyn FnOnce | -| closure.rs:74:40:74:52 | \|...\| true | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:74:40:74:52 | \|...\| true | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | -| closure.rs:74:40:74:52 | \|...\| true | dyn(Output) | {EXTERNAL LOCATION} | bool | -| closure.rs:74:41:74:41 | _ | | {EXTERNAL LOCATION} | i64 | -| closure.rs:74:49:74:52 | true | | {EXTERNAL LOCATION} | bool | -| closure.rs:74:56:74:56 | 3 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:39:45:39:45 | f | | closure.rs:39:28:39:42 | F | +| closure.rs:39:51:41:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:40:13:40:19 | _return | | {EXTERNAL LOCATION} | () | +| closure.rs:40:23:40:23 | f | | closure.rs:39:28:39:42 | F | +| closure.rs:40:23:40:29 | f(...) | | {EXTERNAL LOCATION} | () | +| closure.rs:40:25:40:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:43:46:43:46 | f | | closure.rs:43:22:43:43 | F | +| closure.rs:43:52:46:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:44:13:44:15 | arg | | {EXTERNAL LOCATION} | bool | +| closure.rs:44:19:44:36 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| closure.rs:45:9:45:9 | f | | closure.rs:43:22:43:43 | F | +| closure.rs:45:9:45:14 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:45:11:45:13 | arg | | {EXTERNAL LOCATION} | bool | +| closure.rs:48:39:48:39 | f | | closure.rs:48:20:48:36 | F | +| closure.rs:48:45:48:45 | a | | closure.rs:48:14:48:14 | A | +| closure.rs:48:56:50:5 | { ... } | | closure.rs:48:17:48:17 | B | +| closure.rs:49:9:49:9 | f | | closure.rs:48:20:48:36 | F | +| closure.rs:49:9:49:12 | f(...) | | closure.rs:48:17:48:17 | B | +| closure.rs:49:11:49:11 | a | | closure.rs:48:14:48:14 | A | +| closure.rs:52:18:52:18 | f | | closure.rs:52:21:52:43 | impl ... | +| closure.rs:52:53:54:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:53:9:53:9 | f | | closure.rs:52:21:52:43 | impl ... | +| closure.rs:53:9:53:12 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:53:11:53:11 | 2 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:53:11:53:11 | 2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:56:15:68:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:57:13:57:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:57:13:57:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:57:13:57:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:57:13:57:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:57:13:57:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:57:17:63:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:57:17:63:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:57:17:63:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:57:17:63:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:57:17:63:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:57:18:57:18 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:57:34:63:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:57:34:63:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:58:13:62:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| closure.rs:58:13:62:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| closure.rs:58:16:58:16 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:58:18:60:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:58:18:60:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:59:17:59:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:59:17:59:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:60:20:62:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:60:20:62:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:61:17:61:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:61:17:61:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:64:13:64:14 | _r | | {EXTERNAL LOCATION} | i32 | +| closure.rs:64:13:64:14 | _r | | {EXTERNAL LOCATION} | i64 | +| closure.rs:64:18:64:31 | apply(...) | | {EXTERNAL LOCATION} | i32 | +| closure.rs:64:18:64:31 | apply(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:64:24:64:24 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:64:24:64:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:64:24:64:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:64:24:64:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:64:24:64:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:64:27:64:30 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:66:13:66:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:66:13:66:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:66:17:66:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:66:17:66:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:66:25:66:25 | 1 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:67:13:67:15 | _r2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:67:19:67:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:67:29:67:29 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:67:29:67:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:72:47:72:47 | f | | closure.rs:72:20:72:40 | F | +| closure.rs:72:53:74:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:73:13:73:19 | _return | | {EXTERNAL LOCATION} | i64 | +| closure.rs:73:23:73:23 | f | | closure.rs:72:20:72:40 | F | +| closure.rs:73:23:73:29 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:73:25:73:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:76:48:76:48 | f | | closure.rs:76:28:76:41 | F | +| closure.rs:76:54:78:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:77:13:77:19 | _return | | {EXTERNAL LOCATION} | () | +| closure.rs:77:23:77:23 | f | | closure.rs:76:28:76:41 | F | +| closure.rs:77:23:77:29 | f(...) | | {EXTERNAL LOCATION} | () | +| closure.rs:77:25:77:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:80:49:80:49 | f | | closure.rs:80:22:80:42 | F | +| closure.rs:80:55:83:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:81:13:81:15 | arg | | {EXTERNAL LOCATION} | bool | +| closure.rs:81:19:81:36 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| closure.rs:82:9:82:9 | f | | closure.rs:80:22:80:42 | F | +| closure.rs:82:9:82:14 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:82:11:82:13 | arg | | {EXTERNAL LOCATION} | bool | +| closure.rs:85:42:85:42 | f | | closure.rs:85:20:85:35 | F | +| closure.rs:85:48:85:48 | a | | closure.rs:85:14:85:14 | A | +| closure.rs:85:59:87:5 | { ... } | | closure.rs:85:17:85:17 | B | +| closure.rs:86:9:86:9 | f | | closure.rs:85:20:85:35 | F | +| closure.rs:86:9:86:12 | f(...) | | closure.rs:85:17:85:17 | B | +| closure.rs:86:11:86:11 | a | | closure.rs:85:14:85:14 | A | +| closure.rs:89:22:89:22 | f | | closure.rs:89:25:89:46 | impl ... | +| closure.rs:89:56:91:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:90:9:90:9 | f | | closure.rs:89:25:89:46 | impl ... | +| closure.rs:90:9:90:12 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:90:11:90:11 | 2 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:90:11:90:11 | 2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:93:15:105:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:94:13:94:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:94:13:94:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:94:13:94:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:94:13:94:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:94:13:94:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:94:17:100:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:94:17:100:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:94:17:100:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:94:17:100:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:94:17:100:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:94:18:94:18 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:94:34:100:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:94:34:100:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:95:13:99:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| closure.rs:95:13:99:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| closure.rs:95:16:95:16 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:95:18:97:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:95:18:97:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:96:17:96:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:96:17:96:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:97:20:99:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:97:20:99:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:98:17:98:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:98:17:98:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:101:13:101:14 | _r | | {EXTERNAL LOCATION} | i32 | +| closure.rs:101:13:101:14 | _r | | {EXTERNAL LOCATION} | i64 | +| closure.rs:101:18:101:31 | apply(...) | | {EXTERNAL LOCATION} | i32 | +| closure.rs:101:18:101:31 | apply(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:101:24:101:24 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:101:24:101:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:101:24:101:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:101:24:101:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:101:24:101:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:101:27:101:30 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:103:13:103:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:103:13:103:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:103:17:103:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:103:17:103:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:103:25:103:25 | 1 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:104:13:104:15 | _r2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:104:19:104:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:104:29:104:29 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:104:29:104:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:109:40:109:40 | f | | closure.rs:109:20:109:37 | F | +| closure.rs:109:46:111:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:110:13:110:19 | _return | | {EXTERNAL LOCATION} | i64 | +| closure.rs:110:23:110:23 | f | | closure.rs:109:20:109:37 | F | +| closure.rs:110:23:110:29 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:110:25:110:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:113:41:113:41 | f | | closure.rs:113:28:113:38 | F | +| closure.rs:113:47:115:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:114:13:114:19 | _return | | {EXTERNAL LOCATION} | () | +| closure.rs:114:23:114:23 | f | | closure.rs:113:28:113:38 | F | +| closure.rs:114:23:114:29 | f(...) | | {EXTERNAL LOCATION} | () | +| closure.rs:114:25:114:28 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:117:42:117:42 | f | | closure.rs:117:22:117:39 | F | +| closure.rs:117:48:120:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:118:13:118:15 | arg | | {EXTERNAL LOCATION} | bool | +| closure.rs:118:19:118:36 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| closure.rs:119:9:119:9 | f | | closure.rs:117:22:117:39 | F | +| closure.rs:119:9:119:14 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:119:11:119:13 | arg | | {EXTERNAL LOCATION} | bool | +| closure.rs:122:35:122:35 | f | | closure.rs:122:20:122:32 | F | +| closure.rs:122:41:122:41 | a | | closure.rs:122:14:122:14 | A | +| closure.rs:122:52:124:5 | { ... } | | closure.rs:122:17:122:17 | B | +| closure.rs:123:9:123:9 | f | | closure.rs:122:20:122:32 | F | +| closure.rs:123:9:123:12 | f(...) | | closure.rs:122:17:122:17 | B | +| closure.rs:123:11:123:11 | a | | closure.rs:122:14:122:14 | A | +| closure.rs:126:18:126:18 | f | | closure.rs:126:21:126:39 | impl ... | +| closure.rs:126:49:128:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:127:9:127:9 | f | | closure.rs:126:21:126:39 | impl ... | +| closure.rs:127:9:127:12 | f(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:127:11:127:11 | 2 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:127:11:127:11 | 2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:130:15:142:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:131:13:131:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:131:13:131:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:131:13:131:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:131:13:131:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:131:13:131:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:131:17:137:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:131:17:137:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:131:17:137:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:131:17:137:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:131:17:137:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:131:18:131:18 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:131:34:137:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:131:34:137:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:132:13:136:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| closure.rs:132:13:136:13 | if x {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| closure.rs:132:16:132:16 | x | | {EXTERNAL LOCATION} | bool | +| closure.rs:132:18:134:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:132:18:134:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:133:17:133:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:133:17:133:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:134:20:136:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| closure.rs:134:20:136:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| closure.rs:135:17:135:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:135:17:135:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:138:13:138:14 | _r | | {EXTERNAL LOCATION} | i32 | +| closure.rs:138:13:138:14 | _r | | {EXTERNAL LOCATION} | i64 | +| closure.rs:138:18:138:31 | apply(...) | | {EXTERNAL LOCATION} | i32 | +| closure.rs:138:18:138:31 | apply(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:138:24:138:24 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:138:24:138:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:138:24:138:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:138:24:138:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| closure.rs:138:24:138:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | +| closure.rs:138:27:138:30 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:140:13:140:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:140:13:140:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:140:17:140:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:140:17:140:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:140:25:140:25 | 1 | | {EXTERNAL LOCATION} | i32 | +| closure.rs:141:13:141:15 | _r2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:141:19:141:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:141:29:141:29 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:141:29:141:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:146:54:146:54 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:146:54:146:54 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:146:54:146:54 | f | T | closure.rs:146:26:146:51 | F | +| closure.rs:146:65:146:67 | arg | | closure.rs:146:20:146:20 | A | +| closure.rs:146:78:148:5 | { ... } | | closure.rs:146:23:146:23 | B | +| closure.rs:147:9:147:9 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:147:9:147:9 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:147:9:147:9 | f | T | closure.rs:146:26:146:51 | F | +| closure.rs:147:9:147:14 | f(...) | | closure.rs:146:23:146:23 | B | +| closure.rs:147:11:147:13 | arg | | closure.rs:146:20:146:20 | A | +| closure.rs:150:30:150:30 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:150:30:150:30 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:150:30:150:30 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:150:30:150:30 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:150:30:150:30 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A | +| closure.rs:150:30:150:30 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B | +| closure.rs:150:58:150:60 | arg | | closure.rs:150:24:150:24 | A | +| closure.rs:150:66:153:5 | { ... } | | {EXTERNAL LOCATION} | () | +| closure.rs:151:13:151:15 | _r1 | | closure.rs:150:27:150:27 | B | +| closure.rs:151:19:151:37 | apply_boxed(...) | | closure.rs:150:27:150:27 | B | +| closure.rs:151:31:151:31 | f | | {EXTERNAL LOCATION} | Box | +| closure.rs:151:31:151:31 | f | A | {EXTERNAL LOCATION} | Global | +| closure.rs:151:31:151:31 | f | T | {EXTERNAL LOCATION} | dyn FnOnce | +| closure.rs:151:31:151:31 | f | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:151:31:151:31 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A | +| closure.rs:151:31:151:31 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B | +| closure.rs:151:34:151:36 | arg | | closure.rs:150:24:150:24 | A | +| closure.rs:152:13:152:15 | _r2 | | {EXTERNAL LOCATION} | bool | +| closure.rs:152:19:152:57 | apply_boxed(...) | | {EXTERNAL LOCATION} | bool | +| closure.rs:152:31:152:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| closure.rs:152:31:152:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| closure.rs:152:31:152:53 | ...::new(...) | T | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:152:31:152:53 | ...::new(...) | T.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:152:31:152:53 | ...::new(...) | T.dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | +| closure.rs:152:31:152:53 | ...::new(...) | T.dyn(Output) | {EXTERNAL LOCATION} | bool | +| closure.rs:152:40:152:52 | \|...\| true | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:152:40:152:52 | \|...\| true | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| closure.rs:152:40:152:52 | \|...\| true | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | +| closure.rs:152:40:152:52 | \|...\| true | dyn(Output) | {EXTERNAL LOCATION} | bool | +| closure.rs:152:41:152:41 | _ | | {EXTERNAL LOCATION} | i64 | +| closure.rs:152:49:152:52 | true | | {EXTERNAL LOCATION} | bool | +| closure.rs:152:56:152:56 | 3 | | {EXTERNAL LOCATION} | i32 | | dereference.rs:13:14:13:18 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:13:14:13:18 | SelfParam | TRef | dereference.rs:5:1:7:1 | MyIntPointer | | dereference.rs:13:29:15:5 | { ... } | | {EXTERNAL LOCATION} | & | @@ -5444,7 +6151,7 @@ inferType | dereference.rs:214:22:214:38 | "In struct impl!\\n" | | {EXTERNAL LOCATION} | & | | dereference.rs:214:22:214:38 | "In struct impl!\\n" | TRef | {EXTERNAL LOCATION} | str | | dereference.rs:214:22:214:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:214:22:214:38 | MacroBlockExpr | | {EXTERNAL LOCATION} | () | +| dereference.rs:214:22:214:38 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:214:22:214:38 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:220:16:220:20 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:220:16:220:20 | SelfParam | TRef | dereference.rs:205:5:205:17 | Foo | @@ -5453,7 +6160,7 @@ inferType | dereference.rs:221:22:221:37 | "In trait impl!\\n" | | {EXTERNAL LOCATION} | & | | dereference.rs:221:22:221:37 | "In trait impl!\\n" | TRef | {EXTERNAL LOCATION} | str | | dereference.rs:221:22:221:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:221:22:221:37 | MacroBlockExpr | | {EXTERNAL LOCATION} | () | +| dereference.rs:221:22:221:37 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:221:22:221:37 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:225:19:228:5 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:226:17:226:17 | f | | dereference.rs:205:5:205:17 | Foo | @@ -5483,7 +6190,7 @@ inferType | dyn_type.rs:29:17:29:30 | "MyTrait1: {}" | TRef | {EXTERNAL LOCATION} | str | | dyn_type.rs:29:17:29:42 | ...::format(...) | | {EXTERNAL LOCATION} | String | | dyn_type.rs:29:17:29:42 | ...::must_use(...) | | {EXTERNAL LOCATION} | String | -| dyn_type.rs:29:17:29:42 | MacroBlockExpr | | {EXTERNAL LOCATION} | String | +| dyn_type.rs:29:17:29:42 | { ... } | | {EXTERNAL LOCATION} | String | | dyn_type.rs:29:17:29:42 | { ... } | | {EXTERNAL LOCATION} | String | | dyn_type.rs:29:33:29:36 | self | | {EXTERNAL LOCATION} | & | | dyn_type.rs:29:33:29:36 | self | TRef | dyn_type.rs:21:1:24:1 | MyStruct | @@ -5737,10 +6444,12 @@ inferType | main.rs:26:13:26:13 | x | | main.rs:5:5:8:5 | MyThing | | main.rs:26:17:26:32 | MyThing {...} | | main.rs:5:5:8:5 | MyThing | | main.rs:26:30:26:30 | S | | main.rs:3:5:4:13 | S | +| main.rs:27:9:27:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:27:18:27:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:27:18:27:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:27:18:27:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:27:18:27:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:27:18:27:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:27:26:27:26 | x | | main.rs:5:5:8:5 | MyThing | | main.rs:27:26:27:28 | x.a | | main.rs:3:5:4:13 | S | | main.rs:30:29:30:29 | x | | main.rs:16:5:19:5 | GenericThing | @@ -5750,10 +6459,12 @@ inferType | main.rs:31:17:31:17 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:31:17:31:17 | x | A | {EXTERNAL LOCATION} | bool | | main.rs:31:17:31:19 | x.a | | {EXTERNAL LOCATION} | bool | +| main.rs:32:9:32:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:32:18:32:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:32:18:32:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:32:18:32:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:32:18:32:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:32:18:32:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:32:26:32:26 | a | | {EXTERNAL LOCATION} | bool | | main.rs:35:31:63:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:37:13:37:13 | x | | main.rs:16:5:19:5 | GenericThing | @@ -5761,10 +6472,12 @@ inferType | main.rs:37:17:37:42 | GenericThing::<...> {...} | | main.rs:16:5:19:5 | GenericThing | | main.rs:37:17:37:42 | GenericThing::<...> {...} | A | main.rs:3:5:4:13 | S | | main.rs:37:40:37:40 | S | | main.rs:3:5:4:13 | S | +| main.rs:38:9:38:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:38:18:38:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:38:18:38:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:38:18:38:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:38:18:38:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:38:18:38:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:38:26:38:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:38:26:38:26 | x | A | main.rs:3:5:4:13 | S | | main.rs:38:26:38:28 | x.a | | main.rs:3:5:4:13 | S | @@ -5773,10 +6486,12 @@ inferType | main.rs:41:17:41:37 | GenericThing {...} | | main.rs:16:5:19:5 | GenericThing | | main.rs:41:17:41:37 | GenericThing {...} | A | main.rs:3:5:4:13 | S | | main.rs:41:35:41:35 | S | | main.rs:3:5:4:13 | S | +| main.rs:42:9:42:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:42:18:42:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:42:18:42:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:42:18:42:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:42:18:42:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:42:18:42:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:42:26:42:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:42:26:42:26 | x | A | main.rs:3:5:4:13 | S | | main.rs:42:26:42:28 | x.a | | main.rs:3:5:4:13 | S | @@ -5784,10 +6499,12 @@ inferType | main.rs:46:17:48:9 | OptionS {...} | | main.rs:21:5:23:5 | OptionS | | main.rs:47:16:47:33 | ...::MyNone(...) | | main.rs:10:5:14:5 | MyOption | | main.rs:47:16:47:33 | ...::MyNone(...) | T | main.rs:3:5:4:13 | S | +| main.rs:49:9:49:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:49:18:49:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:49:18:49:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:49:18:49:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:49:18:49:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:49:18:49:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:49:26:49:26 | x | | main.rs:21:5:23:5 | OptionS | | main.rs:49:26:49:28 | x.a | | main.rs:10:5:14:5 | MyOption | | main.rs:49:26:49:28 | x.a | T | main.rs:3:5:4:13 | S | @@ -5799,10 +6516,12 @@ inferType | main.rs:52:17:54:9 | GenericThing::<...> {...} | A.T | main.rs:3:5:4:13 | S | | main.rs:53:16:53:33 | ...::MyNone(...) | | main.rs:10:5:14:5 | MyOption | | main.rs:53:16:53:33 | ...::MyNone(...) | T | main.rs:3:5:4:13 | S | +| main.rs:55:9:55:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:55:18:55:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:55:18:55:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:55:18:55:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:55:18:55:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:55:18:55:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:55:26:55:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:55:26:55:26 | x | A | main.rs:10:5:14:5 | MyOption | | main.rs:55:26:55:26 | x | A.T | main.rs:3:5:4:13 | S | @@ -5823,10 +6542,12 @@ inferType | main.rs:61:30:61:30 | x | A.T | main.rs:3:5:4:13 | S | | main.rs:61:30:61:32 | x.a | | main.rs:10:5:14:5 | MyOption | | main.rs:61:30:61:32 | x.a | T | main.rs:3:5:4:13 | S | +| main.rs:62:9:62:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:62:18:62:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:62:18:62:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:62:18:62:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:62:18:62:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:62:18:62:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:62:26:62:26 | a | | main.rs:10:5:14:5 | MyOption | | main.rs:62:26:62:26 | a | T | main.rs:3:5:4:13 | S | | main.rs:65:16:68:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -5839,10 +6560,12 @@ inferType | main.rs:79:32:81:9 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:80:13:80:16 | self | | main.rs:72:5:72:21 | Foo | | main.rs:84:23:89:5 | { ... } | | main.rs:72:5:72:21 | Foo | +| main.rs:85:9:85:34 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:85:18:85:33 | "main.rs::m1::f\\n" | | {EXTERNAL LOCATION} | & | | main.rs:85:18:85:33 | "main.rs::m1::f\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:85:18:85:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:85:18:85:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:85:18:85:33 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:86:13:86:13 | x | | main.rs:72:5:72:21 | Foo | | main.rs:86:17:86:22 | Foo {...} | | main.rs:72:5:72:21 | Foo | | main.rs:87:13:87:13 | y | | main.rs:72:5:72:21 | Foo | @@ -5851,10 +6574,12 @@ inferType | main.rs:91:14:91:14 | x | | main.rs:72:5:72:21 | Foo | | main.rs:91:22:91:22 | y | | main.rs:72:5:72:21 | Foo | | main.rs:91:37:95:5 | { ... } | | main.rs:72:5:72:21 | Foo | +| main.rs:92:9:92:34 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:92:18:92:33 | "main.rs::m1::g\\n" | | {EXTERNAL LOCATION} | & | | main.rs:92:18:92:33 | "main.rs::m1::g\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:92:18:92:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:92:18:92:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:92:18:92:33 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:93:9:93:9 | x | | main.rs:72:5:72:21 | Foo | | main.rs:93:9:93:14 | x.m1() | | main.rs:72:5:72:21 | Foo | | main.rs:94:9:94:9 | y | | main.rs:72:5:72:21 | Foo | @@ -5880,17 +6605,21 @@ inferType | main.rs:130:25:130:29 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:130:25:130:29 | SelfParam | TRef | main.rs:128:9:133:9 | Self [trait Foo] | | main.rs:130:32:132:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:131:17:131:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:131:26:131:31 | "foo!\\n" | | {EXTERNAL LOCATION} | & | | main.rs:131:26:131:31 | "foo!\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:131:26:131:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:131:26:131:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:131:26:131:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:137:25:137:29 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:137:25:137:29 | SelfParam | TRef | main.rs:135:9:140:9 | Self [trait Bar] | | main.rs:137:32:139:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:138:17:138:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:138:26:138:31 | "bar!\\n" | | {EXTERNAL LOCATION} | & | | main.rs:138:26:138:31 | "bar!\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:138:26:138:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:138:26:138:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:138:26:138:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:149:15:170:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:150:13:150:13 | x | | main.rs:142:9:142:21 | X | | main.rs:150:17:150:17 | X | | main.rs:142:9:142:21 | X | @@ -5944,31 +6673,39 @@ inferType | main.rs:206:17:206:33 | MyThing {...} | | main.rs:174:5:177:5 | MyThing | | main.rs:206:17:206:33 | MyThing {...} | A | main.rs:181:5:182:14 | S2 | | main.rs:206:30:206:31 | S2 | | main.rs:181:5:182:14 | S2 | +| main.rs:209:9:209:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:209:18:209:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:209:18:209:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:209:18:209:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:209:18:209:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:209:18:209:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:209:26:209:26 | x | | main.rs:174:5:177:5 | MyThing | | main.rs:209:26:209:26 | x | A | main.rs:179:5:180:14 | S1 | | main.rs:209:26:209:28 | x.a | | main.rs:179:5:180:14 | S1 | +| main.rs:210:9:210:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:210:18:210:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:210:18:210:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:210:18:210:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:210:18:210:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:210:18:210:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:210:26:210:26 | y | | main.rs:174:5:177:5 | MyThing | | main.rs:210:26:210:26 | y | A | main.rs:181:5:182:14 | S2 | | main.rs:210:26:210:28 | y.a | | main.rs:181:5:182:14 | S2 | +| main.rs:212:9:212:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:212:18:212:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:212:18:212:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:212:18:212:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:212:18:212:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:212:18:212:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:212:26:212:26 | x | | main.rs:174:5:177:5 | MyThing | | main.rs:212:26:212:26 | x | A | main.rs:179:5:180:14 | S1 | | main.rs:212:26:212:31 | x.m1() | | main.rs:179:5:180:14 | S1 | +| main.rs:213:9:213:34 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:213:18:213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:213:18:213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:213:18:213:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:213:18:213:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:213:18:213:33 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:213:26:213:26 | y | | main.rs:174:5:177:5 | MyThing | | main.rs:213:26:213:26 | y | A | main.rs:181:5:182:14 | S2 | | main.rs:213:26:213:31 | y.m1() | | main.rs:174:5:177:5 | MyThing | @@ -5984,17 +6721,21 @@ inferType | main.rs:216:17:216:33 | MyThing {...} | | main.rs:174:5:177:5 | MyThing | | main.rs:216:17:216:33 | MyThing {...} | A | main.rs:181:5:182:14 | S2 | | main.rs:216:30:216:31 | S2 | | main.rs:181:5:182:14 | S2 | +| main.rs:218:9:218:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:218:18:218:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:218:18:218:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:218:18:218:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:218:18:218:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:218:18:218:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:218:26:218:26 | x | | main.rs:174:5:177:5 | MyThing | | main.rs:218:26:218:26 | x | A | main.rs:179:5:180:14 | S1 | | main.rs:218:26:218:31 | x.m2() | | main.rs:179:5:180:14 | S1 | +| main.rs:219:9:219:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:219:18:219:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:219:18:219:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:219:18:219:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:219:18:219:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:219:18:219:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:219:26:219:26 | y | | main.rs:174:5:177:5 | MyThing | | main.rs:219:26:219:26 | y | A | main.rs:181:5:182:14 | S2 | | main.rs:219:26:219:31 | y.m2() | | main.rs:181:5:182:14 | S2 | @@ -6134,17 +6875,21 @@ inferType | main.rs:374:24:374:40 | MyThing {...} | | main.rs:224:5:227:5 | MyThing | | main.rs:374:24:374:40 | MyThing {...} | A | main.rs:239:5:240:14 | S3 | | main.rs:374:37:374:38 | S3 | | main.rs:239:5:240:14 | S3 | +| main.rs:378:9:378:39 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:378:18:378:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:378:18:378:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:378:18:378:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:378:18:378:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:378:18:378:38 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:378:26:378:33 | thing_s1 | | main.rs:224:5:227:5 | MyThing | | main.rs:378:26:378:33 | thing_s1 | A | main.rs:235:5:236:14 | S1 | | main.rs:378:26:378:38 | thing_s1.m1() | | main.rs:235:5:236:14 | S1 | +| main.rs:379:9:379:41 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:379:18:379:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:379:18:379:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:379:18:379:40 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:379:18:379:40 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:379:18:379:40 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:379:26:379:33 | thing_s2 | | main.rs:224:5:227:5 | MyThing | | main.rs:379:26:379:33 | thing_s2 | A | main.rs:237:5:238:14 | S2 | | main.rs:379:26:379:38 | thing_s2.m1() | | main.rs:224:5:227:5 | MyThing | @@ -6154,10 +6899,12 @@ inferType | main.rs:380:22:380:29 | thing_s3 | | main.rs:224:5:227:5 | MyThing | | main.rs:380:22:380:29 | thing_s3 | A | main.rs:239:5:240:14 | S3 | | main.rs:380:22:380:34 | thing_s3.m1() | | main.rs:239:5:240:14 | S3 | +| main.rs:381:9:381:28 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:381:18:381:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:381:18:381:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:381:18:381:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:381:18:381:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:381:18:381:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:381:26:381:27 | s3 | | main.rs:239:5:240:14 | S3 | | main.rs:383:13:383:14 | p1 | | main.rs:229:5:233:5 | MyPair | | main.rs:383:13:383:14 | p1 | P1 | main.rs:235:5:236:14 | S1 | @@ -6167,10 +6914,12 @@ inferType | main.rs:383:18:383:42 | MyPair {...} | P2 | main.rs:235:5:236:14 | S1 | | main.rs:383:31:383:32 | S1 | | main.rs:235:5:236:14 | S1 | | main.rs:383:39:383:40 | S1 | | main.rs:235:5:236:14 | S1 | +| main.rs:384:9:384:33 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:384:18:384:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:384:18:384:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:384:18:384:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:384:18:384:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:384:18:384:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:384:26:384:27 | p1 | | main.rs:229:5:233:5 | MyPair | | main.rs:384:26:384:27 | p1 | P1 | main.rs:235:5:236:14 | S1 | | main.rs:384:26:384:27 | p1 | P2 | main.rs:235:5:236:14 | S1 | @@ -6183,10 +6932,12 @@ inferType | main.rs:386:18:386:42 | MyPair {...} | P2 | main.rs:237:5:238:14 | S2 | | main.rs:386:31:386:32 | S1 | | main.rs:235:5:236:14 | S1 | | main.rs:386:39:386:40 | S2 | | main.rs:237:5:238:14 | S2 | +| main.rs:387:9:387:33 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:387:18:387:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:387:18:387:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:387:18:387:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:387:18:387:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:387:18:387:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:387:26:387:27 | p2 | | main.rs:229:5:233:5 | MyPair | | main.rs:387:26:387:27 | p2 | P1 | main.rs:235:5:236:14 | S1 | | main.rs:387:26:387:27 | p2 | P2 | main.rs:237:5:238:14 | S2 | @@ -6203,10 +6954,12 @@ inferType | main.rs:390:17:390:33 | MyThing {...} | A | main.rs:235:5:236:14 | S1 | | main.rs:390:30:390:31 | S1 | | main.rs:235:5:236:14 | S1 | | main.rs:391:17:391:18 | S3 | | main.rs:239:5:240:14 | S3 | +| main.rs:393:9:393:33 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:393:18:393:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:393:18:393:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:393:18:393:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:393:18:393:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:393:18:393:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:393:26:393:27 | p3 | | main.rs:229:5:233:5 | MyPair | | main.rs:393:26:393:27 | p3 | P1 | main.rs:224:5:227:5 | MyThing | | main.rs:393:26:393:27 | p3 | P1.A | main.rs:235:5:236:14 | S1 | @@ -6225,20 +6978,24 @@ inferType | main.rs:397:17:397:17 | a | P1 | main.rs:235:5:236:14 | S1 | | main.rs:397:17:397:17 | a | P2 | main.rs:235:5:236:14 | S1 | | main.rs:397:17:397:23 | a.fst() | | main.rs:235:5:236:14 | S1 | +| main.rs:398:9:398:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:398:18:398:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:398:18:398:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:398:18:398:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:398:18:398:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:398:18:398:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:398:26:398:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:399:13:399:13 | y | | main.rs:235:5:236:14 | S1 | | main.rs:399:17:399:17 | a | | main.rs:229:5:233:5 | MyPair | | main.rs:399:17:399:17 | a | P1 | main.rs:235:5:236:14 | S1 | | main.rs:399:17:399:17 | a | P2 | main.rs:235:5:236:14 | S1 | | main.rs:399:17:399:23 | a.snd() | | main.rs:235:5:236:14 | S1 | +| main.rs:400:9:400:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:400:18:400:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:400:18:400:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:400:18:400:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:400:18:400:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:400:18:400:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:400:26:400:26 | y | | main.rs:235:5:236:14 | S1 | | main.rs:406:13:406:13 | b | | main.rs:229:5:233:5 | MyPair | | main.rs:406:13:406:13 | b | P1 | main.rs:237:5:238:14 | S2 | @@ -6253,29 +7010,35 @@ inferType | main.rs:407:17:407:17 | b | P1 | main.rs:237:5:238:14 | S2 | | main.rs:407:17:407:17 | b | P2 | main.rs:235:5:236:14 | S1 | | main.rs:407:17:407:23 | b.fst() | | main.rs:235:5:236:14 | S1 | +| main.rs:408:9:408:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:408:18:408:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:408:18:408:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:408:18:408:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:408:18:408:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:408:18:408:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:408:26:408:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:409:13:409:13 | y | | main.rs:237:5:238:14 | S2 | | main.rs:409:17:409:17 | b | | main.rs:229:5:233:5 | MyPair | | main.rs:409:17:409:17 | b | P1 | main.rs:237:5:238:14 | S2 | | main.rs:409:17:409:17 | b | P2 | main.rs:235:5:236:14 | S1 | | main.rs:409:17:409:23 | b.snd() | | main.rs:237:5:238:14 | S2 | +| main.rs:410:9:410:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:410:18:410:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:410:18:410:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:410:18:410:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:410:18:410:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:410:18:410:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:410:26:410:26 | y | | main.rs:237:5:238:14 | S2 | | main.rs:414:13:414:13 | x | | main.rs:235:5:236:14 | S1 | | main.rs:414:17:414:39 | call_trait_m1(...) | | main.rs:235:5:236:14 | S1 | | main.rs:414:31:414:38 | thing_s1 | | main.rs:224:5:227:5 | MyThing | | main.rs:414:31:414:38 | thing_s1 | A | main.rs:235:5:236:14 | S1 | +| main.rs:415:9:415:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:415:18:415:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:415:18:415:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:415:18:415:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:415:18:415:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:415:18:415:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:415:26:415:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:416:13:416:13 | y | | main.rs:224:5:227:5 | MyThing | | main.rs:416:13:416:13 | y | A | main.rs:237:5:238:14 | S2 | @@ -6283,10 +7046,12 @@ inferType | main.rs:416:17:416:39 | call_trait_m1(...) | A | main.rs:237:5:238:14 | S2 | | main.rs:416:31:416:38 | thing_s2 | | main.rs:224:5:227:5 | MyThing | | main.rs:416:31:416:38 | thing_s2 | A | main.rs:237:5:238:14 | S2 | +| main.rs:417:9:417:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:417:18:417:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:417:18:417:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:417:18:417:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:417:18:417:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:417:18:417:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:417:26:417:26 | y | | main.rs:224:5:227:5 | MyThing | | main.rs:417:26:417:26 | y | A | main.rs:237:5:238:14 | S2 | | main.rs:417:26:417:28 | y.a | | main.rs:237:5:238:14 | S2 | @@ -6303,20 +7068,24 @@ inferType | main.rs:421:25:421:25 | a | | main.rs:229:5:233:5 | MyPair | | main.rs:421:25:421:25 | a | P1 | main.rs:235:5:236:14 | S1 | | main.rs:421:25:421:25 | a | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:422:9:422:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:422:18:422:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:422:18:422:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:422:18:422:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:422:18:422:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:422:18:422:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:422:26:422:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:423:13:423:13 | y | | main.rs:235:5:236:14 | S1 | | main.rs:423:17:423:26 | get_snd(...) | | main.rs:235:5:236:14 | S1 | | main.rs:423:25:423:25 | a | | main.rs:229:5:233:5 | MyPair | | main.rs:423:25:423:25 | a | P1 | main.rs:235:5:236:14 | S1 | | main.rs:423:25:423:25 | a | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:424:9:424:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:424:18:424:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:424:18:424:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:424:18:424:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:424:18:424:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:424:18:424:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:424:26:424:26 | y | | main.rs:235:5:236:14 | S1 | | main.rs:427:13:427:13 | b | | main.rs:229:5:233:5 | MyPair | | main.rs:427:13:427:13 | b | P1 | main.rs:237:5:238:14 | S2 | @@ -6331,20 +7100,24 @@ inferType | main.rs:428:25:428:25 | b | | main.rs:229:5:233:5 | MyPair | | main.rs:428:25:428:25 | b | P1 | main.rs:237:5:238:14 | S2 | | main.rs:428:25:428:25 | b | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:429:9:429:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:429:18:429:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:429:18:429:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:429:18:429:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:429:18:429:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:429:18:429:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:429:26:429:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:430:13:430:13 | y | | main.rs:237:5:238:14 | S2 | | main.rs:430:17:430:26 | get_snd(...) | | main.rs:237:5:238:14 | S2 | | main.rs:430:25:430:25 | b | | main.rs:229:5:233:5 | MyPair | | main.rs:430:25:430:25 | b | P1 | main.rs:237:5:238:14 | S2 | | main.rs:430:25:430:25 | b | P2 | main.rs:235:5:236:14 | S1 | +| main.rs:431:9:431:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:431:18:431:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:431:18:431:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:431:18:431:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:431:18:431:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:431:18:431:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:431:26:431:26 | y | | main.rs:237:5:238:14 | S2 | | main.rs:433:13:433:13 | c | | main.rs:229:5:233:5 | MyPair | | main.rs:433:13:433:13 | c | P1 | main.rs:239:5:240:14 | S3 | @@ -6462,28 +7235,36 @@ inferType | main.rs:569:16:595:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:570:13:570:13 | x | | main.rs:446:5:447:14 | S1 | | main.rs:570:17:570:18 | S1 | | main.rs:446:5:447:14 | S1 | +| main.rs:571:9:571:43 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:571:18:571:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:571:18:571:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:571:18:571:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:571:18:571:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:571:18:571:42 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:571:26:571:26 | x | | main.rs:446:5:447:14 | S1 | | main.rs:571:26:571:42 | x.common_method() | | main.rs:446:5:447:14 | S1 | +| main.rs:572:9:572:46 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:572:18:572:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:572:18:572:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:572:18:572:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:572:18:572:45 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:572:18:572:45 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:572:26:572:45 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:572:44:572:44 | x | | main.rs:446:5:447:14 | S1 | +| main.rs:573:9:573:45 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:573:18:573:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:573:18:573:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:573:18:573:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:573:18:573:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:573:18:573:44 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:573:26:573:26 | x | | main.rs:446:5:447:14 | S1 | | main.rs:573:26:573:44 | x.common_method_2() | | main.rs:446:5:447:14 | S1 | +| main.rs:574:9:574:48 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:574:18:574:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:574:18:574:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:574:18:574:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:574:18:574:47 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:574:18:574:47 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:574:26:574:47 | ...::common_method_2(...) | | main.rs:446:5:447:14 | S1 | | main.rs:574:46:574:46 | x | | main.rs:446:5:447:14 | S1 | | main.rs:576:13:576:13 | y | | main.rs:479:5:479:22 | S2 | @@ -6491,17 +7272,21 @@ inferType | main.rs:576:17:576:22 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:576:17:576:22 | S2(...) | T2 | main.rs:446:5:447:14 | S1 | | main.rs:576:20:576:21 | S1 | | main.rs:446:5:447:14 | S1 | +| main.rs:577:9:577:43 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:577:18:577:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:577:18:577:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:577:18:577:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:577:18:577:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:577:18:577:42 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:577:26:577:26 | y | | main.rs:479:5:479:22 | S2 | | main.rs:577:26:577:26 | y | T2 | main.rs:446:5:447:14 | S1 | | main.rs:577:26:577:42 | y.common_method() | | main.rs:446:5:447:14 | S1 | +| main.rs:578:9:578:57 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:578:18:578:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:578:18:578:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:578:18:578:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:578:18:578:56 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:578:18:578:56 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:578:26:578:56 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:578:50:578:55 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:578:50:578:55 | S2(...) | T2 | main.rs:446:5:447:14 | S1 | @@ -6511,25 +7296,31 @@ inferType | main.rs:580:17:580:21 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:580:17:580:21 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | | main.rs:580:20:580:20 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:581:9:581:43 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:581:18:581:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:581:18:581:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:581:18:581:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:581:18:581:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:581:18:581:42 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:581:26:581:26 | z | | main.rs:479:5:479:22 | S2 | | main.rs:581:26:581:26 | z | T2 | {EXTERNAL LOCATION} | i32 | | main.rs:581:26:581:42 | z.common_method() | | main.rs:446:5:447:14 | S1 | +| main.rs:582:9:582:50 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:582:18:582:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:582:18:582:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:582:18:582:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:582:18:582:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:582:18:582:49 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:582:26:582:49 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:582:44:582:48 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:582:44:582:48 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | | main.rs:582:47:582:47 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:583:9:583:57 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:583:18:583:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:583:18:583:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:583:18:583:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:583:18:583:56 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:583:18:583:56 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:583:26:583:56 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:583:51:583:55 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:583:51:583:55 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | @@ -6539,20 +7330,24 @@ inferType | main.rs:585:17:585:22 | S3(...) | | main.rs:517:5:518:22 | S3 | | main.rs:585:17:585:22 | S3(...) | T3 | main.rs:446:5:447:14 | S1 | | main.rs:585:20:585:21 | S1 | | main.rs:446:5:447:14 | S1 | +| main.rs:586:9:586:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:586:18:586:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:586:18:586:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:586:18:586:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:586:18:586:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:586:18:586:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:586:26:586:26 | w | | main.rs:517:5:518:22 | S3 | | main.rs:586:26:586:26 | w | T3 | main.rs:446:5:447:14 | S1 | | main.rs:586:26:586:31 | w.m(...) | | {EXTERNAL LOCATION} | & | | main.rs:586:26:586:31 | w.m(...) | TRef | main.rs:517:5:518:22 | S3 | | main.rs:586:26:586:31 | w.m(...) | TRef.T3 | main.rs:446:5:447:14 | S1 | | main.rs:586:30:586:30 | x | | main.rs:446:5:447:14 | S1 | +| main.rs:587:9:587:38 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:587:18:587:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:587:18:587:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:587:18:587:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:587:18:587:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:587:18:587:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:587:26:587:37 | ...::m(...) | | {EXTERNAL LOCATION} | & | | main.rs:587:26:587:37 | ...::m(...) | TRef | main.rs:517:5:518:22 | S3 | | main.rs:587:26:587:37 | ...::m(...) | TRef.T3 | main.rs:446:5:447:14 | S1 | @@ -6597,50 +7392,60 @@ inferType | main.rs:621:13:621:14 | s1 | | main.rs:619:35:619:42 | I | | main.rs:621:18:621:18 | x | | main.rs:619:45:619:61 | T | | main.rs:621:18:621:27 | x.method() | | main.rs:619:35:619:42 | I | +| main.rs:622:9:622:28 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:622:18:622:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:622:18:622:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:622:18:622:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:622:18:622:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:622:18:622:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:622:26:622:27 | s1 | | main.rs:619:35:619:42 | I | | main.rs:625:65:625:65 | x | | main.rs:625:46:625:62 | T | | main.rs:625:71:629:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:627:13:627:14 | s2 | | main.rs:625:36:625:43 | I | | main.rs:627:18:627:18 | x | | main.rs:625:46:625:62 | T | | main.rs:627:18:627:27 | x.method() | | main.rs:625:36:625:43 | I | +| main.rs:628:9:628:28 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:628:18:628:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:628:18:628:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:628:18:628:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:628:18:628:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:628:18:628:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:628:26:628:27 | s2 | | main.rs:625:36:625:43 | I | | main.rs:631:49:631:49 | x | | main.rs:631:30:631:46 | T | | main.rs:631:55:634:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:632:13:632:13 | s | | main.rs:601:5:602:14 | S1 | | main.rs:632:17:632:17 | x | | main.rs:631:30:631:46 | T | | main.rs:632:17:632:26 | x.method() | | main.rs:601:5:602:14 | S1 | +| main.rs:633:9:633:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:633:18:633:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:633:18:633:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:633:18:633:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:633:18:633:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:633:18:633:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:633:26:633:26 | s | | main.rs:601:5:602:14 | S1 | | main.rs:636:53:636:53 | x | | main.rs:636:34:636:50 | T | | main.rs:636:59:639:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:637:13:637:13 | s | | main.rs:601:5:602:14 | S1 | | main.rs:637:17:637:17 | x | | main.rs:636:34:636:50 | T | | main.rs:637:17:637:26 | x.method() | | main.rs:601:5:602:14 | S1 | +| main.rs:638:9:638:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:638:18:638:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:638:18:638:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:638:18:638:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:638:18:638:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:638:18:638:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:638:26:638:26 | s | | main.rs:601:5:602:14 | S1 | | main.rs:641:43:641:43 | x | | main.rs:641:40:641:40 | T | | main.rs:644:5:647:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:645:13:645:13 | s | | main.rs:601:5:602:14 | S1 | | main.rs:645:17:645:17 | x | | main.rs:641:40:641:40 | T | | main.rs:645:17:645:26 | x.method() | | main.rs:601:5:602:14 | S1 | +| main.rs:646:9:646:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:646:18:646:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:646:18:646:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:646:18:646:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:646:18:646:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:646:18:646:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:646:26:646:26 | s | | main.rs:601:5:602:14 | S1 | | main.rs:650:16:650:19 | SelfParam | | main.rs:649:5:653:5 | Self [trait Pair] | | main.rs:652:16:652:19 | SelfParam | | main.rs:649:5:653:5 | Self [trait Pair] | @@ -6662,10 +7467,12 @@ inferType | main.rs:667:13:667:14 | s2 | | main.rs:604:5:605:14 | S2 | | main.rs:667:18:667:18 | y | | main.rs:664:41:664:55 | T | | main.rs:667:18:667:24 | y.snd() | | main.rs:604:5:605:14 | S2 | +| main.rs:668:9:668:38 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:668:18:668:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:668:18:668:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:668:18:668:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:668:18:668:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:668:18:668:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:668:32:668:33 | s1 | | main.rs:601:5:602:14 | S1 | | main.rs:668:36:668:37 | s2 | | main.rs:604:5:605:14 | S2 | | main.rs:671:69:671:69 | x | | main.rs:671:52:671:66 | T | @@ -6677,10 +7484,12 @@ inferType | main.rs:674:13:674:14 | s2 | | main.rs:671:41:671:49 | T2 | | main.rs:674:18:674:18 | y | | main.rs:671:52:671:66 | T | | main.rs:674:18:674:24 | y.snd() | | main.rs:671:41:671:49 | T2 | +| main.rs:675:9:675:38 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:675:18:675:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:675:18:675:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:675:18:675:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:675:18:675:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:675:18:675:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:675:32:675:33 | s1 | | main.rs:601:5:602:14 | S1 | | main.rs:675:36:675:37 | s2 | | main.rs:671:41:671:49 | T2 | | main.rs:678:50:678:50 | x | | main.rs:678:41:678:47 | T | @@ -6692,10 +7501,12 @@ inferType | main.rs:681:13:681:14 | s2 | | {EXTERNAL LOCATION} | i64 | | main.rs:681:18:681:18 | y | | main.rs:678:41:678:47 | T | | main.rs:681:18:681:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | +| main.rs:682:9:682:38 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:682:18:682:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:682:18:682:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:682:18:682:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:682:18:682:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:682:18:682:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:682:32:682:33 | s1 | | {EXTERNAL LOCATION} | bool | | main.rs:682:36:682:37 | s2 | | {EXTERNAL LOCATION} | i64 | | main.rs:685:54:685:54 | x | | main.rs:685:41:685:51 | T | @@ -6707,10 +7518,12 @@ inferType | main.rs:688:13:688:14 | s2 | | {EXTERNAL LOCATION} | i64 | | main.rs:688:18:688:18 | y | | main.rs:685:41:685:51 | T | | main.rs:688:18:688:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | +| main.rs:689:9:689:38 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:689:18:689:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:689:18:689:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:689:18:689:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:689:18:689:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:689:18:689:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:689:32:689:33 | s1 | | {EXTERNAL LOCATION} | u8 | | main.rs:689:36:689:37 | s2 | | {EXTERNAL LOCATION} | i64 | | main.rs:697:18:697:22 | SelfParam | | {EXTERNAL LOCATION} | & | @@ -6872,17 +7685,21 @@ inferType | main.rs:847:17:847:33 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | | main.rs:847:17:847:33 | MyThing {...} | T | main.rs:745:5:746:14 | S2 | | main.rs:847:30:847:31 | S2 | | main.rs:745:5:746:14 | S2 | +| main.rs:849:9:849:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:849:18:849:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:849:18:849:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:849:18:849:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:849:18:849:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:849:18:849:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:849:26:849:26 | x | | main.rs:738:5:741:5 | MyThing | | main.rs:849:26:849:26 | x | T | main.rs:743:5:744:14 | S1 | | main.rs:849:26:849:31 | x.m1() | | main.rs:743:5:744:14 | S1 | +| main.rs:850:9:850:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:850:18:850:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:850:18:850:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:850:18:850:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:850:18:850:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:850:18:850:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:850:26:850:26 | y | | main.rs:738:5:741:5 | MyThing | | main.rs:850:26:850:26 | y | T | main.rs:745:5:746:14 | S2 | | main.rs:850:26:850:31 | y.m1() | | main.rs:745:5:746:14 | S2 | @@ -6896,17 +7713,21 @@ inferType | main.rs:853:17:853:33 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | | main.rs:853:17:853:33 | MyThing {...} | T | main.rs:745:5:746:14 | S2 | | main.rs:853:30:853:31 | S2 | | main.rs:745:5:746:14 | S2 | +| main.rs:855:9:855:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:855:18:855:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:855:18:855:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:855:18:855:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:855:18:855:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:855:18:855:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:855:26:855:26 | x | | main.rs:738:5:741:5 | MyThing | | main.rs:855:26:855:26 | x | T | main.rs:743:5:744:14 | S1 | | main.rs:855:26:855:31 | x.m2() | | main.rs:743:5:744:14 | S1 | +| main.rs:856:9:856:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:856:18:856:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:856:18:856:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:856:18:856:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:856:18:856:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:856:18:856:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:856:26:856:26 | y | | main.rs:738:5:741:5 | MyThing | | main.rs:856:26:856:26 | y | T | main.rs:745:5:746:14 | S2 | | main.rs:856:26:856:31 | y.m2() | | main.rs:745:5:746:14 | S2 | @@ -6924,91 +7745,111 @@ inferType | main.rs:861:17:861:33 | call_trait_m1(...) | | main.rs:743:5:744:14 | S1 | | main.rs:861:31:861:32 | x2 | | main.rs:738:5:741:5 | MyThing | | main.rs:861:31:861:32 | x2 | T | main.rs:743:5:744:14 | S1 | +| main.rs:862:9:862:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:862:18:862:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:862:18:862:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:862:18:862:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:862:18:862:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:862:18:862:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:862:26:862:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:863:13:863:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:863:17:863:35 | call_trait_m1_2(...) | | main.rs:743:5:744:14 | S1 | | main.rs:863:33:863:34 | x2 | | main.rs:738:5:741:5 | MyThing | | main.rs:863:33:863:34 | x2 | T | main.rs:743:5:744:14 | S1 | +| main.rs:864:9:864:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:864:18:864:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:864:18:864:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:864:18:864:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:864:18:864:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:864:18:864:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:864:26:864:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:865:13:865:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:865:17:865:35 | call_trait_m1_3(...) | | main.rs:743:5:744:14 | S1 | | main.rs:865:33:865:34 | x2 | | main.rs:738:5:741:5 | MyThing | | main.rs:865:33:865:34 | x2 | T | main.rs:743:5:744:14 | S1 | +| main.rs:866:9:866:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:866:18:866:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:866:18:866:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:866:18:866:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:866:18:866:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:866:18:866:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:866:26:866:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:867:13:867:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:867:17:867:33 | call_trait_m1(...) | | main.rs:745:5:746:14 | S2 | | main.rs:867:31:867:32 | y2 | | main.rs:738:5:741:5 | MyThing | | main.rs:867:31:867:32 | y2 | T | main.rs:745:5:746:14 | S2 | +| main.rs:868:9:868:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:868:18:868:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:868:18:868:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:868:18:868:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:868:18:868:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:868:18:868:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:868:26:868:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:869:13:869:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:869:17:869:35 | call_trait_m1_2(...) | | main.rs:745:5:746:14 | S2 | | main.rs:869:33:869:34 | y2 | | main.rs:738:5:741:5 | MyThing | | main.rs:869:33:869:34 | y2 | T | main.rs:745:5:746:14 | S2 | +| main.rs:870:9:870:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:870:18:870:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:870:18:870:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:870:18:870:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:870:18:870:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:870:18:870:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:870:26:870:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:871:13:871:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:871:17:871:35 | call_trait_m1_3(...) | | main.rs:745:5:746:14 | S2 | | main.rs:871:33:871:34 | y2 | | main.rs:738:5:741:5 | MyThing | | main.rs:871:33:871:34 | y2 | T | main.rs:745:5:746:14 | S2 | +| main.rs:872:9:872:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:872:18:872:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:872:18:872:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:872:18:872:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:872:18:872:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:872:18:872:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:872:26:872:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:873:13:873:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:873:17:873:38 | call_trait_assoc_1(...) | | main.rs:743:5:744:14 | S1 | | main.rs:873:36:873:37 | x2 | | main.rs:738:5:741:5 | MyThing | | main.rs:873:36:873:37 | x2 | T | main.rs:743:5:744:14 | S1 | +| main.rs:874:9:874:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:874:18:874:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:874:18:874:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:874:18:874:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:874:18:874:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:874:18:874:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:874:26:874:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:875:13:875:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:875:17:875:38 | call_trait_assoc_2(...) | | main.rs:743:5:744:14 | S1 | | main.rs:875:36:875:37 | x2 | | main.rs:738:5:741:5 | MyThing | | main.rs:875:36:875:37 | x2 | T | main.rs:743:5:744:14 | S1 | +| main.rs:876:9:876:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:876:18:876:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:876:18:876:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:876:18:876:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:876:18:876:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:876:18:876:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:876:26:876:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:877:13:877:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:877:17:877:38 | call_trait_assoc_1(...) | | main.rs:745:5:746:14 | S2 | | main.rs:877:36:877:37 | y2 | | main.rs:738:5:741:5 | MyThing | | main.rs:877:36:877:37 | y2 | T | main.rs:745:5:746:14 | S2 | +| main.rs:878:9:878:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:878:18:878:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:878:18:878:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:878:18:878:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:878:18:878:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:878:18:878:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:878:26:878:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:879:13:879:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:879:17:879:38 | call_trait_assoc_2(...) | | main.rs:745:5:746:14 | S2 | | main.rs:879:36:879:37 | y2 | | main.rs:738:5:741:5 | MyThing | | main.rs:879:36:879:37 | y2 | T | main.rs:745:5:746:14 | S2 | +| main.rs:880:9:880:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:880:18:880:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:880:18:880:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:880:18:880:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:880:18:880:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:880:18:880:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:880:26:880:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:882:13:882:14 | x3 | | main.rs:738:5:741:5 | MyThing | | main.rs:882:13:882:14 | x3 | T | main.rs:738:5:741:5 | MyThing | @@ -7033,60 +7874,72 @@ inferType | main.rs:889:37:889:38 | x3 | | main.rs:738:5:741:5 | MyThing | | main.rs:889:37:889:38 | x3 | T | main.rs:738:5:741:5 | MyThing | | main.rs:889:37:889:38 | x3 | T.T | main.rs:743:5:744:14 | S1 | +| main.rs:890:9:890:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:890:18:890:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:890:18:890:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:890:18:890:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:890:18:890:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:890:18:890:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:890:26:890:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:891:13:891:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:891:17:891:41 | call_trait_thing_m1_2(...) | | main.rs:743:5:744:14 | S1 | | main.rs:891:39:891:40 | x3 | | main.rs:738:5:741:5 | MyThing | | main.rs:891:39:891:40 | x3 | T | main.rs:738:5:741:5 | MyThing | | main.rs:891:39:891:40 | x3 | T.T | main.rs:743:5:744:14 | S1 | +| main.rs:892:9:892:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:892:18:892:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:892:18:892:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:892:18:892:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:892:18:892:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:892:18:892:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:892:26:892:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:893:13:893:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:893:17:893:41 | call_trait_thing_m1_3(...) | | main.rs:743:5:744:14 | S1 | | main.rs:893:39:893:40 | x3 | | main.rs:738:5:741:5 | MyThing | | main.rs:893:39:893:40 | x3 | T | main.rs:738:5:741:5 | MyThing | | main.rs:893:39:893:40 | x3 | T.T | main.rs:743:5:744:14 | S1 | +| main.rs:894:9:894:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:894:18:894:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:894:18:894:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:894:18:894:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:894:18:894:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:894:18:894:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:894:26:894:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:895:13:895:13 | b | | main.rs:745:5:746:14 | S2 | | main.rs:895:17:895:39 | call_trait_thing_m1(...) | | main.rs:745:5:746:14 | S2 | | main.rs:895:37:895:38 | y3 | | main.rs:738:5:741:5 | MyThing | | main.rs:895:37:895:38 | y3 | T | main.rs:738:5:741:5 | MyThing | | main.rs:895:37:895:38 | y3 | T.T | main.rs:745:5:746:14 | S2 | +| main.rs:896:9:896:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:896:18:896:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:896:18:896:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:896:18:896:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:896:18:896:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:896:18:896:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:896:26:896:26 | b | | main.rs:745:5:746:14 | S2 | | main.rs:897:13:897:13 | b | | main.rs:745:5:746:14 | S2 | | main.rs:897:17:897:41 | call_trait_thing_m1_2(...) | | main.rs:745:5:746:14 | S2 | | main.rs:897:39:897:40 | y3 | | main.rs:738:5:741:5 | MyThing | | main.rs:897:39:897:40 | y3 | T | main.rs:738:5:741:5 | MyThing | | main.rs:897:39:897:40 | y3 | T.T | main.rs:745:5:746:14 | S2 | +| main.rs:898:9:898:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:898:18:898:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:898:18:898:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:898:18:898:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:898:18:898:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:898:18:898:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:898:26:898:26 | b | | main.rs:745:5:746:14 | S2 | | main.rs:899:13:899:13 | b | | main.rs:745:5:746:14 | S2 | | main.rs:899:17:899:41 | call_trait_thing_m1_3(...) | | main.rs:745:5:746:14 | S2 | | main.rs:899:39:899:40 | y3 | | main.rs:738:5:741:5 | MyThing | | main.rs:899:39:899:40 | y3 | T | main.rs:738:5:741:5 | MyThing | | main.rs:899:39:899:40 | y3 | T.T | main.rs:745:5:746:14 | S2 | +| main.rs:900:9:900:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:900:18:900:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:900:18:900:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:900:18:900:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:900:18:900:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:900:18:900:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:900:26:900:26 | b | | main.rs:745:5:746:14 | S2 | | main.rs:901:13:901:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:901:17:901:26 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | @@ -7094,4116 +7947,3988 @@ inferType | main.rs:902:13:902:13 | y | | {EXTERNAL LOCATION} | i32 | | main.rs:902:22:902:31 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:902:29:902:30 | S2 | | main.rs:745:5:746:14 | S2 | -| main.rs:913:19:913:22 | SelfParam | | main.rs:907:5:910:5 | Wrapper | -| main.rs:913:19:913:22 | SelfParam | A | main.rs:912:10:912:10 | A | -| main.rs:913:30:915:9 | { ... } | | main.rs:912:10:912:10 | A | -| main.rs:914:13:914:16 | self | | main.rs:907:5:910:5 | Wrapper | -| main.rs:914:13:914:16 | self | A | main.rs:912:10:912:10 | A | -| main.rs:914:13:914:22 | self.field | | main.rs:912:10:912:10 | A | -| main.rs:922:15:922:18 | SelfParam | | main.rs:918:5:932:5 | Self [trait MyTrait] | -| main.rs:924:15:924:18 | SelfParam | | main.rs:918:5:932:5 | Self [trait MyTrait] | -| main.rs:928:9:931:9 | { ... } | | main.rs:919:9:919:28 | AssociatedType | -| main.rs:929:13:929:16 | self | | main.rs:918:5:932:5 | Self [trait MyTrait] | -| main.rs:929:13:929:21 | self.m1() | | main.rs:919:9:919:28 | AssociatedType | -| main.rs:930:13:930:43 | ...::default(...) | | main.rs:919:9:919:28 | AssociatedType | -| main.rs:938:19:938:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:938:19:938:23 | SelfParam | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:938:26:938:26 | a | | main.rs:938:16:938:16 | A | -| main.rs:940:22:940:26 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:940:22:940:26 | SelfParam | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:940:29:940:29 | a | | main.rs:940:19:940:19 | A | -| main.rs:940:35:940:35 | b | | main.rs:940:19:940:19 | A | -| main.rs:940:75:943:9 | { ... } | | main.rs:935:9:935:52 | GenericAssociatedType | -| main.rs:941:13:941:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:941:13:941:16 | self | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:941:13:941:23 | self.put(...) | | main.rs:935:9:935:52 | GenericAssociatedType | -| main.rs:941:22:941:22 | a | | main.rs:940:19:940:19 | A | -| main.rs:942:13:942:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:942:13:942:16 | self | TRef | main.rs:934:5:944:5 | Self [trait MyTraitAssoc2] | -| main.rs:942:13:942:23 | self.put(...) | | main.rs:935:9:935:52 | GenericAssociatedType | -| main.rs:942:22:942:22 | b | | main.rs:940:19:940:19 | A | -| main.rs:951:21:951:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:951:21:951:25 | SelfParam | TRef | main.rs:946:5:956:5 | Self [trait TraitMultipleAssoc] | -| main.rs:953:20:953:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:953:20:953:24 | SelfParam | TRef | main.rs:946:5:956:5 | Self [trait TraitMultipleAssoc] | -| main.rs:955:20:955:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:955:20:955:24 | SelfParam | TRef | main.rs:946:5:956:5 | Self [trait TraitMultipleAssoc] | -| main.rs:971:15:971:18 | SelfParam | | main.rs:958:5:959:13 | S | -| main.rs:971:45:973:9 | { ... } | | main.rs:964:5:965:14 | AT | -| main.rs:972:13:972:14 | AT | | main.rs:964:5:965:14 | AT | -| main.rs:981:19:981:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:981:19:981:23 | SelfParam | TRef | main.rs:958:5:959:13 | S | -| main.rs:981:26:981:26 | a | | main.rs:981:16:981:16 | A | -| main.rs:981:46:983:9 | { ... } | | main.rs:907:5:910:5 | Wrapper | -| main.rs:981:46:983:9 | { ... } | A | main.rs:981:16:981:16 | A | -| main.rs:982:13:982:32 | Wrapper {...} | | main.rs:907:5:910:5 | Wrapper | -| main.rs:982:13:982:32 | Wrapper {...} | A | main.rs:981:16:981:16 | A | -| main.rs:982:30:982:30 | a | | main.rs:981:16:981:16 | A | -| main.rs:990:15:990:18 | SelfParam | | main.rs:961:5:962:14 | S2 | -| main.rs:990:45:992:9 | { ... } | | main.rs:907:5:910:5 | Wrapper | -| main.rs:990:45:992:9 | { ... } | A | main.rs:961:5:962:14 | S2 | -| main.rs:991:13:991:35 | Wrapper {...} | | main.rs:907:5:910:5 | Wrapper | -| main.rs:991:13:991:35 | Wrapper {...} | A | main.rs:961:5:962:14 | S2 | -| main.rs:991:30:991:33 | self | | main.rs:961:5:962:14 | S2 | -| main.rs:997:30:999:9 | { ... } | | main.rs:907:5:910:5 | Wrapper | -| main.rs:997:30:999:9 | { ... } | A | main.rs:961:5:962:14 | S2 | -| main.rs:998:13:998:33 | Wrapper {...} | | main.rs:907:5:910:5 | Wrapper | -| main.rs:998:13:998:33 | Wrapper {...} | A | main.rs:961:5:962:14 | S2 | -| main.rs:998:30:998:31 | S2 | | main.rs:961:5:962:14 | S2 | -| main.rs:1004:22:1004:26 | thing | | main.rs:1004:10:1004:19 | T | -| main.rs:1005:9:1005:13 | thing | | main.rs:1004:10:1004:19 | T | -| main.rs:1012:21:1012:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1012:21:1012:25 | SelfParam | TRef | main.rs:964:5:965:14 | AT | -| main.rs:1012:34:1014:9 | { ... } | | main.rs:964:5:965:14 | AT | -| main.rs:1013:13:1013:14 | AT | | main.rs:964:5:965:14 | AT | -| main.rs:1016:20:1016:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1016:20:1016:24 | SelfParam | TRef | main.rs:964:5:965:14 | AT | -| main.rs:1016:43:1018:9 | { ... } | | main.rs:958:5:959:13 | S | -| main.rs:1017:13:1017:13 | S | | main.rs:958:5:959:13 | S | -| main.rs:1020:20:1020:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1020:20:1020:24 | SelfParam | TRef | main.rs:964:5:965:14 | AT | -| main.rs:1020:43:1022:9 | { ... } | | main.rs:961:5:962:14 | S2 | -| main.rs:1021:13:1021:14 | S2 | | main.rs:961:5:962:14 | S2 | -| main.rs:1025:16:1053:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1026:13:1026:14 | x1 | | main.rs:958:5:959:13 | S | -| main.rs:1026:18:1026:18 | S | | main.rs:958:5:959:13 | S | -| main.rs:1028:18:1028:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1028:18:1028:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1028:18:1028:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1028:18:1028:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1028:26:1028:27 | x1 | | main.rs:958:5:959:13 | S | -| main.rs:1028:26:1028:32 | x1.m1() | | main.rs:964:5:965:14 | AT | -| main.rs:1030:13:1030:14 | x2 | | main.rs:958:5:959:13 | S | -| main.rs:1030:18:1030:18 | S | | main.rs:958:5:959:13 | S | -| main.rs:1032:13:1032:13 | y | | main.rs:964:5:965:14 | AT | -| main.rs:1032:17:1032:18 | x2 | | main.rs:958:5:959:13 | S | -| main.rs:1032:17:1032:23 | x2.m2() | | main.rs:964:5:965:14 | AT | -| main.rs:1033:18:1033:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1033:18:1033:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1033:18:1033:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1033:18:1033:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1033:26:1033:26 | y | | main.rs:964:5:965:14 | AT | -| main.rs:1035:13:1035:14 | x3 | | main.rs:958:5:959:13 | S | -| main.rs:1035:18:1035:18 | S | | main.rs:958:5:959:13 | S | -| main.rs:1037:18:1037:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1037:18:1037:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1037:18:1037:43 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1037:18:1037:43 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1037:26:1037:27 | x3 | | main.rs:958:5:959:13 | S | -| main.rs:1037:26:1037:34 | x3.put(...) | | main.rs:907:5:910:5 | Wrapper | -| main.rs:1037:26:1037:34 | x3.put(...) | A | {EXTERNAL LOCATION} | i32 | -| main.rs:1037:26:1037:43 | ... .unwrap() | | {EXTERNAL LOCATION} | i32 | -| main.rs:1037:33:1037:33 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1040:18:1040:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1040:18:1040:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1040:18:1040:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1040:18:1040:49 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1040:26:1040:27 | x3 | | main.rs:958:5:959:13 | S | -| main.rs:1040:26:1040:40 | x3.putTwo(...) | | main.rs:907:5:910:5 | Wrapper | -| main.rs:1040:36:1040:36 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1040:39:1040:39 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1042:20:1042:20 | S | | main.rs:958:5:959:13 | S | -| main.rs:1043:18:1043:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1043:18:1043:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1043:18:1043:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1043:18:1043:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1045:13:1045:14 | x5 | | main.rs:961:5:962:14 | S2 | -| main.rs:1045:18:1045:19 | S2 | | main.rs:961:5:962:14 | S2 | -| main.rs:1046:18:1046:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1046:18:1046:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1046:18:1046:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1046:18:1046:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1046:26:1046:27 | x5 | | main.rs:961:5:962:14 | S2 | -| main.rs:1046:26:1046:32 | x5.m1() | | main.rs:907:5:910:5 | Wrapper | -| main.rs:1046:26:1046:32 | x5.m1() | A | main.rs:961:5:962:14 | S2 | -| main.rs:1047:13:1047:14 | x6 | | main.rs:961:5:962:14 | S2 | -| main.rs:1047:18:1047:19 | S2 | | main.rs:961:5:962:14 | S2 | -| main.rs:1048:18:1048:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1048:18:1048:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1048:18:1048:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1048:18:1048:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1048:26:1048:27 | x6 | | main.rs:961:5:962:14 | S2 | -| main.rs:1048:26:1048:32 | x6.m2() | | main.rs:907:5:910:5 | Wrapper | -| main.rs:1048:26:1048:32 | x6.m2() | A | main.rs:961:5:962:14 | S2 | -| main.rs:1050:13:1050:22 | assoc_zero | | main.rs:964:5:965:14 | AT | -| main.rs:1050:26:1050:27 | AT | | main.rs:964:5:965:14 | AT | -| main.rs:1050:26:1050:38 | AT.get_zero() | | main.rs:964:5:965:14 | AT | -| main.rs:1051:13:1051:21 | assoc_one | | main.rs:958:5:959:13 | S | -| main.rs:1051:25:1051:26 | AT | | main.rs:964:5:965:14 | AT | -| main.rs:1051:25:1051:36 | AT.get_one() | | main.rs:958:5:959:13 | S | -| main.rs:1052:13:1052:21 | assoc_two | | main.rs:961:5:962:14 | S2 | -| main.rs:1052:25:1052:26 | AT | | main.rs:964:5:965:14 | AT | -| main.rs:1052:25:1052:36 | AT.get_two() | | main.rs:961:5:962:14 | S2 | -| main.rs:1060:19:1060:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1060:19:1060:23 | SelfParam | TRef | main.rs:1057:5:1061:5 | Self [trait Supertrait] | -| main.rs:1060:26:1060:32 | content | | main.rs:1058:9:1058:21 | Content | -| main.rs:1065:24:1065:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1065:24:1065:28 | SelfParam | TRef | main.rs:1063:5:1066:5 | Self [trait Subtrait] | -| main.rs:1074:23:1074:27 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1074:23:1074:27 | SelfParam | TRef | main.rs:1068:5:1078:5 | Self [trait Subtrait2] | -| main.rs:1074:68:1077:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1075:13:1075:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1075:13:1075:16 | self | TRef | main.rs:1068:5:1078:5 | Self [trait Subtrait2] | -| main.rs:1075:13:1075:27 | self.insert(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1076:13:1076:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1076:13:1076:16 | self | TRef | main.rs:1068:5:1078:5 | Self [trait Subtrait2] | -| main.rs:1076:13:1076:27 | self.insert(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1084:19:1084:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1084:19:1084:23 | SelfParam | TRef | main.rs:1080:5:1080:24 | MyType | -| main.rs:1084:19:1084:23 | SelfParam | TRef.T | main.rs:1082:10:1082:10 | T | -| main.rs:1084:26:1084:33 | _content | | main.rs:1082:10:1082:10 | T | -| main.rs:1084:51:1086:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1085:22:1085:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1085:22:1085:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1085:22:1085:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1085:22:1085:42 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1091:24:1091:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1091:24:1091:28 | SelfParam | TRef | main.rs:1080:5:1080:24 | MyType | -| main.rs:1091:24:1091:28 | SelfParam | TRef.T | main.rs:1089:10:1089:17 | T | -| main.rs:1091:48:1093:9 | { ... } | | main.rs:1089:10:1089:17 | T | -| main.rs:1092:13:1092:19 | (...) | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1092:13:1092:19 | (...) | T | main.rs:1089:10:1089:17 | T | -| main.rs:1092:13:1092:21 | ... .0 | | main.rs:1089:10:1089:17 | T | -| main.rs:1092:13:1092:29 | ... .clone() | | main.rs:1089:10:1089:17 | T | -| main.rs:1092:14:1092:18 | * ... | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1092:14:1092:18 | * ... | T | main.rs:1089:10:1089:17 | T | -| main.rs:1092:15:1092:18 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1092:15:1092:18 | self | TRef | main.rs:1080:5:1080:24 | MyType | -| main.rs:1092:15:1092:18 | self | TRef.T | main.rs:1089:10:1089:17 | T | -| main.rs:1096:33:1096:36 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1096:33:1096:36 | item | TRef | main.rs:1096:20:1096:30 | T | -| main.rs:1097:9:1097:12 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1097:9:1097:12 | item | TRef | main.rs:1096:20:1096:30 | T | -| main.rs:1100:35:1100:38 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1100:35:1100:38 | item | TRef | main.rs:1100:21:1100:32 | T | -| main.rs:1100:93:1103:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1101:9:1101:12 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1101:9:1101:12 | item | TRef | main.rs:1100:21:1100:32 | T | -| main.rs:1101:9:1101:23 | item.insert(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1102:9:1102:12 | item | | {EXTERNAL LOCATION} | & | -| main.rs:1102:9:1102:12 | item | TRef | main.rs:1100:21:1100:32 | T | -| main.rs:1102:9:1102:31 | item.insert_two(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1105:15:1111:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1106:13:1106:17 | item1 | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1106:13:1106:17 | item1 | T | {EXTERNAL LOCATION} | i64 | -| main.rs:1106:21:1106:33 | MyType(...) | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1106:21:1106:33 | MyType(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:1106:28:1106:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1107:25:1107:29 | item1 | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1107:25:1107:29 | item1 | T | {EXTERNAL LOCATION} | i64 | -| main.rs:1109:13:1109:17 | item2 | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1109:13:1109:17 | item2 | T | {EXTERNAL LOCATION} | bool | -| main.rs:1109:21:1109:32 | MyType(...) | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1109:21:1109:32 | MyType(...) | T | {EXTERNAL LOCATION} | bool | -| main.rs:1109:28:1109:31 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1110:37:1110:42 | &item2 | | {EXTERNAL LOCATION} | & | -| main.rs:1110:37:1110:42 | &item2 | TRef | main.rs:1080:5:1080:24 | MyType | -| main.rs:1110:37:1110:42 | &item2 | TRef.T | {EXTERNAL LOCATION} | bool | -| main.rs:1110:38:1110:42 | item2 | | main.rs:1080:5:1080:24 | MyType | -| main.rs:1110:38:1110:42 | item2 | T | {EXTERNAL LOCATION} | bool | -| main.rs:1127:15:1127:18 | SelfParam | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1127:15:1127:18 | SelfParam | A | main.rs:1126:10:1126:10 | T | -| main.rs:1127:26:1132:9 | { ... } | | main.rs:1126:10:1126:10 | T | -| main.rs:1128:13:1131:13 | match self { ... } | | main.rs:1126:10:1126:10 | T | -| main.rs:1128:19:1128:22 | self | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1128:19:1128:22 | self | A | main.rs:1126:10:1126:10 | T | -| main.rs:1129:17:1129:29 | ...::C1(...) | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1129:17:1129:29 | ...::C1(...) | A | main.rs:1126:10:1126:10 | T | -| main.rs:1129:28:1129:28 | a | | main.rs:1126:10:1126:10 | T | -| main.rs:1129:34:1129:34 | a | | main.rs:1126:10:1126:10 | T | -| main.rs:1130:17:1130:32 | ...::C2 {...} | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1130:17:1130:32 | ...::C2 {...} | A | main.rs:1126:10:1126:10 | T | -| main.rs:1130:30:1130:30 | a | | main.rs:1126:10:1126:10 | T | -| main.rs:1130:37:1130:37 | a | | main.rs:1126:10:1126:10 | T | -| main.rs:1135:16:1141:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1136:13:1136:13 | x | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1136:13:1136:13 | x | A | main.rs:1121:5:1122:14 | S1 | -| main.rs:1136:17:1136:30 | ...::C1(...) | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1136:17:1136:30 | ...::C1(...) | A | main.rs:1121:5:1122:14 | S1 | -| main.rs:1136:28:1136:29 | S1 | | main.rs:1121:5:1122:14 | S1 | -| main.rs:1137:13:1137:13 | y | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1137:13:1137:13 | y | A | main.rs:1123:5:1124:14 | S2 | -| main.rs:1137:17:1137:36 | ...::C2 {...} | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1137:17:1137:36 | ...::C2 {...} | A | main.rs:1123:5:1124:14 | S2 | -| main.rs:1137:33:1137:34 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1139:18:1139:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1139:18:1139:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1139:18:1139:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1139:18:1139:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1139:26:1139:26 | x | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1139:26:1139:26 | x | A | main.rs:1121:5:1122:14 | S1 | -| main.rs:1139:26:1139:31 | x.m1() | | main.rs:1121:5:1122:14 | S1 | -| main.rs:1140:18:1140:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1140:18:1140:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1140:18:1140:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1140:18:1140:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1140:26:1140:26 | y | | main.rs:1115:5:1119:5 | MyEnum | -| main.rs:1140:26:1140:26 | y | A | main.rs:1123:5:1124:14 | S2 | -| main.rs:1140:26:1140:31 | y.m1() | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1162:15:1162:18 | SelfParam | | main.rs:1160:5:1163:5 | Self [trait MyTrait1] | -| main.rs:1167:15:1167:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1167:15:1167:19 | SelfParam | TRef | main.rs:1165:5:1177:5 | Self [trait MyTrait2] | -| main.rs:1170:9:1176:9 | { ... } | | main.rs:1165:20:1165:22 | Tr2 | -| main.rs:1171:13:1175:13 | if ... {...} else {...} | | main.rs:1165:20:1165:22 | Tr2 | -| main.rs:1171:16:1171:16 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1171:16:1171:20 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1171:20:1171:20 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1171:22:1173:13 | { ... } | | main.rs:1165:20:1165:22 | Tr2 | -| main.rs:1172:17:1172:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1172:17:1172:20 | self | TRef | main.rs:1165:5:1177:5 | Self [trait MyTrait2] | -| main.rs:1172:17:1172:25 | self.m1() | | main.rs:1165:20:1165:22 | Tr2 | -| main.rs:1173:20:1175:13 | { ... } | | main.rs:1165:20:1165:22 | Tr2 | -| main.rs:1174:17:1174:31 | ...::m1(...) | | main.rs:1165:20:1165:22 | Tr2 | -| main.rs:1174:26:1174:30 | * ... | | main.rs:1165:5:1177:5 | Self [trait MyTrait2] | -| main.rs:1174:27:1174:30 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1174:27:1174:30 | self | TRef | main.rs:1165:5:1177:5 | Self [trait MyTrait2] | -| main.rs:1181:15:1181:18 | SelfParam | | main.rs:1179:5:1191:5 | Self [trait MyTrait3] | -| main.rs:1184:9:1190:9 | { ... } | | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1185:13:1189:13 | if ... {...} else {...} | | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1185:16:1185:16 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1185:16:1185:20 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1185:20:1185:20 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1185:22:1187:13 | { ... } | | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1186:17:1186:20 | self | | main.rs:1179:5:1191:5 | Self [trait MyTrait3] | -| main.rs:1186:17:1186:25 | self.m2() | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1186:17:1186:25 | self.m2() | A | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1186:17:1186:27 | ... .a | | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1187:20:1189:13 | { ... } | | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1188:17:1188:31 | ...::m2(...) | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1188:17:1188:31 | ...::m2(...) | A | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1188:17:1188:33 | ... .a | | main.rs:1179:20:1179:22 | Tr3 | -| main.rs:1188:26:1188:30 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1188:26:1188:30 | &self | TRef | main.rs:1179:5:1191:5 | Self [trait MyTrait3] | -| main.rs:1188:27:1188:30 | self | | main.rs:1179:5:1191:5 | Self [trait MyTrait3] | -| main.rs:1195:15:1195:18 | SelfParam | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1195:15:1195:18 | SelfParam | A | main.rs:1193:10:1193:10 | T | -| main.rs:1195:26:1197:9 | { ... } | | main.rs:1193:10:1193:10 | T | -| main.rs:1196:13:1196:16 | self | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1196:13:1196:16 | self | A | main.rs:1193:10:1193:10 | T | -| main.rs:1196:13:1196:18 | self.a | | main.rs:1193:10:1193:10 | T | -| main.rs:1204:15:1204:18 | SelfParam | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1204:15:1204:18 | SelfParam | A | main.rs:1202:10:1202:10 | T | -| main.rs:1204:35:1206:9 | { ... } | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1204:35:1206:9 | { ... } | A | main.rs:1202:10:1202:10 | T | -| main.rs:1205:13:1205:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1205:13:1205:33 | MyThing {...} | A | main.rs:1202:10:1202:10 | T | -| main.rs:1205:26:1205:29 | self | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1205:26:1205:29 | self | A | main.rs:1202:10:1202:10 | T | -| main.rs:1205:26:1205:31 | self.a | | main.rs:1202:10:1202:10 | T | -| main.rs:1213:44:1213:44 | x | | main.rs:1213:26:1213:41 | T2 | -| main.rs:1213:57:1215:5 | { ... } | | main.rs:1213:22:1213:23 | T1 | -| main.rs:1214:9:1214:9 | x | | main.rs:1213:26:1213:41 | T2 | -| main.rs:1214:9:1214:14 | x.m1() | | main.rs:1213:22:1213:23 | T1 | -| main.rs:1217:56:1217:56 | x | | main.rs:1217:39:1217:53 | T | -| main.rs:1217:62:1221:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1219:13:1219:13 | a | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1219:13:1219:13 | a | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1219:17:1219:17 | x | | main.rs:1217:39:1217:53 | T | -| main.rs:1219:17:1219:22 | x.m1() | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1219:17:1219:22 | x.m1() | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1220:18:1220:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1220:18:1220:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1220:18:1220:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1220:18:1220:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1220:26:1220:26 | a | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1220:26:1220:26 | a | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1223:16:1247:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1224:13:1224:13 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1224:13:1224:13 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1224:17:1224:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1224:17:1224:33 | MyThing {...} | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1224:30:1224:31 | S1 | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1225:13:1225:13 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1225:13:1225:13 | y | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1225:17:1225:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1225:17:1225:33 | MyThing {...} | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1225:30:1225:31 | S2 | | main.rs:1157:5:1158:14 | S2 | +| main.rs:919:15:919:18 | SelfParam | | main.rs:907:5:911:5 | MyEnum | +| main.rs:919:15:919:18 | SelfParam | A | main.rs:918:10:918:10 | T | +| main.rs:919:26:924:9 | { ... } | | main.rs:918:10:918:10 | T | +| main.rs:920:13:923:13 | match self { ... } | | main.rs:918:10:918:10 | T | +| main.rs:920:19:920:22 | self | | main.rs:907:5:911:5 | MyEnum | +| main.rs:920:19:920:22 | self | A | main.rs:918:10:918:10 | T | +| main.rs:921:17:921:29 | ...::C1(...) | | main.rs:907:5:911:5 | MyEnum | +| main.rs:921:17:921:29 | ...::C1(...) | A | main.rs:918:10:918:10 | T | +| main.rs:921:28:921:28 | a | | main.rs:918:10:918:10 | T | +| main.rs:921:34:921:34 | a | | main.rs:918:10:918:10 | T | +| main.rs:922:17:922:32 | ...::C2 {...} | | main.rs:907:5:911:5 | MyEnum | +| main.rs:922:17:922:32 | ...::C2 {...} | A | main.rs:918:10:918:10 | T | +| main.rs:922:30:922:30 | a | | main.rs:918:10:918:10 | T | +| main.rs:922:37:922:37 | a | | main.rs:918:10:918:10 | T | +| main.rs:927:16:933:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:928:13:928:13 | x | | main.rs:907:5:911:5 | MyEnum | +| main.rs:928:13:928:13 | x | A | main.rs:913:5:914:14 | S1 | +| main.rs:928:17:928:30 | ...::C1(...) | | main.rs:907:5:911:5 | MyEnum | +| main.rs:928:17:928:30 | ...::C1(...) | A | main.rs:913:5:914:14 | S1 | +| main.rs:928:28:928:29 | S1 | | main.rs:913:5:914:14 | S1 | +| main.rs:929:13:929:13 | y | | main.rs:907:5:911:5 | MyEnum | +| main.rs:929:13:929:13 | y | A | main.rs:915:5:916:14 | S2 | +| main.rs:929:17:929:36 | ...::C2 {...} | | main.rs:907:5:911:5 | MyEnum | +| main.rs:929:17:929:36 | ...::C2 {...} | A | main.rs:915:5:916:14 | S2 | +| main.rs:929:33:929:34 | S2 | | main.rs:915:5:916:14 | S2 | +| main.rs:931:9:931:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:931:18:931:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:931:18:931:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:931:18:931:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:931:18:931:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:931:18:931:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:931:26:931:26 | x | | main.rs:907:5:911:5 | MyEnum | +| main.rs:931:26:931:26 | x | A | main.rs:913:5:914:14 | S1 | +| main.rs:931:26:931:31 | x.m1() | | main.rs:913:5:914:14 | S1 | +| main.rs:932:9:932:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:932:18:932:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:932:18:932:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:932:18:932:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:932:18:932:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:932:18:932:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:932:26:932:26 | y | | main.rs:907:5:911:5 | MyEnum | +| main.rs:932:26:932:26 | y | A | main.rs:915:5:916:14 | S2 | +| main.rs:932:26:932:31 | y.m1() | | main.rs:915:5:916:14 | S2 | +| main.rs:954:15:954:18 | SelfParam | | main.rs:952:5:955:5 | Self [trait MyTrait1] | +| main.rs:959:15:959:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:959:15:959:19 | SelfParam | TRef | main.rs:957:5:969:5 | Self [trait MyTrait2] | +| main.rs:962:9:968:9 | { ... } | | main.rs:957:20:957:22 | Tr2 | +| main.rs:963:13:967:13 | if ... {...} else {...} | | main.rs:957:20:957:22 | Tr2 | +| main.rs:963:16:963:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:963:16:963:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:963:20:963:20 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:963:22:965:13 | { ... } | | main.rs:957:20:957:22 | Tr2 | +| main.rs:964:17:964:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:964:17:964:20 | self | TRef | main.rs:957:5:969:5 | Self [trait MyTrait2] | +| main.rs:964:17:964:25 | self.m1() | | main.rs:957:20:957:22 | Tr2 | +| main.rs:965:20:967:13 | { ... } | | main.rs:957:20:957:22 | Tr2 | +| main.rs:966:17:966:31 | ...::m1(...) | | main.rs:957:20:957:22 | Tr2 | +| main.rs:966:26:966:30 | * ... | | main.rs:957:5:969:5 | Self [trait MyTrait2] | +| main.rs:966:27:966:30 | self | | {EXTERNAL LOCATION} | & | +| main.rs:966:27:966:30 | self | TRef | main.rs:957:5:969:5 | Self [trait MyTrait2] | +| main.rs:973:15:973:18 | SelfParam | | main.rs:971:5:983:5 | Self [trait MyTrait3] | +| main.rs:976:9:982:9 | { ... } | | main.rs:971:20:971:22 | Tr3 | +| main.rs:977:13:981:13 | if ... {...} else {...} | | main.rs:971:20:971:22 | Tr3 | +| main.rs:977:16:977:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:977:16:977:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:977:20:977:20 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:977:22:979:13 | { ... } | | main.rs:971:20:971:22 | Tr3 | +| main.rs:978:17:978:20 | self | | main.rs:971:5:983:5 | Self [trait MyTrait3] | +| main.rs:978:17:978:25 | self.m2() | | main.rs:937:5:940:5 | MyThing | +| main.rs:978:17:978:25 | self.m2() | A | main.rs:971:20:971:22 | Tr3 | +| main.rs:978:17:978:27 | ... .a | | main.rs:971:20:971:22 | Tr3 | +| main.rs:979:20:981:13 | { ... } | | main.rs:971:20:971:22 | Tr3 | +| main.rs:980:17:980:31 | ...::m2(...) | | main.rs:937:5:940:5 | MyThing | +| main.rs:980:17:980:31 | ...::m2(...) | A | main.rs:971:20:971:22 | Tr3 | +| main.rs:980:17:980:33 | ... .a | | main.rs:971:20:971:22 | Tr3 | +| main.rs:980:26:980:30 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:980:26:980:30 | &self | TRef | main.rs:971:5:983:5 | Self [trait MyTrait3] | +| main.rs:980:27:980:30 | self | | main.rs:971:5:983:5 | Self [trait MyTrait3] | +| main.rs:987:15:987:18 | SelfParam | | main.rs:937:5:940:5 | MyThing | +| main.rs:987:15:987:18 | SelfParam | A | main.rs:985:10:985:10 | T | +| main.rs:987:26:989:9 | { ... } | | main.rs:985:10:985:10 | T | +| main.rs:988:13:988:16 | self | | main.rs:937:5:940:5 | MyThing | +| main.rs:988:13:988:16 | self | A | main.rs:985:10:985:10 | T | +| main.rs:988:13:988:18 | self.a | | main.rs:985:10:985:10 | T | +| main.rs:996:15:996:18 | SelfParam | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:996:15:996:18 | SelfParam | A | main.rs:994:10:994:10 | T | +| main.rs:996:35:998:9 | { ... } | | main.rs:937:5:940:5 | MyThing | +| main.rs:996:35:998:9 | { ... } | A | main.rs:994:10:994:10 | T | +| main.rs:997:13:997:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:997:13:997:33 | MyThing {...} | A | main.rs:994:10:994:10 | T | +| main.rs:997:26:997:29 | self | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:997:26:997:29 | self | A | main.rs:994:10:994:10 | T | +| main.rs:997:26:997:31 | self.a | | main.rs:994:10:994:10 | T | +| main.rs:1005:44:1005:44 | x | | main.rs:1005:26:1005:41 | T2 | +| main.rs:1005:57:1007:5 | { ... } | | main.rs:1005:22:1005:23 | T1 | +| main.rs:1006:9:1006:9 | x | | main.rs:1005:26:1005:41 | T2 | +| main.rs:1006:9:1006:14 | x.m1() | | main.rs:1005:22:1005:23 | T1 | +| main.rs:1009:56:1009:56 | x | | main.rs:1009:39:1009:53 | T | +| main.rs:1009:62:1013:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1011:13:1011:13 | a | | main.rs:937:5:940:5 | MyThing | +| main.rs:1011:13:1011:13 | a | A | main.rs:947:5:948:14 | S1 | +| main.rs:1011:17:1011:17 | x | | main.rs:1009:39:1009:53 | T | +| main.rs:1011:17:1011:22 | x.m1() | | main.rs:937:5:940:5 | MyThing | +| main.rs:1011:17:1011:22 | x.m1() | A | main.rs:947:5:948:14 | S1 | +| main.rs:1012:9:1012:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1012:18:1012:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1012:18:1012:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1012:18:1012:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1012:18:1012:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1012:18:1012:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1012:26:1012:26 | a | | main.rs:937:5:940:5 | MyThing | +| main.rs:1012:26:1012:26 | a | A | main.rs:947:5:948:14 | S1 | +| main.rs:1015:16:1039:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1016:13:1016:13 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1016:13:1016:13 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1016:17:1016:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1016:17:1016:33 | MyThing {...} | A | main.rs:947:5:948:14 | S1 | +| main.rs:1016:30:1016:31 | S1 | | main.rs:947:5:948:14 | S1 | +| main.rs:1017:13:1017:13 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1017:13:1017:13 | y | A | main.rs:949:5:950:14 | S2 | +| main.rs:1017:17:1017:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1017:17:1017:33 | MyThing {...} | A | main.rs:949:5:950:14 | S2 | +| main.rs:1017:30:1017:31 | S2 | | main.rs:949:5:950:14 | S2 | +| main.rs:1019:9:1019:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1019:18:1019:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1019:18:1019:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1019:18:1019:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1019:18:1019:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1019:18:1019:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1019:26:1019:26 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1019:26:1019:26 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1019:26:1019:31 | x.m1() | | main.rs:947:5:948:14 | S1 | +| main.rs:1020:9:1020:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1020:18:1020:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1020:18:1020:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1020:18:1020:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1020:18:1020:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1020:18:1020:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1020:26:1020:26 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1020:26:1020:26 | y | A | main.rs:949:5:950:14 | S2 | +| main.rs:1020:26:1020:31 | y.m1() | | main.rs:949:5:950:14 | S2 | +| main.rs:1022:13:1022:13 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1022:13:1022:13 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1022:17:1022:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1022:17:1022:33 | MyThing {...} | A | main.rs:947:5:948:14 | S1 | +| main.rs:1022:30:1022:31 | S1 | | main.rs:947:5:948:14 | S1 | +| main.rs:1023:13:1023:13 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1023:13:1023:13 | y | A | main.rs:949:5:950:14 | S2 | +| main.rs:1023:17:1023:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1023:17:1023:33 | MyThing {...} | A | main.rs:949:5:950:14 | S2 | +| main.rs:1023:30:1023:31 | S2 | | main.rs:949:5:950:14 | S2 | +| main.rs:1025:9:1025:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1025:18:1025:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1025:18:1025:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1025:18:1025:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1025:18:1025:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1025:18:1025:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1025:26:1025:26 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1025:26:1025:26 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1025:26:1025:31 | x.m2() | | main.rs:947:5:948:14 | S1 | +| main.rs:1026:9:1026:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1026:18:1026:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1026:18:1026:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1026:18:1026:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1026:18:1026:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1026:18:1026:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1026:26:1026:26 | y | | main.rs:937:5:940:5 | MyThing | +| main.rs:1026:26:1026:26 | y | A | main.rs:949:5:950:14 | S2 | +| main.rs:1026:26:1026:31 | y.m2() | | main.rs:949:5:950:14 | S2 | +| main.rs:1028:13:1028:13 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1028:13:1028:13 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1028:17:1028:34 | MyThing2 {...} | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1028:17:1028:34 | MyThing2 {...} | A | main.rs:947:5:948:14 | S1 | +| main.rs:1028:31:1028:32 | S1 | | main.rs:947:5:948:14 | S1 | +| main.rs:1029:13:1029:13 | y | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1029:13:1029:13 | y | A | main.rs:949:5:950:14 | S2 | +| main.rs:1029:17:1029:34 | MyThing2 {...} | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1029:17:1029:34 | MyThing2 {...} | A | main.rs:949:5:950:14 | S2 | +| main.rs:1029:31:1029:32 | S2 | | main.rs:949:5:950:14 | S2 | +| main.rs:1031:9:1031:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1031:18:1031:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1031:18:1031:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1031:18:1031:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1031:18:1031:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1031:18:1031:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1031:26:1031:26 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1031:26:1031:26 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1031:26:1031:31 | x.m3() | | main.rs:947:5:948:14 | S1 | +| main.rs:1032:9:1032:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1032:18:1032:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1032:18:1032:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1032:26:1032:26 | y | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1032:26:1032:26 | y | A | main.rs:949:5:950:14 | S2 | +| main.rs:1032:26:1032:31 | y.m3() | | main.rs:949:5:950:14 | S2 | +| main.rs:1034:13:1034:13 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1034:13:1034:13 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1034:17:1034:33 | MyThing {...} | | main.rs:937:5:940:5 | MyThing | +| main.rs:1034:17:1034:33 | MyThing {...} | A | main.rs:947:5:948:14 | S1 | +| main.rs:1034:30:1034:31 | S1 | | main.rs:947:5:948:14 | S1 | +| main.rs:1035:13:1035:13 | s | | main.rs:947:5:948:14 | S1 | +| main.rs:1035:17:1035:32 | call_trait_m1(...) | | main.rs:947:5:948:14 | S1 | +| main.rs:1035:31:1035:31 | x | | main.rs:937:5:940:5 | MyThing | +| main.rs:1035:31:1035:31 | x | A | main.rs:947:5:948:14 | S1 | +| main.rs:1037:13:1037:13 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1037:13:1037:13 | x | A | main.rs:949:5:950:14 | S2 | +| main.rs:1037:17:1037:34 | MyThing2 {...} | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1037:17:1037:34 | MyThing2 {...} | A | main.rs:949:5:950:14 | S2 | +| main.rs:1037:31:1037:32 | S2 | | main.rs:949:5:950:14 | S2 | +| main.rs:1038:13:1038:13 | s | | main.rs:937:5:940:5 | MyThing | +| main.rs:1038:13:1038:13 | s | A | main.rs:949:5:950:14 | S2 | +| main.rs:1038:17:1038:32 | call_trait_m1(...) | | main.rs:937:5:940:5 | MyThing | +| main.rs:1038:17:1038:32 | call_trait_m1(...) | A | main.rs:949:5:950:14 | S2 | +| main.rs:1038:31:1038:31 | x | | main.rs:942:5:945:5 | MyThing2 | +| main.rs:1038:31:1038:31 | x | A | main.rs:949:5:950:14 | S2 | +| main.rs:1055:22:1055:22 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1055:22:1055:22 | x | TRef | main.rs:1055:11:1055:19 | T | +| main.rs:1055:35:1057:5 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1055:35:1057:5 | { ... } | TRef | main.rs:1055:11:1055:19 | T | +| main.rs:1056:9:1056:9 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1056:9:1056:9 | x | TRef | main.rs:1055:11:1055:19 | T | +| main.rs:1060:17:1060:20 | SelfParam | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1060:29:1062:9 | { ... } | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1061:13:1061:14 | S2 | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1065:21:1065:21 | x | | main.rs:1065:13:1065:14 | T1 | +| main.rs:1068:5:1070:5 | { ... } | | main.rs:1065:17:1065:18 | T2 | +| main.rs:1069:9:1069:9 | x | | main.rs:1065:13:1065:14 | T1 | +| main.rs:1069:9:1069:16 | x.into() | | main.rs:1065:17:1065:18 | T2 | +| main.rs:1072:16:1088:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1073:13:1073:13 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1073:17:1073:18 | S1 | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1074:9:1074:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1074:18:1074:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1074:18:1074:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1074:18:1074:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1074:18:1074:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1074:18:1074:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1074:26:1074:31 | id(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1074:26:1074:31 | id(...) | TRef | main.rs:1045:5:1046:14 | S1 | +| main.rs:1074:29:1074:30 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1074:29:1074:30 | &x | TRef | main.rs:1045:5:1046:14 | S1 | +| main.rs:1074:30:1074:30 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1076:13:1076:13 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1076:17:1076:18 | S1 | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1077:9:1077:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1077:18:1077:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1077:18:1077:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1077:18:1077:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1077:18:1077:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1077:18:1077:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1077:26:1077:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1077:26:1077:37 | id::<...>(...) | TRef | main.rs:1045:5:1046:14 | S1 | +| main.rs:1077:35:1077:36 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1077:35:1077:36 | &x | TRef | main.rs:1045:5:1046:14 | S1 | +| main.rs:1077:36:1077:36 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1079:13:1079:13 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1079:17:1079:18 | S1 | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1081:9:1081:45 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1081:18:1081:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1081:18:1081:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1081:18:1081:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1081:18:1081:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1081:18:1081:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1081:26:1081:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1081:26:1081:44 | id::<...>(...) | TRef | main.rs:1051:5:1051:25 | dyn Trait | +| main.rs:1081:42:1081:43 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1081:42:1081:43 | &x | TRef | main.rs:1045:5:1046:14 | S1 | +| main.rs:1081:43:1081:43 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1083:13:1083:13 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1083:17:1083:18 | S1 | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1084:9:1084:25 | into::<...>(...) | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1084:24:1084:24 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1086:13:1086:13 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1086:17:1086:18 | S1 | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1087:13:1087:13 | y | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1087:21:1087:27 | into(...) | | main.rs:1048:5:1049:14 | S2 | +| main.rs:1087:26:1087:26 | x | | main.rs:1045:5:1046:14 | S1 | +| main.rs:1101:22:1101:25 | SelfParam | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1101:22:1101:25 | SelfParam | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1101:22:1101:25 | SelfParam | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1101:35:1108:9 | { ... } | | main.rs:1100:15:1100:17 | Snd | +| main.rs:1102:13:1107:13 | match self { ... } | | file://:0:0:0:0 | ! | +| main.rs:1102:13:1107:13 | match self { ... } | | main.rs:1100:15:1100:17 | Snd | +| main.rs:1102:19:1102:22 | self | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1102:19:1102:22 | self | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1102:19:1102:22 | self | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1103:17:1103:38 | ...::PairNone(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1103:17:1103:38 | ...::PairNone(...) | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1103:17:1103:38 | ...::PairNone(...) | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1103:43:1103:82 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:1103:50:1103:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | +| main.rs:1103:50:1103:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1103:50:1103:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:1103:50:1103:81 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1103:50:1103:81 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1104:17:1104:38 | ...::PairFst(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1104:17:1104:38 | ...::PairFst(...) | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1104:17:1104:38 | ...::PairFst(...) | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1104:37:1104:37 | _ | | main.rs:1100:10:1100:12 | Fst | +| main.rs:1104:43:1104:81 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:1104:50:1104:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | +| main.rs:1104:50:1104:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1104:50:1104:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:1104:50:1104:80 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1104:50:1104:80 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1105:17:1105:40 | ...::PairSnd(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1105:17:1105:40 | ...::PairSnd(...) | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1105:17:1105:40 | ...::PairSnd(...) | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1105:37:1105:39 | snd | | main.rs:1100:15:1100:17 | Snd | +| main.rs:1105:45:1105:47 | snd | | main.rs:1100:15:1100:17 | Snd | +| main.rs:1106:17:1106:44 | ...::PairBoth(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1106:17:1106:44 | ...::PairBoth(...) | Fst | main.rs:1100:10:1100:12 | Fst | +| main.rs:1106:17:1106:44 | ...::PairBoth(...) | Snd | main.rs:1100:15:1100:17 | Snd | +| main.rs:1106:38:1106:38 | _ | | main.rs:1100:10:1100:12 | Fst | +| main.rs:1106:41:1106:43 | snd | | main.rs:1100:15:1100:17 | Snd | +| main.rs:1106:49:1106:51 | snd | | main.rs:1100:15:1100:17 | Snd | +| main.rs:1132:10:1132:10 | t | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1132:10:1132:10 | t | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1132:10:1132:10 | t | Snd | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1132:10:1132:10 | t | Snd.Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1132:10:1132:10 | t | Snd.Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1132:30:1135:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1133:13:1133:13 | x | | main.rs:1117:5:1118:14 | S3 | +| main.rs:1133:17:1133:17 | t | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1133:17:1133:17 | t | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1133:17:1133:17 | t | Snd | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1133:17:1133:17 | t | Snd.Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1133:17:1133:17 | t | Snd.Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1133:17:1133:29 | t.unwrapSnd() | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1133:17:1133:29 | t.unwrapSnd() | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1133:17:1133:29 | t.unwrapSnd() | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1133:17:1133:41 | ... .unwrapSnd() | | main.rs:1117:5:1118:14 | S3 | +| main.rs:1134:9:1134:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1134:18:1134:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1134:18:1134:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1134:18:1134:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1134:18:1134:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1134:18:1134:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1134:26:1134:26 | x | | main.rs:1117:5:1118:14 | S3 | +| main.rs:1145:16:1165:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1147:13:1147:14 | p1 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1147:13:1147:14 | p1 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1147:13:1147:14 | p1 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1147:26:1147:53 | ...::PairBoth(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1147:26:1147:53 | ...::PairBoth(...) | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1147:26:1147:53 | ...::PairBoth(...) | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1147:47:1147:48 | S1 | | main.rs:1111:5:1112:14 | S1 | +| main.rs:1147:51:1147:52 | S2 | | main.rs:1114:5:1115:14 | S2 | +| main.rs:1148:9:1148:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1148:18:1148:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1148:18:1148:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1148:18:1148:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1148:18:1148:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1148:18:1148:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1148:26:1148:27 | p1 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1148:26:1148:27 | p1 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1148:26:1148:27 | p1 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1151:13:1151:14 | p2 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1151:13:1151:14 | p2 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1151:13:1151:14 | p2 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1151:26:1151:47 | ...::PairNone(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1151:26:1151:47 | ...::PairNone(...) | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1151:26:1151:47 | ...::PairNone(...) | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1152:9:1152:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1152:18:1152:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1152:18:1152:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1152:18:1152:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1152:18:1152:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1152:18:1152:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1152:26:1152:27 | p2 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1152:26:1152:27 | p2 | Fst | main.rs:1111:5:1112:14 | S1 | +| main.rs:1152:26:1152:27 | p2 | Snd | main.rs:1114:5:1115:14 | S2 | +| main.rs:1155:13:1155:14 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1155:13:1155:14 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1155:13:1155:14 | p3 | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1155:34:1155:56 | ...::PairSnd(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1155:34:1155:56 | ...::PairSnd(...) | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1155:34:1155:56 | ...::PairSnd(...) | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1155:54:1155:55 | S3 | | main.rs:1117:5:1118:14 | S3 | +| main.rs:1156:9:1156:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1156:18:1156:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1156:18:1156:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1156:18:1156:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1156:18:1156:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1156:18:1156:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1156:26:1156:27 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1156:26:1156:27 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1156:26:1156:27 | p3 | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1159:13:1159:14 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1159:13:1159:14 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1159:13:1159:14 | p3 | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1159:35:1159:56 | ...::PairNone(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1159:35:1159:56 | ...::PairNone(...) | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1159:35:1159:56 | ...::PairNone(...) | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1160:9:1160:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1160:18:1160:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1160:18:1160:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1160:18:1160:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1160:18:1160:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1160:18:1160:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1160:26:1160:27 | p3 | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1160:26:1160:27 | p3 | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1160:26:1160:27 | p3 | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1162:9:1162:55 | g(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1162:11:1162:54 | ...::PairSnd(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1162:11:1162:54 | ...::PairSnd(...) | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1162:11:1162:54 | ...::PairSnd(...) | Snd | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1162:11:1162:54 | ...::PairSnd(...) | Snd.Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1162:11:1162:54 | ...::PairSnd(...) | Snd.Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1162:31:1162:53 | ...::PairSnd(...) | | main.rs:1092:5:1098:5 | PairOption | +| main.rs:1162:31:1162:53 | ...::PairSnd(...) | Fst | main.rs:1114:5:1115:14 | S2 | +| main.rs:1162:31:1162:53 | ...::PairSnd(...) | Snd | main.rs:1117:5:1118:14 | S3 | +| main.rs:1162:51:1162:52 | S3 | | main.rs:1117:5:1118:14 | S3 | +| main.rs:1164:13:1164:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1164:13:1164:13 | x | E | main.rs:1111:5:1112:14 | S1 | +| main.rs:1164:13:1164:13 | x | T | main.rs:1137:5:1137:34 | S4 | +| main.rs:1164:13:1164:13 | x | T.T41 | main.rs:1114:5:1115:14 | S2 | +| main.rs:1164:13:1164:13 | x | T.T42 | main.rs:1139:5:1139:22 | S5 | +| main.rs:1164:13:1164:13 | x | T.T42.T5 | main.rs:1114:5:1115:14 | S2 | +| main.rs:1177:16:1177:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1177:16:1177:24 | SelfParam | TRefMut | main.rs:1175:5:1182:5 | Self [trait MyTrait] | +| main.rs:1177:27:1177:31 | value | | main.rs:1175:19:1175:19 | S | +| main.rs:1179:21:1179:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1179:21:1179:29 | SelfParam | TRefMut | main.rs:1175:5:1182:5 | Self [trait MyTrait] | +| main.rs:1179:32:1179:36 | value | | main.rs:1175:19:1175:19 | S | +| main.rs:1179:42:1181:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1180:13:1180:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1180:13:1180:16 | self | TRefMut | main.rs:1175:5:1182:5 | Self [trait MyTrait] | +| main.rs:1180:13:1180:27 | self.set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1180:22:1180:26 | value | | main.rs:1175:19:1175:19 | S | +| main.rs:1186:16:1186:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1186:16:1186:24 | SelfParam | TRefMut | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1186:16:1186:24 | SelfParam | TRefMut.T | main.rs:1184:10:1184:10 | T | +| main.rs:1186:27:1186:31 | value | | main.rs:1184:10:1184:10 | T | +| main.rs:1186:37:1186:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1190:26:1192:9 | { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1190:26:1192:9 | { ... } | T | main.rs:1189:10:1189:10 | T | +| main.rs:1191:13:1191:30 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1191:13:1191:30 | ...::MyNone(...) | T | main.rs:1189:10:1189:10 | T | +| main.rs:1196:20:1196:23 | SelfParam | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1196:20:1196:23 | SelfParam | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1196:20:1196:23 | SelfParam | T.T | main.rs:1195:10:1195:10 | T | +| main.rs:1196:41:1201:9 | { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1196:41:1201:9 | { ... } | T | main.rs:1195:10:1195:10 | T | +| main.rs:1197:13:1200:13 | match self { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1197:13:1200:13 | match self { ... } | T | main.rs:1195:10:1195:10 | T | +| main.rs:1197:19:1197:22 | self | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1197:19:1197:22 | self | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1197:19:1197:22 | self | T.T | main.rs:1195:10:1195:10 | T | +| main.rs:1198:17:1198:34 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1198:17:1198:34 | ...::MyNone(...) | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1198:17:1198:34 | ...::MyNone(...) | T.T | main.rs:1195:10:1195:10 | T | +| main.rs:1198:39:1198:56 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1198:39:1198:56 | ...::MyNone(...) | T | main.rs:1195:10:1195:10 | T | +| main.rs:1199:17:1199:35 | ...::MySome(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1199:17:1199:35 | ...::MySome(...) | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1199:17:1199:35 | ...::MySome(...) | T.T | main.rs:1195:10:1195:10 | T | +| main.rs:1199:34:1199:34 | x | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1199:34:1199:34 | x | T | main.rs:1195:10:1195:10 | T | +| main.rs:1199:40:1199:40 | x | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1199:40:1199:40 | x | T | main.rs:1195:10:1195:10 | T | +| main.rs:1207:16:1252:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1208:13:1208:14 | x1 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1208:13:1208:14 | x1 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1208:18:1208:37 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1208:18:1208:37 | ...::new(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1209:9:1209:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1209:18:1209:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1209:18:1209:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1209:18:1209:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1209:18:1209:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1209:18:1209:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1209:26:1209:27 | x1 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1209:26:1209:27 | x1 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1211:17:1211:18 | x2 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1211:17:1211:18 | x2 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1211:22:1211:36 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1211:22:1211:36 | ...::new(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1212:9:1212:10 | x2 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1212:9:1212:10 | x2 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1212:9:1212:17 | x2.set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1212:16:1212:16 | S | | main.rs:1204:5:1205:13 | S | +| main.rs:1213:9:1213:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1213:18:1213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1213:18:1213:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1213:26:1213:27 | x2 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1213:26:1213:27 | x2 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1215:17:1215:18 | x3 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1215:17:1215:18 | x3 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1215:22:1215:36 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1215:22:1215:36 | ...::new(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1216:9:1216:10 | x3 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1216:9:1216:10 | x3 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1216:9:1216:22 | x3.call_set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1216:21:1216:21 | S | | main.rs:1204:5:1205:13 | S | +| main.rs:1217:9:1217:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1217:18:1217:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1217:18:1217:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1217:18:1217:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1217:18:1217:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1217:18:1217:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1217:26:1217:27 | x3 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1217:26:1217:27 | x3 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1219:17:1219:18 | x4 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1219:17:1219:18 | x4 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1219:22:1219:36 | ...::new(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1219:22:1219:36 | ...::new(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1220:9:1220:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1220:23:1220:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | +| main.rs:1220:23:1220:29 | &mut x4 | TRefMut | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1220:23:1220:29 | &mut x4 | TRefMut.T | main.rs:1204:5:1205:13 | S | +| main.rs:1220:28:1220:29 | x4 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1220:28:1220:29 | x4 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1220:32:1220:32 | S | | main.rs:1204:5:1205:13 | S | +| main.rs:1221:9:1221:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1221:18:1221:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1221:18:1221:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1221:18:1221:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1221:18:1221:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1221:18:1221:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1221:26:1221:27 | x4 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1221:26:1221:27 | x4 | T | main.rs:1204:5:1205:13 | S | +| main.rs:1223:13:1223:14 | x5 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1223:13:1223:14 | x5 | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1223:13:1223:14 | x5 | T.T | main.rs:1204:5:1205:13 | S | +| main.rs:1223:18:1223:58 | ...::MySome(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1223:18:1223:58 | ...::MySome(...) | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1223:18:1223:58 | ...::MySome(...) | T.T | main.rs:1204:5:1205:13 | S | +| main.rs:1223:35:1223:57 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1223:35:1223:57 | ...::MyNone(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1224:9:1224:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1224:18:1224:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1224:18:1224:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1224:26:1224:27 | x5 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1224:26:1224:27 | x5 | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1224:26:1224:27 | x5 | T.T | main.rs:1204:5:1205:13 | S | +| main.rs:1224:26:1224:37 | x5.flatten() | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1224:26:1224:37 | x5.flatten() | T | main.rs:1204:5:1205:13 | S | +| main.rs:1226:13:1226:14 | x6 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1226:13:1226:14 | x6 | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1226:13:1226:14 | x6 | T.T | main.rs:1204:5:1205:13 | S | +| main.rs:1226:18:1226:58 | ...::MySome(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1226:18:1226:58 | ...::MySome(...) | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1226:18:1226:58 | ...::MySome(...) | T.T | main.rs:1204:5:1205:13 | S | +| main.rs:1226:35:1226:57 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1226:35:1226:57 | ...::MyNone(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1227:9:1227:62 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:1227:18:1227:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1227:18:1227:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1227:18:1227:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1227:18:1227:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1227:26:1227:26 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1227:26:1227:26 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1227:26:1227:31 | x.m1() | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1228:18:1228:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1228:18:1228:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1228:18:1228:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1228:18:1228:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1228:26:1228:26 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1228:26:1228:26 | y | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1228:26:1228:31 | y.m1() | | main.rs:1157:5:1158:14 | S2 | -| main.rs:1230:13:1230:13 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1230:13:1230:13 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1230:17:1230:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1230:17:1230:33 | MyThing {...} | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1230:30:1230:31 | S1 | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1231:13:1231:13 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1231:13:1231:13 | y | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1231:17:1231:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1231:17:1231:33 | MyThing {...} | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1231:30:1231:31 | S2 | | main.rs:1157:5:1158:14 | S2 | -| main.rs:1233:18:1233:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1233:18:1233:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1233:18:1233:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1233:18:1233:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1233:26:1233:26 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1233:26:1233:26 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1233:26:1233:31 | x.m2() | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1234:18:1234:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1234:18:1234:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1234:18:1234:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1234:18:1234:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1234:26:1234:26 | y | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1234:26:1234:26 | y | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1234:26:1234:31 | y.m2() | | main.rs:1157:5:1158:14 | S2 | -| main.rs:1236:13:1236:13 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1236:13:1236:13 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1236:17:1236:34 | MyThing2 {...} | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1236:17:1236:34 | MyThing2 {...} | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1236:31:1236:32 | S1 | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1237:13:1237:13 | y | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1237:13:1237:13 | y | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1237:17:1237:34 | MyThing2 {...} | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1237:17:1237:34 | MyThing2 {...} | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1237:31:1237:32 | S2 | | main.rs:1157:5:1158:14 | S2 | -| main.rs:1239:18:1239:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1239:18:1239:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1239:18:1239:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1239:18:1239:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1239:26:1239:26 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1239:26:1239:26 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1239:26:1239:31 | x.m3() | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1240:18:1240:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1240:18:1240:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1240:18:1240:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1240:18:1240:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1240:26:1240:26 | y | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1240:26:1240:26 | y | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1240:26:1240:31 | y.m3() | | main.rs:1157:5:1158:14 | S2 | -| main.rs:1242:13:1242:13 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1242:13:1242:13 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1242:17:1242:33 | MyThing {...} | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1242:17:1242:33 | MyThing {...} | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1242:30:1242:31 | S1 | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1243:13:1243:13 | s | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1243:17:1243:32 | call_trait_m1(...) | | main.rs:1155:5:1156:14 | S1 | -| main.rs:1243:31:1243:31 | x | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1243:31:1243:31 | x | A | main.rs:1155:5:1156:14 | S1 | -| main.rs:1245:13:1245:13 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1245:13:1245:13 | x | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1245:17:1245:34 | MyThing2 {...} | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1245:17:1245:34 | MyThing2 {...} | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1245:31:1245:32 | S2 | | main.rs:1157:5:1158:14 | S2 | -| main.rs:1246:13:1246:13 | s | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1246:13:1246:13 | s | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1246:17:1246:32 | call_trait_m1(...) | | main.rs:1145:5:1148:5 | MyThing | -| main.rs:1246:17:1246:32 | call_trait_m1(...) | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1246:31:1246:31 | x | | main.rs:1150:5:1153:5 | MyThing2 | -| main.rs:1246:31:1246:31 | x | A | main.rs:1157:5:1158:14 | S2 | -| main.rs:1263:22:1263:22 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1263:22:1263:22 | x | TRef | main.rs:1263:11:1263:19 | T | -| main.rs:1263:35:1265:5 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1263:35:1265:5 | { ... } | TRef | main.rs:1263:11:1263:19 | T | -| main.rs:1264:9:1264:9 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1264:9:1264:9 | x | TRef | main.rs:1263:11:1263:19 | T | -| main.rs:1268:17:1268:20 | SelfParam | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1268:29:1270:9 | { ... } | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1269:13:1269:14 | S2 | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1273:21:1273:21 | x | | main.rs:1273:13:1273:14 | T1 | -| main.rs:1276:5:1278:5 | { ... } | | main.rs:1273:17:1273:18 | T2 | -| main.rs:1277:9:1277:9 | x | | main.rs:1273:13:1273:14 | T1 | -| main.rs:1277:9:1277:16 | x.into() | | main.rs:1273:17:1273:18 | T2 | -| main.rs:1280:16:1296:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1281:13:1281:13 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1281:17:1281:18 | S1 | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1282:18:1282:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1282:18:1282:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1282:18:1282:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1282:18:1282:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1282:26:1282:31 | id(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1282:26:1282:31 | id(...) | TRef | main.rs:1253:5:1254:14 | S1 | -| main.rs:1282:29:1282:30 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1282:29:1282:30 | &x | TRef | main.rs:1253:5:1254:14 | S1 | -| main.rs:1282:30:1282:30 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1284:13:1284:13 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1284:17:1284:18 | S1 | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1285:18:1285:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1285:18:1285:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1285:18:1285:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1285:18:1285:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1285:26:1285:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1285:26:1285:37 | id::<...>(...) | TRef | main.rs:1253:5:1254:14 | S1 | -| main.rs:1285:35:1285:36 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1285:35:1285:36 | &x | TRef | main.rs:1253:5:1254:14 | S1 | -| main.rs:1285:36:1285:36 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1287:13:1287:13 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1287:17:1287:18 | S1 | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1289:18:1289:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1289:18:1289:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1289:18:1289:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1289:18:1289:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1289:26:1289:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1289:26:1289:44 | id::<...>(...) | TRef | main.rs:1259:5:1259:25 | dyn Trait | -| main.rs:1289:42:1289:43 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1289:42:1289:43 | &x | TRef | main.rs:1253:5:1254:14 | S1 | -| main.rs:1289:43:1289:43 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1291:13:1291:13 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1291:17:1291:18 | S1 | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1292:9:1292:25 | into::<...>(...) | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1292:24:1292:24 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1294:13:1294:13 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1294:17:1294:18 | S1 | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1295:13:1295:13 | y | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1295:21:1295:27 | into(...) | | main.rs:1256:5:1257:14 | S2 | -| main.rs:1295:26:1295:26 | x | | main.rs:1253:5:1254:14 | S1 | -| main.rs:1309:22:1309:25 | SelfParam | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1309:22:1309:25 | SelfParam | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1309:22:1309:25 | SelfParam | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1309:35:1316:9 | { ... } | | main.rs:1308:15:1308:17 | Snd | -| main.rs:1310:13:1315:13 | match self { ... } | | file://:0:0:0:0 | ! | -| main.rs:1310:13:1315:13 | match self { ... } | | main.rs:1308:15:1308:17 | Snd | -| main.rs:1310:19:1310:22 | self | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1310:19:1310:22 | self | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1310:19:1310:22 | self | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1311:17:1311:38 | ...::PairNone(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1311:17:1311:38 | ...::PairNone(...) | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1311:17:1311:38 | ...::PairNone(...) | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1311:43:1311:82 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:1311:50:1311:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | -| main.rs:1311:50:1311:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1311:50:1311:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:1311:50:1311:81 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1311:50:1311:81 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1312:17:1312:38 | ...::PairFst(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1312:17:1312:38 | ...::PairFst(...) | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1312:17:1312:38 | ...::PairFst(...) | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1312:37:1312:37 | _ | | main.rs:1308:10:1308:12 | Fst | -| main.rs:1312:43:1312:81 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:1312:50:1312:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | -| main.rs:1312:50:1312:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1312:50:1312:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:1312:50:1312:80 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1312:50:1312:80 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1313:17:1313:40 | ...::PairSnd(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1313:17:1313:40 | ...::PairSnd(...) | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1313:17:1313:40 | ...::PairSnd(...) | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1313:37:1313:39 | snd | | main.rs:1308:15:1308:17 | Snd | -| main.rs:1313:45:1313:47 | snd | | main.rs:1308:15:1308:17 | Snd | -| main.rs:1314:17:1314:44 | ...::PairBoth(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1314:17:1314:44 | ...::PairBoth(...) | Fst | main.rs:1308:10:1308:12 | Fst | -| main.rs:1314:17:1314:44 | ...::PairBoth(...) | Snd | main.rs:1308:15:1308:17 | Snd | -| main.rs:1314:38:1314:38 | _ | | main.rs:1308:10:1308:12 | Fst | -| main.rs:1314:41:1314:43 | snd | | main.rs:1308:15:1308:17 | Snd | -| main.rs:1314:49:1314:51 | snd | | main.rs:1308:15:1308:17 | Snd | -| main.rs:1340:10:1340:10 | t | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1340:10:1340:10 | t | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1340:10:1340:10 | t | Snd | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1340:10:1340:10 | t | Snd.Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1340:10:1340:10 | t | Snd.Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1340:30:1343:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1341:13:1341:13 | x | | main.rs:1325:5:1326:14 | S3 | -| main.rs:1341:17:1341:17 | t | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1341:17:1341:17 | t | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1341:17:1341:17 | t | Snd | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1341:17:1341:17 | t | Snd.Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1341:17:1341:17 | t | Snd.Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1341:17:1341:29 | t.unwrapSnd() | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1341:17:1341:29 | t.unwrapSnd() | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1341:17:1341:29 | t.unwrapSnd() | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1341:17:1341:41 | ... .unwrapSnd() | | main.rs:1325:5:1326:14 | S3 | -| main.rs:1342:18:1342:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1342:18:1342:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1342:18:1342:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1342:18:1342:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1342:26:1342:26 | x | | main.rs:1325:5:1326:14 | S3 | -| main.rs:1357:22:1357:25 | SelfParam | | main.rs:1355:5:1358:5 | Self [trait TraitWithAssocType] | -| main.rs:1365:22:1365:25 | SelfParam | | main.rs:1353:5:1353:28 | GenS | -| main.rs:1365:22:1365:25 | SelfParam | GenT | main.rs:1360:10:1360:15 | Output | -| main.rs:1365:44:1367:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1365:44:1367:9 | { ... } | E | main.rs:1360:10:1360:15 | Output | -| main.rs:1365:44:1367:9 | { ... } | T | main.rs:1360:10:1360:15 | Output | -| main.rs:1366:13:1366:22 | Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1366:13:1366:22 | Ok(...) | E | main.rs:1360:10:1360:15 | Output | -| main.rs:1366:13:1366:22 | Ok(...) | T | main.rs:1360:10:1360:15 | Output | -| main.rs:1366:16:1366:19 | self | | main.rs:1353:5:1353:28 | GenS | -| main.rs:1366:16:1366:19 | self | GenT | main.rs:1360:10:1360:15 | Output | -| main.rs:1366:16:1366:21 | self.0 | | main.rs:1360:10:1360:15 | Output | -| main.rs:1370:16:1392:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1372:13:1372:14 | p1 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1372:13:1372:14 | p1 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1372:13:1372:14 | p1 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1372:26:1372:53 | ...::PairBoth(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1372:26:1372:53 | ...::PairBoth(...) | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1372:26:1372:53 | ...::PairBoth(...) | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1372:47:1372:48 | S1 | | main.rs:1319:5:1320:14 | S1 | -| main.rs:1372:51:1372:52 | S2 | | main.rs:1322:5:1323:14 | S2 | -| main.rs:1373:18:1373:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1373:18:1373:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1373:18:1373:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1373:18:1373:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1373:26:1373:27 | p1 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1373:26:1373:27 | p1 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1373:26:1373:27 | p1 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1376:13:1376:14 | p2 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1376:13:1376:14 | p2 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1376:13:1376:14 | p2 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1376:26:1376:47 | ...::PairNone(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1376:26:1376:47 | ...::PairNone(...) | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1376:26:1376:47 | ...::PairNone(...) | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1377:18:1377:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1377:18:1377:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1377:18:1377:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1377:18:1377:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1377:26:1377:27 | p2 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1377:26:1377:27 | p2 | Fst | main.rs:1319:5:1320:14 | S1 | -| main.rs:1377:26:1377:27 | p2 | Snd | main.rs:1322:5:1323:14 | S2 | -| main.rs:1380:13:1380:14 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1380:13:1380:14 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1380:13:1380:14 | p3 | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1380:34:1380:56 | ...::PairSnd(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1380:34:1380:56 | ...::PairSnd(...) | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1380:34:1380:56 | ...::PairSnd(...) | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1380:54:1380:55 | S3 | | main.rs:1325:5:1326:14 | S3 | -| main.rs:1381:18:1381:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1381:18:1381:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1381:18:1381:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1381:18:1381:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1381:26:1381:27 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1381:26:1381:27 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1381:26:1381:27 | p3 | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1384:13:1384:14 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1384:13:1384:14 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1384:13:1384:14 | p3 | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1384:35:1384:56 | ...::PairNone(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1384:35:1384:56 | ...::PairNone(...) | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1384:35:1384:56 | ...::PairNone(...) | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1385:18:1385:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1385:18:1385:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1385:18:1385:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1385:18:1385:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1385:26:1385:27 | p3 | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1385:26:1385:27 | p3 | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1385:26:1385:27 | p3 | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1387:9:1387:55 | g(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1387:11:1387:54 | ...::PairSnd(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1387:11:1387:54 | ...::PairSnd(...) | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1387:11:1387:54 | ...::PairSnd(...) | Snd | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1387:11:1387:54 | ...::PairSnd(...) | Snd.Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1387:11:1387:54 | ...::PairSnd(...) | Snd.Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1387:31:1387:53 | ...::PairSnd(...) | | main.rs:1300:5:1306:5 | PairOption | -| main.rs:1387:31:1387:53 | ...::PairSnd(...) | Fst | main.rs:1322:5:1323:14 | S2 | -| main.rs:1387:31:1387:53 | ...::PairSnd(...) | Snd | main.rs:1325:5:1326:14 | S3 | -| main.rs:1387:51:1387:52 | S3 | | main.rs:1325:5:1326:14 | S3 | -| main.rs:1389:13:1389:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1389:13:1389:13 | x | E | main.rs:1319:5:1320:14 | S1 | -| main.rs:1389:13:1389:13 | x | T | main.rs:1345:5:1345:34 | S4 | -| main.rs:1389:13:1389:13 | x | T.T41 | main.rs:1322:5:1323:14 | S2 | -| main.rs:1389:13:1389:13 | x | T.T42 | main.rs:1347:5:1347:22 | S5 | -| main.rs:1389:13:1389:13 | x | T.T42.T5 | main.rs:1322:5:1323:14 | S2 | -| main.rs:1391:13:1391:13 | y | | {EXTERNAL LOCATION} | Result | -| main.rs:1391:13:1391:13 | y | E | {EXTERNAL LOCATION} | bool | -| main.rs:1391:13:1391:13 | y | T | {EXTERNAL LOCATION} | bool | -| main.rs:1391:17:1391:26 | GenS(...) | | main.rs:1353:5:1353:28 | GenS | -| main.rs:1391:17:1391:26 | GenS(...) | GenT | {EXTERNAL LOCATION} | bool | -| main.rs:1391:17:1391:38 | ... .get_input() | | {EXTERNAL LOCATION} | Result | -| main.rs:1391:17:1391:38 | ... .get_input() | E | {EXTERNAL LOCATION} | bool | -| main.rs:1391:17:1391:38 | ... .get_input() | T | {EXTERNAL LOCATION} | bool | -| main.rs:1391:22:1391:25 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1404:16:1404:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1404:16:1404:24 | SelfParam | TRefMut | main.rs:1402:5:1409:5 | Self [trait MyTrait] | -| main.rs:1404:27:1404:31 | value | | main.rs:1402:19:1402:19 | S | -| main.rs:1406:21:1406:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1406:21:1406:29 | SelfParam | TRefMut | main.rs:1402:5:1409:5 | Self [trait MyTrait] | -| main.rs:1406:32:1406:36 | value | | main.rs:1402:19:1402:19 | S | -| main.rs:1406:42:1408:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1407:13:1407:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1407:13:1407:16 | self | TRefMut | main.rs:1402:5:1409:5 | Self [trait MyTrait] | -| main.rs:1407:13:1407:27 | self.set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1407:22:1407:26 | value | | main.rs:1402:19:1402:19 | S | -| main.rs:1413:16:1413:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1413:16:1413:24 | SelfParam | TRefMut | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1413:16:1413:24 | SelfParam | TRefMut.T | main.rs:1411:10:1411:10 | T | -| main.rs:1413:27:1413:31 | value | | main.rs:1411:10:1411:10 | T | -| main.rs:1413:37:1413:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1417:26:1419:9 | { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1417:26:1419:9 | { ... } | T | main.rs:1416:10:1416:10 | T | -| main.rs:1418:13:1418:30 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1418:13:1418:30 | ...::MyNone(...) | T | main.rs:1416:10:1416:10 | T | -| main.rs:1423:20:1423:23 | SelfParam | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1423:20:1423:23 | SelfParam | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1423:20:1423:23 | SelfParam | T.T | main.rs:1422:10:1422:10 | T | -| main.rs:1423:41:1428:9 | { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1423:41:1428:9 | { ... } | T | main.rs:1422:10:1422:10 | T | -| main.rs:1424:13:1427:13 | match self { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1424:13:1427:13 | match self { ... } | T | main.rs:1422:10:1422:10 | T | -| main.rs:1424:19:1424:22 | self | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1424:19:1424:22 | self | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1424:19:1424:22 | self | T.T | main.rs:1422:10:1422:10 | T | -| main.rs:1425:17:1425:34 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1425:17:1425:34 | ...::MyNone(...) | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1425:17:1425:34 | ...::MyNone(...) | T.T | main.rs:1422:10:1422:10 | T | -| main.rs:1425:39:1425:56 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1425:39:1425:56 | ...::MyNone(...) | T | main.rs:1422:10:1422:10 | T | -| main.rs:1426:17:1426:35 | ...::MySome(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1426:17:1426:35 | ...::MySome(...) | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1426:17:1426:35 | ...::MySome(...) | T.T | main.rs:1422:10:1422:10 | T | -| main.rs:1426:34:1426:34 | x | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1426:34:1426:34 | x | T | main.rs:1422:10:1422:10 | T | -| main.rs:1426:40:1426:40 | x | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1426:40:1426:40 | x | T | main.rs:1422:10:1422:10 | T | -| main.rs:1434:16:1479:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1435:13:1435:14 | x1 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1435:13:1435:14 | x1 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1435:18:1435:37 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1435:18:1435:37 | ...::new(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1436:18:1436:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1436:18:1436:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1436:18:1436:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1436:18:1436:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1436:26:1436:27 | x1 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1436:26:1436:27 | x1 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1438:17:1438:18 | x2 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1438:17:1438:18 | x2 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1438:22:1438:36 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1438:22:1438:36 | ...::new(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1439:9:1439:10 | x2 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1439:9:1439:10 | x2 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1439:9:1439:17 | x2.set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1439:16:1439:16 | S | | main.rs:1431:5:1432:13 | S | -| main.rs:1440:18:1440:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1440:18:1440:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1440:18:1440:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1440:18:1440:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1440:26:1440:27 | x2 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1440:26:1440:27 | x2 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1442:17:1442:18 | x3 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1442:17:1442:18 | x3 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1442:22:1442:36 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1442:22:1442:36 | ...::new(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1443:9:1443:10 | x3 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1443:9:1443:10 | x3 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1443:9:1443:22 | x3.call_set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1443:21:1443:21 | S | | main.rs:1431:5:1432:13 | S | -| main.rs:1444:18:1444:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1444:18:1444:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1444:18:1444:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1444:18:1444:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1444:26:1444:27 | x3 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1444:26:1444:27 | x3 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1446:17:1446:18 | x4 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1446:17:1446:18 | x4 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1446:22:1446:36 | ...::new(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1446:22:1446:36 | ...::new(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1447:9:1447:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1447:23:1447:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | -| main.rs:1447:23:1447:29 | &mut x4 | TRefMut | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1447:23:1447:29 | &mut x4 | TRefMut.T | main.rs:1431:5:1432:13 | S | -| main.rs:1447:28:1447:29 | x4 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1447:28:1447:29 | x4 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1447:32:1447:32 | S | | main.rs:1431:5:1432:13 | S | -| main.rs:1448:18:1448:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1448:18:1448:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1448:18:1448:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1448:18:1448:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1448:26:1448:27 | x4 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1448:26:1448:27 | x4 | T | main.rs:1431:5:1432:13 | S | -| main.rs:1450:13:1450:14 | x5 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1450:13:1450:14 | x5 | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1450:13:1450:14 | x5 | T.T | main.rs:1431:5:1432:13 | S | -| main.rs:1450:18:1450:58 | ...::MySome(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1450:18:1450:58 | ...::MySome(...) | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1450:18:1450:58 | ...::MySome(...) | T.T | main.rs:1431:5:1432:13 | S | -| main.rs:1450:35:1450:57 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1450:35:1450:57 | ...::MyNone(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1451:18:1451:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1451:18:1451:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1451:18:1451:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1451:18:1451:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1451:26:1451:27 | x5 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1451:26:1451:27 | x5 | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1451:26:1451:27 | x5 | T.T | main.rs:1431:5:1432:13 | S | -| main.rs:1451:26:1451:37 | x5.flatten() | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1451:26:1451:37 | x5.flatten() | T | main.rs:1431:5:1432:13 | S | -| main.rs:1453:13:1453:14 | x6 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1453:13:1453:14 | x6 | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1453:13:1453:14 | x6 | T.T | main.rs:1431:5:1432:13 | S | -| main.rs:1453:18:1453:58 | ...::MySome(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1453:18:1453:58 | ...::MySome(...) | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1453:18:1453:58 | ...::MySome(...) | T.T | main.rs:1431:5:1432:13 | S | -| main.rs:1453:35:1453:57 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1453:35:1453:57 | ...::MyNone(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1454:18:1454:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1454:18:1454:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1454:18:1454:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1454:18:1454:61 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1454:26:1454:61 | ...::flatten(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1454:26:1454:61 | ...::flatten(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1454:59:1454:60 | x6 | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1454:59:1454:60 | x6 | T | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1454:59:1454:60 | x6 | T.T | main.rs:1431:5:1432:13 | S | -| main.rs:1457:13:1457:19 | from_if | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1457:13:1457:19 | from_if | T | main.rs:1431:5:1432:13 | S | -| main.rs:1457:23:1461:9 | if ... {...} else {...} | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1457:23:1461:9 | if ... {...} else {...} | T | main.rs:1431:5:1432:13 | S | -| main.rs:1457:26:1457:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1457:26:1457:30 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1457:30:1457:30 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1457:32:1459:9 | { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1457:32:1459:9 | { ... } | T | main.rs:1431:5:1432:13 | S | -| main.rs:1458:13:1458:30 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1458:13:1458:30 | ...::MyNone(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1459:16:1461:9 | { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1459:16:1461:9 | { ... } | T | main.rs:1431:5:1432:13 | S | -| main.rs:1460:13:1460:31 | ...::MySome(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1460:13:1460:31 | ...::MySome(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1460:30:1460:30 | S | | main.rs:1431:5:1432:13 | S | -| main.rs:1462:18:1462:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1462:18:1462:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1462:18:1462:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1462:18:1462:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1462:26:1462:32 | from_if | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1462:26:1462:32 | from_if | T | main.rs:1431:5:1432:13 | S | -| main.rs:1465:13:1465:22 | from_match | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1465:13:1465:22 | from_match | T | main.rs:1431:5:1432:13 | S | -| main.rs:1465:26:1468:9 | match ... { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1465:26:1468:9 | match ... { ... } | T | main.rs:1431:5:1432:13 | S | -| main.rs:1465:32:1465:32 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1465:32:1465:36 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1465:36:1465:36 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1466:13:1466:16 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1466:21:1466:38 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1466:21:1466:38 | ...::MyNone(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1467:13:1467:17 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1467:22:1467:40 | ...::MySome(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1467:22:1467:40 | ...::MySome(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1467:39:1467:39 | S | | main.rs:1431:5:1432:13 | S | -| main.rs:1469:18:1469:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1469:18:1469:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1469:18:1469:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1469:18:1469:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1469:26:1469:35 | from_match | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1469:26:1469:35 | from_match | T | main.rs:1431:5:1432:13 | S | -| main.rs:1472:13:1472:21 | from_loop | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1472:13:1472:21 | from_loop | T | main.rs:1431:5:1432:13 | S | -| main.rs:1472:25:1477:9 | loop { ... } | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1472:25:1477:9 | loop { ... } | T | main.rs:1431:5:1432:13 | S | -| main.rs:1472:30:1477:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1473:13:1475:13 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1473:16:1473:16 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1473:16:1473:20 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1473:20:1473:20 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1473:22:1475:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1474:23:1474:40 | ...::MyNone(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1474:23:1474:40 | ...::MyNone(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1476:19:1476:37 | ...::MySome(...) | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1476:19:1476:37 | ...::MySome(...) | T | main.rs:1431:5:1432:13 | S | -| main.rs:1476:36:1476:36 | S | | main.rs:1431:5:1432:13 | S | -| main.rs:1478:18:1478:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1478:18:1478:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1478:18:1478:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1478:18:1478:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1478:26:1478:34 | from_loop | | main.rs:1396:5:1400:5 | MyOption | -| main.rs:1478:26:1478:34 | from_loop | T | main.rs:1431:5:1432:13 | S | -| main.rs:1496:15:1496:18 | SelfParam | | main.rs:1484:5:1485:19 | S | -| main.rs:1496:15:1496:18 | SelfParam | T | main.rs:1495:10:1495:10 | T | -| main.rs:1496:26:1498:9 | { ... } | | main.rs:1495:10:1495:10 | T | -| main.rs:1497:13:1497:16 | self | | main.rs:1484:5:1485:19 | S | -| main.rs:1497:13:1497:16 | self | T | main.rs:1495:10:1495:10 | T | -| main.rs:1497:13:1497:18 | self.0 | | main.rs:1495:10:1495:10 | T | -| main.rs:1500:15:1500:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1500:15:1500:19 | SelfParam | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1500:15:1500:19 | SelfParam | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1500:28:1502:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1500:28:1502:9 | { ... } | TRef | main.rs:1495:10:1495:10 | T | -| main.rs:1501:13:1501:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1501:13:1501:19 | &... | TRef | main.rs:1495:10:1495:10 | T | -| main.rs:1501:14:1501:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1501:14:1501:17 | self | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1501:14:1501:17 | self | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1501:14:1501:19 | self.0 | | main.rs:1495:10:1495:10 | T | -| main.rs:1504:15:1504:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1504:15:1504:25 | SelfParam | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1504:15:1504:25 | SelfParam | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1504:34:1506:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1504:34:1506:9 | { ... } | TRef | main.rs:1495:10:1495:10 | T | -| main.rs:1505:13:1505:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1505:13:1505:19 | &... | TRef | main.rs:1495:10:1495:10 | T | -| main.rs:1505:14:1505:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1505:14:1505:17 | self | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1505:14:1505:17 | self | TRef.T | main.rs:1495:10:1495:10 | T | -| main.rs:1505:14:1505:19 | self.0 | | main.rs:1495:10:1495:10 | T | -| main.rs:1510:29:1510:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1510:29:1510:33 | SelfParam | TRef | main.rs:1509:5:1512:5 | Self [trait ATrait] | -| main.rs:1511:33:1511:36 | SelfParam | | main.rs:1509:5:1512:5 | Self [trait ATrait] | -| main.rs:1517:29:1517:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1517:29:1517:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1517:29:1517:33 | SelfParam | TRef.TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1517:43:1519:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1518:13:1518:22 | (...) | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1518:13:1518:24 | ... .a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1518:14:1518:21 | * ... | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1518:15:1518:21 | (...) | | {EXTERNAL LOCATION} | & | -| main.rs:1518:15:1518:21 | (...) | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1518:16:1518:20 | * ... | | {EXTERNAL LOCATION} | & | -| main.rs:1518:16:1518:20 | * ... | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1518:17:1518:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1518:17:1518:20 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1518:17:1518:20 | self | TRef.TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1522:33:1522:36 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1522:33:1522:36 | SelfParam | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1522:46:1524:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1523:13:1523:19 | (...) | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1523:13:1523:21 | ... .a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1523:14:1523:18 | * ... | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1523:15:1523:18 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1523:15:1523:18 | self | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1527:16:1577:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1528:13:1528:14 | x1 | | main.rs:1484:5:1485:19 | S | -| main.rs:1528:13:1528:14 | x1 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1528:18:1528:22 | S(...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1528:18:1528:22 | S(...) | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1528:20:1528:21 | S2 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1529:18:1529:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1529:18:1529:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1529:18:1529:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1529:18:1529:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1529:26:1529:27 | x1 | | main.rs:1484:5:1485:19 | S | -| main.rs:1529:26:1529:27 | x1 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1529:26:1529:32 | x1.m1() | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1531:13:1531:14 | x2 | | main.rs:1484:5:1485:19 | S | -| main.rs:1531:13:1531:14 | x2 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1531:18:1531:22 | S(...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1531:18:1531:22 | S(...) | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1531:20:1531:21 | S2 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1533:18:1533:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1533:18:1533:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1533:18:1533:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1533:18:1533:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1533:26:1533:27 | x2 | | main.rs:1484:5:1485:19 | S | -| main.rs:1533:26:1533:27 | x2 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1533:26:1533:32 | x2.m2() | | {EXTERNAL LOCATION} | & | -| main.rs:1533:26:1533:32 | x2.m2() | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1534:18:1534:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1534:18:1534:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1534:18:1534:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1534:18:1534:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1534:26:1534:27 | x2 | | main.rs:1484:5:1485:19 | S | -| main.rs:1534:26:1534:27 | x2 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1534:26:1534:32 | x2.m3() | | {EXTERNAL LOCATION} | & | -| main.rs:1534:26:1534:32 | x2.m3() | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1536:13:1536:14 | x3 | | main.rs:1484:5:1485:19 | S | -| main.rs:1536:13:1536:14 | x3 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1536:18:1536:22 | S(...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1536:18:1536:22 | S(...) | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1536:20:1536:21 | S2 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1538:18:1538:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1538:18:1538:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1538:18:1538:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1538:18:1538:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1538:26:1538:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1538:26:1538:41 | ...::m2(...) | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1538:38:1538:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1538:38:1538:40 | &x3 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1538:38:1538:40 | &x3 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1538:39:1538:40 | x3 | | main.rs:1484:5:1485:19 | S | -| main.rs:1538:39:1538:40 | x3 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1539:18:1539:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1539:18:1539:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1539:18:1539:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1539:18:1539:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1539:26:1539:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1539:26:1539:41 | ...::m3(...) | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1539:38:1539:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1539:38:1539:40 | &x3 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1539:38:1539:40 | &x3 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1539:39:1539:40 | x3 | | main.rs:1484:5:1485:19 | S | -| main.rs:1539:39:1539:40 | x3 | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1541:13:1541:14 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1541:13:1541:14 | x4 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1541:13:1541:14 | x4 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1541:18:1541:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1541:18:1541:23 | &... | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1541:18:1541:23 | &... | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1541:19:1541:23 | S(...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1541:19:1541:23 | S(...) | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1541:21:1541:22 | S2 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1543:18:1543:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1543:18:1543:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1543:18:1543:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1543:18:1543:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1543:26:1543:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1543:26:1543:27 | x4 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1543:26:1543:27 | x4 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1543:26:1543:32 | x4.m2() | | {EXTERNAL LOCATION} | & | -| main.rs:1543:26:1543:32 | x4.m2() | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1544:18:1544:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1544:18:1544:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1544:18:1544:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1544:18:1544:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1544:26:1544:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1544:26:1544:27 | x4 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1544:26:1544:27 | x4 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1544:26:1544:32 | x4.m3() | | {EXTERNAL LOCATION} | & | -| main.rs:1544:26:1544:32 | x4.m3() | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1546:13:1546:14 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1546:13:1546:14 | x5 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1546:13:1546:14 | x5 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1546:18:1546:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1546:18:1546:23 | &... | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1546:18:1546:23 | &... | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1546:19:1546:23 | S(...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1546:19:1546:23 | S(...) | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1546:21:1546:22 | S2 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1548:18:1548:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1548:18:1548:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1548:18:1548:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1548:18:1548:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1548:26:1548:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1548:26:1548:27 | x5 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1548:26:1548:27 | x5 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1548:26:1548:32 | x5.m1() | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1549:18:1549:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1549:18:1549:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1549:18:1549:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1549:18:1549:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1549:26:1549:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1549:26:1549:27 | x5 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1549:26:1549:27 | x5 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1549:26:1549:29 | x5.0 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1551:13:1551:14 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1551:13:1551:14 | x6 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1551:13:1551:14 | x6 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1551:18:1551:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1551:18:1551:23 | &... | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1551:18:1551:23 | &... | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1551:19:1551:23 | S(...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1551:19:1551:23 | S(...) | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1551:21:1551:22 | S2 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1554:18:1554:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1554:18:1554:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1554:18:1554:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1554:18:1554:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1554:26:1554:30 | (...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1554:26:1554:30 | (...) | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1554:26:1554:35 | ... .m1() | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1554:27:1554:29 | * ... | | main.rs:1484:5:1485:19 | S | -| main.rs:1554:27:1554:29 | * ... | T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1554:28:1554:29 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1554:28:1554:29 | x6 | TRef | main.rs:1484:5:1485:19 | S | -| main.rs:1554:28:1554:29 | x6 | TRef.T | main.rs:1487:5:1488:14 | S2 | -| main.rs:1556:13:1556:14 | x7 | | main.rs:1484:5:1485:19 | S | -| main.rs:1556:13:1556:14 | x7 | T | {EXTERNAL LOCATION} | & | -| main.rs:1556:13:1556:14 | x7 | T.TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1556:18:1556:23 | S(...) | | main.rs:1484:5:1485:19 | S | -| main.rs:1556:18:1556:23 | S(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:1556:18:1556:23 | S(...) | T.TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1556:20:1556:22 | &S2 | | {EXTERNAL LOCATION} | & | -| main.rs:1556:20:1556:22 | &S2 | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1556:21:1556:22 | S2 | | main.rs:1487:5:1488:14 | S2 | -| main.rs:1559:13:1559:13 | t | | {EXTERNAL LOCATION} | & | -| main.rs:1559:13:1559:13 | t | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1559:17:1559:18 | x7 | | main.rs:1484:5:1485:19 | S | -| main.rs:1559:17:1559:18 | x7 | T | {EXTERNAL LOCATION} | & | -| main.rs:1559:17:1559:18 | x7 | T.TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1559:17:1559:23 | x7.m1() | | {EXTERNAL LOCATION} | & | -| main.rs:1559:17:1559:23 | x7.m1() | TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1560:18:1560:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1560:18:1560:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1560:18:1560:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1560:18:1560:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1560:26:1560:27 | x7 | | main.rs:1484:5:1485:19 | S | -| main.rs:1560:26:1560:27 | x7 | T | {EXTERNAL LOCATION} | & | -| main.rs:1560:26:1560:27 | x7 | T.TRef | main.rs:1487:5:1488:14 | S2 | -| main.rs:1562:13:1562:14 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1562:26:1562:32 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1562:26:1562:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1562:26:1562:44 | "Hello".to_string() | | {EXTERNAL LOCATION} | String | -| main.rs:1566:13:1566:13 | u | | {EXTERNAL LOCATION} | Result | -| main.rs:1566:13:1566:13 | u | T | {EXTERNAL LOCATION} | u32 | -| main.rs:1566:17:1566:18 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1566:17:1566:33 | x9.parse() | | {EXTERNAL LOCATION} | Result | -| main.rs:1566:17:1566:33 | x9.parse() | T | {EXTERNAL LOCATION} | u32 | -| main.rs:1568:13:1568:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1568:13:1568:20 | my_thing | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1568:24:1568:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1568:24:1568:39 | &... | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1568:25:1568:39 | MyInt {...} | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1568:36:1568:37 | 37 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1570:13:1570:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1570:17:1570:24 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1570:17:1570:24 | my_thing | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1570:17:1570:43 | my_thing.method_on_borrow() | | {EXTERNAL LOCATION} | i64 | -| main.rs:1571:18:1571:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1571:18:1571:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1571:18:1571:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1571:18:1571:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1571:26:1571:26 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1574:13:1574:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1574:13:1574:20 | my_thing | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1574:24:1574:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1574:24:1574:39 | &... | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1574:25:1574:39 | MyInt {...} | | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1574:36:1574:37 | 38 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1575:13:1575:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1575:17:1575:24 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1575:17:1575:24 | my_thing | TRef | main.rs:1490:5:1493:5 | MyInt | -| main.rs:1575:17:1575:47 | my_thing.method_not_on_borrow() | | {EXTERNAL LOCATION} | i64 | -| main.rs:1576:18:1576:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1576:18:1576:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1576:18:1576:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1576:18:1576:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1576:26:1576:26 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1583:16:1583:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1583:16:1583:20 | SelfParam | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1586:16:1586:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1586:16:1586:20 | SelfParam | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1586:32:1588:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1586:32:1588:9 | { ... } | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1587:13:1587:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1587:13:1587:16 | self | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1587:13:1587:22 | self.foo() | | {EXTERNAL LOCATION} | & | -| main.rs:1587:13:1587:22 | self.foo() | TRef | main.rs:1581:5:1589:5 | Self [trait MyTrait] | -| main.rs:1595:16:1595:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1595:16:1595:20 | SelfParam | TRef | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1595:36:1597:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1595:36:1597:9 | { ... } | TRef | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1596:13:1596:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1596:13:1596:16 | self | TRef | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1600:16:1603:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1601:13:1601:13 | x | | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1601:17:1601:24 | MyStruct | | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1602:9:1602:9 | x | | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1602:9:1602:15 | x.bar() | | {EXTERNAL LOCATION} | & | -| main.rs:1602:9:1602:15 | x.bar() | TRef | main.rs:1591:5:1591:20 | MyStruct | -| main.rs:1612:16:1612:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1612:16:1612:20 | SelfParam | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1612:16:1612:20 | SelfParam | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1612:32:1614:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1612:32:1614:9 | { ... } | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1612:32:1614:9 | { ... } | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1613:13:1613:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1613:13:1613:16 | self | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1613:13:1613:16 | self | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1616:16:1616:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1616:16:1616:20 | SelfParam | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1616:16:1616:20 | SelfParam | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1616:23:1616:23 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1616:23:1616:23 | x | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1616:23:1616:23 | x | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1616:42:1618:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1616:42:1618:9 | { ... } | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1616:42:1618:9 | { ... } | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1617:13:1617:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1617:13:1617:16 | self | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1617:13:1617:16 | self | TRef.T | main.rs:1611:10:1611:10 | T | -| main.rs:1621:16:1627:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1622:13:1622:13 | x | | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1622:13:1622:13 | x | T | main.rs:1607:5:1607:13 | S | -| main.rs:1622:17:1622:27 | MyStruct(...) | | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1622:17:1622:27 | MyStruct(...) | T | main.rs:1607:5:1607:13 | S | -| main.rs:1622:26:1622:26 | S | | main.rs:1607:5:1607:13 | S | -| main.rs:1623:9:1623:9 | x | | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1623:9:1623:9 | x | T | main.rs:1607:5:1607:13 | S | -| main.rs:1623:9:1623:15 | x.foo() | | {EXTERNAL LOCATION} | & | -| main.rs:1623:9:1623:15 | x.foo() | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1623:9:1623:15 | x.foo() | TRef.T | main.rs:1607:5:1607:13 | S | -| main.rs:1624:13:1624:13 | x | | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1624:13:1624:13 | x | T | main.rs:1607:5:1607:13 | S | -| main.rs:1624:17:1624:27 | MyStruct(...) | | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1624:17:1624:27 | MyStruct(...) | T | main.rs:1607:5:1607:13 | S | -| main.rs:1624:26:1624:26 | S | | main.rs:1607:5:1607:13 | S | -| main.rs:1626:9:1626:9 | x | | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1626:9:1626:9 | x | T | main.rs:1607:5:1607:13 | S | -| main.rs:1626:9:1626:18 | x.bar(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1626:9:1626:18 | x.bar(...) | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1626:9:1626:18 | x.bar(...) | TRef.T | main.rs:1607:5:1607:13 | S | -| main.rs:1626:15:1626:17 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1626:15:1626:17 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1626:15:1626:17 | &... | TRef.TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1626:15:1626:17 | &... | TRef.TRef.T | main.rs:1607:5:1607:13 | S | -| main.rs:1626:16:1626:17 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1626:16:1626:17 | &x | TRef | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1626:16:1626:17 | &x | TRef.T | main.rs:1607:5:1607:13 | S | -| main.rs:1626:17:1626:17 | x | | main.rs:1609:5:1609:26 | MyStruct | -| main.rs:1626:17:1626:17 | x | T | main.rs:1607:5:1607:13 | S | -| main.rs:1637:17:1637:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1637:17:1637:25 | SelfParam | TRefMut | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1637:28:1639:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1638:13:1638:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1638:13:1638:16 | self | TRefMut | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1638:13:1638:21 | self.bool | | {EXTERNAL LOCATION} | bool | -| main.rs:1638:13:1638:34 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:1638:25:1638:34 | ! ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1638:26:1638:29 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1638:26:1638:29 | self | TRefMut | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1638:26:1638:34 | self.bool | | {EXTERNAL LOCATION} | bool | -| main.rs:1645:15:1645:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1645:15:1645:19 | SelfParam | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1645:31:1647:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1645:31:1647:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1646:13:1646:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1646:13:1646:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1646:13:1646:19 | &... | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1646:13:1646:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1646:13:1646:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1646:13:1646:19 | &... | TRef.TRef.TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1646:14:1646:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1646:14:1646:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1646:14:1646:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1646:14:1646:19 | &... | TRef.TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1646:15:1646:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1646:15:1646:19 | &self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1646:15:1646:19 | &self | TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1646:16:1646:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1646:16:1646:19 | self | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1649:15:1649:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1649:15:1649:25 | SelfParam | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1649:37:1651:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1649:37:1651:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1650:13:1650:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1650:13:1650:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1650:13:1650:19 | &... | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1650:13:1650:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1650:13:1650:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1650:13:1650:19 | &... | TRef.TRef.TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1650:14:1650:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1650:14:1650:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1650:14:1650:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1650:14:1650:19 | &... | TRef.TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1650:15:1650:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1650:15:1650:19 | &self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1650:15:1650:19 | &self | TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1650:16:1650:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1650:16:1650:19 | self | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1653:15:1653:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1653:15:1653:15 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1653:34:1655:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1653:34:1655:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1654:13:1654:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1654:13:1654:13 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1657:15:1657:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1657:15:1657:15 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1657:34:1659:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1657:34:1659:9 | { ... } | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1658:13:1658:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1658:13:1658:16 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1658:13:1658:16 | &... | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1658:13:1658:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1658:13:1658:16 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1658:13:1658:16 | &... | TRef.TRef.TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1658:14:1658:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1658:14:1658:16 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1658:14:1658:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1658:14:1658:16 | &... | TRef.TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1658:15:1658:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1658:15:1658:16 | &x | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1658:15:1658:16 | &x | TRef.TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1658:16:1658:16 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1658:16:1658:16 | x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1662:16:1675:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1663:13:1663:13 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1663:17:1663:20 | S {...} | | main.rs:1642:5:1642:13 | S | -| main.rs:1664:9:1664:9 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1664:9:1664:14 | x.f1() | | {EXTERNAL LOCATION} | & | -| main.rs:1664:9:1664:14 | x.f1() | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1665:9:1665:9 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1665:9:1665:14 | x.f2() | | {EXTERNAL LOCATION} | & | -| main.rs:1665:9:1665:14 | x.f2() | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1666:9:1666:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1666:9:1666:17 | ...::f3(...) | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1666:15:1666:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1666:15:1666:16 | &x | TRef | main.rs:1642:5:1642:13 | S | -| main.rs:1666:16:1666:16 | x | | main.rs:1642:5:1642:13 | S | -| main.rs:1668:13:1668:13 | n | | {EXTERNAL LOCATION} | bool | -| main.rs:1668:17:1668:24 | * ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1668:18:1668:24 | * ... | | {EXTERNAL LOCATION} | & | -| main.rs:1668:18:1668:24 | * ... | TRef | {EXTERNAL LOCATION} | bool | -| main.rs:1668:19:1668:24 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1668:19:1668:24 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1668:19:1668:24 | &... | TRef.TRef | {EXTERNAL LOCATION} | bool | -| main.rs:1668:20:1668:24 | &true | | {EXTERNAL LOCATION} | & | -| main.rs:1668:20:1668:24 | &true | TRef | {EXTERNAL LOCATION} | bool | -| main.rs:1668:21:1668:24 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1672:17:1672:20 | flag | | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1672:24:1672:41 | ...::default(...) | | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1673:9:1673:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1673:22:1673:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | -| main.rs:1673:22:1673:30 | &mut flag | TRefMut | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1673:27:1673:30 | flag | | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1674:18:1674:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1674:18:1674:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1674:18:1674:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1674:18:1674:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1674:26:1674:29 | flag | | main.rs:1631:5:1634:5 | MyFlag | -| main.rs:1689:43:1692:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1689:43:1692:5 | { ... } | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1689:43:1692:5 | { ... } | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1690:13:1690:13 | x | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1690:17:1690:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1690:17:1690:30 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1690:17:1690:31 | TryExpr | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1690:28:1690:29 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1691:9:1691:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1691:9:1691:22 | ...::Ok(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1691:9:1691:22 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1691:20:1691:21 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1696:46:1700:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1696:46:1700:5 | { ... } | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1696:46:1700:5 | { ... } | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1697:13:1697:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1697:13:1697:13 | x | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1697:17:1697:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1697:17:1697:30 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1697:28:1697:29 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1698:13:1698:13 | y | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1698:17:1698:17 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1698:17:1698:17 | x | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1698:17:1698:18 | TryExpr | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1699:9:1699:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1699:9:1699:22 | ...::Ok(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1699:9:1699:22 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1699:20:1699:21 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1704:40:1709:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1704:40:1709:5 | { ... } | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1704:40:1709:5 | { ... } | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1705:13:1705:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1705:13:1705:13 | x | T | {EXTERNAL LOCATION} | Result | -| main.rs:1705:13:1705:13 | x | T.T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1705:17:1705:42 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1705:17:1705:42 | ...::Ok(...) | T | {EXTERNAL LOCATION} | Result | -| main.rs:1705:17:1705:42 | ...::Ok(...) | T.T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1705:28:1705:41 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1705:28:1705:41 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1705:39:1705:40 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1707:17:1707:17 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1707:17:1707:17 | x | T | {EXTERNAL LOCATION} | Result | -| main.rs:1707:17:1707:17 | x | T.T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1707:17:1707:18 | TryExpr | | {EXTERNAL LOCATION} | Result | -| main.rs:1707:17:1707:18 | TryExpr | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1707:17:1707:29 | ... .map(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1707:24:1707:28 | \|...\| s | | {EXTERNAL LOCATION} | dyn FnOnce | -| main.rs:1707:24:1707:28 | \|...\| s | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| main.rs:1708:9:1708:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1708:9:1708:22 | ...::Ok(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1708:9:1708:22 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1708:20:1708:21 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1713:30:1713:34 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1713:30:1713:34 | input | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1713:30:1713:34 | input | T | main.rs:1713:20:1713:27 | T | -| main.rs:1713:69:1720:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1713:69:1720:5 | { ... } | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1713:69:1720:5 | { ... } | T | main.rs:1713:20:1713:27 | T | -| main.rs:1714:13:1714:17 | value | | main.rs:1713:20:1713:27 | T | -| main.rs:1714:21:1714:25 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1714:21:1714:25 | input | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1714:21:1714:25 | input | T | main.rs:1713:20:1713:27 | T | -| main.rs:1714:21:1714:26 | TryExpr | | main.rs:1713:20:1713:27 | T | -| main.rs:1715:22:1715:38 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1715:22:1715:38 | ...::Ok(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1715:22:1715:38 | ...::Ok(...) | T | main.rs:1713:20:1713:27 | T | -| main.rs:1715:22:1718:10 | ... .and_then(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1715:22:1718:10 | ... .and_then(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1715:33:1715:37 | value | | main.rs:1713:20:1713:27 | T | -| main.rs:1715:49:1718:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | -| main.rs:1715:49:1718:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| main.rs:1715:49:1718:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | Result | -| main.rs:1715:49:1718:9 | \|...\| ... | dyn(Output).E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1715:53:1718:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1715:53:1718:9 | { ... } | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1716:22:1716:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1716:22:1716:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1716:22:1716:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1716:22:1716:30 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1717:13:1717:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1717:13:1717:34 | ...::Ok::<...>(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1719:9:1719:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1719:9:1719:23 | ...::Err(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1719:9:1719:23 | ...::Err(...) | T | main.rs:1713:20:1713:27 | T | -| main.rs:1719:21:1719:22 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1723:16:1739:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1724:9:1726:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1724:16:1724:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1724:16:1724:33 | ...::Ok(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1724:16:1724:33 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1724:27:1724:32 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1724:37:1724:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1724:37:1724:52 | try_same_error(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1724:37:1724:52 | try_same_error(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1724:54:1726:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1725:22:1725:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1725:22:1725:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1725:22:1725:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1725:22:1725:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1725:30:1725:35 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1728:9:1730:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1728:16:1728:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1728:16:1728:33 | ...::Ok(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1728:16:1728:33 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1728:27:1728:32 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1728:37:1728:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1728:37:1728:55 | try_convert_error(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1728:37:1728:55 | try_convert_error(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1728:57:1730:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1729:22:1729:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1729:22:1729:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1729:22:1729:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1729:22:1729:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1729:30:1729:35 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1732:9:1734:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1732:16:1732:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1732:16:1732:33 | ...::Ok(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1732:16:1732:33 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1732:27:1732:32 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1732:37:1732:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1732:37:1732:49 | try_chained(...) | E | main.rs:1684:5:1685:14 | S2 | -| main.rs:1732:37:1732:49 | try_chained(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1732:51:1734:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1733:22:1733:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1733:22:1733:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1733:22:1733:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1733:22:1733:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1733:30:1733:35 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:9:1738:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1736:16:1736:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1736:16:1736:33 | ...::Ok(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:16:1736:33 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:27:1736:32 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:37:1736:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1736:37:1736:63 | try_complex(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:37:1736:63 | try_complex(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:49:1736:62 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1736:49:1736:62 | ...::Ok(...) | E | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:49:1736:62 | ...::Ok(...) | T | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:60:1736:61 | S1 | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1736:65:1738:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1737:22:1737:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1737:22:1737:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1737:22:1737:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1737:22:1737:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1737:30:1737:35 | result | | main.rs:1681:5:1682:14 | S1 | -| main.rs:1743:16:1834:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1744:13:1744:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1744:22:1744:22 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1745:13:1745:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:1745:17:1745:17 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1746:13:1746:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:1746:17:1746:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1746:17:1746:21 | ... + ... | | {EXTERNAL LOCATION} | i32 | -| main.rs:1746:21:1746:21 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:1747:13:1747:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:1747:17:1747:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1747:17:1747:23 | x.abs() | | {EXTERNAL LOCATION} | i32 | -| main.rs:1748:13:1748:13 | c | | {EXTERNAL LOCATION} | char | -| main.rs:1748:17:1748:19 | 'c' | | {EXTERNAL LOCATION} | char | -| main.rs:1749:13:1749:17 | hello | | {EXTERNAL LOCATION} | & | -| main.rs:1749:13:1749:17 | hello | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1749:21:1749:27 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1749:21:1749:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1750:13:1750:13 | f | | {EXTERNAL LOCATION} | f64 | -| main.rs:1750:17:1750:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | -| main.rs:1751:13:1751:13 | t | | {EXTERNAL LOCATION} | bool | -| main.rs:1751:17:1751:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1752:13:1752:13 | f | | {EXTERNAL LOCATION} | bool | -| main.rs:1752:17:1752:21 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1755:26:1755:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1755:26:1755:30 | SelfParam | TRef | main.rs:1754:9:1758:9 | Self [trait MyTrait] | -| main.rs:1761:26:1761:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1761:26:1761:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1761:26:1761:30 | SelfParam | TRef.TArray | main.rs:1760:14:1760:23 | T | -| main.rs:1761:39:1763:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1761:39:1763:13 | { ... } | TRef | main.rs:1760:14:1760:23 | T | -| main.rs:1762:17:1762:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1762:17:1762:20 | self | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1762:17:1762:20 | self | TRef.TArray | main.rs:1760:14:1760:23 | T | -| main.rs:1762:17:1762:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | -| main.rs:1762:17:1762:36 | ... .unwrap() | TRef | main.rs:1760:14:1760:23 | T | -| main.rs:1762:26:1762:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1765:31:1767:13 | { ... } | | main.rs:1760:14:1760:23 | T | -| main.rs:1766:17:1766:28 | ...::default(...) | | main.rs:1760:14:1760:23 | T | -| main.rs:1770:13:1770:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1770:13:1770:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1770:17:1770:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1770:17:1770:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1770:17:1770:37 | ... .my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1770:17:1770:37 | ... .my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1770:18:1770:18 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1770:21:1770:21 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1770:24:1770:24 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:13:1771:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1771:13:1771:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:17:1771:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1771:17:1771:47 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:22:1771:22 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:37:1771:46 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1771:37:1771:46 | &... | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1771:37:1771:46 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:38:1771:46 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1771:38:1771:46 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:39:1771:39 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:42:1771:42 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1771:45:1771:45 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1772:13:1772:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1772:17:1772:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1772:24:1772:24 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1775:26:1775:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1775:26:1775:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1775:26:1775:30 | SelfParam | TRef.TSlice | main.rs:1774:14:1774:23 | T | -| main.rs:1775:39:1777:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1775:39:1777:13 | { ... } | TRef | main.rs:1774:14:1774:23 | T | -| main.rs:1776:17:1776:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1776:17:1776:20 | self | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1776:17:1776:20 | self | TRef.TSlice | main.rs:1774:14:1774:23 | T | -| main.rs:1776:17:1776:27 | self.get(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:1776:17:1776:27 | self.get(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:1776:17:1776:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | -| main.rs:1776:17:1776:36 | ... .unwrap() | TRef | main.rs:1774:14:1774:23 | T | -| main.rs:1776:26:1776:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1779:31:1781:13 | { ... } | | main.rs:1774:14:1774:23 | T | -| main.rs:1780:17:1780:28 | ...::default(...) | | main.rs:1774:14:1774:23 | T | -| main.rs:1784:13:1784:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1784:13:1784:13 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1784:13:1784:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1784:25:1784:34 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1784:25:1784:34 | &... | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1784:25:1784:34 | &... | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1784:25:1784:34 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1784:25:1784:34 | &... | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1784:26:1784:34 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1784:26:1784:34 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1784:27:1784:27 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1784:30:1784:30 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1784:33:1784:33 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1785:13:1785:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1785:13:1785:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1785:17:1785:17 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1785:17:1785:17 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1785:17:1785:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1785:17:1785:29 | s.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1785:17:1785:29 | s.my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1786:13:1786:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1786:13:1786:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1786:17:1786:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1786:17:1786:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1786:34:1786:34 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1786:34:1786:34 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1786:34:1786:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1787:13:1787:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1787:17:1787:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1790:26:1790:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1790:26:1790:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1790:26:1790:30 | SelfParam | TRef.T0 | main.rs:1789:14:1789:23 | T | -| main.rs:1790:26:1790:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1790:39:1792:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1790:39:1792:13 | { ... } | TRef | main.rs:1789:14:1789:23 | T | -| main.rs:1791:17:1791:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1791:17:1791:23 | &... | TRef | main.rs:1789:14:1789:23 | T | -| main.rs:1791:18:1791:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1791:18:1791:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1791:18:1791:21 | self | TRef.T0 | main.rs:1789:14:1789:23 | T | -| main.rs:1791:18:1791:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1791:18:1791:23 | self.0 | | main.rs:1789:14:1789:23 | T | -| main.rs:1794:31:1796:13 | { ... } | | main.rs:1789:14:1789:23 | T | -| main.rs:1795:17:1795:28 | ...::default(...) | | main.rs:1789:14:1789:23 | T | -| main.rs:1799:13:1799:13 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1799:13:1799:13 | p | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1799:13:1799:13 | p | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1799:17:1799:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1799:17:1799:23 | TupleExpr | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1799:17:1799:23 | TupleExpr | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1799:18:1799:19 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1799:22:1799:22 | 7 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1800:13:1800:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1800:13:1800:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1800:17:1800:17 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1800:17:1800:17 | p | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1800:17:1800:17 | p | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1800:17:1800:29 | p.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1800:17:1800:29 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:13:1801:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1801:13:1801:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:17:1801:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1801:17:1801:39 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:37:1801:38 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1801:37:1801:38 | &p | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1801:37:1801:38 | &p | TRef.T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:37:1801:38 | &p | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:38:1801:38 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1801:38:1801:38 | p | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1801:38:1801:38 | p | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1802:13:1802:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1802:17:1802:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1805:26:1805:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1805:26:1805:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1805:26:1805:30 | SelfParam | TRef.TRef | main.rs:1804:14:1804:23 | T | -| main.rs:1805:39:1807:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1805:39:1807:13 | { ... } | TRef | main.rs:1804:14:1804:23 | T | -| main.rs:1806:17:1806:21 | * ... | | {EXTERNAL LOCATION} | & | -| main.rs:1806:17:1806:21 | * ... | TRef | main.rs:1804:14:1804:23 | T | -| main.rs:1806:18:1806:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1806:18:1806:21 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1806:18:1806:21 | self | TRef.TRef | main.rs:1804:14:1804:23 | T | -| main.rs:1809:31:1811:13 | { ... } | | main.rs:1804:14:1804:23 | T | -| main.rs:1810:17:1810:28 | ...::default(...) | | main.rs:1804:14:1804:23 | T | -| main.rs:1814:13:1814:13 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1814:13:1814:13 | r | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1814:17:1814:19 | &42 | | {EXTERNAL LOCATION} | & | -| main.rs:1814:17:1814:19 | &42 | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1814:18:1814:19 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1815:13:1815:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1815:13:1815:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1815:17:1815:17 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1815:17:1815:17 | r | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1815:17:1815:29 | r.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1815:17:1815:29 | r.my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1816:13:1816:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1816:13:1816:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1816:17:1816:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1816:17:1816:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1816:33:1816:34 | &r | | {EXTERNAL LOCATION} | & | -| main.rs:1816:33:1816:34 | &r | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1816:33:1816:34 | &r | TRef.TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1816:34:1816:34 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1816:34:1816:34 | r | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1817:13:1817:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1817:17:1817:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1820:26:1820:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1820:26:1820:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1820:26:1820:30 | SelfParam | TRef.TPtrMut | main.rs:1819:14:1819:23 | T | -| main.rs:1820:39:1822:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1820:39:1822:13 | { ... } | TRef | main.rs:1819:14:1819:23 | T | -| main.rs:1821:17:1821:34 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1821:17:1821:34 | { ... } | TRef | main.rs:1819:14:1819:23 | T | -| main.rs:1821:26:1821:32 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1821:26:1821:32 | &... | TRef | main.rs:1819:14:1819:23 | T | -| main.rs:1821:27:1821:32 | * ... | | main.rs:1819:14:1819:23 | T | -| main.rs:1821:28:1821:32 | * ... | | {EXTERNAL LOCATION} | *mut | -| main.rs:1821:28:1821:32 | * ... | TPtrMut | main.rs:1819:14:1819:23 | T | -| main.rs:1821:29:1821:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1821:29:1821:32 | self | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1821:29:1821:32 | self | TRef.TPtrMut | main.rs:1819:14:1819:23 | T | -| main.rs:1824:31:1826:13 | { ... } | | main.rs:1819:14:1819:23 | T | -| main.rs:1825:17:1825:28 | ...::default(...) | | main.rs:1819:14:1819:23 | T | -| main.rs:1829:17:1829:17 | v | | {EXTERNAL LOCATION} | i32 | -| main.rs:1829:21:1829:22 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1830:13:1830:13 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1830:13:1830:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1830:27:1830:32 | &mut v | | {EXTERNAL LOCATION} | &mut | -| main.rs:1830:27:1830:32 | &mut v | TRefMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1830:32:1830:32 | v | | {EXTERNAL LOCATION} | i32 | -| main.rs:1831:13:1831:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1831:13:1831:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1831:17:1831:40 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1831:17:1831:40 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1831:26:1831:26 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1831:26:1831:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1831:26:1831:38 | p.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1831:26:1831:38 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1832:13:1832:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1832:13:1832:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1832:17:1832:50 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1832:17:1832:50 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1832:26:1832:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1832:26:1832:48 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1832:46:1832:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1832:46:1832:47 | &p | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1832:46:1832:47 | &p | TRef.TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1832:47:1832:47 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1832:47:1832:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1833:13:1833:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1833:17:1833:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1839:16:1851:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1840:13:1840:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:1840:17:1840:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1840:17:1840:29 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1840:25:1840:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:13:1841:13 | y | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:17:1841:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:17:1841:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1841:25:1841:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1843:17:1843:17 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1844:13:1844:16 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:1844:20:1844:21 | 34 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1844:20:1844:27 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1844:26:1844:27 | 33 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1845:9:1849:9 | if cond {...} else {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1845:12:1845:15 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:1845:17:1847:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1846:17:1846:17 | z | | {EXTERNAL LOCATION} | () | -| main.rs:1846:21:1846:27 | (...) | | {EXTERNAL LOCATION} | () | -| main.rs:1846:22:1846:22 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1846:22:1846:26 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:1846:26:1846:26 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1847:16:1849:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1848:13:1848:13 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1848:13:1848:17 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:1848:17:1848:17 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1850:9:1850:9 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1864:30:1866:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1865:13:1865:31 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1865:23:1865:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1865:29:1865:29 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1872:16:1872:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1872:22:1872:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1872:41:1877:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1873:13:1876:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1874:20:1874:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1874:20:1874:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1874:20:1874:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1874:29:1874:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1874:29:1874:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1875:20:1875:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1875:20:1875:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1875:20:1875:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1875:29:1875:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1875:29:1875:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1882:23:1882:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1882:23:1882:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1882:34:1882:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1882:45:1885:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1883:13:1883:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1883:13:1883:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1883:13:1883:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1883:13:1883:27 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:1883:23:1883:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1883:23:1883:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1884:13:1884:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1884:13:1884:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1884:13:1884:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1884:13:1884:27 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:1884:23:1884:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1884:23:1884:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1890:16:1890:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1890:22:1890:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1890:41:1895:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1891:13:1894:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1892:20:1892:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1892:20:1892:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1892:20:1892:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1892:29:1892:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1892:29:1892:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1893:20:1893:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1893:20:1893:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1893:20:1893:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1893:29:1893:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1893:29:1893:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1900:23:1900:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1900:23:1900:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1900:34:1900:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1900:45:1903:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1901:13:1901:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1901:13:1901:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1901:13:1901:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1901:13:1901:27 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1901:23:1901:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1901:23:1901:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1902:13:1902:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1902:13:1902:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1902:13:1902:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1902:13:1902:27 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1902:23:1902:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1902:23:1902:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1908:16:1908:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1908:22:1908:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1908:41:1913:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1909:13:1912:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1910:20:1910:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1910:20:1910:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1910:20:1910:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1910:29:1910:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1910:29:1910:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1911:20:1911:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1911:20:1911:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1911:20:1911:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1911:29:1911:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1911:29:1911:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1917:23:1917:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1917:23:1917:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1917:34:1917:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1917:45:1920:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1918:13:1918:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1918:13:1918:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1918:13:1918:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1918:13:1918:27 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1918:23:1918:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1918:23:1918:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1919:13:1919:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1919:13:1919:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1919:13:1919:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1919:13:1919:27 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1919:23:1919:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1919:23:1919:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1925:16:1925:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1925:22:1925:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1925:41:1930:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1926:13:1929:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1927:20:1927:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1927:20:1927:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1927:20:1927:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1927:29:1927:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1927:29:1927:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1928:20:1928:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1928:20:1928:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1928:20:1928:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1928:29:1928:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1928:29:1928:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1934:23:1934:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1934:23:1934:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1934:34:1934:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1934:45:1937:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1935:13:1935:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1935:13:1935:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1935:13:1935:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1935:13:1935:27 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1935:23:1935:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1935:23:1935:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1936:13:1936:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1936:13:1936:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1936:13:1936:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1936:13:1936:27 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1936:23:1936:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1936:23:1936:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1942:16:1942:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1942:22:1942:24 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1942:41:1947:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1943:13:1946:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1944:20:1944:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1944:20:1944:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1944:20:1944:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1944:29:1944:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1944:29:1944:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1945:20:1945:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1945:20:1945:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1945:20:1945:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1945:29:1945:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1945:29:1945:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1951:23:1951:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1951:23:1951:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1951:34:1951:36 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1951:45:1954:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1952:13:1952:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1952:13:1952:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1952:13:1952:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1952:13:1952:27 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1952:23:1952:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1952:23:1952:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1953:13:1953:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1953:13:1953:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1953:13:1953:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1953:13:1953:27 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1953:23:1953:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1953:23:1953:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1959:19:1959:22 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1959:25:1959:27 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1959:44:1964:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1960:13:1963:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1961:20:1961:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1961:20:1961:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1961:20:1961:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1961:29:1961:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1961:29:1961:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1962:20:1962:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1962:20:1962:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1962:20:1962:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1962:29:1962:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1962:29:1962:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1968:26:1968:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1968:26:1968:34 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1968:37:1968:39 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1968:48:1971:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1969:13:1969:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1969:13:1969:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1969:13:1969:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1969:13:1969:27 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1969:23:1969:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1969:23:1969:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1970:13:1970:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1970:13:1970:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1970:13:1970:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1970:13:1970:27 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1970:23:1970:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1970:23:1970:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1976:18:1976:21 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1976:24:1976:26 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1976:43:1981:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1977:13:1980:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1978:20:1978:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1978:20:1978:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1978:20:1978:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1978:29:1978:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1978:29:1978:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1979:20:1979:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1979:20:1979:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1979:20:1979:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1979:29:1979:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1979:29:1979:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1985:25:1985:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1985:25:1985:33 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1985:36:1985:38 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1985:47:1988:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1986:13:1986:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1986:13:1986:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1986:13:1986:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1986:13:1986:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1986:23:1986:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1986:23:1986:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1987:13:1987:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1987:13:1987:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1987:13:1987:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1987:13:1987:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1987:23:1987:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1987:23:1987:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1993:19:1993:22 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1993:25:1993:27 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1993:44:1998:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1994:13:1997:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1995:20:1995:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1995:20:1995:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1995:20:1995:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1995:29:1995:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1995:29:1995:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1996:20:1996:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1996:20:1996:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1996:20:1996:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1996:29:1996:31 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:1996:29:1996:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2002:26:2002:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2002:26:2002:34 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2002:37:2002:39 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2002:48:2005:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2003:13:2003:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2003:13:2003:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2003:13:2003:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2003:13:2003:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2003:23:2003:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2003:23:2003:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2004:13:2004:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2004:13:2004:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2004:13:2004:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2004:13:2004:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2004:23:2004:25 | rhs | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2004:23:2004:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2010:16:2010:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2010:22:2010:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2010:40:2015:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2011:13:2014:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2012:20:2012:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2012:20:2012:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2012:20:2012:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2012:30:2012:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2013:20:2013:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2013:20:2013:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2013:20:2013:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2013:30:2013:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2019:23:2019:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2019:23:2019:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2019:34:2019:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2019:44:2022:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2020:13:2020:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2020:13:2020:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2020:13:2020:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2020:13:2020:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2020:24:2020:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2021:13:2021:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2021:13:2021:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2021:13:2021:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2021:13:2021:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2021:24:2021:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2027:16:2027:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2027:22:2027:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2027:40:2032:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2028:13:2031:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2029:20:2029:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2029:20:2029:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2029:20:2029:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2029:30:2029:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2030:20:2030:23 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2030:20:2030:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2030:20:2030:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2030:30:2030:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2036:23:2036:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2036:23:2036:31 | SelfParam | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2036:34:2036:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2036:44:2039:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2037:13:2037:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2037:13:2037:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2037:13:2037:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2037:13:2037:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2037:24:2037:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2038:13:2038:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2038:13:2038:16 | self | TRefMut | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2038:13:2038:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2038:13:2038:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2038:24:2038:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:2044:16:2044:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2044:30:2049:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2045:13:2048:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2046:20:2046:26 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2046:21:2046:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2046:21:2046:26 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2047:20:2047:26 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2047:21:2047:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2047:21:2047:26 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2054:16:2054:19 | SelfParam | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2054:30:2059:9 | { ... } | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2055:13:2058:13 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2056:20:2056:26 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2056:21:2056:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2056:21:2056:26 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2057:20:2057:26 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2057:21:2057:24 | self | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2057:21:2057:26 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2063:15:2063:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2063:15:2063:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2063:22:2063:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2063:22:2063:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2063:44:2065:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:13:2064:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2064:13:2064:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2064:13:2064:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2064:13:2064:29 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:13:2064:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:23:2064:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2064:23:2064:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2064:23:2064:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2064:34:2064:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2064:34:2064:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2064:34:2064:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2064:34:2064:50 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2064:44:2064:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2064:44:2064:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2064:44:2064:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2067:15:2067:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2067:15:2067:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2067:22:2067:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2067:22:2067:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2067:44:2069:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:13:2068:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2068:13:2068:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2068:13:2068:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2068:13:2068:29 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:13:2068:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:23:2068:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2068:23:2068:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2068:23:2068:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2068:34:2068:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2068:34:2068:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2068:34:2068:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2068:34:2068:50 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2068:44:2068:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2068:44:2068:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2068:44:2068:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2073:24:2073:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2073:24:2073:28 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2073:31:2073:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2073:31:2073:35 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2073:75:2075:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2073:75:2075:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:2074:13:2074:29 | (...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:13:2074:63 | ... .partial_cmp(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2074:13:2074:63 | ... .partial_cmp(...) | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:2074:14:2074:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2074:14:2074:17 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2074:14:2074:19 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:14:2074:28 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:23:2074:26 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2074:23:2074:26 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2074:23:2074:28 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:43:2074:62 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2074:43:2074:62 | &... | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:44:2074:62 | (...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:45:2074:49 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2074:45:2074:49 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2074:45:2074:51 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:45:2074:61 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2074:55:2074:59 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2074:55:2074:59 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2074:55:2074:61 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2077:15:2077:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2077:15:2077:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2077:22:2077:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2077:22:2077:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2077:44:2079:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:13:2078:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2078:13:2078:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2078:13:2078:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2078:13:2078:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:13:2078:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:22:2078:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2078:22:2078:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2078:22:2078:28 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2078:33:2078:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2078:33:2078:36 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2078:33:2078:38 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2078:33:2078:48 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2078:42:2078:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2078:42:2078:46 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2078:42:2078:48 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2081:15:2081:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2081:15:2081:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2081:22:2081:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2081:22:2081:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2081:44:2083:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:13:2082:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2082:13:2082:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2082:13:2082:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2082:13:2082:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:13:2082:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:23:2082:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2082:23:2082:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2082:23:2082:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2082:34:2082:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2082:34:2082:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2082:34:2082:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2082:34:2082:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2082:44:2082:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2082:44:2082:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2082:44:2082:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2085:15:2085:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2085:15:2085:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2085:22:2085:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2085:22:2085:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2085:44:2087:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:13:2086:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2086:13:2086:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2086:13:2086:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2086:13:2086:28 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:13:2086:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:22:2086:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2086:22:2086:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2086:22:2086:28 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2086:33:2086:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2086:33:2086:36 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2086:33:2086:38 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2086:33:2086:48 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2086:42:2086:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2086:42:2086:46 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2086:42:2086:48 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2089:15:2089:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2089:15:2089:19 | SelfParam | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2089:22:2089:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2089:22:2089:26 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2089:44:2091:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:13:2090:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2090:13:2090:16 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2090:13:2090:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2090:13:2090:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:13:2090:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:23:2090:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2090:23:2090:27 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2090:23:2090:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2090:34:2090:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2090:34:2090:37 | self | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2090:34:2090:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2090:34:2090:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2090:44:2090:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2090:44:2090:48 | other | TRef | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2090:44:2090:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2094:26:2094:26 | a | | main.rs:2094:18:2094:23 | T | -| main.rs:2094:32:2094:32 | b | | main.rs:2094:18:2094:23 | T | -| main.rs:2095:9:2095:9 | a | | main.rs:2094:18:2094:23 | T | -| main.rs:2095:13:2095:13 | b | | main.rs:2094:18:2094:23 | T | -| main.rs:2098:16:2229:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2102:13:2102:18 | i64_eq | | {EXTERNAL LOCATION} | bool | -| main.rs:2102:22:2102:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2102:23:2102:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2102:23:2102:34 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2102:31:2102:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2103:13:2103:18 | i64_ne | | {EXTERNAL LOCATION} | bool | -| main.rs:2103:22:2103:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2103:23:2103:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2103:23:2103:34 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2103:31:2103:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2104:13:2104:18 | i64_lt | | {EXTERNAL LOCATION} | bool | -| main.rs:2104:22:2104:34 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2104:23:2104:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2104:23:2104:33 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2104:30:2104:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2105:13:2105:18 | i64_le | | {EXTERNAL LOCATION} | bool | -| main.rs:2105:22:2105:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2105:23:2105:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2105:23:2105:34 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2105:31:2105:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2106:13:2106:18 | i64_gt | | {EXTERNAL LOCATION} | bool | -| main.rs:2106:22:2106:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2106:23:2106:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2106:23:2106:34 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2106:30:2106:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2107:13:2107:18 | i64_ge | | {EXTERNAL LOCATION} | bool | -| main.rs:2107:22:2107:37 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2107:23:2107:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2107:23:2107:36 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2107:32:2107:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2110:13:2110:19 | i64_add | | {EXTERNAL LOCATION} | i64 | -| main.rs:2110:23:2110:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2110:23:2110:35 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2110:31:2110:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2111:13:2111:19 | i64_sub | | {EXTERNAL LOCATION} | i64 | -| main.rs:2111:23:2111:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2111:23:2111:35 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2111:31:2111:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2112:13:2112:19 | i64_mul | | {EXTERNAL LOCATION} | i64 | -| main.rs:2112:23:2112:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2112:23:2112:35 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2112:31:2112:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2113:13:2113:19 | i64_div | | {EXTERNAL LOCATION} | i64 | -| main.rs:2113:23:2113:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2113:23:2113:35 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2113:31:2113:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2114:13:2114:19 | i64_rem | | {EXTERNAL LOCATION} | i64 | -| main.rs:2114:23:2114:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2114:23:2114:35 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2114:31:2114:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2115:39:2115:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2115:45:2115:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2118:17:2118:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2118:34:2118:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2119:9:2119:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2119:9:2119:31 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:2119:27:2119:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2121:17:2121:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2121:34:2121:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2122:9:2122:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2122:9:2122:31 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2122:27:2122:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2124:17:2124:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2124:34:2124:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2125:9:2125:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2125:9:2125:31 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2125:27:2125:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2127:17:2127:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2127:34:2127:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2128:9:2128:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2128:9:2128:31 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2128:27:2128:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2130:17:2130:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2130:34:2130:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2131:9:2131:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2131:9:2131:31 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2131:27:2131:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2134:13:2134:22 | i64_bitand | | {EXTERNAL LOCATION} | i64 | -| main.rs:2134:26:2134:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2134:26:2134:38 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2134:34:2134:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2135:13:2135:21 | i64_bitor | | {EXTERNAL LOCATION} | i64 | -| main.rs:2135:25:2135:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2135:25:2135:37 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2135:33:2135:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2136:13:2136:22 | i64_bitxor | | {EXTERNAL LOCATION} | i64 | -| main.rs:2136:26:2136:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2136:26:2136:38 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2136:34:2136:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2137:13:2137:19 | i64_shl | | {EXTERNAL LOCATION} | i64 | -| main.rs:2137:23:2137:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2137:23:2137:36 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2137:32:2137:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2138:13:2138:19 | i64_shr | | {EXTERNAL LOCATION} | i64 | -| main.rs:2138:23:2138:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2138:23:2138:36 | ... >> ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2138:32:2138:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2141:17:2141:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2141:37:2141:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2142:9:2142:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2142:9:2142:34 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2142:30:2142:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2144:17:2144:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2144:36:2144:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2145:9:2145:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2145:9:2145:33 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2145:29:2145:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2147:17:2147:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2147:37:2147:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2148:9:2148:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2148:9:2148:34 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2148:30:2148:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2150:17:2150:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2150:34:2150:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2151:9:2151:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2151:9:2151:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2151:28:2151:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2153:17:2153:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2153:34:2153:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2154:9:2154:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:2154:9:2154:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2154:28:2154:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2156:13:2156:19 | i64_neg | | {EXTERNAL LOCATION} | i64 | -| main.rs:2156:23:2156:28 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2156:24:2156:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2157:13:2157:19 | i64_not | | {EXTERNAL LOCATION} | i64 | -| main.rs:2157:23:2157:28 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2157:24:2157:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2160:13:2160:14 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2160:18:2160:36 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2160:28:2160:28 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2160:34:2160:34 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2161:13:2161:14 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2161:18:2161:36 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2161:28:2161:28 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2161:34:2161:34 | 4 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2164:13:2164:19 | vec2_eq | | {EXTERNAL LOCATION} | bool | -| main.rs:2164:23:2164:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2164:23:2164:30 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2164:29:2164:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2165:13:2165:19 | vec2_ne | | {EXTERNAL LOCATION} | bool | -| main.rs:2165:23:2165:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2165:23:2165:30 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2165:29:2165:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2166:13:2166:19 | vec2_lt | | {EXTERNAL LOCATION} | bool | -| main.rs:2166:23:2166:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2166:23:2166:29 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2166:28:2166:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2167:13:2167:19 | vec2_le | | {EXTERNAL LOCATION} | bool | -| main.rs:2167:23:2167:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2167:23:2167:30 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2167:29:2167:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2168:13:2168:19 | vec2_gt | | {EXTERNAL LOCATION} | bool | -| main.rs:2168:23:2168:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2168:23:2168:29 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2168:28:2168:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2169:13:2169:19 | vec2_ge | | {EXTERNAL LOCATION} | bool | -| main.rs:2169:23:2169:24 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2169:23:2169:30 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2169:29:2169:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2172:13:2172:20 | vec2_add | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2172:24:2172:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2172:24:2172:30 | ... + ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2172:29:2172:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2173:13:2173:20 | vec2_sub | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2173:24:2173:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2173:24:2173:30 | ... - ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2173:29:2173:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2174:13:2174:20 | vec2_mul | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2174:24:2174:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2174:24:2174:30 | ... * ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2174:29:2174:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2175:13:2175:20 | vec2_div | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2175:24:2175:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2175:24:2175:30 | ... / ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2175:29:2175:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2176:13:2176:20 | vec2_rem | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2176:24:2176:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2176:24:2176:30 | ... % ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2176:29:2176:30 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2179:17:2179:31 | vec2_add_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2179:35:2179:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2180:9:2180:23 | vec2_add_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2180:9:2180:29 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:2180:28:2180:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2182:17:2182:31 | vec2_sub_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2182:35:2182:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2183:9:2183:23 | vec2_sub_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2183:9:2183:29 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2183:28:2183:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2185:17:2185:31 | vec2_mul_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2185:35:2185:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2186:9:2186:23 | vec2_mul_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2186:9:2186:29 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2186:28:2186:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2188:17:2188:31 | vec2_div_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2188:35:2188:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2189:9:2189:23 | vec2_div_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2189:9:2189:29 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2189:28:2189:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2191:17:2191:31 | vec2_rem_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2191:35:2191:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2192:9:2192:23 | vec2_rem_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2192:9:2192:29 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2192:28:2192:29 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2195:13:2195:23 | vec2_bitand | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2195:27:2195:28 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2195:27:2195:33 | ... & ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2195:32:2195:33 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2196:13:2196:22 | vec2_bitor | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2196:26:2196:27 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2196:26:2196:32 | ... \| ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2196:31:2196:32 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2197:13:2197:23 | vec2_bitxor | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2197:27:2197:28 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2197:27:2197:33 | ... ^ ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2197:32:2197:33 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2198:13:2198:20 | vec2_shl | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2198:24:2198:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2198:24:2198:33 | ... << ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2198:30:2198:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2199:13:2199:20 | vec2_shr | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2199:24:2199:25 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2199:24:2199:33 | ... >> ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2199:30:2199:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2202:17:2202:34 | vec2_bitand_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2202:38:2202:39 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2203:9:2203:26 | vec2_bitand_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2203:9:2203:32 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2203:31:2203:32 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2205:17:2205:33 | vec2_bitor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2205:37:2205:38 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2206:9:2206:25 | vec2_bitor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2206:9:2206:31 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2206:30:2206:31 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2208:17:2208:34 | vec2_bitxor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2208:38:2208:39 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2209:9:2209:26 | vec2_bitxor_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2209:9:2209:32 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2209:31:2209:32 | v2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2211:17:2211:31 | vec2_shl_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2211:35:2211:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2212:9:2212:23 | vec2_shl_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2212:9:2212:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2212:29:2212:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2214:17:2214:31 | vec2_shr_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2214:35:2214:36 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2215:9:2215:23 | vec2_shr_assign | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2215:9:2215:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | -| main.rs:2215:29:2215:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2218:13:2218:20 | vec2_neg | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2218:24:2218:26 | - ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2218:25:2218:26 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2219:13:2219:20 | vec2_not | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2219:24:2219:26 | ! ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2219:25:2219:26 | v1 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2222:13:2222:24 | default_vec2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2222:28:2222:45 | ...::default(...) | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2223:13:2223:26 | vec2_zero_plus | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2223:30:2223:48 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2223:30:2223:63 | ... + ... | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2223:40:2223:40 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2223:46:2223:46 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2223:52:2223:63 | default_vec2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2227:13:2227:24 | default_vec2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2227:28:2227:45 | ...::default(...) | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2228:13:2228:26 | vec2_zero_plus | | {EXTERNAL LOCATION} | bool | -| main.rs:2228:30:2228:48 | Vec2 {...} | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2228:30:2228:64 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2228:40:2228:40 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2228:46:2228:46 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2228:53:2228:64 | default_vec2 | | main.rs:1857:5:1862:5 | Vec2 | -| main.rs:2238:18:2238:21 | SelfParam | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2238:24:2238:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2241:25:2243:5 | { ... } | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2242:9:2242:10 | S1 | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2245:41:2247:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2245:41:2247:5 | { ... } | dyn(Output) | main.rs:2235:5:2235:14 | S1 | -| main.rs:2246:9:2246:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2246:9:2246:20 | { ... } | dyn(Output) | main.rs:2235:5:2235:14 | S1 | -| main.rs:2246:17:2246:18 | S1 | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2249:41:2251:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2249:41:2251:5 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:2250:9:2250:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2250:9:2250:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:2259:13:2259:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | -| main.rs:2259:13:2259:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | -| main.rs:2259:13:2259:42 | SelfParam | Ptr.TRefMut | main.rs:2253:5:2253:14 | S2 | -| main.rs:2260:13:2260:15 | _cx | | {EXTERNAL LOCATION} | &mut | -| main.rs:2260:13:2260:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | -| main.rs:2261:44:2263:9 | { ... } | | {EXTERNAL LOCATION} | Poll | -| main.rs:2261:44:2263:9 | { ... } | T | main.rs:2235:5:2235:14 | S1 | -| main.rs:2262:13:2262:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | -| main.rs:2262:13:2262:38 | ...::Ready(...) | T | main.rs:2235:5:2235:14 | S1 | -| main.rs:2262:36:2262:37 | S1 | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2266:41:2268:5 | { ... } | | main.rs:2253:5:2253:14 | S2 | -| main.rs:2267:9:2267:10 | S2 | | main.rs:2253:5:2253:14 | S2 | -| main.rs:2270:22:2278:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2271:9:2271:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2271:9:2271:12 | f1(...) | dyn(Output) | main.rs:2235:5:2235:14 | S1 | -| main.rs:2271:9:2271:18 | await ... | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2271:9:2271:22 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:2272:9:2272:12 | f2(...) | | main.rs:2245:16:2245:39 | impl ... | -| main.rs:2272:9:2272:18 | await ... | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2272:9:2272:22 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:2273:9:2273:12 | f3(...) | | main.rs:2249:16:2249:39 | impl ... | -| main.rs:2273:9:2273:18 | await ... | | {EXTERNAL LOCATION} | () | -| main.rs:2274:9:2274:12 | f4(...) | | main.rs:2266:16:2266:39 | impl ... | -| main.rs:2274:9:2274:18 | await ... | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2274:9:2274:22 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:2275:9:2275:10 | S2 | | main.rs:2253:5:2253:14 | S2 | -| main.rs:2275:9:2275:16 | await S2 | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2275:9:2275:20 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:2276:13:2276:13 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2276:13:2276:13 | b | dyn(Output) | main.rs:2235:5:2235:14 | S1 | -| main.rs:2276:17:2276:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2276:17:2276:28 | { ... } | dyn(Output) | main.rs:2235:5:2235:14 | S1 | -| main.rs:2276:25:2276:26 | S1 | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2277:9:2277:9 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2277:9:2277:9 | b | dyn(Output) | main.rs:2235:5:2235:14 | S1 | -| main.rs:2277:9:2277:15 | await b | | main.rs:2235:5:2235:14 | S1 | -| main.rs:2277:9:2277:19 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:2288:15:2288:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2288:15:2288:19 | SelfParam | TRef | main.rs:2287:5:2289:5 | Self [trait Trait1] | -| main.rs:2288:22:2288:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2292:15:2292:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2292:15:2292:19 | SelfParam | TRef | main.rs:2291:5:2293:5 | Self [trait Trait2] | -| main.rs:2292:22:2292:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2296:15:2296:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2296:15:2296:19 | SelfParam | TRef | main.rs:2282:5:2283:14 | S1 | -| main.rs:2296:22:2296:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2300:15:2300:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2300:15:2300:19 | SelfParam | TRef | main.rs:2282:5:2283:14 | S1 | -| main.rs:2300:22:2300:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2303:37:2305:5 | { ... } | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2304:9:2304:10 | S1 | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2308:18:2308:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2308:18:2308:22 | SelfParam | TRef | main.rs:2307:5:2309:5 | Self [trait MyTrait] | -| main.rs:2312:18:2312:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2312:18:2312:22 | SelfParam | TRef | main.rs:2282:5:2283:14 | S1 | -| main.rs:2312:31:2314:9 | { ... } | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2313:13:2313:14 | S2 | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2318:18:2318:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2318:18:2318:22 | SelfParam | TRef | main.rs:2285:5:2285:22 | S3 | -| main.rs:2318:18:2318:22 | SelfParam | TRef.T3 | main.rs:2317:10:2317:17 | T | -| main.rs:2318:30:2321:9 | { ... } | | main.rs:2317:10:2317:17 | T | -| main.rs:2319:17:2319:21 | S3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:2319:17:2319:21 | S3(...) | | main.rs:2285:5:2285:22 | S3 | -| main.rs:2319:17:2319:21 | S3(...) | TRef | main.rs:2285:5:2285:22 | S3 | -| main.rs:2319:17:2319:21 | S3(...) | TRef.T3 | main.rs:2317:10:2317:17 | T | -| main.rs:2319:25:2319:28 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2319:25:2319:28 | self | TRef | main.rs:2285:5:2285:22 | S3 | -| main.rs:2319:25:2319:28 | self | TRef.T3 | main.rs:2317:10:2317:17 | T | -| main.rs:2320:13:2320:21 | t.clone() | | main.rs:2317:10:2317:17 | T | -| main.rs:2324:45:2326:5 | { ... } | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2325:9:2325:10 | S1 | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2328:41:2328:41 | t | | main.rs:2328:26:2328:38 | B | -| main.rs:2328:52:2330:5 | { ... } | | main.rs:2328:23:2328:23 | A | -| main.rs:2329:9:2329:9 | t | | main.rs:2328:26:2328:38 | B | -| main.rs:2329:9:2329:17 | t.get_a() | | main.rs:2328:23:2328:23 | A | -| main.rs:2332:34:2332:34 | x | | main.rs:2332:24:2332:31 | T | -| main.rs:2332:59:2334:5 | { ... } | | main.rs:2332:43:2332:57 | impl ... | -| main.rs:2332:59:2334:5 | { ... } | impl(T) | main.rs:2332:24:2332:31 | T | -| main.rs:2333:9:2333:13 | S3(...) | | main.rs:2285:5:2285:22 | S3 | -| main.rs:2333:9:2333:13 | S3(...) | | main.rs:2332:43:2332:57 | impl ... | -| main.rs:2333:9:2333:13 | S3(...) | T3 | main.rs:2332:24:2332:31 | T | -| main.rs:2333:9:2333:13 | S3(...) | impl(T) | main.rs:2332:24:2332:31 | T | -| main.rs:2333:12:2333:12 | x | | main.rs:2332:24:2332:31 | T | -| main.rs:2336:34:2336:34 | x | | main.rs:2336:24:2336:31 | T | -| main.rs:2336:67:2338:5 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2336:67:2338:5 | { ... } | T | main.rs:2336:50:2336:64 | impl ... | -| main.rs:2336:67:2338:5 | { ... } | T.impl(T) | main.rs:2336:24:2336:31 | T | -| main.rs:2337:9:2337:19 | Some(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2337:9:2337:19 | Some(...) | T | main.rs:2285:5:2285:22 | S3 | -| main.rs:2337:9:2337:19 | Some(...) | T | main.rs:2336:50:2336:64 | impl ... | -| main.rs:2337:9:2337:19 | Some(...) | T.T3 | main.rs:2336:24:2336:31 | T | -| main.rs:2337:9:2337:19 | Some(...) | T.impl(T) | main.rs:2336:24:2336:31 | T | -| main.rs:2337:14:2337:18 | S3(...) | | main.rs:2285:5:2285:22 | S3 | -| main.rs:2337:14:2337:18 | S3(...) | T3 | main.rs:2336:24:2336:31 | T | -| main.rs:2337:17:2337:17 | x | | main.rs:2336:24:2336:31 | T | -| main.rs:2340:34:2340:34 | x | | main.rs:2340:24:2340:31 | T | -| main.rs:2340:78:2342:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2340:78:2342:5 | { ... } | T0 | main.rs:2340:44:2340:58 | impl ... | -| main.rs:2340:78:2342:5 | { ... } | T0.impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2340:78:2342:5 | { ... } | T1 | main.rs:2340:61:2340:75 | impl ... | -| main.rs:2340:78:2342:5 | { ... } | T1.impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2341:9:2341:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2341:9:2341:30 | TupleExpr | T0 | main.rs:2285:5:2285:22 | S3 | -| main.rs:2341:9:2341:30 | TupleExpr | T0 | main.rs:2340:44:2340:58 | impl ... | -| main.rs:2341:9:2341:30 | TupleExpr | T0.T3 | main.rs:2340:24:2340:31 | T | -| main.rs:2341:9:2341:30 | TupleExpr | T0.impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2341:9:2341:30 | TupleExpr | T1 | main.rs:2285:5:2285:22 | S3 | -| main.rs:2341:9:2341:30 | TupleExpr | T1 | main.rs:2340:61:2340:75 | impl ... | -| main.rs:2341:9:2341:30 | TupleExpr | T1.T3 | main.rs:2340:24:2340:31 | T | -| main.rs:2341:9:2341:30 | TupleExpr | T1.impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2341:10:2341:22 | S3(...) | | main.rs:2285:5:2285:22 | S3 | -| main.rs:2341:10:2341:22 | S3(...) | | main.rs:2340:44:2340:58 | impl ... | -| main.rs:2341:10:2341:22 | S3(...) | T3 | main.rs:2340:24:2340:31 | T | -| main.rs:2341:10:2341:22 | S3(...) | impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2341:13:2341:13 | x | | main.rs:2340:24:2340:31 | T | -| main.rs:2341:13:2341:21 | x.clone() | | main.rs:2340:24:2340:31 | T | -| main.rs:2341:25:2341:29 | S3(...) | | main.rs:2285:5:2285:22 | S3 | -| main.rs:2341:25:2341:29 | S3(...) | | main.rs:2340:61:2340:75 | impl ... | -| main.rs:2341:25:2341:29 | S3(...) | T3 | main.rs:2340:24:2340:31 | T | -| main.rs:2341:25:2341:29 | S3(...) | impl(T) | main.rs:2340:24:2340:31 | T | -| main.rs:2341:28:2341:28 | x | | main.rs:2340:24:2340:31 | T | -| main.rs:2344:26:2344:26 | t | | main.rs:2344:29:2344:43 | impl ... | -| main.rs:2344:51:2346:5 | { ... } | | main.rs:2344:23:2344:23 | A | -| main.rs:2345:9:2345:9 | t | | main.rs:2344:29:2344:43 | impl ... | -| main.rs:2345:9:2345:17 | t.get_a() | | main.rs:2344:23:2344:23 | A | -| main.rs:2348:16:2362:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2349:13:2349:13 | x | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2349:17:2349:20 | f1(...) | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2350:9:2350:9 | x | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2350:9:2350:14 | x.f1() | | {EXTERNAL LOCATION} | () | -| main.rs:2351:9:2351:9 | x | | main.rs:2303:16:2303:35 | impl ... + ... | -| main.rs:2351:9:2351:14 | x.f2() | | {EXTERNAL LOCATION} | () | -| main.rs:2352:13:2352:13 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2352:17:2352:32 | get_a_my_trait(...) | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2353:13:2353:13 | b | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2353:17:2353:33 | uses_my_trait1(...) | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2353:32:2353:32 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2354:13:2354:13 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2354:17:2354:32 | get_a_my_trait(...) | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2355:13:2355:13 | c | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2355:17:2355:33 | uses_my_trait2(...) | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2355:32:2355:32 | a | | main.rs:2324:28:2324:43 | impl ... | -| main.rs:2356:13:2356:13 | d | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2356:17:2356:34 | uses_my_trait2(...) | | main.rs:2284:5:2284:14 | S2 | -| main.rs:2356:32:2356:33 | S1 | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2357:13:2357:13 | e | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2357:17:2357:35 | get_a_my_trait2(...) | | main.rs:2332:43:2332:57 | impl ... | -| main.rs:2357:17:2357:35 | get_a_my_trait2(...) | impl(T) | main.rs:2282:5:2283:14 | S1 | -| main.rs:2357:17:2357:43 | ... .get_a() | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2357:33:2357:34 | S1 | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2360:13:2360:13 | f | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2360:17:2360:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2360:17:2360:35 | get_a_my_trait3(...) | T | main.rs:2336:50:2336:64 | impl ... | -| main.rs:2360:17:2360:35 | get_a_my_trait3(...) | T.impl(T) | main.rs:2282:5:2283:14 | S1 | -| main.rs:2360:17:2360:44 | ... .unwrap() | | main.rs:2336:50:2336:64 | impl ... | -| main.rs:2360:17:2360:44 | ... .unwrap() | impl(T) | main.rs:2282:5:2283:14 | S1 | -| main.rs:2360:17:2360:52 | ... .get_a() | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2360:33:2360:34 | S1 | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2361:13:2361:13 | g | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | T0 | main.rs:2340:44:2340:58 | impl ... | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | T0.impl(T) | main.rs:2282:5:2283:14 | S1 | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | T1 | main.rs:2340:61:2340:75 | impl ... | -| main.rs:2361:17:2361:35 | get_a_my_trait4(...) | T1.impl(T) | main.rs:2282:5:2283:14 | S1 | -| main.rs:2361:17:2361:37 | ... .0 | | main.rs:2340:44:2340:58 | impl ... | -| main.rs:2361:17:2361:37 | ... .0 | impl(T) | main.rs:2282:5:2283:14 | S1 | -| main.rs:2361:17:2361:45 | ... .get_a() | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2361:33:2361:34 | S1 | | main.rs:2282:5:2283:14 | S1 | -| main.rs:2372:16:2372:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2372:16:2372:20 | SelfParam | TRef | main.rs:2368:5:2369:13 | S | -| main.rs:2372:31:2374:9 | { ... } | | main.rs:2368:5:2369:13 | S | -| main.rs:2373:13:2373:13 | S | | main.rs:2368:5:2369:13 | S | -| main.rs:2383:26:2385:9 | { ... } | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2383:26:2385:9 | { ... } | T | main.rs:2382:10:2382:10 | T | -| main.rs:2384:13:2384:38 | MyVec {...} | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2384:13:2384:38 | MyVec {...} | T | main.rs:2382:10:2382:10 | T | -| main.rs:2384:27:2384:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2384:27:2384:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2384:27:2384:36 | ...::new(...) | T | main.rs:2382:10:2382:10 | T | -| main.rs:2387:17:2387:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2387:17:2387:25 | SelfParam | TRefMut | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2387:17:2387:25 | SelfParam | TRefMut.T | main.rs:2382:10:2382:10 | T | -| main.rs:2387:28:2387:32 | value | | main.rs:2382:10:2382:10 | T | -| main.rs:2387:38:2389:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2388:13:2388:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2388:13:2388:16 | self | TRefMut | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2388:13:2388:16 | self | TRefMut.T | main.rs:2382:10:2382:10 | T | -| main.rs:2388:13:2388:21 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:2388:13:2388:21 | self.data | A | {EXTERNAL LOCATION} | Global | -| main.rs:2388:13:2388:21 | self.data | T | main.rs:2382:10:2382:10 | T | -| main.rs:2388:13:2388:33 | ... .push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2388:28:2388:32 | value | | main.rs:2382:10:2382:10 | T | -| main.rs:2396:18:2396:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2396:18:2396:22 | SelfParam | TRef | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2396:18:2396:22 | SelfParam | TRef.T | main.rs:2392:10:2392:10 | T | -| main.rs:2396:25:2396:29 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2396:56:2398:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2396:56:2398:9 | { ... } | TRef | main.rs:2392:10:2392:10 | T | -| main.rs:2397:13:2397:29 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2397:13:2397:29 | &... | TRef | main.rs:2392:10:2392:10 | T | -| main.rs:2397:14:2397:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2397:14:2397:17 | self | TRef | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2397:14:2397:17 | self | TRef.T | main.rs:2392:10:2392:10 | T | -| main.rs:2397:14:2397:22 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:2397:14:2397:22 | self.data | A | {EXTERNAL LOCATION} | Global | -| main.rs:2397:14:2397:22 | self.data | T | main.rs:2392:10:2392:10 | T | -| main.rs:2397:14:2397:29 | ...[index] | | main.rs:2392:10:2392:10 | T | -| main.rs:2397:24:2397:28 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2401:22:2401:26 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2401:22:2401:26 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2401:22:2401:26 | slice | TRef.TSlice | main.rs:2368:5:2369:13 | S | -| main.rs:2401:35:2403:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2402:13:2402:13 | x | | main.rs:2368:5:2369:13 | S | -| main.rs:2402:17:2402:21 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2402:17:2402:21 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2402:17:2402:21 | slice | TRef.TSlice | main.rs:2368:5:2369:13 | S | -| main.rs:2402:17:2402:24 | slice[0] | | main.rs:2368:5:2369:13 | S | -| main.rs:2402:17:2402:30 | ... .foo() | | main.rs:2368:5:2369:13 | S | -| main.rs:2402:23:2402:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2405:37:2405:37 | a | | main.rs:2405:20:2405:34 | T | -| main.rs:2405:43:2405:43 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2409:9:2409:9 | a | | main.rs:2405:20:2405:34 | T | -| main.rs:2409:11:2409:11 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2412:16:2423:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2413:17:2413:19 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2413:17:2413:19 | vec | T | main.rs:2368:5:2369:13 | S | -| main.rs:2413:23:2413:34 | ...::new(...) | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2413:23:2413:34 | ...::new(...) | T | main.rs:2368:5:2369:13 | S | -| main.rs:2414:9:2414:11 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2414:9:2414:11 | vec | T | main.rs:2368:5:2369:13 | S | -| main.rs:2414:9:2414:19 | vec.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2414:18:2414:18 | S | | main.rs:2368:5:2369:13 | S | -| main.rs:2415:9:2415:11 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2415:9:2415:11 | vec | T | main.rs:2368:5:2369:13 | S | -| main.rs:2415:9:2415:14 | vec[0] | | main.rs:2368:5:2369:13 | S | -| main.rs:2415:9:2415:20 | ... .foo() | | main.rs:2368:5:2369:13 | S | -| main.rs:2415:13:2415:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2417:13:2417:14 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2417:13:2417:14 | xs | TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2417:21:2417:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2417:26:2417:28 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2417:26:2417:28 | [...] | TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2417:27:2417:27 | S | | main.rs:2368:5:2369:13 | S | -| main.rs:2418:13:2418:13 | x | | main.rs:2368:5:2369:13 | S | -| main.rs:2418:17:2418:18 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2418:17:2418:18 | xs | TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2418:17:2418:21 | xs[0] | | main.rs:2368:5:2369:13 | S | -| main.rs:2418:17:2418:27 | ... .foo() | | main.rs:2368:5:2369:13 | S | -| main.rs:2418:20:2418:20 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2420:29:2420:31 | vec | | main.rs:2377:5:2380:5 | MyVec | -| main.rs:2420:29:2420:31 | vec | T | main.rs:2368:5:2369:13 | S | -| main.rs:2420:34:2420:34 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2422:9:2422:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2422:23:2422:25 | &xs | | {EXTERNAL LOCATION} | & | -| main.rs:2422:23:2422:25 | &xs | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2422:23:2422:25 | &xs | TRef.TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2422:24:2422:25 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2422:24:2422:25 | xs | TArray | main.rs:2368:5:2369:13 | S | -| main.rs:2427:16:2429:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2428:13:2428:13 | x | | {EXTERNAL LOCATION} | String | -| main.rs:2428:17:2428:46 | MacroExpr | | {EXTERNAL LOCATION} | String | -| main.rs:2428:25:2428:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | -| main.rs:2428:25:2428:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2428:25:2428:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2428:25:2428:45 | ...::must_use(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2428:25:2428:45 | { ... } | | {EXTERNAL LOCATION} | String | -| main.rs:2428:38:2428:45 | "World!" | | {EXTERNAL LOCATION} | & | -| main.rs:2428:38:2428:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2437:19:2437:22 | SelfParam | | main.rs:2433:5:2438:5 | Self [trait MyAdd] | -| main.rs:2437:25:2437:27 | rhs | | main.rs:2433:17:2433:26 | Rhs | -| main.rs:2444:19:2444:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2444:25:2444:29 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2444:45:2446:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2445:13:2445:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2453:19:2453:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2453:25:2453:29 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2453:25:2453:29 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2453:46:2455:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2454:13:2454:18 | * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2454:14:2454:18 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2454:14:2454:18 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2462:19:2462:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2462:25:2462:29 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2462:46:2468:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2463:13:2467:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2463:13:2467:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | -| main.rs:2463:16:2463:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2463:22:2465:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2463:22:2465:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2464:17:2464:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2464:17:2464:17 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2465:20:2467:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2465:20:2467:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2466:17:2466:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2466:17:2466:17 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2477:19:2477:22 | SelfParam | | main.rs:2471:5:2471:19 | S | -| main.rs:2477:19:2477:22 | SelfParam | T | main.rs:2473:10:2473:17 | T | -| main.rs:2477:25:2477:29 | other | | main.rs:2471:5:2471:19 | S | -| main.rs:2477:25:2477:29 | other | T | main.rs:2473:10:2473:17 | T | -| main.rs:2477:54:2479:9 | { ... } | | main.rs:2471:5:2471:19 | S | -| main.rs:2478:13:2478:39 | S(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2478:15:2478:22 | (...) | | main.rs:2473:10:2473:17 | T | -| main.rs:2478:16:2478:19 | self | | main.rs:2471:5:2471:19 | S | -| main.rs:2478:16:2478:19 | self | T | main.rs:2473:10:2473:17 | T | -| main.rs:2478:16:2478:21 | self.0 | | main.rs:2473:10:2473:17 | T | -| main.rs:2478:31:2478:35 | other | | main.rs:2471:5:2471:19 | S | -| main.rs:2478:31:2478:35 | other | T | main.rs:2473:10:2473:17 | T | -| main.rs:2478:31:2478:37 | other.0 | | main.rs:2473:10:2473:17 | T | -| main.rs:2486:19:2486:22 | SelfParam | | main.rs:2471:5:2471:19 | S | -| main.rs:2486:19:2486:22 | SelfParam | T | main.rs:2482:10:2482:17 | T | -| main.rs:2486:25:2486:29 | other | | main.rs:2482:10:2482:17 | T | -| main.rs:2486:51:2488:9 | { ... } | | main.rs:2471:5:2471:19 | S | -| main.rs:2487:13:2487:37 | S(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2487:15:2487:22 | (...) | | main.rs:2482:10:2482:17 | T | -| main.rs:2487:16:2487:19 | self | | main.rs:2471:5:2471:19 | S | -| main.rs:2487:16:2487:19 | self | T | main.rs:2482:10:2482:17 | T | -| main.rs:2487:16:2487:21 | self.0 | | main.rs:2482:10:2482:17 | T | -| main.rs:2487:31:2487:35 | other | | main.rs:2482:10:2482:17 | T | -| main.rs:2498:19:2498:22 | SelfParam | | main.rs:2471:5:2471:19 | S | -| main.rs:2498:19:2498:22 | SelfParam | T | main.rs:2491:14:2491:14 | T | -| main.rs:2498:25:2498:29 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2498:25:2498:29 | other | TRef | main.rs:2491:14:2491:14 | T | -| main.rs:2498:55:2500:9 | { ... } | | main.rs:2471:5:2471:19 | S | -| main.rs:2499:13:2499:37 | S(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2499:15:2499:22 | (...) | | main.rs:2491:14:2491:14 | T | -| main.rs:2499:16:2499:19 | self | | main.rs:2471:5:2471:19 | S | -| main.rs:2499:16:2499:19 | self | T | main.rs:2491:14:2491:14 | T | -| main.rs:2499:16:2499:21 | self.0 | | main.rs:2491:14:2491:14 | T | -| main.rs:2499:31:2499:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2499:31:2499:35 | other | TRef | main.rs:2491:14:2491:14 | T | -| main.rs:2505:20:2505:24 | value | | main.rs:2503:18:2503:18 | T | -| main.rs:2510:20:2510:24 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2510:40:2512:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2511:13:2511:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2517:20:2517:24 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2517:41:2523:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2518:13:2522:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2518:13:2522:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | -| main.rs:2518:16:2518:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2518:22:2520:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2518:22:2520:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2519:17:2519:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2519:17:2519:17 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2520:20:2522:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2520:20:2522:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2521:17:2521:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2521:17:2521:17 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2528:21:2528:25 | value | | main.rs:2526:19:2526:19 | T | -| main.rs:2528:31:2528:31 | x | | main.rs:2526:5:2529:5 | Self [trait MyFrom2] | -| main.rs:2533:21:2533:25 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2533:33:2533:33 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2533:48:2535:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2534:13:2534:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2540:21:2540:25 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2540:34:2540:34 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2540:49:2546:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2541:13:2545:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2541:16:2541:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2541:22:2543:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2542:17:2542:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2543:20:2545:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2544:17:2544:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2551:15:2551:15 | x | | main.rs:2549:5:2555:5 | Self [trait MySelfTrait] | -| main.rs:2554:15:2554:15 | x | | main.rs:2549:5:2555:5 | Self [trait MySelfTrait] | -| main.rs:2559:15:2559:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2559:31:2561:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2560:13:2560:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2560:13:2560:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2560:17:2560:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2564:15:2564:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2564:32:2566:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2565:13:2565:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2565:13:2565:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2565:17:2565:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2571:15:2571:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2571:31:2573:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2572:13:2572:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2572:13:2572:13 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2576:15:2576:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2576:32:2578:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2577:13:2577:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2581:16:2606:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2582:13:2582:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2582:22:2582:23 | 73 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2582:22:2582:23 | 73 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2583:9:2583:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2583:9:2583:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2583:18:2583:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2584:9:2584:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2584:9:2584:23 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2584:18:2584:22 | &5i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2584:18:2584:22 | &5i64 | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2584:19:2584:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2585:9:2585:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2585:9:2585:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2585:18:2585:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2587:9:2587:15 | S(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2587:9:2587:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2587:9:2587:31 | ... .my_add(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2587:11:2587:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2587:24:2587:30 | S(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2587:24:2587:30 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2587:26:2587:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2588:9:2588:15 | S(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2588:9:2588:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2588:11:2588:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2588:24:2588:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2589:9:2589:15 | S(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2589:9:2589:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2589:9:2589:29 | ... .my_add(...) | | main.rs:2471:5:2471:19 | S | -| main.rs:2589:11:2589:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2589:24:2589:28 | &3i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2589:24:2589:28 | &3i64 | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2589:25:2589:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2591:13:2591:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2591:17:2591:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2591:30:2591:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2592:13:2592:13 | y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2592:17:2592:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2592:30:2592:33 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2593:13:2593:13 | z | | {EXTERNAL LOCATION} | i64 | -| main.rs:2593:22:2593:43 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2593:38:2593:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2594:9:2594:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2594:23:2594:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2594:30:2594:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2595:9:2595:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2595:23:2595:26 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2595:29:2595:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2596:9:2596:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2596:27:2596:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2596:34:2596:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2598:9:2598:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2598:17:2598:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2599:9:2599:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2599:17:2599:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2600:9:2600:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2600:18:2600:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2601:9:2601:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2601:18:2601:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2602:9:2602:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2602:25:2602:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2603:9:2603:30 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2603:25:2603:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2604:9:2604:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2604:25:2604:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2605:9:2605:29 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2605:25:2605:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2613:26:2615:9 | { ... } | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2614:13:2614:25 | MyCallable {...} | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2617:17:2617:21 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2617:17:2617:21 | SelfParam | TRef | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2617:31:2619:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2618:13:2618:13 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2618:13:2618:13 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2622:16:2729:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2625:9:2625:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2625:13:2625:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2625:18:2625:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2625:18:2625:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2625:19:2625:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2625:22:2625:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2625:25:2625:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2625:28:2625:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2626:9:2626:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2626:18:2626:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2626:18:2626:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2626:18:2626:41 | ... .map(...) | | {EXTERNAL LOCATION} | [;] | -| main.rs:2626:19:2626:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2626:22:2626:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2626:25:2626:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2626:32:2626:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | -| main.rs:2626:32:2626:40 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| main.rs:2626:40:2626:40 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2626:43:2626:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2627:9:2627:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2627:13:2627:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:18:2627:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2627:18:2627:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:18:2627:38 | ... .into_iter() | | {EXTERNAL LOCATION} | IntoIter | -| main.rs:2627:18:2627:38 | ... .into_iter() | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:19:2627:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:22:2627:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:25:2627:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:40:2627:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2629:13:2629:17 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2629:13:2629:17 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2629:13:2629:17 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | -| main.rs:2629:21:2629:31 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2629:21:2629:31 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2629:21:2629:31 | [...] | TArray | {EXTERNAL LOCATION} | u8 | -| main.rs:2629:22:2629:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2629:27:2629:27 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2629:27:2629:27 | 2 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2629:30:2629:30 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2629:30:2629:30 | 3 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2630:9:2630:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2630:13:2630:13 | u | | {EXTERNAL LOCATION} | i32 | -| main.rs:2630:13:2630:13 | u | | {EXTERNAL LOCATION} | u8 | -| main.rs:2630:18:2630:22 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2630:18:2630:22 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2630:18:2630:22 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | -| main.rs:2630:24:2630:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2632:13:2632:17 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2632:13:2632:17 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2632:21:2632:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2632:21:2632:29 | [1u16; 3] | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2632:22:2632:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2632:28:2632:28 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2633:9:2633:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2633:13:2633:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2633:18:2633:22 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2633:18:2633:22 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2633:24:2633:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2635:13:2635:17 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2635:13:2635:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2635:26:2635:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2635:31:2635:39 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2635:31:2635:39 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2635:31:2635:39 | [...] | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2635:32:2635:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2635:32:2635:32 | 1 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2635:35:2635:35 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2635:35:2635:35 | 2 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2635:38:2635:38 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2635:38:2635:38 | 3 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2636:9:2636:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2636:13:2636:13 | u | | {EXTERNAL LOCATION} | u32 | -| main.rs:2636:18:2636:22 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2636:18:2636:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2636:24:2636:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2638:13:2638:17 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2638:13:2638:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2638:26:2638:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2638:31:2638:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2638:31:2638:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2638:31:2638:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2638:32:2638:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2638:32:2638:32 | 1 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2638:35:2638:35 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2639:9:2639:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2639:13:2639:13 | u | | {EXTERNAL LOCATION} | u64 | -| main.rs:2639:18:2639:22 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2639:18:2639:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2639:24:2639:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2641:17:2641:24 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2641:17:2641:24 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2641:17:2641:24 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2641:28:2641:48 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2641:28:2641:48 | [...] | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2641:28:2641:48 | [...] | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2641:29:2641:33 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2641:29:2641:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2641:36:2641:40 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2641:36:2641:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2641:43:2641:47 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2641:43:2641:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2642:9:2642:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2642:13:2642:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:2642:13:2642:13 | s | TRef | {EXTERNAL LOCATION} | & | -| main.rs:2642:13:2642:13 | s | TRef.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2642:18:2642:26 | &strings1 | | {EXTERNAL LOCATION} | & | -| main.rs:2642:18:2642:26 | &strings1 | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2642:18:2642:26 | &strings1 | TRef.TArray | {EXTERNAL LOCATION} | & | -| main.rs:2642:18:2642:26 | &strings1 | TRef.TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2642:19:2642:26 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2642:19:2642:26 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2642:19:2642:26 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2642:28:2642:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2643:9:2643:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2643:13:2643:13 | s | | {EXTERNAL LOCATION} | &mut | -| main.rs:2643:13:2643:13 | s | TRefMut | {EXTERNAL LOCATION} | & | -| main.rs:2643:13:2643:13 | s | TRefMut.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2643:18:2643:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | -| main.rs:2643:18:2643:30 | &mut strings1 | TRefMut | {EXTERNAL LOCATION} | [;] | -| main.rs:2643:18:2643:30 | &mut strings1 | TRefMut.TArray | {EXTERNAL LOCATION} | & | -| main.rs:2643:18:2643:30 | &mut strings1 | TRefMut.TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2643:23:2643:30 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2643:23:2643:30 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2643:23:2643:30 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2643:32:2643:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2644:9:2644:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2644:13:2644:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:2644:13:2644:13 | s | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2644:18:2644:25 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2644:18:2644:25 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2644:18:2644:25 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2644:27:2644:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2646:13:2646:20 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2646:13:2646:20 | strings2 | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2647:9:2651:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2647:9:2651:9 | [...] | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2648:13:2648:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2648:26:2648:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2648:26:2648:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2649:13:2649:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2649:26:2649:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2649:26:2649:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2650:13:2650:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2650:26:2650:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2650:26:2650:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2652:9:2652:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2652:13:2652:13 | s | | {EXTERNAL LOCATION} | String | -| main.rs:2652:18:2652:25 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2652:18:2652:25 | strings2 | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2652:27:2652:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2654:13:2654:20 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2654:13:2654:20 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2654:13:2654:20 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | -| main.rs:2655:9:2659:9 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2655:9:2659:9 | &... | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2655:9:2659:9 | &... | TRef.TArray | {EXTERNAL LOCATION} | String | -| main.rs:2655:10:2659:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2655:10:2659:9 | [...] | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2656:13:2656:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2656:26:2656:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2656:26:2656:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2657:13:2657:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2657:26:2657:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2657:26:2657:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2658:13:2658:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2658:26:2658:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2658:26:2658:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2660:9:2660:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2660:13:2660:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:2660:13:2660:13 | s | TRef | {EXTERNAL LOCATION} | String | -| main.rs:2660:18:2660:25 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2660:18:2660:25 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2660:18:2660:25 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | -| main.rs:2660:27:2660:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2662:13:2662:21 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2662:13:2662:21 | callables | TArray | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2662:25:2662:81 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2662:25:2662:81 | [...] | TArray | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2662:26:2662:42 | ...::new(...) | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2662:45:2662:61 | ...::new(...) | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2662:64:2662:80 | ...::new(...) | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2663:9:2667:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2663:13:2663:13 | c | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2664:12:2664:20 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2664:12:2664:20 | callables | TArray | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2665:9:2667:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2666:17:2666:22 | result | | {EXTERNAL LOCATION} | i64 | -| main.rs:2666:26:2666:26 | c | | main.rs:2610:5:2610:24 | MyCallable | -| main.rs:2666:26:2666:33 | c.call() | | {EXTERNAL LOCATION} | i64 | -| main.rs:2671:9:2671:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2671:13:2671:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2671:18:2671:18 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2671:18:2671:22 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2671:18:2671:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2671:21:2671:22 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2671:24:2671:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2672:9:2672:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2672:13:2672:13 | u | | {EXTERNAL LOCATION} | Range | -| main.rs:2672:13:2672:13 | u | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2672:13:2672:13 | u | Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2672:18:2672:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2672:18:2672:26 | [...] | TArray | {EXTERNAL LOCATION} | Range | -| main.rs:2672:18:2672:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2672:18:2672:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2672:19:2672:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2672:19:2672:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2672:19:2672:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2672:19:2672:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2672:24:2672:25 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2672:24:2672:25 | 10 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2672:28:2672:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2673:13:2673:17 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2673:13:2673:17 | range | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2673:21:2673:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2673:21:2673:25 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2673:21:2673:25 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2673:24:2673:25 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2674:9:2674:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2674:13:2674:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2674:18:2674:22 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2674:18:2674:22 | range | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2674:24:2674:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2675:13:2675:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2675:26:2675:27 | .. | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2676:9:2676:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2676:18:2676:48 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2676:19:2676:36 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2676:19:2676:36 | [...] | TArray | {EXTERNAL LOCATION} | i64 | -| main.rs:2676:20:2676:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2676:26:2676:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2676:32:2676:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2676:38:2676:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2676:50:2676:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2678:13:2678:18 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2678:13:2678:18 | range1 | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2679:9:2682:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | -| main.rs:2679:9:2682:9 | ...::Range {...} | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2680:20:2680:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2681:18:2681:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2683:9:2683:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2683:13:2683:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2683:18:2683:23 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2683:18:2683:23 | range1 | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2683:25:2683:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2687:13:2687:17 | vals3 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2687:21:2687:33 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2687:26:2687:26 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2687:29:2687:29 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2687:32:2687:32 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2688:9:2688:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2688:18:2688:22 | vals3 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2688:24:2688:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2690:13:2690:18 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2690:13:2690:18 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2690:13:2690:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2690:32:2690:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2690:32:2690:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2690:32:2690:43 | [...] | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2690:32:2690:52 | ... .to_vec() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2690:32:2690:52 | ... .to_vec() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2690:32:2690:52 | ... .to_vec() | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2690:33:2690:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2690:39:2690:39 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2690:42:2690:42 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2691:9:2691:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2691:13:2691:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2691:18:2691:23 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2691:18:2691:23 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2691:18:2691:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2691:25:2691:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2693:22:2693:33 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2693:22:2693:33 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2693:22:2693:33 | [...] | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2693:23:2693:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2693:29:2693:29 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2693:32:2693:32 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2694:9:2694:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2694:25:2694:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2696:13:2696:17 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2696:13:2696:17 | vals5 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2696:13:2696:17 | vals5 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:13:2696:17 | vals5 | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2696:21:2696:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2696:21:2696:43 | ...::from(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2696:21:2696:43 | ...::from(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:21:2696:43 | ...::from(...) | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2696:31:2696:42 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2696:31:2696:42 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:31:2696:42 | [...] | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2696:32:2696:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2696:38:2696:38 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:41:2696:41 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2697:9:2697:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2697:13:2697:13 | u | | {EXTERNAL LOCATION} | i32 | -| main.rs:2697:13:2697:13 | u | | {EXTERNAL LOCATION} | u32 | -| main.rs:2697:18:2697:22 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2697:18:2697:22 | vals5 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2697:18:2697:22 | vals5 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2697:18:2697:22 | vals5 | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2697:24:2697:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2699:13:2699:17 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2699:13:2699:17 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2699:13:2699:17 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2699:13:2699:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2699:32:2699:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2699:32:2699:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2699:32:2699:43 | [...] | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2699:32:2699:60 | ... .collect() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2699:32:2699:60 | ... .collect() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2699:32:2699:60 | ... .collect() | T | {EXTERNAL LOCATION} | & | -| main.rs:2699:32:2699:60 | ... .collect() | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2699:33:2699:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2699:39:2699:39 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2699:42:2699:42 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2700:9:2700:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2700:13:2700:13 | u | | {EXTERNAL LOCATION} | & | -| main.rs:2700:13:2700:13 | u | TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2700:18:2700:22 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2700:18:2700:22 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2700:18:2700:22 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2700:18:2700:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2700:24:2700:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2702:17:2702:21 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2702:17:2702:21 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2702:17:2702:21 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2702:25:2702:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2702:25:2702:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2702:25:2702:34 | ...::new(...) | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2703:9:2703:13 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2703:9:2703:13 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2703:9:2703:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2703:9:2703:23 | vals7.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2703:20:2703:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2704:9:2704:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2704:13:2704:13 | u | | {EXTERNAL LOCATION} | u8 | -| main.rs:2704:18:2704:22 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2704:18:2704:22 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2704:18:2704:22 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2704:24:2704:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2706:13:2706:19 | matrix1 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2706:23:2706:50 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2706:28:2706:37 | (...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2706:28:2706:37 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2706:33:2706:33 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2706:36:2706:36 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2706:40:2706:49 | (...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2706:40:2706:49 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2706:45:2706:45 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2706:48:2706:48 | 4 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2708:13:2708:13 | _ | | {EXTERNAL LOCATION} | () | -| main.rs:2708:17:2711:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2708:28:2708:34 | matrix1 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2708:36:2711:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2709:13:2710:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2709:29:2710:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2713:17:2713:20 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2713:17:2713:20 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2713:17:2713:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2713:17:2713:20 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2713:17:2713:20 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2713:17:2713:20 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2713:17:2713:20 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2713:24:2713:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2713:24:2713:55 | ...::new(...) | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2713:24:2713:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2713:24:2713:55 | ...::new(...) | V | {EXTERNAL LOCATION} | Box | -| main.rs:2713:24:2713:55 | ...::new(...) | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2713:24:2713:55 | ...::new(...) | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2713:24:2713:55 | ...::new(...) | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2714:9:2714:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2714:9:2714:12 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2714:9:2714:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2714:9:2714:12 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2714:9:2714:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2714:9:2714:12 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2714:9:2714:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2714:9:2714:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2714:9:2714:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2714:9:2714:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2714:9:2714:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | -| main.rs:2714:9:2714:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2714:21:2714:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2714:24:2714:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2714:24:2714:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2714:24:2714:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:2714:24:2714:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2714:33:2714:37 | "one" | | {EXTERNAL LOCATION} | & | -| main.rs:2714:33:2714:37 | "one" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2715:9:2715:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2715:9:2715:12 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2715:9:2715:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2715:9:2715:12 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2715:9:2715:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2715:9:2715:12 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2715:9:2715:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2715:9:2715:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2715:9:2715:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2715:9:2715:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2715:9:2715:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | -| main.rs:2715:9:2715:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2715:21:2715:21 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2715:24:2715:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2715:24:2715:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2715:24:2715:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:2715:24:2715:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2715:33:2715:37 | "two" | | {EXTERNAL LOCATION} | & | -| main.rs:2715:33:2715:37 | "two" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2716:9:2716:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2716:13:2716:15 | key | | {EXTERNAL LOCATION} | & | -| main.rs:2716:13:2716:15 | key | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2716:20:2716:23 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2716:20:2716:23 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2716:20:2716:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2716:20:2716:23 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2716:20:2716:23 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2716:20:2716:23 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2716:20:2716:23 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2716:20:2716:30 | map1.keys() | | {EXTERNAL LOCATION} | Keys | -| main.rs:2716:20:2716:30 | map1.keys() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2716:20:2716:30 | map1.keys() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2716:20:2716:30 | map1.keys() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2716:20:2716:30 | map1.keys() | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2716:20:2716:30 | map1.keys() | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2716:32:2716:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2717:9:2717:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2717:13:2717:17 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2717:13:2717:17 | value | TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2717:13:2717:17 | value | TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2717:13:2717:17 | value | TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2717:13:2717:17 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2717:22:2717:25 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2717:22:2717:25 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2717:22:2717:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2717:22:2717:25 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2717:22:2717:25 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2717:22:2717:25 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2717:22:2717:25 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2717:22:2717:34 | map1.values() | | {EXTERNAL LOCATION} | Values | -| main.rs:2717:22:2717:34 | map1.values() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2717:22:2717:34 | map1.values() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2717:22:2717:34 | map1.values() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2717:22:2717:34 | map1.values() | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2717:22:2717:34 | map1.values() | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2717:36:2717:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2718:9:2718:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2718:13:2718:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2718:13:2718:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | -| main.rs:2718:13:2718:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2718:13:2718:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | -| main.rs:2718:13:2718:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2718:13:2718:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2718:13:2718:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2718:13:2718:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2718:14:2718:16 | key | | {EXTERNAL LOCATION} | & | -| main.rs:2718:14:2718:16 | key | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2718:19:2718:23 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2718:19:2718:23 | value | TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2718:19:2718:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2718:19:2718:23 | value | TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2718:19:2718:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2718:29:2718:32 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2718:29:2718:32 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2718:29:2718:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2718:29:2718:32 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2718:29:2718:32 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2718:29:2718:32 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2718:29:2718:32 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2718:29:2718:39 | map1.iter() | | {EXTERNAL LOCATION} | Iter | -| main.rs:2718:29:2718:39 | map1.iter() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2718:29:2718:39 | map1.iter() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2718:29:2718:39 | map1.iter() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2718:29:2718:39 | map1.iter() | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2718:29:2718:39 | map1.iter() | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2718:41:2718:42 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2719:9:2719:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2719:13:2719:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2719:13:2719:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | -| main.rs:2719:13:2719:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2719:13:2719:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | -| main.rs:2719:13:2719:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2719:13:2719:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2719:13:2719:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2719:13:2719:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2719:14:2719:16 | key | | {EXTERNAL LOCATION} | & | -| main.rs:2719:14:2719:16 | key | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2719:19:2719:23 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2719:19:2719:23 | value | TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2719:19:2719:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2719:19:2719:23 | value | TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2719:19:2719:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2719:29:2719:33 | &map1 | | {EXTERNAL LOCATION} | & | -| main.rs:2719:29:2719:33 | &map1 | TRef | {EXTERNAL LOCATION} | HashMap | -| main.rs:2719:29:2719:33 | &map1 | TRef.K | {EXTERNAL LOCATION} | i32 | -| main.rs:2719:29:2719:33 | &map1 | TRef.S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2719:29:2719:33 | &map1 | TRef.V | {EXTERNAL LOCATION} | Box | -| main.rs:2719:29:2719:33 | &map1 | TRef.V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2719:29:2719:33 | &map1 | TRef.V.T | {EXTERNAL LOCATION} | & | -| main.rs:2719:29:2719:33 | &map1 | TRef.V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2719:30:2719:33 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2719:30:2719:33 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2719:30:2719:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2719:30:2719:33 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2719:30:2719:33 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2719:30:2719:33 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2719:30:2719:33 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2719:35:2719:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2723:17:2723:17 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2723:26:2723:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2723:26:2723:26 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2725:13:2725:13 | _ | | {EXTERNAL LOCATION} | () | -| main.rs:2725:17:2728:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2725:23:2725:23 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2725:23:2725:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2725:27:2725:28 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2726:9:2728:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2727:13:2727:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2727:13:2727:18 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:2727:18:2727:18 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2739:40:2741:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2739:40:2741:9 | { ... } | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2739:40:2741:9 | { ... } | T.T | main.rs:2738:10:2738:19 | T | -| main.rs:2740:13:2740:16 | None | | {EXTERNAL LOCATION} | Option | -| main.rs:2740:13:2740:16 | None | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2740:13:2740:16 | None | T.T | main.rs:2738:10:2738:19 | T | -| main.rs:2743:30:2745:9 | { ... } | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2743:30:2745:9 | { ... } | T | main.rs:2738:10:2738:19 | T | -| main.rs:2744:13:2744:28 | S1(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2744:13:2744:28 | S1(...) | T | main.rs:2738:10:2738:19 | T | -| main.rs:2744:16:2744:27 | ...::default(...) | | main.rs:2738:10:2738:19 | T | -| main.rs:2747:19:2747:22 | SelfParam | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2747:19:2747:22 | SelfParam | T | main.rs:2738:10:2738:19 | T | -| main.rs:2747:33:2749:9 | { ... } | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2747:33:2749:9 | { ... } | T | main.rs:2738:10:2738:19 | T | -| main.rs:2748:13:2748:16 | self | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2748:13:2748:16 | self | T | main.rs:2738:10:2738:19 | T | -| main.rs:2760:15:2760:15 | x | | main.rs:2760:12:2760:12 | T | -| main.rs:2760:26:2762:5 | { ... } | | main.rs:2760:12:2760:12 | T | -| main.rs:2761:9:2761:9 | x | | main.rs:2760:12:2760:12 | T | -| main.rs:2764:16:2786:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2765:13:2765:14 | x1 | | {EXTERNAL LOCATION} | Option | -| main.rs:2765:13:2765:14 | x1 | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2765:13:2765:14 | x1 | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2765:34:2765:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2765:34:2765:48 | ...::assoc_fun(...) | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2765:34:2765:48 | ...::assoc_fun(...) | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2766:13:2766:14 | x2 | | {EXTERNAL LOCATION} | Option | -| main.rs:2766:13:2766:14 | x2 | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2766:13:2766:14 | x2 | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2766:18:2766:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2766:18:2766:38 | ...::assoc_fun(...) | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2766:18:2766:38 | ...::assoc_fun(...) | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2767:13:2767:14 | x3 | | {EXTERNAL LOCATION} | Option | -| main.rs:2767:13:2767:14 | x3 | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2767:13:2767:14 | x3 | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2767:18:2767:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2767:18:2767:32 | ...::assoc_fun(...) | T | main.rs:2733:5:2733:20 | S1 | -| main.rs:2767:18:2767:32 | ...::assoc_fun(...) | T.T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2768:13:2768:14 | x4 | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2768:13:2768:14 | x4 | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2768:18:2768:48 | ...::method(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2768:18:2768:48 | ...::method(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2768:35:2768:47 | ...::default(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2768:35:2768:47 | ...::default(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2769:13:2769:14 | x5 | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2769:13:2769:14 | x5 | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2769:18:2769:42 | ...::method(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2769:18:2769:42 | ...::method(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2769:29:2769:41 | ...::default(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2769:29:2769:41 | ...::default(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2770:13:2770:14 | x6 | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2770:13:2770:14 | x6 | T4 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2770:18:2770:45 | S4::<...>(...) | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2770:18:2770:45 | S4::<...>(...) | T4 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2770:27:2770:44 | ...::default(...) | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2771:13:2771:14 | x7 | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2771:13:2771:14 | x7 | T4 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2771:18:2771:23 | S4(...) | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2771:18:2771:23 | S4(...) | T4 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2771:21:2771:22 | S2 | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2772:13:2772:14 | x8 | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2772:13:2772:14 | x8 | T4 | {EXTERNAL LOCATION} | i32 | -| main.rs:2772:18:2772:22 | S4(...) | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2772:18:2772:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | -| main.rs:2772:21:2772:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2773:13:2773:14 | x9 | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2773:13:2773:14 | x9 | T4 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2773:18:2773:34 | S4(...) | | main.rs:2754:5:2754:27 | S4 | -| main.rs:2773:18:2773:34 | S4(...) | T4 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2773:21:2773:33 | ...::default(...) | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2774:13:2774:15 | x10 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2774:13:2774:15 | x10 | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2774:19:2777:9 | S5::<...> {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2774:19:2777:9 | S5::<...> {...} | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2776:20:2776:37 | ...::default(...) | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2778:13:2778:15 | x11 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2778:13:2778:15 | x11 | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2778:19:2778:34 | S5 {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2778:19:2778:34 | S5 {...} | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2778:31:2778:32 | S2 | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2779:13:2779:15 | x12 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2779:13:2779:15 | x12 | T5 | {EXTERNAL LOCATION} | i32 | -| main.rs:2779:19:2779:33 | S5 {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2779:19:2779:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | -| main.rs:2779:31:2779:31 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2780:13:2780:15 | x13 | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2780:13:2780:15 | x13 | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2780:19:2783:9 | S5 {...} | | main.rs:2756:5:2758:5 | S5 | -| main.rs:2780:19:2783:9 | S5 {...} | T5 | main.rs:2735:5:2736:14 | S2 | -| main.rs:2782:20:2782:32 | ...::default(...) | | main.rs:2735:5:2736:14 | S2 | -| main.rs:2784:13:2784:15 | x14 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2784:19:2784:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2784:30:2784:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2785:13:2785:15 | x15 | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2785:13:2785:15 | x15 | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2785:19:2785:37 | ...::default(...) | | main.rs:2733:5:2733:20 | S1 | -| main.rs:2785:19:2785:37 | ...::default(...) | T | main.rs:2735:5:2736:14 | S2 | -| main.rs:2794:35:2796:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2794:35:2796:9 | { ... } | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2794:35:2796:9 | { ... } | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2795:13:2795:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2795:13:2795:26 | TupleExpr | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2795:13:2795:26 | TupleExpr | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2795:14:2795:18 | S1 {...} | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2795:21:2795:25 | S1 {...} | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2797:16:2797:19 | SelfParam | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2797:22:2797:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2800:16:2834:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2801:13:2801:13 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2801:13:2801:13 | a | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2801:13:2801:13 | a | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2801:17:2801:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2801:17:2801:30 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2801:17:2801:30 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:17:2802:17 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2802:17:2802:17 | b | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:17:2802:17 | b | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:21:2802:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2802:21:2802:34 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2802:21:2802:34 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:13:2803:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2803:13:2803:18 | TuplePat | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:13:2803:18 | TuplePat | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:14:2803:14 | c | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:17:2803:17 | d | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:22:2803:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2803:22:2803:35 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2803:22:2803:35 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:13:2804:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2804:13:2804:22 | TuplePat | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:13:2804:22 | TuplePat | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:18:2804:18 | e | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:21:2804:21 | f | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:26:2804:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2804:26:2804:39 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2804:26:2804:39 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:13:2805:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2805:13:2805:26 | TuplePat | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:13:2805:26 | TuplePat | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:18:2805:18 | g | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:25:2805:25 | h | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:30:2805:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2805:30:2805:43 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2805:30:2805:43 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2807:9:2807:9 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2807:9:2807:9 | a | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2807:9:2807:9 | a | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2807:9:2807:11 | a.0 | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2807:9:2807:17 | ... .foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2808:9:2808:9 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2808:9:2808:9 | b | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2808:9:2808:9 | b | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2808:9:2808:11 | b.1 | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2808:9:2808:17 | ... .foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2809:9:2809:9 | c | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2809:9:2809:15 | c.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2810:9:2810:9 | d | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2810:9:2810:15 | d.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2811:9:2811:9 | e | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2811:9:2811:15 | e.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2812:9:2812:9 | f | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2812:9:2812:15 | f.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2813:9:2813:9 | g | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2813:9:2813:15 | g.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2814:9:2814:9 | h | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2814:9:2814:15 | h.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2819:13:2819:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2819:17:2819:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2820:13:2820:13 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2820:17:2820:34 | ...::default(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2821:13:2821:16 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2821:13:2821:16 | pair | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2821:13:2821:16 | pair | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2821:20:2821:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2821:20:2821:25 | TupleExpr | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2821:20:2821:25 | TupleExpr | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2821:21:2821:21 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2821:24:2821:24 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2822:13:2822:13 | i | | {EXTERNAL LOCATION} | i64 | -| main.rs:2822:22:2822:25 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2822:22:2822:25 | pair | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2822:22:2822:25 | pair | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2822:22:2822:27 | pair.0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2823:13:2823:13 | j | | {EXTERNAL LOCATION} | bool | -| main.rs:2823:23:2823:26 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2823:23:2823:26 | pair | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2823:23:2823:26 | pair | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2823:23:2823:28 | pair.1 | | {EXTERNAL LOCATION} | bool | -| main.rs:2825:13:2825:16 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2825:13:2825:16 | pair | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2825:13:2825:16 | pair | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2825:20:2825:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2825:20:2825:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2825:20:2825:32 | ... .into() | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2825:20:2825:32 | ... .into() | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2825:20:2825:32 | ... .into() | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2825:21:2825:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2825:24:2825:24 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2826:9:2829:9 | match pair { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2826:15:2826:18 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2826:15:2826:18 | pair | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2826:15:2826:18 | pair | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2827:13:2827:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2827:13:2827:18 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2827:13:2827:18 | TuplePat | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2827:14:2827:14 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2827:17:2827:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2827:23:2827:42 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2827:30:2827:41 | "unexpected" | | {EXTERNAL LOCATION} | & | -| main.rs:2827:30:2827:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2827:30:2827:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2827:30:2827:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2828:13:2828:13 | _ | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2828:13:2828:13 | _ | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2828:13:2828:13 | _ | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2828:18:2828:35 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2828:25:2828:34 | "expected" | | {EXTERNAL LOCATION} | & | -| main.rs:2828:25:2828:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2828:25:2828:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2828:25:2828:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2830:13:2830:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2830:17:2830:20 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2830:17:2830:20 | pair | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2830:17:2830:20 | pair | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2830:17:2830:22 | pair.0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2832:13:2832:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2832:13:2832:13 | y | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2832:13:2832:13 | y | TRef.T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2832:13:2832:13 | y | TRef.T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2832:17:2832:31 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2832:17:2832:31 | &... | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2832:17:2832:31 | &... | TRef.T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2832:17:2832:31 | &... | TRef.T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2832:18:2832:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2832:18:2832:31 | ...::get_pair(...) | T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2832:18:2832:31 | ...::get_pair(...) | T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2833:9:2833:9 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2833:9:2833:9 | y | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2833:9:2833:9 | y | TRef.T0 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2833:9:2833:9 | y | TRef.T1 | main.rs:2790:5:2791:16 | S1 | -| main.rs:2833:9:2833:11 | y.0 | | main.rs:2790:5:2791:16 | S1 | -| main.rs:2833:9:2833:17 | ... .foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2839:27:2861:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2840:13:2840:23 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2840:13:2840:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2840:13:2840:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2840:27:2840:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2840:27:2840:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2840:27:2840:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2840:36:2840:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2843:9:2851:9 | match boxed_value { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2843:15:2843:25 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2843:15:2843:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2843:15:2843:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2844:13:2844:19 | box 100 | | {EXTERNAL LOCATION} | Box | -| main.rs:2844:13:2844:19 | box 100 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2844:13:2844:19 | box 100 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2844:17:2844:19 | 100 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2844:24:2846:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2845:26:2845:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2845:26:2845:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2845:26:2845:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2845:26:2845:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2847:13:2847:17 | box ... | | {EXTERNAL LOCATION} | Box | -| main.rs:2847:13:2847:17 | box ... | A | {EXTERNAL LOCATION} | Global | -| main.rs:2847:13:2847:17 | box ... | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2847:22:2850:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2849:26:2849:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2849:26:2849:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2849:26:2849:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2849:26:2849:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2854:13:2854:22 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2854:13:2854:22 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:13:2854:22 | nested_box | T | {EXTERNAL LOCATION} | Box | -| main.rs:2854:13:2854:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:13:2854:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2854:26:2854:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2854:26:2854:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:26:2854:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2854:26:2854:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:26:2854:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2854:35:2854:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2854:35:2854:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2854:35:2854:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2854:44:2854:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2855:9:2860:9 | match nested_box { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2855:15:2855:24 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2855:15:2855:24 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2855:15:2855:24 | nested_box | T | {EXTERNAL LOCATION} | Box | -| main.rs:2855:15:2855:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2855:15:2855:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2856:13:2856:21 | box ... | | {EXTERNAL LOCATION} | Box | -| main.rs:2856:13:2856:21 | box ... | A | {EXTERNAL LOCATION} | Global | -| main.rs:2856:13:2856:21 | box ... | T | {EXTERNAL LOCATION} | Box | -| main.rs:2856:13:2856:21 | box ... | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2856:13:2856:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2856:26:2859:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2858:26:2858:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2858:26:2858:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2858:26:2858:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2858:26:2858:59 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2870:36:2872:9 | { ... } | | main.rs:2867:5:2867:22 | Path | -| main.rs:2871:13:2871:19 | Path {...} | | main.rs:2867:5:2867:22 | Path | -| main.rs:2874:29:2874:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2874:29:2874:33 | SelfParam | TRef | main.rs:2867:5:2867:22 | Path | -| main.rs:2874:59:2876:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:2874:59:2876:9 | { ... } | E | {EXTERNAL LOCATION} | () | -| main.rs:2874:59:2876:9 | { ... } | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2875:13:2875:30 | Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:2875:13:2875:30 | Ok(...) | E | {EXTERNAL LOCATION} | () | -| main.rs:2875:13:2875:30 | Ok(...) | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2875:16:2875:29 | ...::new(...) | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2882:39:2884:9 | { ... } | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2883:13:2883:22 | PathBuf {...} | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2892:18:2892:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2892:18:2892:22 | SelfParam | TRef | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2892:34:2896:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2892:34:2896:9 | { ... } | TRef | main.rs:2867:5:2867:22 | Path | -| main.rs:2894:33:2894:43 | ...::new(...) | | main.rs:2867:5:2867:22 | Path | -| main.rs:2895:13:2895:17 | &path | | {EXTERNAL LOCATION} | & | -| main.rs:2895:13:2895:17 | &path | TRef | main.rs:2867:5:2867:22 | Path | -| main.rs:2895:14:2895:17 | path | | main.rs:2867:5:2867:22 | Path | -| main.rs:2899:16:2907:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2900:13:2900:17 | path1 | | main.rs:2867:5:2867:22 | Path | -| main.rs:2900:21:2900:31 | ...::new(...) | | main.rs:2867:5:2867:22 | Path | -| main.rs:2901:13:2901:17 | path2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2901:13:2901:17 | path2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2901:13:2901:17 | path2 | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2901:21:2901:25 | path1 | | main.rs:2867:5:2867:22 | Path | -| main.rs:2901:21:2901:40 | path1.canonicalize() | | {EXTERNAL LOCATION} | Result | -| main.rs:2901:21:2901:40 | path1.canonicalize() | E | {EXTERNAL LOCATION} | () | -| main.rs:2901:21:2901:40 | path1.canonicalize() | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2902:13:2902:17 | path3 | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2902:21:2902:25 | path2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2902:21:2902:25 | path2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2902:21:2902:25 | path2 | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2902:21:2902:34 | path2.unwrap() | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2904:13:2904:20 | pathbuf1 | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2904:24:2904:37 | ...::new(...) | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2905:13:2905:20 | pathbuf2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2905:13:2905:20 | pathbuf2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2905:13:2905:20 | pathbuf2 | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2905:24:2905:31 | pathbuf1 | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2905:24:2905:46 | pathbuf1.canonicalize() | | {EXTERNAL LOCATION} | Result | -| main.rs:2905:24:2905:46 | pathbuf1.canonicalize() | E | {EXTERNAL LOCATION} | () | -| main.rs:2905:24:2905:46 | pathbuf1.canonicalize() | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2906:13:2906:20 | pathbuf3 | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2906:24:2906:31 | pathbuf2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2906:24:2906:31 | pathbuf2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2906:24:2906:31 | pathbuf2 | T | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2906:24:2906:40 | pathbuf2.unwrap() | | main.rs:2879:5:2879:25 | PathBuf | -| main.rs:2912:14:2912:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2912:14:2912:18 | SelfParam | TRef | main.rs:2911:5:2913:5 | Self [trait MyTrait] | -| main.rs:2919:14:2919:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2919:14:2919:18 | SelfParam | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2919:14:2919:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2919:28:2921:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2920:13:2920:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2920:13:2920:16 | self | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2920:13:2920:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2920:13:2920:18 | self.0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2925:14:2925:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2925:14:2925:18 | SelfParam | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2925:14:2925:18 | SelfParam | TRef.T | main.rs:2915:5:2916:19 | S | -| main.rs:2925:14:2925:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2925:28:2927:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2926:13:2926:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2926:13:2926:16 | self | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2926:13:2926:16 | self | TRef.T | main.rs:2915:5:2916:19 | S | -| main.rs:2926:13:2926:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2926:13:2926:18 | self.0 | | main.rs:2915:5:2916:19 | S | -| main.rs:2926:13:2926:18 | self.0 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2926:13:2926:21 | ... .0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2931:15:2931:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2931:15:2931:19 | SelfParam | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2931:15:2931:19 | SelfParam | TRef.T | main.rs:2930:10:2930:16 | T | -| main.rs:2931:33:2933:9 | { ... } | | main.rs:2915:5:2916:19 | S | -| main.rs:2931:33:2933:9 | { ... } | T | main.rs:2915:5:2916:19 | S | -| main.rs:2931:33:2933:9 | { ... } | T.T | main.rs:2930:10:2930:16 | T | -| main.rs:2932:13:2932:24 | S(...) | | main.rs:2915:5:2916:19 | S | -| main.rs:2932:13:2932:24 | S(...) | T | main.rs:2915:5:2916:19 | S | -| main.rs:2932:13:2932:24 | S(...) | T.T | main.rs:2930:10:2930:16 | T | -| main.rs:2932:15:2932:23 | S(...) | | main.rs:2915:5:2916:19 | S | -| main.rs:2932:15:2932:23 | S(...) | T | main.rs:2930:10:2930:16 | T | -| main.rs:2932:17:2932:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2932:17:2932:20 | self | TRef | main.rs:2915:5:2916:19 | S | -| main.rs:2932:17:2932:20 | self | TRef.T | main.rs:2930:10:2930:16 | T | -| main.rs:2932:17:2932:22 | self.0 | | main.rs:2930:10:2930:16 | T | -| main.rs:2936:14:2936:14 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2936:48:2953:5 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2936:48:2953:5 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2936:48:2953:5 | { ... } | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:2936:48:2953:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2937:13:2937:13 | x | | main.rs:2915:5:2916:19 | S | -| main.rs:2937:13:2937:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2937:17:2942:9 | if b {...} else {...} | | main.rs:2915:5:2916:19 | S | -| main.rs:2937:17:2942:9 | if b {...} else {...} | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2937:20:2937:20 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2937:22:2940:9 | { ... } | | main.rs:2915:5:2916:19 | S | -| main.rs:2937:22:2940:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2938:17:2938:17 | y | | main.rs:2915:5:2916:19 | S | -| main.rs:2938:17:2938:17 | y | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2938:21:2938:38 | ...::default(...) | | main.rs:2915:5:2916:19 | S | -| main.rs:2938:21:2938:38 | ...::default(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2939:13:2939:13 | y | | main.rs:2915:5:2916:19 | S | -| main.rs:2939:13:2939:13 | y | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2940:16:2942:9 | { ... } | | main.rs:2915:5:2916:19 | S | -| main.rs:2940:16:2942:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2941:13:2941:16 | S(...) | | main.rs:2915:5:2916:19 | S | -| main.rs:2941:13:2941:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2941:15:2941:15 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2946:13:2946:13 | x | | main.rs:2915:5:2916:19 | S | -| main.rs:2946:13:2946:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2946:17:2946:20 | S(...) | | main.rs:2915:5:2916:19 | S | -| main.rs:2946:17:2946:20 | S(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2946:19:2946:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2947:9:2952:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box | -| main.rs:2947:9:2952:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global | -| main.rs:2947:9:2952:9 | if b {...} else {...} | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:2947:9:2952:9 | if b {...} else {...} | T | main.rs:2915:5:2916:19 | S | -| main.rs:2947:9:2952:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2947:9:2952:9 | if b {...} else {...} | T.T | main.rs:2915:5:2916:19 | S | -| main.rs:2947:9:2952:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2947:9:2952:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2947:12:2947:12 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2947:14:2950:9 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2947:14:2950:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2947:14:2950:9 | { ... } | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:2947:14:2950:9 | { ... } | T | main.rs:2915:5:2916:19 | S | -| main.rs:2947:14:2950:9 | { ... } | T.T | main.rs:2915:5:2916:19 | S | -| main.rs:2947:14:2950:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2947:14:2950:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2948:17:2948:17 | x | | main.rs:2915:5:2916:19 | S | -| main.rs:2948:17:2948:17 | x | T | main.rs:2915:5:2916:19 | S | -| main.rs:2948:17:2948:17 | x | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2948:21:2948:21 | x | | main.rs:2915:5:2916:19 | S | -| main.rs:2948:21:2948:21 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2948:21:2948:26 | x.m2() | | main.rs:2915:5:2916:19 | S | -| main.rs:2948:21:2948:26 | x.m2() | T | main.rs:2915:5:2916:19 | S | -| main.rs:2948:21:2948:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2949:13:2949:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2949:13:2949:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2949:13:2949:23 | ...::new(...) | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:2949:13:2949:23 | ...::new(...) | T | main.rs:2915:5:2916:19 | S | -| main.rs:2949:13:2949:23 | ...::new(...) | T.T | main.rs:2915:5:2916:19 | S | -| main.rs:2949:13:2949:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2949:13:2949:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2949:22:2949:22 | x | | main.rs:2915:5:2916:19 | S | -| main.rs:2949:22:2949:22 | x | T | main.rs:2915:5:2916:19 | S | -| main.rs:2949:22:2949:22 | x | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2950:16:2952:9 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2950:16:2952:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2950:16:2952:9 | { ... } | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:2950:16:2952:9 | { ... } | T | main.rs:2915:5:2916:19 | S | -| main.rs:2950:16:2952:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2950:16:2952:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2951:13:2951:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2951:13:2951:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2951:13:2951:23 | ...::new(...) | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:2951:13:2951:23 | ...::new(...) | T | main.rs:2915:5:2916:19 | S | -| main.rs:2951:13:2951:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2951:13:2951:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2951:22:2951:22 | x | | main.rs:2915:5:2916:19 | S | -| main.rs:2951:22:2951:22 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2957:22:2961:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2958:18:2958:18 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2958:33:2960:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2959:13:2959:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2959:13:2959:17 | ... + ... | | {EXTERNAL LOCATION} | i32 | -| main.rs:2959:17:2959:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2966:11:2966:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2966:30:2974:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2968:13:2968:13 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2968:17:2972:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2969:13:2971:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2969:16:2969:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2969:21:2971:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2970:24:2970:25 | 12 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2973:9:2973:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2977:20:2984:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2980:26:2980:27 | 12 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2982:18:2982:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2982:18:2982:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2982:18:2982:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2982:18:2982:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2983:9:2983:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2986:20:2988:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2987:16:2987:16 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2991:11:2991:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2991:30:2999:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2992:13:2992:13 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2992:17:2996:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2993:13:2995:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2993:16:2993:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2993:21:2995:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2994:24:2994:25 | 12 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2997:18:2997:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2997:18:2997:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2997:18:2997:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2997:18:2997:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2997:29:2997:29 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2998:9:2998:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3003:16:3050:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3004:13:3004:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3004:13:3004:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3004:17:3004:20 | None | | {EXTERNAL LOCATION} | Option | -| main.rs:3004:17:3004:20 | None | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3005:13:3005:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3005:13:3005:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3005:30:3005:30 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3005:30:3005:30 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3006:13:3006:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3006:13:3006:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3006:17:3006:35 | ...::None | | {EXTERNAL LOCATION} | Option | -| main.rs:3006:17:3006:35 | ...::None | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3007:13:3007:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3007:13:3007:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3007:17:3007:35 | ...::None::<...> | | {EXTERNAL LOCATION} | Option | -| main.rs:3007:17:3007:35 | ...::None::<...> | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3009:26:3009:28 | opt | | {EXTERNAL LOCATION} | Option | -| main.rs:3009:26:3009:28 | opt | T | main.rs:3009:23:3009:23 | T | -| main.rs:3009:42:3009:42 | x | | main.rs:3009:23:3009:23 | T | -| main.rs:3009:48:3009:49 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3011:13:3011:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3011:13:3011:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3011:17:3011:20 | None | | {EXTERNAL LOCATION} | Option | -| main.rs:3011:17:3011:20 | None | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3012:9:3012:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3012:20:3012:20 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:3012:20:3012:20 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3012:23:3012:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3019:13:3019:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3019:13:3019:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3019:13:3019:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3019:17:3019:39 | ...::A {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3019:17:3019:39 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3019:17:3019:39 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3019:37:3019:37 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3020:13:3020:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3020:13:3020:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3020:13:3020:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3020:40:3020:40 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3020:40:3020:40 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3020:40:3020:40 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3021:13:3021:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3021:13:3021:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3021:13:3021:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3021:17:3021:52 | ...::A {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3021:17:3021:52 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3021:17:3021:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3021:50:3021:50 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3023:13:3023:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3023:13:3023:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3023:13:3023:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3023:17:3025:9 | ...::B::<...> {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3023:17:3025:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3023:17:3025:9 | ...::B::<...> {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3024:20:3024:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:3027:29:3027:29 | e | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3027:29:3027:29 | e | T1 | main.rs:3027:26:3027:26 | T | -| main.rs:3027:29:3027:29 | e | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3027:53:3027:53 | x | | main.rs:3027:26:3027:26 | T | -| main.rs:3027:59:3027:60 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3030:13:3030:13 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3030:13:3030:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3030:13:3030:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3030:17:3032:9 | ...::B {...} | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3030:17:3032:9 | ...::B {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3030:17:3032:9 | ...::B {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3031:20:3031:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:3033:9:3033:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3033:23:3033:23 | x | | main.rs:3014:9:3017:9 | MyEither | -| main.rs:3033:23:3033:23 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:3033:23:3033:23 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:3033:26:3033:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3035:13:3035:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3035:13:3035:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:3035:13:3035:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3035:17:3035:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:3035:17:3035:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | -| main.rs:3035:17:3035:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3035:28:3035:28 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3036:13:3036:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3036:13:3036:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:3036:13:3036:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3036:38:3036:38 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3036:38:3036:38 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:3036:38:3036:38 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3037:13:3037:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3037:13:3037:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:3037:13:3037:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3037:17:3037:44 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:3037:17:3037:44 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | -| main.rs:3037:17:3037:44 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3037:43:3037:43 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3038:13:3038:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3038:13:3038:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:3038:13:3038:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3038:17:3038:44 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:3038:17:3038:44 | ...::Ok::<...>(...) | E | {EXTERNAL LOCATION} | String | -| main.rs:3038:17:3038:44 | ...::Ok::<...>(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3038:43:3038:43 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3040:29:3040:31 | res | | {EXTERNAL LOCATION} | Result | -| main.rs:3040:29:3040:31 | res | E | main.rs:3040:26:3040:26 | E | -| main.rs:3040:29:3040:31 | res | T | main.rs:3040:23:3040:23 | T | -| main.rs:3040:48:3040:48 | x | | main.rs:3040:26:3040:26 | E | -| main.rs:3040:54:3040:55 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3042:13:3042:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3042:13:3042:13 | x | E | {EXTERNAL LOCATION} | bool | -| main.rs:3042:13:3042:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3042:17:3042:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:3042:17:3042:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | bool | -| main.rs:3042:17:3042:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3042:28:3042:28 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3043:9:3043:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3043:20:3043:20 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:3043:20:3043:20 | x | E | {EXTERNAL LOCATION} | bool | -| main.rs:3043:20:3043:20 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3043:23:3043:27 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:3045:17:3045:17 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:3045:17:3045:17 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:3045:17:3045:17 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3045:21:3045:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:3045:21:3045:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:3045:21:3045:30 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3046:9:3046:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:3046:9:3046:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:3046:9:3046:9 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3046:9:3046:17 | x.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3046:16:3046:16 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3048:13:3048:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:3048:17:3048:34 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:3049:9:3049:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:3049:9:3049:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:3049:9:3049:9 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:3049:9:3049:17 | x.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3049:16:3049:16 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:3056:14:3056:17 | SelfParam | | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3059:14:3059:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:3059:14:3059:18 | SelfParam | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3059:21:3059:25 | other | | {EXTERNAL LOCATION} | & | -| main.rs:3059:21:3059:25 | other | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3059:44:3061:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:3059:44:3061:9 | { ... } | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3060:13:3060:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:3060:13:3060:16 | self | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3060:13:3060:20 | self.f() | | {EXTERNAL LOCATION} | & | -| main.rs:3060:13:3060:20 | self.f() | TRef | main.rs:3054:5:3062:5 | Self [trait MyTrait] | -| main.rs:3066:14:3066:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | -| main.rs:3066:28:3068:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:3067:13:3067:16 | self | | {EXTERNAL LOCATION} | i32 | -| main.rs:3073:14:3073:17 | SelfParam | | {EXTERNAL LOCATION} | usize | -| main.rs:3073:28:3075:9 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:3074:13:3074:16 | self | | {EXTERNAL LOCATION} | usize | -| main.rs:3080:14:3080:17 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:3080:14:3080:17 | SelfParam | TRef | main.rs:3078:10:3078:10 | T | -| main.rs:3080:28:3082:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:3080:28:3082:9 | { ... } | TRef | main.rs:3078:10:3078:10 | T | -| main.rs:3081:13:3081:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:3081:13:3081:16 | self | TRef | main.rs:3078:10:3078:10 | T | -| main.rs:3085:25:3089:5 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:3086:17:3086:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:3086:17:3086:17 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3086:21:3086:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3086:21:3086:21 | 0 | | {EXTERNAL LOCATION} | usize | -| main.rs:3087:9:3087:9 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:3087:9:3087:9 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3087:9:3087:17 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:3087:13:3087:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:3087:13:3087:13 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3087:13:3087:17 | x.f() | | {EXTERNAL LOCATION} | i32 | -| main.rs:3087:13:3087:17 | x.f() | | {EXTERNAL LOCATION} | usize | -| main.rs:3088:9:3088:9 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:3088:9:3088:9 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3091:12:3099:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3092:13:3092:13 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3092:24:3092:24 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3092:24:3092:24 | 0 | | {EXTERNAL LOCATION} | usize | -| main.rs:3093:13:3093:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:3093:13:3093:13 | y | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:3093:17:3093:18 | &1 | | {EXTERNAL LOCATION} | & | -| main.rs:3093:17:3093:18 | &1 | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:3093:18:3093:18 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3094:13:3094:13 | z | | {EXTERNAL LOCATION} | & | -| main.rs:3094:13:3094:13 | z | TRef | {EXTERNAL LOCATION} | usize | -| main.rs:3094:17:3094:17 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:3094:17:3094:22 | x.g(...) | | {EXTERNAL LOCATION} | & | -| main.rs:3094:17:3094:22 | x.g(...) | TRef | {EXTERNAL LOCATION} | usize | -| main.rs:3094:21:3094:21 | y | | {EXTERNAL LOCATION} | & | -| main.rs:3094:21:3094:21 | y | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:3096:13:3096:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:3096:17:3096:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3097:13:3097:13 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:3097:24:3097:24 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:3097:24:3097:24 | 1 | | {EXTERNAL LOCATION} | usize | -| main.rs:3098:13:3098:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:3098:17:3098:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:3098:17:3098:24 | x.max(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:3098:23:3098:23 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:3107:11:3142:1 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:3108:5:3108:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3109:5:3109:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:3110:5:3110:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:3110:20:3110:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:3110:41:3110:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:3111:5:3111:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3112:5:3112:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3113:5:3113:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3114:5:3114:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3115:5:3115:33 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3116:5:3116:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3117:5:3117:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3118:5:3118:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3119:5:3119:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3120:5:3120:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3121:5:3121:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3122:5:3122:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3123:5:3123:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3124:5:3124:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3125:5:3125:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3126:5:3126:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3127:5:3127:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:3127:5:3127:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:3128:5:3128:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3129:5:3129:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3130:5:3130:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3131:5:3131:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3132:5:3132:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3133:5:3133:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3134:5:3134:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3135:5:3135:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3136:5:3136:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3137:5:3137:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3138:5:3138:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3139:5:3139:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:3140:5:3140:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:3140:5:3140:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:3140:5:3140:20 | ...::f(...) | T | main.rs:2911:5:2913:5 | dyn MyTrait | -| main.rs:3140:5:3140:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:3140:16:3140:19 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:3141:5:3141:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1227:18:1227:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1227:18:1227:61 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1227:18:1227:61 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1227:26:1227:61 | ...::flatten(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1227:26:1227:61 | ...::flatten(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1227:59:1227:60 | x6 | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1227:59:1227:60 | x6 | T | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1227:59:1227:60 | x6 | T.T | main.rs:1204:5:1205:13 | S | +| main.rs:1230:13:1230:19 | from_if | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1230:13:1230:19 | from_if | T | main.rs:1204:5:1205:13 | S | +| main.rs:1230:23:1234:9 | if ... {...} else {...} | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1230:23:1234:9 | if ... {...} else {...} | T | main.rs:1204:5:1205:13 | S | +| main.rs:1230:26:1230:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1230:26:1230:30 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1230:30:1230:30 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1230:32:1232:9 | { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1230:32:1232:9 | { ... } | T | main.rs:1204:5:1205:13 | S | +| main.rs:1231:13:1231:30 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1231:13:1231:30 | ...::MyNone(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1232:16:1234:9 | { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1232:16:1234:9 | { ... } | T | main.rs:1204:5:1205:13 | S | +| main.rs:1233:13:1233:31 | ...::MySome(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1233:13:1233:31 | ...::MySome(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1233:30:1233:30 | S | | main.rs:1204:5:1205:13 | S | +| main.rs:1235:9:1235:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1235:18:1235:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1235:18:1235:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1235:18:1235:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1235:18:1235:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1235:18:1235:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1235:26:1235:32 | from_if | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1235:26:1235:32 | from_if | T | main.rs:1204:5:1205:13 | S | +| main.rs:1238:13:1238:22 | from_match | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1238:13:1238:22 | from_match | T | main.rs:1204:5:1205:13 | S | +| main.rs:1238:26:1241:9 | match ... { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1238:26:1241:9 | match ... { ... } | T | main.rs:1204:5:1205:13 | S | +| main.rs:1238:32:1238:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1238:32:1238:36 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1238:36:1238:36 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1239:13:1239:16 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1239:21:1239:38 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1239:21:1239:38 | ...::MyNone(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1240:13:1240:17 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1240:22:1240:40 | ...::MySome(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1240:22:1240:40 | ...::MySome(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1240:39:1240:39 | S | | main.rs:1204:5:1205:13 | S | +| main.rs:1242:9:1242:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1242:18:1242:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1242:18:1242:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1242:18:1242:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1242:18:1242:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1242:18:1242:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1242:26:1242:35 | from_match | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1242:26:1242:35 | from_match | T | main.rs:1204:5:1205:13 | S | +| main.rs:1245:13:1245:21 | from_loop | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1245:13:1245:21 | from_loop | T | main.rs:1204:5:1205:13 | S | +| main.rs:1245:25:1250:9 | loop { ... } | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1245:25:1250:9 | loop { ... } | T | main.rs:1204:5:1205:13 | S | +| main.rs:1245:30:1250:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1246:13:1248:13 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1246:16:1246:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1246:16:1246:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1246:20:1246:20 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1246:22:1248:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1247:23:1247:40 | ...::MyNone(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1247:23:1247:40 | ...::MyNone(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1249:19:1249:37 | ...::MySome(...) | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1249:19:1249:37 | ...::MySome(...) | T | main.rs:1204:5:1205:13 | S | +| main.rs:1249:36:1249:36 | S | | main.rs:1204:5:1205:13 | S | +| main.rs:1251:9:1251:35 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1251:18:1251:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1251:18:1251:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1251:18:1251:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1251:18:1251:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1251:18:1251:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1251:26:1251:34 | from_loop | | main.rs:1169:5:1173:5 | MyOption | +| main.rs:1251:26:1251:34 | from_loop | T | main.rs:1204:5:1205:13 | S | +| main.rs:1269:15:1269:18 | SelfParam | | main.rs:1257:5:1258:19 | S | +| main.rs:1269:15:1269:18 | SelfParam | T | main.rs:1268:10:1268:10 | T | +| main.rs:1269:26:1271:9 | { ... } | | main.rs:1268:10:1268:10 | T | +| main.rs:1270:13:1270:16 | self | | main.rs:1257:5:1258:19 | S | +| main.rs:1270:13:1270:16 | self | T | main.rs:1268:10:1268:10 | T | +| main.rs:1270:13:1270:18 | self.0 | | main.rs:1268:10:1268:10 | T | +| main.rs:1273:15:1273:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1273:15:1273:19 | SelfParam | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1273:15:1273:19 | SelfParam | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1273:28:1275:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1273:28:1275:9 | { ... } | TRef | main.rs:1268:10:1268:10 | T | +| main.rs:1274:13:1274:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1274:13:1274:19 | &... | TRef | main.rs:1268:10:1268:10 | T | +| main.rs:1274:14:1274:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1274:14:1274:17 | self | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1274:14:1274:17 | self | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1274:14:1274:19 | self.0 | | main.rs:1268:10:1268:10 | T | +| main.rs:1277:15:1277:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1277:15:1277:25 | SelfParam | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1277:15:1277:25 | SelfParam | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1277:34:1279:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1277:34:1279:9 | { ... } | TRef | main.rs:1268:10:1268:10 | T | +| main.rs:1278:13:1278:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1278:13:1278:19 | &... | TRef | main.rs:1268:10:1268:10 | T | +| main.rs:1278:14:1278:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1278:14:1278:17 | self | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1278:14:1278:17 | self | TRef.T | main.rs:1268:10:1268:10 | T | +| main.rs:1278:14:1278:19 | self.0 | | main.rs:1268:10:1268:10 | T | +| main.rs:1283:29:1283:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1283:29:1283:33 | SelfParam | TRef | main.rs:1282:5:1285:5 | Self [trait ATrait] | +| main.rs:1284:33:1284:36 | SelfParam | | main.rs:1282:5:1285:5 | Self [trait ATrait] | +| main.rs:1290:29:1290:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1290:29:1290:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1290:29:1290:33 | SelfParam | TRef.TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1290:43:1292:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1291:13:1291:22 | (...) | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1291:13:1291:24 | ... .a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1291:14:1291:21 | * ... | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1291:15:1291:21 | (...) | | {EXTERNAL LOCATION} | & | +| main.rs:1291:15:1291:21 | (...) | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1291:16:1291:20 | * ... | | {EXTERNAL LOCATION} | & | +| main.rs:1291:16:1291:20 | * ... | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1291:17:1291:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1291:17:1291:20 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1291:17:1291:20 | self | TRef.TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1295:33:1295:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1295:33:1295:36 | SelfParam | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1295:46:1297:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1296:13:1296:19 | (...) | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1296:13:1296:21 | ... .a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1296:14:1296:18 | * ... | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1296:15:1296:18 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1296:15:1296:18 | self | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1300:16:1350:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1301:13:1301:14 | x1 | | main.rs:1257:5:1258:19 | S | +| main.rs:1301:13:1301:14 | x1 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1301:18:1301:22 | S(...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1301:18:1301:22 | S(...) | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1301:20:1301:21 | S2 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1302:9:1302:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1302:18:1302:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1302:18:1302:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1302:18:1302:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1302:18:1302:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1302:18:1302:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1302:26:1302:27 | x1 | | main.rs:1257:5:1258:19 | S | +| main.rs:1302:26:1302:27 | x1 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1302:26:1302:32 | x1.m1() | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1304:13:1304:14 | x2 | | main.rs:1257:5:1258:19 | S | +| main.rs:1304:13:1304:14 | x2 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1304:18:1304:22 | S(...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1304:18:1304:22 | S(...) | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1304:20:1304:21 | S2 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1306:9:1306:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1306:18:1306:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1306:18:1306:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1306:18:1306:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1306:18:1306:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1306:18:1306:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1306:26:1306:27 | x2 | | main.rs:1257:5:1258:19 | S | +| main.rs:1306:26:1306:27 | x2 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1306:26:1306:32 | x2.m2() | | {EXTERNAL LOCATION} | & | +| main.rs:1306:26:1306:32 | x2.m2() | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1307:9:1307:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1307:18:1307:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1307:18:1307:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1307:18:1307:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1307:18:1307:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1307:18:1307:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1307:26:1307:27 | x2 | | main.rs:1257:5:1258:19 | S | +| main.rs:1307:26:1307:27 | x2 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1307:26:1307:32 | x2.m3() | | {EXTERNAL LOCATION} | & | +| main.rs:1307:26:1307:32 | x2.m3() | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1309:13:1309:14 | x3 | | main.rs:1257:5:1258:19 | S | +| main.rs:1309:13:1309:14 | x3 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1309:18:1309:22 | S(...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1309:18:1309:22 | S(...) | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1309:20:1309:21 | S2 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1311:9:1311:42 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1311:18:1311:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1311:18:1311:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1311:18:1311:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1311:18:1311:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1311:18:1311:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1311:26:1311:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1311:26:1311:41 | ...::m2(...) | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1311:38:1311:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1311:38:1311:40 | &x3 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1311:38:1311:40 | &x3 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1311:39:1311:40 | x3 | | main.rs:1257:5:1258:19 | S | +| main.rs:1311:39:1311:40 | x3 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1312:9:1312:42 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1312:18:1312:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1312:18:1312:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1312:18:1312:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1312:18:1312:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1312:18:1312:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1312:26:1312:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1312:26:1312:41 | ...::m3(...) | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1312:38:1312:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1312:38:1312:40 | &x3 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1312:38:1312:40 | &x3 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1312:39:1312:40 | x3 | | main.rs:1257:5:1258:19 | S | +| main.rs:1312:39:1312:40 | x3 | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1314:13:1314:14 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1314:13:1314:14 | x4 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1314:13:1314:14 | x4 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1314:18:1314:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1314:18:1314:23 | &... | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1314:18:1314:23 | &... | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1314:19:1314:23 | S(...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1314:19:1314:23 | S(...) | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1314:21:1314:22 | S2 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1316:9:1316:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1316:18:1316:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1316:18:1316:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1316:18:1316:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1316:18:1316:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1316:18:1316:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1316:26:1316:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1316:26:1316:27 | x4 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1316:26:1316:27 | x4 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1316:26:1316:32 | x4.m2() | | {EXTERNAL LOCATION} | & | +| main.rs:1316:26:1316:32 | x4.m2() | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1317:9:1317:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1317:18:1317:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1317:18:1317:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1317:18:1317:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1317:18:1317:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1317:18:1317:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1317:26:1317:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1317:26:1317:27 | x4 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1317:26:1317:27 | x4 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1317:26:1317:32 | x4.m3() | | {EXTERNAL LOCATION} | & | +| main.rs:1317:26:1317:32 | x4.m3() | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1319:13:1319:14 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1319:13:1319:14 | x5 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1319:13:1319:14 | x5 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1319:18:1319:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1319:18:1319:23 | &... | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1319:18:1319:23 | &... | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1319:19:1319:23 | S(...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1319:19:1319:23 | S(...) | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1319:21:1319:22 | S2 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1321:9:1321:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1321:18:1321:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1321:18:1321:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1321:18:1321:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1321:18:1321:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1321:18:1321:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1321:26:1321:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1321:26:1321:27 | x5 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1321:26:1321:27 | x5 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1321:26:1321:32 | x5.m1() | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1322:9:1322:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1322:18:1322:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1322:18:1322:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1322:18:1322:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1322:18:1322:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1322:18:1322:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1322:26:1322:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1322:26:1322:27 | x5 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1322:26:1322:27 | x5 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1322:26:1322:29 | x5.0 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1324:13:1324:14 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1324:13:1324:14 | x6 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1324:13:1324:14 | x6 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1324:18:1324:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1324:18:1324:23 | &... | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1324:18:1324:23 | &... | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1324:19:1324:23 | S(...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1324:19:1324:23 | S(...) | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1324:21:1324:22 | S2 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1327:9:1327:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1327:18:1327:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1327:18:1327:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1327:26:1327:30 | (...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1327:26:1327:30 | (...) | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1327:26:1327:35 | ... .m1() | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1327:27:1327:29 | * ... | | main.rs:1257:5:1258:19 | S | +| main.rs:1327:27:1327:29 | * ... | T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1327:28:1327:29 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1327:28:1327:29 | x6 | TRef | main.rs:1257:5:1258:19 | S | +| main.rs:1327:28:1327:29 | x6 | TRef.T | main.rs:1260:5:1261:14 | S2 | +| main.rs:1329:13:1329:14 | x7 | | main.rs:1257:5:1258:19 | S | +| main.rs:1329:13:1329:14 | x7 | T | {EXTERNAL LOCATION} | & | +| main.rs:1329:13:1329:14 | x7 | T.TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1329:18:1329:23 | S(...) | | main.rs:1257:5:1258:19 | S | +| main.rs:1329:18:1329:23 | S(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:1329:18:1329:23 | S(...) | T.TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1329:20:1329:22 | &S2 | | {EXTERNAL LOCATION} | & | +| main.rs:1329:20:1329:22 | &S2 | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1329:21:1329:22 | S2 | | main.rs:1260:5:1261:14 | S2 | +| main.rs:1332:13:1332:13 | t | | {EXTERNAL LOCATION} | & | +| main.rs:1332:13:1332:13 | t | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1332:17:1332:18 | x7 | | main.rs:1257:5:1258:19 | S | +| main.rs:1332:17:1332:18 | x7 | T | {EXTERNAL LOCATION} | & | +| main.rs:1332:17:1332:18 | x7 | T.TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1332:17:1332:23 | x7.m1() | | {EXTERNAL LOCATION} | & | +| main.rs:1332:17:1332:23 | x7.m1() | TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1333:9:1333:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1333:18:1333:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1333:18:1333:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1333:18:1333:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1333:18:1333:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1333:18:1333:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1333:26:1333:27 | x7 | | main.rs:1257:5:1258:19 | S | +| main.rs:1333:26:1333:27 | x7 | T | {EXTERNAL LOCATION} | & | +| main.rs:1333:26:1333:27 | x7 | T.TRef | main.rs:1260:5:1261:14 | S2 | +| main.rs:1335:13:1335:14 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1335:26:1335:32 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1335:26:1335:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1335:26:1335:44 | "Hello".to_string() | | {EXTERNAL LOCATION} | String | +| main.rs:1339:13:1339:13 | u | | {EXTERNAL LOCATION} | Result | +| main.rs:1339:13:1339:13 | u | T | {EXTERNAL LOCATION} | u32 | +| main.rs:1339:17:1339:18 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1339:17:1339:33 | x9.parse() | | {EXTERNAL LOCATION} | Result | +| main.rs:1339:17:1339:33 | x9.parse() | T | {EXTERNAL LOCATION} | u32 | +| main.rs:1341:13:1341:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1341:13:1341:20 | my_thing | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1341:24:1341:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1341:24:1341:39 | &... | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1341:25:1341:39 | MyInt {...} | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1341:36:1341:37 | 37 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1343:13:1343:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1343:17:1343:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1343:17:1343:24 | my_thing | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1343:17:1343:43 | my_thing.method_on_borrow() | | {EXTERNAL LOCATION} | i64 | +| main.rs:1344:9:1344:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1344:18:1344:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1344:18:1344:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1344:18:1344:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1344:18:1344:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1344:18:1344:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1344:26:1344:26 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1347:13:1347:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1347:13:1347:20 | my_thing | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1347:24:1347:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1347:24:1347:39 | &... | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1347:25:1347:39 | MyInt {...} | | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1347:36:1347:37 | 38 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1348:13:1348:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1348:17:1348:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1348:17:1348:24 | my_thing | TRef | main.rs:1263:5:1266:5 | MyInt | +| main.rs:1348:17:1348:47 | my_thing.method_not_on_borrow() | | {EXTERNAL LOCATION} | i64 | +| main.rs:1349:9:1349:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1349:18:1349:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1349:18:1349:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1349:18:1349:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1349:18:1349:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1349:18:1349:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1349:26:1349:26 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1356:16:1356:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1356:16:1356:20 | SelfParam | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1359:16:1359:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1359:16:1359:20 | SelfParam | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1359:32:1361:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1359:32:1361:9 | { ... } | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1360:13:1360:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1360:13:1360:16 | self | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1360:13:1360:22 | self.foo() | | {EXTERNAL LOCATION} | & | +| main.rs:1360:13:1360:22 | self.foo() | TRef | main.rs:1354:5:1362:5 | Self [trait MyTrait] | +| main.rs:1368:16:1368:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1368:16:1368:20 | SelfParam | TRef | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1368:36:1370:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1368:36:1370:9 | { ... } | TRef | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1369:13:1369:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1369:13:1369:16 | self | TRef | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1373:16:1376:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1374:13:1374:13 | x | | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1374:17:1374:24 | MyStruct | | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1375:9:1375:9 | x | | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1375:9:1375:15 | x.bar() | | {EXTERNAL LOCATION} | & | +| main.rs:1375:9:1375:15 | x.bar() | TRef | main.rs:1364:5:1364:20 | MyStruct | +| main.rs:1385:16:1385:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1385:16:1385:20 | SelfParam | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1385:16:1385:20 | SelfParam | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1385:32:1387:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1385:32:1387:9 | { ... } | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1385:32:1387:9 | { ... } | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1386:13:1386:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1386:13:1386:16 | self | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1386:13:1386:16 | self | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1389:16:1389:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1389:16:1389:20 | SelfParam | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1389:16:1389:20 | SelfParam | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1389:23:1389:23 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1389:23:1389:23 | x | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1389:23:1389:23 | x | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1389:42:1391:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1389:42:1391:9 | { ... } | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1389:42:1391:9 | { ... } | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1390:13:1390:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1390:13:1390:16 | self | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1390:13:1390:16 | self | TRef.T | main.rs:1384:10:1384:10 | T | +| main.rs:1394:16:1400:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1395:13:1395:13 | x | | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1395:13:1395:13 | x | T | main.rs:1380:5:1380:13 | S | +| main.rs:1395:17:1395:27 | MyStruct(...) | | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1395:17:1395:27 | MyStruct(...) | T | main.rs:1380:5:1380:13 | S | +| main.rs:1395:26:1395:26 | S | | main.rs:1380:5:1380:13 | S | +| main.rs:1396:9:1396:9 | x | | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1396:9:1396:9 | x | T | main.rs:1380:5:1380:13 | S | +| main.rs:1396:9:1396:15 | x.foo() | | {EXTERNAL LOCATION} | & | +| main.rs:1396:9:1396:15 | x.foo() | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1396:9:1396:15 | x.foo() | TRef.T | main.rs:1380:5:1380:13 | S | +| main.rs:1397:13:1397:13 | x | | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1397:13:1397:13 | x | T | main.rs:1380:5:1380:13 | S | +| main.rs:1397:17:1397:27 | MyStruct(...) | | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1397:17:1397:27 | MyStruct(...) | T | main.rs:1380:5:1380:13 | S | +| main.rs:1397:26:1397:26 | S | | main.rs:1380:5:1380:13 | S | +| main.rs:1399:9:1399:9 | x | | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1399:9:1399:9 | x | T | main.rs:1380:5:1380:13 | S | +| main.rs:1399:9:1399:18 | x.bar(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1399:9:1399:18 | x.bar(...) | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1399:9:1399:18 | x.bar(...) | TRef.T | main.rs:1380:5:1380:13 | S | +| main.rs:1399:15:1399:17 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1399:15:1399:17 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1399:15:1399:17 | &... | TRef.TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1399:15:1399:17 | &... | TRef.TRef.T | main.rs:1380:5:1380:13 | S | +| main.rs:1399:16:1399:17 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1399:16:1399:17 | &x | TRef | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1399:16:1399:17 | &x | TRef.T | main.rs:1380:5:1380:13 | S | +| main.rs:1399:17:1399:17 | x | | main.rs:1382:5:1382:26 | MyStruct | +| main.rs:1399:17:1399:17 | x | T | main.rs:1380:5:1380:13 | S | +| main.rs:1410:17:1410:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1410:17:1410:25 | SelfParam | TRefMut | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1410:28:1412:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1411:13:1411:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1411:13:1411:16 | self | TRefMut | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1411:13:1411:21 | self.bool | | {EXTERNAL LOCATION} | bool | +| main.rs:1411:13:1411:34 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:1411:25:1411:34 | ! ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1411:26:1411:29 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1411:26:1411:29 | self | TRefMut | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1411:26:1411:34 | self.bool | | {EXTERNAL LOCATION} | bool | +| main.rs:1418:15:1418:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1418:15:1418:19 | SelfParam | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1418:31:1420:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1418:31:1420:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1419:13:1419:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1419:13:1419:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1419:13:1419:19 | &... | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1419:13:1419:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1419:13:1419:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1419:13:1419:19 | &... | TRef.TRef.TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1419:14:1419:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1419:14:1419:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1419:14:1419:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1419:14:1419:19 | &... | TRef.TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1419:15:1419:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1419:15:1419:19 | &self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1419:15:1419:19 | &self | TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1419:16:1419:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1419:16:1419:19 | self | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1422:15:1422:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1422:15:1422:25 | SelfParam | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1422:37:1424:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1422:37:1424:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1423:13:1423:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1423:13:1423:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1423:13:1423:19 | &... | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1423:13:1423:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1423:13:1423:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1423:13:1423:19 | &... | TRef.TRef.TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1423:14:1423:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1423:14:1423:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1423:14:1423:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1423:14:1423:19 | &... | TRef.TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1423:15:1423:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1423:15:1423:19 | &self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1423:15:1423:19 | &self | TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1423:16:1423:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1423:16:1423:19 | self | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1426:15:1426:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1426:15:1426:15 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1426:34:1428:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1426:34:1428:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1427:13:1427:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1427:13:1427:13 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1430:15:1430:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1430:15:1430:15 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1430:34:1432:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1430:34:1432:9 | { ... } | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1431:13:1431:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1431:13:1431:16 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1431:13:1431:16 | &... | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1431:13:1431:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1431:13:1431:16 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1431:13:1431:16 | &... | TRef.TRef.TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1431:14:1431:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1431:14:1431:16 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1431:14:1431:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1431:14:1431:16 | &... | TRef.TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1431:15:1431:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1431:15:1431:16 | &x | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1431:15:1431:16 | &x | TRef.TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1431:16:1431:16 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1431:16:1431:16 | x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1435:16:1448:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1436:13:1436:13 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1436:17:1436:20 | S {...} | | main.rs:1415:5:1415:13 | S | +| main.rs:1437:9:1437:9 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1437:9:1437:14 | x.f1() | | {EXTERNAL LOCATION} | & | +| main.rs:1437:9:1437:14 | x.f1() | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1438:9:1438:9 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1438:9:1438:14 | x.f2() | | {EXTERNAL LOCATION} | & | +| main.rs:1438:9:1438:14 | x.f2() | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1439:9:1439:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1439:9:1439:17 | ...::f3(...) | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1439:15:1439:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1439:15:1439:16 | &x | TRef | main.rs:1415:5:1415:13 | S | +| main.rs:1439:16:1439:16 | x | | main.rs:1415:5:1415:13 | S | +| main.rs:1441:13:1441:13 | n | | {EXTERNAL LOCATION} | bool | +| main.rs:1441:17:1441:24 | * ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1441:18:1441:24 | * ... | | {EXTERNAL LOCATION} | & | +| main.rs:1441:18:1441:24 | * ... | TRef | {EXTERNAL LOCATION} | bool | +| main.rs:1441:19:1441:24 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1441:19:1441:24 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1441:19:1441:24 | &... | TRef.TRef | {EXTERNAL LOCATION} | bool | +| main.rs:1441:20:1441:24 | &true | | {EXTERNAL LOCATION} | & | +| main.rs:1441:20:1441:24 | &true | TRef | {EXTERNAL LOCATION} | bool | +| main.rs:1441:21:1441:24 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1445:17:1445:20 | flag | | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1445:24:1445:41 | ...::default(...) | | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1446:9:1446:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1446:22:1446:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | +| main.rs:1446:22:1446:30 | &mut flag | TRefMut | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1446:27:1446:30 | flag | | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1447:9:1447:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1447:18:1447:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1447:18:1447:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1447:18:1447:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1447:18:1447:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1447:18:1447:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1447:26:1447:29 | flag | | main.rs:1404:5:1407:5 | MyFlag | +| main.rs:1462:43:1465:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1462:43:1465:5 | { ... } | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1462:43:1465:5 | { ... } | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1463:13:1463:13 | x | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1463:17:1463:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1463:17:1463:30 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1463:17:1463:31 | TryExpr | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1463:28:1463:29 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1464:9:1464:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1464:9:1464:22 | ...::Ok(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1464:9:1464:22 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1464:20:1464:21 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1469:46:1473:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1469:46:1473:5 | { ... } | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1469:46:1473:5 | { ... } | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1470:13:1470:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1470:13:1470:13 | x | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1470:17:1470:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1470:17:1470:30 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1470:28:1470:29 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1471:13:1471:13 | y | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1471:17:1471:17 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1471:17:1471:17 | x | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1471:17:1471:18 | TryExpr | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1472:9:1472:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1472:9:1472:22 | ...::Ok(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1472:9:1472:22 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1472:20:1472:21 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1477:40:1482:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1477:40:1482:5 | { ... } | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1477:40:1482:5 | { ... } | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1478:13:1478:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1478:13:1478:13 | x | T | {EXTERNAL LOCATION} | Result | +| main.rs:1478:13:1478:13 | x | T.T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1478:17:1478:42 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1478:17:1478:42 | ...::Ok(...) | T | {EXTERNAL LOCATION} | Result | +| main.rs:1478:17:1478:42 | ...::Ok(...) | T.T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1478:28:1478:41 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1478:28:1478:41 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1478:39:1478:40 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1480:17:1480:17 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1480:17:1480:17 | x | T | {EXTERNAL LOCATION} | Result | +| main.rs:1480:17:1480:17 | x | T.T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1480:17:1480:18 | TryExpr | | {EXTERNAL LOCATION} | Result | +| main.rs:1480:17:1480:18 | TryExpr | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1480:17:1480:29 | ... .map(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1480:24:1480:28 | \|...\| s | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:1480:24:1480:28 | \|...\| s | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| main.rs:1481:9:1481:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1481:9:1481:22 | ...::Ok(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1481:9:1481:22 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1481:20:1481:21 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1486:30:1486:34 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1486:30:1486:34 | input | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1486:30:1486:34 | input | T | main.rs:1486:20:1486:27 | T | +| main.rs:1486:69:1493:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1486:69:1493:5 | { ... } | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1486:69:1493:5 | { ... } | T | main.rs:1486:20:1486:27 | T | +| main.rs:1487:13:1487:17 | value | | main.rs:1486:20:1486:27 | T | +| main.rs:1487:21:1487:25 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1487:21:1487:25 | input | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1487:21:1487:25 | input | T | main.rs:1486:20:1486:27 | T | +| main.rs:1487:21:1487:26 | TryExpr | | main.rs:1486:20:1486:27 | T | +| main.rs:1488:22:1488:38 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1488:22:1488:38 | ...::Ok(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1488:22:1488:38 | ...::Ok(...) | T | main.rs:1486:20:1486:27 | T | +| main.rs:1488:22:1491:10 | ... .and_then(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1488:22:1491:10 | ... .and_then(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1488:33:1488:37 | value | | main.rs:1486:20:1486:27 | T | +| main.rs:1488:49:1491:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:1488:49:1491:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| main.rs:1488:49:1491:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | Result | +| main.rs:1488:49:1491:9 | \|...\| ... | dyn(Output).E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1488:53:1491:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1488:53:1491:9 | { ... } | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1489:13:1489:31 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1489:22:1489:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1489:22:1489:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1489:22:1489:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1489:22:1489:30 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1489:22:1489:30 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1490:13:1490:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1490:13:1490:34 | ...::Ok::<...>(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1492:9:1492:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1492:9:1492:23 | ...::Err(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1492:9:1492:23 | ...::Err(...) | T | main.rs:1486:20:1486:27 | T | +| main.rs:1492:21:1492:22 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1496:16:1512:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1497:9:1499:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1497:16:1497:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1497:16:1497:33 | ...::Ok(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1497:16:1497:33 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1497:27:1497:32 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1497:37:1497:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1497:37:1497:52 | try_same_error(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1497:37:1497:52 | try_same_error(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1497:54:1499:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1498:13:1498:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1498:22:1498:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1498:22:1498:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1498:22:1498:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1498:22:1498:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1498:22:1498:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1498:30:1498:35 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1501:9:1503:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1501:16:1501:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1501:16:1501:33 | ...::Ok(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1501:16:1501:33 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1501:27:1501:32 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1501:37:1501:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1501:37:1501:55 | try_convert_error(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1501:37:1501:55 | try_convert_error(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1501:57:1503:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1502:13:1502:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1502:22:1502:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1502:22:1502:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1502:22:1502:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1502:22:1502:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1502:22:1502:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1502:30:1502:35 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1505:9:1507:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1505:16:1505:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1505:16:1505:33 | ...::Ok(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1505:16:1505:33 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1505:27:1505:32 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1505:37:1505:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1505:37:1505:49 | try_chained(...) | E | main.rs:1457:5:1458:14 | S2 | +| main.rs:1505:37:1505:49 | try_chained(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1505:51:1507:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1506:13:1506:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1506:22:1506:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1506:22:1506:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1506:22:1506:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1506:22:1506:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1506:22:1506:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1506:30:1506:35 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:9:1511:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1509:16:1509:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1509:16:1509:33 | ...::Ok(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:16:1509:33 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:27:1509:32 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:37:1509:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1509:37:1509:63 | try_complex(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:37:1509:63 | try_complex(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:49:1509:62 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1509:49:1509:62 | ...::Ok(...) | E | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:49:1509:62 | ...::Ok(...) | T | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:60:1509:61 | S1 | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1509:65:1511:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1510:13:1510:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1510:22:1510:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1510:22:1510:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1510:22:1510:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1510:22:1510:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1510:22:1510:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1510:30:1510:35 | result | | main.rs:1454:5:1455:14 | S1 | +| main.rs:1516:16:1607:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1517:13:1517:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1517:22:1517:22 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1518:13:1518:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1518:17:1518:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1519:13:1519:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1519:17:1519:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1519:17:1519:21 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:1519:21:1519:21 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1520:13:1520:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1520:17:1520:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1520:17:1520:23 | x.abs() | | {EXTERNAL LOCATION} | i32 | +| main.rs:1521:13:1521:13 | c | | {EXTERNAL LOCATION} | char | +| main.rs:1521:17:1521:19 | 'c' | | {EXTERNAL LOCATION} | char | +| main.rs:1522:13:1522:17 | hello | | {EXTERNAL LOCATION} | & | +| main.rs:1522:13:1522:17 | hello | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1522:21:1522:27 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1522:21:1522:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1523:13:1523:13 | f | | {EXTERNAL LOCATION} | f64 | +| main.rs:1523:17:1523:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | +| main.rs:1524:13:1524:13 | t | | {EXTERNAL LOCATION} | bool | +| main.rs:1524:17:1524:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1525:13:1525:13 | f | | {EXTERNAL LOCATION} | bool | +| main.rs:1525:17:1525:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1528:26:1528:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1528:26:1528:30 | SelfParam | TRef | main.rs:1527:9:1531:9 | Self [trait MyTrait] | +| main.rs:1534:26:1534:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1534:26:1534:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1534:26:1534:30 | SelfParam | TRef.TArray | main.rs:1533:14:1533:23 | T | +| main.rs:1534:39:1536:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1534:39:1536:13 | { ... } | TRef | main.rs:1533:14:1533:23 | T | +| main.rs:1535:17:1535:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1535:17:1535:20 | self | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1535:17:1535:20 | self | TRef.TArray | main.rs:1533:14:1533:23 | T | +| main.rs:1535:17:1535:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | +| main.rs:1535:17:1535:36 | ... .unwrap() | TRef | main.rs:1533:14:1533:23 | T | +| main.rs:1535:26:1535:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1538:31:1540:13 | { ... } | | main.rs:1533:14:1533:23 | T | +| main.rs:1539:17:1539:28 | ...::default(...) | | main.rs:1533:14:1533:23 | T | +| main.rs:1543:13:1543:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1543:13:1543:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1543:17:1543:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1543:17:1543:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1543:17:1543:37 | ... .my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1543:17:1543:37 | ... .my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1543:18:1543:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1543:21:1543:21 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1543:24:1543:24 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:13:1544:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1544:13:1544:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:17:1544:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1544:17:1544:47 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:22:1544:22 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:37:1544:46 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1544:37:1544:46 | &... | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1544:37:1544:46 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:38:1544:46 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1544:38:1544:46 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:39:1544:39 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:42:1544:42 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1544:45:1544:45 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1545:13:1545:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1545:17:1545:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1545:24:1545:24 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1548:26:1548:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1548:26:1548:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1548:26:1548:30 | SelfParam | TRef.TSlice | main.rs:1547:14:1547:23 | T | +| main.rs:1548:39:1550:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1548:39:1550:13 | { ... } | TRef | main.rs:1547:14:1547:23 | T | +| main.rs:1549:17:1549:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1549:17:1549:20 | self | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1549:17:1549:20 | self | TRef.TSlice | main.rs:1547:14:1547:23 | T | +| main.rs:1549:17:1549:27 | self.get(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:1549:17:1549:27 | self.get(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:1549:17:1549:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | +| main.rs:1549:17:1549:36 | ... .unwrap() | TRef | main.rs:1547:14:1547:23 | T | +| main.rs:1549:26:1549:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1552:31:1554:13 | { ... } | | main.rs:1547:14:1547:23 | T | +| main.rs:1553:17:1553:28 | ...::default(...) | | main.rs:1547:14:1547:23 | T | +| main.rs:1557:13:1557:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1557:13:1557:13 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1557:13:1557:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1557:25:1557:34 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1557:25:1557:34 | &... | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1557:25:1557:34 | &... | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1557:25:1557:34 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1557:25:1557:34 | &... | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1557:26:1557:34 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1557:26:1557:34 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1557:27:1557:27 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1557:30:1557:30 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1557:33:1557:33 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1558:13:1558:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1558:13:1558:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1558:17:1558:17 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1558:17:1558:17 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1558:17:1558:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1558:17:1558:29 | s.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1558:17:1558:29 | s.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1559:13:1559:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1559:13:1559:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1559:17:1559:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1559:17:1559:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1559:34:1559:34 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1559:34:1559:34 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1559:34:1559:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1560:13:1560:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1560:17:1560:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1563:26:1563:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1563:26:1563:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1563:26:1563:30 | SelfParam | TRef.T0 | main.rs:1562:14:1562:23 | T | +| main.rs:1563:26:1563:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1563:39:1565:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1563:39:1565:13 | { ... } | TRef | main.rs:1562:14:1562:23 | T | +| main.rs:1564:17:1564:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1564:17:1564:23 | &... | TRef | main.rs:1562:14:1562:23 | T | +| main.rs:1564:18:1564:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1564:18:1564:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1564:18:1564:21 | self | TRef.T0 | main.rs:1562:14:1562:23 | T | +| main.rs:1564:18:1564:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1564:18:1564:23 | self.0 | | main.rs:1562:14:1562:23 | T | +| main.rs:1567:31:1569:13 | { ... } | | main.rs:1562:14:1562:23 | T | +| main.rs:1568:17:1568:28 | ...::default(...) | | main.rs:1562:14:1562:23 | T | +| main.rs:1572:13:1572:13 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1572:13:1572:13 | p | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1572:13:1572:13 | p | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1572:17:1572:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1572:17:1572:23 | TupleExpr | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1572:17:1572:23 | TupleExpr | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1572:18:1572:19 | 42 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1572:22:1572:22 | 7 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1573:13:1573:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1573:13:1573:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1573:17:1573:17 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1573:17:1573:17 | p | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1573:17:1573:17 | p | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1573:17:1573:29 | p.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1573:17:1573:29 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1574:13:1574:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1574:13:1574:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1574:17:1574:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1574:17:1574:39 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1574:37:1574:38 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1574:37:1574:38 | &p | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1574:37:1574:38 | &p | TRef.T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1574:37:1574:38 | &p | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1574:38:1574:38 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1574:38:1574:38 | p | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1574:38:1574:38 | p | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1575:13:1575:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1575:17:1575:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1578:26:1578:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1578:26:1578:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1578:26:1578:30 | SelfParam | TRef.TRef | main.rs:1577:14:1577:23 | T | +| main.rs:1578:39:1580:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1578:39:1580:13 | { ... } | TRef | main.rs:1577:14:1577:23 | T | +| main.rs:1579:17:1579:21 | * ... | | {EXTERNAL LOCATION} | & | +| main.rs:1579:17:1579:21 | * ... | TRef | main.rs:1577:14:1577:23 | T | +| main.rs:1579:18:1579:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1579:18:1579:21 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1579:18:1579:21 | self | TRef.TRef | main.rs:1577:14:1577:23 | T | +| main.rs:1582:31:1584:13 | { ... } | | main.rs:1577:14:1577:23 | T | +| main.rs:1583:17:1583:28 | ...::default(...) | | main.rs:1577:14:1577:23 | T | +| main.rs:1587:13:1587:13 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1587:13:1587:13 | r | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1587:17:1587:19 | &42 | | {EXTERNAL LOCATION} | & | +| main.rs:1587:17:1587:19 | &42 | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1587:18:1587:19 | 42 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1588:13:1588:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1588:13:1588:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1588:17:1588:17 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1588:17:1588:17 | r | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1588:17:1588:29 | r.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1588:17:1588:29 | r.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1589:13:1589:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1589:13:1589:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1589:17:1589:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1589:17:1589:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1589:33:1589:34 | &r | | {EXTERNAL LOCATION} | & | +| main.rs:1589:33:1589:34 | &r | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1589:33:1589:34 | &r | TRef.TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1589:34:1589:34 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1589:34:1589:34 | r | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1590:13:1590:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1590:17:1590:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1593:26:1593:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1593:26:1593:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1593:26:1593:30 | SelfParam | TRef.TPtrMut | main.rs:1592:14:1592:23 | T | +| main.rs:1593:39:1595:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1593:39:1595:13 | { ... } | TRef | main.rs:1592:14:1592:23 | T | +| main.rs:1594:17:1594:34 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1594:17:1594:34 | { ... } | TRef | main.rs:1592:14:1592:23 | T | +| main.rs:1594:26:1594:32 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1594:26:1594:32 | &... | TRef | main.rs:1592:14:1592:23 | T | +| main.rs:1594:27:1594:32 | * ... | | main.rs:1592:14:1592:23 | T | +| main.rs:1594:28:1594:32 | * ... | | {EXTERNAL LOCATION} | *mut | +| main.rs:1594:28:1594:32 | * ... | TPtrMut | main.rs:1592:14:1592:23 | T | +| main.rs:1594:29:1594:32 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1594:29:1594:32 | self | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1594:29:1594:32 | self | TRef.TPtrMut | main.rs:1592:14:1592:23 | T | +| main.rs:1597:31:1599:13 | { ... } | | main.rs:1592:14:1592:23 | T | +| main.rs:1598:17:1598:28 | ...::default(...) | | main.rs:1592:14:1592:23 | T | +| main.rs:1602:17:1602:17 | v | | {EXTERNAL LOCATION} | i32 | +| main.rs:1602:21:1602:22 | 42 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1603:13:1603:13 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1603:13:1603:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1603:27:1603:32 | &mut v | | {EXTERNAL LOCATION} | &mut | +| main.rs:1603:27:1603:32 | &mut v | TRefMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1603:32:1603:32 | v | | {EXTERNAL LOCATION} | i32 | +| main.rs:1604:13:1604:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1604:13:1604:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1604:17:1604:40 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1604:17:1604:40 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1604:26:1604:26 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1604:26:1604:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1604:26:1604:38 | p.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1604:26:1604:38 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1605:13:1605:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1605:13:1605:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1605:17:1605:50 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1605:17:1605:50 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1605:26:1605:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1605:26:1605:48 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1605:46:1605:47 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1605:46:1605:47 | &p | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1605:46:1605:47 | &p | TRef.TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1605:47:1605:47 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1605:47:1605:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1606:13:1606:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1606:17:1606:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1612:16:1624:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1613:13:1613:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:1613:17:1613:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1613:17:1613:29 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1613:25:1613:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:13:1614:13 | y | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:17:1614:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:17:1614:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1614:25:1614:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1616:17:1616:17 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1617:13:1617:16 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1617:20:1617:21 | 34 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1617:20:1617:27 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1617:26:1617:27 | 33 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1618:9:1622:9 | if cond {...} else {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1618:12:1618:15 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1618:17:1620:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1619:17:1619:17 | z | | {EXTERNAL LOCATION} | () | +| main.rs:1619:21:1619:27 | (...) | | {EXTERNAL LOCATION} | () | +| main.rs:1619:22:1619:22 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1619:22:1619:26 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:1619:26:1619:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1620:16:1622:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1621:13:1621:13 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1621:13:1621:17 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:1621:17:1621:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1623:9:1623:9 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1637:30:1639:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1638:13:1638:31 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1638:23:1638:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1638:29:1638:29 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1645:16:1645:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1645:22:1645:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1645:41:1650:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1646:13:1649:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1647:20:1647:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1647:20:1647:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1647:20:1647:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1647:29:1647:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1647:29:1647:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1648:20:1648:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1648:20:1648:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1648:20:1648:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1648:29:1648:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1648:29:1648:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1655:23:1655:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1655:23:1655:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1655:34:1655:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1655:45:1658:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1656:13:1656:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1656:13:1656:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1656:13:1656:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1656:13:1656:27 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1656:23:1656:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1656:23:1656:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1657:13:1657:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1657:13:1657:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1657:13:1657:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1657:13:1657:27 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1657:23:1657:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1657:23:1657:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1663:16:1663:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1663:22:1663:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1663:41:1668:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1664:13:1667:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1665:20:1665:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1665:20:1665:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1665:20:1665:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1665:29:1665:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1665:29:1665:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1666:20:1666:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1666:20:1666:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1666:20:1666:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1666:29:1666:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1666:29:1666:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1673:23:1673:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1673:23:1673:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1673:34:1673:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1673:45:1676:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1674:13:1674:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1674:13:1674:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1674:13:1674:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1674:13:1674:27 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1674:23:1674:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1674:23:1674:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1675:13:1675:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1675:13:1675:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1675:13:1675:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1675:13:1675:27 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1675:23:1675:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1675:23:1675:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1681:16:1681:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1681:22:1681:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1681:41:1686:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1682:13:1685:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1683:20:1683:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1683:20:1683:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1683:20:1683:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1683:29:1683:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1683:29:1683:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1684:20:1684:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1684:20:1684:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1684:20:1684:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1684:29:1684:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1684:29:1684:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1690:23:1690:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1690:23:1690:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1690:34:1690:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1690:45:1693:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1691:13:1691:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1691:13:1691:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1691:13:1691:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1691:13:1691:27 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1691:23:1691:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1691:23:1691:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1692:13:1692:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1692:13:1692:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1692:13:1692:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1692:13:1692:27 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1692:23:1692:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1692:23:1692:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1698:16:1698:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1698:22:1698:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1698:41:1703:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1699:13:1702:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1700:20:1700:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1700:20:1700:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1700:20:1700:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1700:29:1700:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1700:29:1700:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1701:20:1701:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1701:20:1701:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1701:20:1701:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1701:29:1701:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1701:29:1701:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1707:23:1707:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1707:23:1707:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1707:34:1707:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1707:45:1710:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1708:13:1708:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1708:13:1708:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1708:13:1708:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1708:13:1708:27 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1708:23:1708:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1708:23:1708:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1709:13:1709:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1709:13:1709:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1709:13:1709:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1709:13:1709:27 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1709:23:1709:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1709:23:1709:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1715:16:1715:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1715:22:1715:24 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1715:41:1720:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1716:13:1719:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1717:20:1717:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1717:20:1717:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1717:20:1717:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1717:29:1717:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1717:29:1717:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1718:20:1718:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1718:20:1718:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1718:20:1718:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1718:29:1718:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1718:29:1718:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1724:23:1724:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1724:23:1724:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1724:34:1724:36 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1724:45:1727:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1725:13:1725:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1725:13:1725:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1725:13:1725:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1725:13:1725:27 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1725:23:1725:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1725:23:1725:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1726:13:1726:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1726:13:1726:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1726:13:1726:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1726:13:1726:27 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1726:23:1726:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1726:23:1726:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1732:19:1732:22 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1732:25:1732:27 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1732:44:1737:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1733:13:1736:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1734:20:1734:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1734:20:1734:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1734:20:1734:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1734:29:1734:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1734:29:1734:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1735:20:1735:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1735:20:1735:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1735:20:1735:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1735:29:1735:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1735:29:1735:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1741:26:1741:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1741:26:1741:34 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1741:37:1741:39 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1741:48:1744:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1742:13:1742:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1742:13:1742:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1742:13:1742:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1742:13:1742:27 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1742:23:1742:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1742:23:1742:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1743:13:1743:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1743:13:1743:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1743:13:1743:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1743:13:1743:27 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1743:23:1743:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1743:23:1743:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1749:18:1749:21 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1749:24:1749:26 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1749:43:1754:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1750:13:1753:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1751:20:1751:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1751:20:1751:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1751:20:1751:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1751:29:1751:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1751:29:1751:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1752:20:1752:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1752:20:1752:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1752:20:1752:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1752:29:1752:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1752:29:1752:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1758:25:1758:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1758:25:1758:33 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1758:36:1758:38 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1758:47:1761:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1759:13:1759:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1759:13:1759:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1759:13:1759:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1759:13:1759:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1759:23:1759:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1759:23:1759:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1760:13:1760:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1760:13:1760:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1760:13:1760:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1760:13:1760:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1760:23:1760:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1760:23:1760:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1766:19:1766:22 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1766:25:1766:27 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1766:44:1771:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1767:13:1770:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1768:20:1768:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1768:20:1768:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:20:1768:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:29:1768:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1768:29:1768:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1769:20:1769:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1769:20:1769:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1769:20:1769:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1769:29:1769:31 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1769:29:1769:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1775:26:1775:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1775:26:1775:34 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1775:37:1775:39 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1775:48:1778:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1776:13:1776:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1776:13:1776:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1776:13:1776:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1776:13:1776:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1776:23:1776:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1776:23:1776:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1777:13:1777:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1777:13:1777:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1777:13:1777:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1777:13:1777:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1777:23:1777:25 | rhs | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1777:23:1777:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1783:16:1783:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1783:22:1783:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1783:40:1788:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1784:13:1787:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1785:20:1785:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1785:20:1785:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1785:20:1785:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1785:30:1785:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1786:20:1786:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1786:20:1786:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1786:20:1786:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1786:30:1786:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1792:23:1792:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1792:23:1792:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1792:34:1792:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1792:44:1795:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1793:13:1793:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1793:13:1793:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1793:13:1793:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1793:13:1793:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1793:24:1793:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1794:13:1794:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1794:13:1794:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1794:13:1794:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1794:13:1794:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1794:24:1794:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1800:16:1800:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1800:22:1800:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1800:40:1805:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1801:13:1804:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1802:20:1802:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1802:20:1802:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1802:20:1802:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1802:30:1802:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1803:20:1803:23 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1803:20:1803:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1803:20:1803:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1803:30:1803:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1809:23:1809:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1809:23:1809:31 | SelfParam | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1809:34:1809:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1809:44:1812:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1810:13:1810:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1810:13:1810:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1810:13:1810:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1810:13:1810:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1810:24:1810:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1811:13:1811:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1811:13:1811:16 | self | TRefMut | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1811:13:1811:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1811:13:1811:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1811:24:1811:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1817:16:1817:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1817:30:1822:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1818:13:1821:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1819:20:1819:26 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1819:21:1819:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1819:21:1819:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1820:20:1820:26 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1820:21:1820:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1820:21:1820:26 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1827:16:1827:19 | SelfParam | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1827:30:1832:9 | { ... } | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1828:13:1831:13 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1829:20:1829:26 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1829:21:1829:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1829:21:1829:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1830:20:1830:26 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1830:21:1830:24 | self | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1830:21:1830:26 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1836:15:1836:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1836:15:1836:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1836:22:1836:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1836:22:1836:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1836:44:1838:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:13:1837:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1837:13:1837:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1837:13:1837:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1837:13:1837:29 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:13:1837:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:23:1837:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1837:23:1837:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1837:23:1837:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1837:34:1837:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1837:34:1837:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1837:34:1837:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1837:34:1837:50 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1837:44:1837:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1837:44:1837:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1837:44:1837:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1840:15:1840:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1840:15:1840:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1840:22:1840:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1840:22:1840:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1840:44:1842:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:13:1841:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1841:13:1841:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1841:13:1841:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1841:13:1841:29 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:13:1841:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:23:1841:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1841:23:1841:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1841:23:1841:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1841:34:1841:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1841:34:1841:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1841:34:1841:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1841:34:1841:50 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1841:44:1841:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1841:44:1841:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1841:44:1841:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1846:24:1846:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1846:24:1846:28 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1846:31:1846:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1846:31:1846:35 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1846:75:1848:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1846:75:1848:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1847:13:1847:29 | (...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:13:1847:63 | ... .partial_cmp(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:1847:13:1847:63 | ... .partial_cmp(...) | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1847:14:1847:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1847:14:1847:17 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1847:14:1847:19 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:14:1847:28 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:23:1847:26 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1847:23:1847:26 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1847:23:1847:28 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:43:1847:62 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1847:43:1847:62 | &... | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:44:1847:62 | (...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:45:1847:49 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1847:45:1847:49 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1847:45:1847:51 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:45:1847:61 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1847:55:1847:59 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1847:55:1847:59 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1847:55:1847:61 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1850:15:1850:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1850:15:1850:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1850:22:1850:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1850:22:1850:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1850:44:1852:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:13:1851:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1851:13:1851:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1851:13:1851:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1851:13:1851:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:13:1851:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:22:1851:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1851:22:1851:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1851:22:1851:28 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1851:33:1851:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1851:33:1851:36 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1851:33:1851:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1851:33:1851:48 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1851:42:1851:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1851:42:1851:46 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1851:42:1851:48 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1854:15:1854:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1854:15:1854:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1854:22:1854:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1854:22:1854:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1854:44:1856:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:13:1855:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1855:13:1855:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1855:13:1855:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1855:13:1855:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:13:1855:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:23:1855:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1855:23:1855:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1855:23:1855:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1855:34:1855:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1855:34:1855:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1855:34:1855:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1855:34:1855:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1855:44:1855:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1855:44:1855:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1855:44:1855:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1858:15:1858:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1858:15:1858:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1858:22:1858:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1858:22:1858:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1858:44:1860:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:13:1859:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1859:13:1859:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1859:13:1859:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1859:13:1859:28 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:13:1859:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:22:1859:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1859:22:1859:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1859:22:1859:28 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1859:33:1859:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1859:33:1859:36 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1859:33:1859:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1859:33:1859:48 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1859:42:1859:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1859:42:1859:46 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1859:42:1859:48 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1862:15:1862:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1862:15:1862:19 | SelfParam | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1862:22:1862:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1862:22:1862:26 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1862:44:1864:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:13:1863:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1863:13:1863:16 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1863:13:1863:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1863:13:1863:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:13:1863:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:23:1863:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1863:23:1863:27 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1863:23:1863:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1863:34:1863:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1863:34:1863:37 | self | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1863:34:1863:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1863:34:1863:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1863:44:1863:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1863:44:1863:48 | other | TRef | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1863:44:1863:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1867:26:1867:26 | a | | main.rs:1867:18:1867:23 | T | +| main.rs:1867:32:1867:32 | b | | main.rs:1867:18:1867:23 | T | +| main.rs:1868:9:1868:9 | a | | main.rs:1867:18:1867:23 | T | +| main.rs:1868:13:1868:13 | b | | main.rs:1867:18:1867:23 | T | +| main.rs:1871:16:2002:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1875:13:1875:18 | i64_eq | | {EXTERNAL LOCATION} | bool | +| main.rs:1875:22:1875:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1875:23:1875:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1875:23:1875:34 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1875:31:1875:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1876:13:1876:18 | i64_ne | | {EXTERNAL LOCATION} | bool | +| main.rs:1876:22:1876:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1876:23:1876:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1876:23:1876:34 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1876:31:1876:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1877:13:1877:18 | i64_lt | | {EXTERNAL LOCATION} | bool | +| main.rs:1877:22:1877:34 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1877:23:1877:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1877:23:1877:33 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1877:30:1877:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1878:13:1878:18 | i64_le | | {EXTERNAL LOCATION} | bool | +| main.rs:1878:22:1878:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1878:23:1878:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1878:23:1878:34 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1878:31:1878:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1879:13:1879:18 | i64_gt | | {EXTERNAL LOCATION} | bool | +| main.rs:1879:22:1879:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1879:23:1879:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1879:23:1879:34 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1879:30:1879:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1880:13:1880:18 | i64_ge | | {EXTERNAL LOCATION} | bool | +| main.rs:1880:22:1880:37 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1880:23:1880:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1880:23:1880:36 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1880:32:1880:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1883:13:1883:19 | i64_add | | {EXTERNAL LOCATION} | i64 | +| main.rs:1883:23:1883:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1883:23:1883:35 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1883:31:1883:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1884:13:1884:19 | i64_sub | | {EXTERNAL LOCATION} | i64 | +| main.rs:1884:23:1884:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1884:23:1884:35 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1884:31:1884:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1885:13:1885:19 | i64_mul | | {EXTERNAL LOCATION} | i64 | +| main.rs:1885:23:1885:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1885:23:1885:35 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1885:31:1885:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1886:13:1886:19 | i64_div | | {EXTERNAL LOCATION} | i64 | +| main.rs:1886:23:1886:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1886:23:1886:35 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1886:31:1886:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1887:13:1887:19 | i64_rem | | {EXTERNAL LOCATION} | i64 | +| main.rs:1887:23:1887:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1887:23:1887:35 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1887:31:1887:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1888:39:1888:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1888:45:1888:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1891:17:1891:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1891:34:1891:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1892:9:1892:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1892:9:1892:31 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1892:27:1892:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1894:17:1894:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1894:34:1894:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1895:9:1895:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1895:9:1895:31 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1895:27:1895:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1897:17:1897:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1897:34:1897:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1898:9:1898:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1898:9:1898:31 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1898:27:1898:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1900:17:1900:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1900:34:1900:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1901:9:1901:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1901:9:1901:31 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1901:27:1901:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1903:17:1903:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1903:34:1903:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1904:9:1904:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1904:9:1904:31 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1904:27:1904:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1907:13:1907:22 | i64_bitand | | {EXTERNAL LOCATION} | i64 | +| main.rs:1907:26:1907:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1907:26:1907:38 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1907:34:1907:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1908:13:1908:21 | i64_bitor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1908:25:1908:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1908:25:1908:37 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1908:33:1908:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1909:13:1909:22 | i64_bitxor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1909:26:1909:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1909:26:1909:38 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1909:34:1909:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1910:13:1910:19 | i64_shl | | {EXTERNAL LOCATION} | i64 | +| main.rs:1910:23:1910:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1910:23:1910:36 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1910:32:1910:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1911:13:1911:19 | i64_shr | | {EXTERNAL LOCATION} | i64 | +| main.rs:1911:23:1911:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1911:23:1911:36 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1911:32:1911:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1914:17:1914:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1914:37:1914:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1915:9:1915:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1915:9:1915:34 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1915:30:1915:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1917:17:1917:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1917:36:1917:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1918:9:1918:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1918:9:1918:33 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1918:29:1918:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1920:17:1920:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1920:37:1920:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1921:9:1921:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1921:9:1921:34 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1921:30:1921:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1923:17:1923:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1923:34:1923:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1924:9:1924:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1924:9:1924:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1924:28:1924:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1926:17:1926:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1926:34:1926:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1927:9:1927:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1927:9:1927:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1927:28:1927:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1929:13:1929:19 | i64_neg | | {EXTERNAL LOCATION} | i64 | +| main.rs:1929:23:1929:28 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1929:24:1929:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1930:13:1930:19 | i64_not | | {EXTERNAL LOCATION} | i64 | +| main.rs:1930:23:1930:28 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1930:24:1930:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1933:13:1933:14 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1933:18:1933:36 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1933:28:1933:28 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1933:34:1933:34 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1934:13:1934:14 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1934:18:1934:36 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1934:28:1934:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1934:34:1934:34 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1937:13:1937:19 | vec2_eq | | {EXTERNAL LOCATION} | bool | +| main.rs:1937:23:1937:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1937:23:1937:30 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1937:29:1937:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1938:13:1938:19 | vec2_ne | | {EXTERNAL LOCATION} | bool | +| main.rs:1938:23:1938:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1938:23:1938:30 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1938:29:1938:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1939:13:1939:19 | vec2_lt | | {EXTERNAL LOCATION} | bool | +| main.rs:1939:23:1939:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1939:23:1939:29 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1939:28:1939:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1940:13:1940:19 | vec2_le | | {EXTERNAL LOCATION} | bool | +| main.rs:1940:23:1940:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1940:23:1940:30 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1940:29:1940:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1941:13:1941:19 | vec2_gt | | {EXTERNAL LOCATION} | bool | +| main.rs:1941:23:1941:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1941:23:1941:29 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1941:28:1941:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1942:13:1942:19 | vec2_ge | | {EXTERNAL LOCATION} | bool | +| main.rs:1942:23:1942:24 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1942:23:1942:30 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1942:29:1942:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1945:13:1945:20 | vec2_add | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1945:24:1945:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1945:24:1945:30 | ... + ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1945:29:1945:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1946:13:1946:20 | vec2_sub | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1946:24:1946:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1946:24:1946:30 | ... - ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1946:29:1946:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1947:13:1947:20 | vec2_mul | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1947:24:1947:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1947:24:1947:30 | ... * ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1947:29:1947:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1948:13:1948:20 | vec2_div | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1948:24:1948:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1948:24:1948:30 | ... / ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1948:29:1948:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1949:13:1949:20 | vec2_rem | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1949:24:1949:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1949:24:1949:30 | ... % ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1949:29:1949:30 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1952:17:1952:31 | vec2_add_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1952:35:1952:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1953:9:1953:23 | vec2_add_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1953:9:1953:29 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1953:28:1953:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1955:17:1955:31 | vec2_sub_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1955:35:1955:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1956:9:1956:23 | vec2_sub_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1956:9:1956:29 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1956:28:1956:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1958:17:1958:31 | vec2_mul_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1958:35:1958:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1959:9:1959:23 | vec2_mul_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1959:9:1959:29 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1959:28:1959:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1961:17:1961:31 | vec2_div_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1961:35:1961:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1962:9:1962:23 | vec2_div_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1962:9:1962:29 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1962:28:1962:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1964:17:1964:31 | vec2_rem_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1964:35:1964:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1965:9:1965:23 | vec2_rem_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1965:9:1965:29 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1965:28:1965:29 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1968:13:1968:23 | vec2_bitand | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1968:27:1968:28 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1968:27:1968:33 | ... & ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1968:32:1968:33 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1969:13:1969:22 | vec2_bitor | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1969:26:1969:27 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1969:26:1969:32 | ... \| ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1969:31:1969:32 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1970:13:1970:23 | vec2_bitxor | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1970:27:1970:28 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1970:27:1970:33 | ... ^ ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1970:32:1970:33 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1971:13:1971:20 | vec2_shl | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1971:24:1971:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1971:24:1971:33 | ... << ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1971:30:1971:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1972:13:1972:20 | vec2_shr | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1972:24:1972:25 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1972:24:1972:33 | ... >> ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1972:30:1972:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1975:17:1975:34 | vec2_bitand_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1975:38:1975:39 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1976:9:1976:26 | vec2_bitand_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1976:9:1976:32 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1976:31:1976:32 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1978:17:1978:33 | vec2_bitor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1978:37:1978:38 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1979:9:1979:25 | vec2_bitor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1979:9:1979:31 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1979:30:1979:31 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1981:17:1981:34 | vec2_bitxor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1981:38:1981:39 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1982:9:1982:26 | vec2_bitxor_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1982:9:1982:32 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1982:31:1982:32 | v2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1984:17:1984:31 | vec2_shl_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1984:35:1984:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1985:9:1985:23 | vec2_shl_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1985:9:1985:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1985:29:1985:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1987:17:1987:31 | vec2_shr_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1987:35:1987:36 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1988:9:1988:23 | vec2_shr_assign | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1988:9:1988:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1988:29:1988:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1991:13:1991:20 | vec2_neg | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1991:24:1991:26 | - ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1991:25:1991:26 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1992:13:1992:20 | vec2_not | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1992:24:1992:26 | ! ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1992:25:1992:26 | v1 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1995:13:1995:24 | default_vec2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1995:28:1995:45 | ...::default(...) | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1996:13:1996:26 | vec2_zero_plus | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1996:30:1996:48 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1996:30:1996:63 | ... + ... | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:1996:40:1996:40 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1996:46:1996:46 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1996:52:1996:63 | default_vec2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:2000:13:2000:24 | default_vec2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:2000:28:2000:45 | ...::default(...) | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:2001:13:2001:26 | vec2_zero_plus | | {EXTERNAL LOCATION} | bool | +| main.rs:2001:30:2001:48 | Vec2 {...} | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:2001:30:2001:64 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2001:40:2001:40 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2001:46:2001:46 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2001:53:2001:64 | default_vec2 | | main.rs:1630:5:1635:5 | Vec2 | +| main.rs:2011:18:2011:21 | SelfParam | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2011:24:2011:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2014:25:2016:5 | { ... } | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2015:9:2015:10 | S1 | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2018:41:2020:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2018:41:2020:5 | { ... } | dyn(Output) | main.rs:2008:5:2008:14 | S1 | +| main.rs:2019:9:2019:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2019:9:2019:20 | { ... } | dyn(Output) | main.rs:2008:5:2008:14 | S1 | +| main.rs:2019:17:2019:18 | S1 | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2022:41:2024:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2022:41:2024:5 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2023:9:2023:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2023:9:2023:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2032:13:2032:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | +| main.rs:2032:13:2032:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | +| main.rs:2032:13:2032:42 | SelfParam | Ptr.TRefMut | main.rs:2026:5:2026:14 | S2 | +| main.rs:2033:13:2033:15 | _cx | | {EXTERNAL LOCATION} | &mut | +| main.rs:2033:13:2033:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | +| main.rs:2034:44:2036:9 | { ... } | | {EXTERNAL LOCATION} | Poll | +| main.rs:2034:44:2036:9 | { ... } | T | main.rs:2008:5:2008:14 | S1 | +| main.rs:2035:13:2035:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | +| main.rs:2035:13:2035:38 | ...::Ready(...) | T | main.rs:2008:5:2008:14 | S1 | +| main.rs:2035:36:2035:37 | S1 | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2039:41:2041:5 | { ... } | | main.rs:2026:5:2026:14 | S2 | +| main.rs:2040:9:2040:10 | S2 | | main.rs:2026:5:2026:14 | S2 | +| main.rs:2043:22:2051:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2044:9:2044:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2044:9:2044:12 | f1(...) | dyn(Output) | main.rs:2008:5:2008:14 | S1 | +| main.rs:2044:9:2044:18 | await ... | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2044:9:2044:22 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:2045:9:2045:12 | f2(...) | | main.rs:2018:16:2018:39 | impl ... | +| main.rs:2045:9:2045:18 | await ... | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2045:9:2045:22 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:2046:9:2046:12 | f3(...) | | main.rs:2022:16:2022:39 | impl ... | +| main.rs:2046:9:2046:18 | await ... | | {EXTERNAL LOCATION} | () | +| main.rs:2047:9:2047:12 | f4(...) | | main.rs:2039:16:2039:39 | impl ... | +| main.rs:2047:9:2047:18 | await ... | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2047:9:2047:22 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:2048:9:2048:10 | S2 | | main.rs:2026:5:2026:14 | S2 | +| main.rs:2048:9:2048:16 | await S2 | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2048:9:2048:20 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:2049:13:2049:13 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2049:13:2049:13 | b | dyn(Output) | main.rs:2008:5:2008:14 | S1 | +| main.rs:2049:17:2049:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2049:17:2049:28 | { ... } | dyn(Output) | main.rs:2008:5:2008:14 | S1 | +| main.rs:2049:25:2049:26 | S1 | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2050:9:2050:9 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2050:9:2050:9 | b | dyn(Output) | main.rs:2008:5:2008:14 | S1 | +| main.rs:2050:9:2050:15 | await b | | main.rs:2008:5:2008:14 | S1 | +| main.rs:2050:9:2050:19 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:2061:15:2061:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2061:15:2061:19 | SelfParam | TRef | main.rs:2060:5:2062:5 | Self [trait Trait1] | +| main.rs:2061:22:2061:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2065:15:2065:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2065:15:2065:19 | SelfParam | TRef | main.rs:2064:5:2066:5 | Self [trait Trait2] | +| main.rs:2065:22:2065:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2069:15:2069:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2069:15:2069:19 | SelfParam | TRef | main.rs:2055:5:2056:14 | S1 | +| main.rs:2069:22:2069:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2073:15:2073:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2073:15:2073:19 | SelfParam | TRef | main.rs:2055:5:2056:14 | S1 | +| main.rs:2073:22:2073:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2076:37:2078:5 | { ... } | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2077:9:2077:10 | S1 | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2081:18:2081:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2081:18:2081:22 | SelfParam | TRef | main.rs:2080:5:2082:5 | Self [trait MyTrait] | +| main.rs:2085:18:2085:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2085:18:2085:22 | SelfParam | TRef | main.rs:2055:5:2056:14 | S1 | +| main.rs:2085:31:2087:9 | { ... } | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2086:13:2086:14 | S2 | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2091:18:2091:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2091:18:2091:22 | SelfParam | TRef | main.rs:2058:5:2058:22 | S3 | +| main.rs:2091:18:2091:22 | SelfParam | TRef.T3 | main.rs:2090:10:2090:17 | T | +| main.rs:2091:30:2094:9 | { ... } | | main.rs:2090:10:2090:17 | T | +| main.rs:2092:17:2092:21 | S3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:2092:17:2092:21 | S3(...) | | main.rs:2058:5:2058:22 | S3 | +| main.rs:2092:17:2092:21 | S3(...) | TRef | main.rs:2058:5:2058:22 | S3 | +| main.rs:2092:17:2092:21 | S3(...) | TRef.T3 | main.rs:2090:10:2090:17 | T | +| main.rs:2092:25:2092:28 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2092:25:2092:28 | self | TRef | main.rs:2058:5:2058:22 | S3 | +| main.rs:2092:25:2092:28 | self | TRef.T3 | main.rs:2090:10:2090:17 | T | +| main.rs:2093:13:2093:21 | t.clone() | | main.rs:2090:10:2090:17 | T | +| main.rs:2097:45:2099:5 | { ... } | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2098:9:2098:10 | S1 | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2101:41:2101:41 | t | | main.rs:2101:26:2101:38 | B | +| main.rs:2101:52:2103:5 | { ... } | | main.rs:2101:23:2101:23 | A | +| main.rs:2102:9:2102:9 | t | | main.rs:2101:26:2101:38 | B | +| main.rs:2102:9:2102:17 | t.get_a() | | main.rs:2101:23:2101:23 | A | +| main.rs:2105:34:2105:34 | x | | main.rs:2105:24:2105:31 | T | +| main.rs:2105:59:2107:5 | { ... } | | main.rs:2105:43:2105:57 | impl ... | +| main.rs:2105:59:2107:5 | { ... } | impl(T) | main.rs:2105:24:2105:31 | T | +| main.rs:2106:9:2106:13 | S3(...) | | main.rs:2058:5:2058:22 | S3 | +| main.rs:2106:9:2106:13 | S3(...) | | main.rs:2105:43:2105:57 | impl ... | +| main.rs:2106:9:2106:13 | S3(...) | T3 | main.rs:2105:24:2105:31 | T | +| main.rs:2106:9:2106:13 | S3(...) | impl(T) | main.rs:2105:24:2105:31 | T | +| main.rs:2106:12:2106:12 | x | | main.rs:2105:24:2105:31 | T | +| main.rs:2109:34:2109:34 | x | | main.rs:2109:24:2109:31 | T | +| main.rs:2109:67:2111:5 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2109:67:2111:5 | { ... } | T | main.rs:2109:50:2109:64 | impl ... | +| main.rs:2109:67:2111:5 | { ... } | T.impl(T) | main.rs:2109:24:2109:31 | T | +| main.rs:2110:9:2110:19 | Some(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2110:9:2110:19 | Some(...) | T | main.rs:2058:5:2058:22 | S3 | +| main.rs:2110:9:2110:19 | Some(...) | T | main.rs:2109:50:2109:64 | impl ... | +| main.rs:2110:9:2110:19 | Some(...) | T.T3 | main.rs:2109:24:2109:31 | T | +| main.rs:2110:9:2110:19 | Some(...) | T.impl(T) | main.rs:2109:24:2109:31 | T | +| main.rs:2110:14:2110:18 | S3(...) | | main.rs:2058:5:2058:22 | S3 | +| main.rs:2110:14:2110:18 | S3(...) | T3 | main.rs:2109:24:2109:31 | T | +| main.rs:2110:17:2110:17 | x | | main.rs:2109:24:2109:31 | T | +| main.rs:2113:34:2113:34 | x | | main.rs:2113:24:2113:31 | T | +| main.rs:2113:78:2115:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2113:78:2115:5 | { ... } | T0 | main.rs:2113:44:2113:58 | impl ... | +| main.rs:2113:78:2115:5 | { ... } | T0.impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2113:78:2115:5 | { ... } | T1 | main.rs:2113:61:2113:75 | impl ... | +| main.rs:2113:78:2115:5 | { ... } | T1.impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2114:9:2114:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2114:9:2114:30 | TupleExpr | T0 | main.rs:2058:5:2058:22 | S3 | +| main.rs:2114:9:2114:30 | TupleExpr | T0 | main.rs:2113:44:2113:58 | impl ... | +| main.rs:2114:9:2114:30 | TupleExpr | T0.T3 | main.rs:2113:24:2113:31 | T | +| main.rs:2114:9:2114:30 | TupleExpr | T0.impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2114:9:2114:30 | TupleExpr | T1 | main.rs:2058:5:2058:22 | S3 | +| main.rs:2114:9:2114:30 | TupleExpr | T1 | main.rs:2113:61:2113:75 | impl ... | +| main.rs:2114:9:2114:30 | TupleExpr | T1.T3 | main.rs:2113:24:2113:31 | T | +| main.rs:2114:9:2114:30 | TupleExpr | T1.impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2114:10:2114:22 | S3(...) | | main.rs:2058:5:2058:22 | S3 | +| main.rs:2114:10:2114:22 | S3(...) | | main.rs:2113:44:2113:58 | impl ... | +| main.rs:2114:10:2114:22 | S3(...) | T3 | main.rs:2113:24:2113:31 | T | +| main.rs:2114:10:2114:22 | S3(...) | impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2114:13:2114:13 | x | | main.rs:2113:24:2113:31 | T | +| main.rs:2114:13:2114:21 | x.clone() | | main.rs:2113:24:2113:31 | T | +| main.rs:2114:25:2114:29 | S3(...) | | main.rs:2058:5:2058:22 | S3 | +| main.rs:2114:25:2114:29 | S3(...) | | main.rs:2113:61:2113:75 | impl ... | +| main.rs:2114:25:2114:29 | S3(...) | T3 | main.rs:2113:24:2113:31 | T | +| main.rs:2114:25:2114:29 | S3(...) | impl(T) | main.rs:2113:24:2113:31 | T | +| main.rs:2114:28:2114:28 | x | | main.rs:2113:24:2113:31 | T | +| main.rs:2117:26:2117:26 | t | | main.rs:2117:29:2117:43 | impl ... | +| main.rs:2117:51:2119:5 | { ... } | | main.rs:2117:23:2117:23 | A | +| main.rs:2118:9:2118:9 | t | | main.rs:2117:29:2117:43 | impl ... | +| main.rs:2118:9:2118:17 | t.get_a() | | main.rs:2117:23:2117:23 | A | +| main.rs:2121:16:2135:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2122:13:2122:13 | x | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2122:17:2122:20 | f1(...) | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2123:9:2123:9 | x | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2123:9:2123:14 | x.f1() | | {EXTERNAL LOCATION} | () | +| main.rs:2124:9:2124:9 | x | | main.rs:2076:16:2076:35 | impl ... + ... | +| main.rs:2124:9:2124:14 | x.f2() | | {EXTERNAL LOCATION} | () | +| main.rs:2125:13:2125:13 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2125:17:2125:32 | get_a_my_trait(...) | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2126:13:2126:13 | b | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2126:17:2126:33 | uses_my_trait1(...) | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2126:32:2126:32 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2127:13:2127:13 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2127:17:2127:32 | get_a_my_trait(...) | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2128:13:2128:13 | c | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2128:17:2128:33 | uses_my_trait2(...) | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2128:32:2128:32 | a | | main.rs:2097:28:2097:43 | impl ... | +| main.rs:2129:13:2129:13 | d | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2129:17:2129:34 | uses_my_trait2(...) | | main.rs:2057:5:2057:14 | S2 | +| main.rs:2129:32:2129:33 | S1 | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2130:13:2130:13 | e | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2130:17:2130:35 | get_a_my_trait2(...) | | main.rs:2105:43:2105:57 | impl ... | +| main.rs:2130:17:2130:35 | get_a_my_trait2(...) | impl(T) | main.rs:2055:5:2056:14 | S1 | +| main.rs:2130:17:2130:43 | ... .get_a() | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2130:33:2130:34 | S1 | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2133:13:2133:13 | f | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2133:17:2133:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2133:17:2133:35 | get_a_my_trait3(...) | T | main.rs:2109:50:2109:64 | impl ... | +| main.rs:2133:17:2133:35 | get_a_my_trait3(...) | T.impl(T) | main.rs:2055:5:2056:14 | S1 | +| main.rs:2133:17:2133:44 | ... .unwrap() | | main.rs:2109:50:2109:64 | impl ... | +| main.rs:2133:17:2133:44 | ... .unwrap() | impl(T) | main.rs:2055:5:2056:14 | S1 | +| main.rs:2133:17:2133:52 | ... .get_a() | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2133:33:2133:34 | S1 | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2134:13:2134:13 | g | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | T0 | main.rs:2113:44:2113:58 | impl ... | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | T0.impl(T) | main.rs:2055:5:2056:14 | S1 | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | T1 | main.rs:2113:61:2113:75 | impl ... | +| main.rs:2134:17:2134:35 | get_a_my_trait4(...) | T1.impl(T) | main.rs:2055:5:2056:14 | S1 | +| main.rs:2134:17:2134:37 | ... .0 | | main.rs:2113:44:2113:58 | impl ... | +| main.rs:2134:17:2134:37 | ... .0 | impl(T) | main.rs:2055:5:2056:14 | S1 | +| main.rs:2134:17:2134:45 | ... .get_a() | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2134:33:2134:34 | S1 | | main.rs:2055:5:2056:14 | S1 | +| main.rs:2145:16:2145:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2145:16:2145:20 | SelfParam | TRef | main.rs:2141:5:2142:13 | S | +| main.rs:2145:31:2147:9 | { ... } | | main.rs:2141:5:2142:13 | S | +| main.rs:2146:13:2146:13 | S | | main.rs:2141:5:2142:13 | S | +| main.rs:2156:26:2158:9 | { ... } | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2156:26:2158:9 | { ... } | T | main.rs:2155:10:2155:10 | T | +| main.rs:2157:13:2157:38 | MyVec {...} | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2157:13:2157:38 | MyVec {...} | T | main.rs:2155:10:2155:10 | T | +| main.rs:2157:27:2157:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2157:27:2157:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2157:27:2157:36 | ...::new(...) | T | main.rs:2155:10:2155:10 | T | +| main.rs:2160:17:2160:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:2160:17:2160:25 | SelfParam | TRefMut | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2160:17:2160:25 | SelfParam | TRefMut.T | main.rs:2155:10:2155:10 | T | +| main.rs:2160:28:2160:32 | value | | main.rs:2155:10:2155:10 | T | +| main.rs:2160:38:2162:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2161:13:2161:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:2161:13:2161:16 | self | TRefMut | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2161:13:2161:16 | self | TRefMut.T | main.rs:2155:10:2155:10 | T | +| main.rs:2161:13:2161:21 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:2161:13:2161:21 | self.data | A | {EXTERNAL LOCATION} | Global | +| main.rs:2161:13:2161:21 | self.data | T | main.rs:2155:10:2155:10 | T | +| main.rs:2161:13:2161:33 | ... .push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2161:28:2161:32 | value | | main.rs:2155:10:2155:10 | T | +| main.rs:2169:18:2169:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2169:18:2169:22 | SelfParam | TRef | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2169:18:2169:22 | SelfParam | TRef.T | main.rs:2165:10:2165:10 | T | +| main.rs:2169:25:2169:29 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2169:56:2171:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2169:56:2171:9 | { ... } | TRef | main.rs:2165:10:2165:10 | T | +| main.rs:2170:13:2170:29 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2170:13:2170:29 | &... | TRef | main.rs:2165:10:2165:10 | T | +| main.rs:2170:14:2170:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2170:14:2170:17 | self | TRef | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2170:14:2170:17 | self | TRef.T | main.rs:2165:10:2165:10 | T | +| main.rs:2170:14:2170:22 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:2170:14:2170:22 | self.data | A | {EXTERNAL LOCATION} | Global | +| main.rs:2170:14:2170:22 | self.data | T | main.rs:2165:10:2165:10 | T | +| main.rs:2170:14:2170:29 | ...[index] | | main.rs:2165:10:2165:10 | T | +| main.rs:2170:24:2170:28 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2174:22:2174:26 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2174:22:2174:26 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2174:22:2174:26 | slice | TRef.TSlice | main.rs:2141:5:2142:13 | S | +| main.rs:2174:35:2176:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2175:13:2175:13 | x | | main.rs:2141:5:2142:13 | S | +| main.rs:2175:17:2175:21 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2175:17:2175:21 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2175:17:2175:21 | slice | TRef.TSlice | main.rs:2141:5:2142:13 | S | +| main.rs:2175:17:2175:24 | slice[0] | | main.rs:2141:5:2142:13 | S | +| main.rs:2175:17:2175:30 | ... .foo() | | main.rs:2141:5:2142:13 | S | +| main.rs:2175:23:2175:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2178:37:2178:37 | a | | main.rs:2178:20:2178:34 | T | +| main.rs:2178:43:2178:43 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2182:9:2182:9 | a | | main.rs:2178:20:2178:34 | T | +| main.rs:2182:11:2182:11 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2185:16:2196:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2186:17:2186:19 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2186:17:2186:19 | vec | T | main.rs:2141:5:2142:13 | S | +| main.rs:2186:23:2186:34 | ...::new(...) | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2186:23:2186:34 | ...::new(...) | T | main.rs:2141:5:2142:13 | S | +| main.rs:2187:9:2187:11 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2187:9:2187:11 | vec | T | main.rs:2141:5:2142:13 | S | +| main.rs:2187:9:2187:19 | vec.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2187:18:2187:18 | S | | main.rs:2141:5:2142:13 | S | +| main.rs:2188:9:2188:11 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2188:9:2188:11 | vec | T | main.rs:2141:5:2142:13 | S | +| main.rs:2188:9:2188:14 | vec[0] | | main.rs:2141:5:2142:13 | S | +| main.rs:2188:9:2188:20 | ... .foo() | | main.rs:2141:5:2142:13 | S | +| main.rs:2188:13:2188:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2190:13:2190:14 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2190:13:2190:14 | xs | TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2190:21:2190:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2190:26:2190:28 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2190:26:2190:28 | [...] | TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2190:27:2190:27 | S | | main.rs:2141:5:2142:13 | S | +| main.rs:2191:13:2191:13 | x | | main.rs:2141:5:2142:13 | S | +| main.rs:2191:17:2191:18 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2191:17:2191:18 | xs | TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2191:17:2191:21 | xs[0] | | main.rs:2141:5:2142:13 | S | +| main.rs:2191:17:2191:27 | ... .foo() | | main.rs:2141:5:2142:13 | S | +| main.rs:2191:20:2191:20 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2193:29:2193:31 | vec | | main.rs:2150:5:2153:5 | MyVec | +| main.rs:2193:29:2193:31 | vec | T | main.rs:2141:5:2142:13 | S | +| main.rs:2193:34:2193:34 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2195:9:2195:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2195:23:2195:25 | &xs | | {EXTERNAL LOCATION} | & | +| main.rs:2195:23:2195:25 | &xs | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2195:23:2195:25 | &xs | TRef.TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2195:24:2195:25 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2195:24:2195:25 | xs | TArray | main.rs:2141:5:2142:13 | S | +| main.rs:2200:16:2202:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2201:13:2201:13 | x | | {EXTERNAL LOCATION} | String | +| main.rs:2201:17:2201:46 | MacroExpr | | {EXTERNAL LOCATION} | String | +| main.rs:2201:25:2201:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | +| main.rs:2201:25:2201:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2201:25:2201:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2201:25:2201:45 | ...::must_use(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2201:25:2201:45 | { ... } | | {EXTERNAL LOCATION} | String | +| main.rs:2201:38:2201:45 | "World!" | | {EXTERNAL LOCATION} | & | +| main.rs:2201:38:2201:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2210:19:2210:22 | SelfParam | | main.rs:2206:5:2211:5 | Self [trait MyAdd] | +| main.rs:2210:25:2210:27 | rhs | | main.rs:2206:17:2206:26 | Rhs | +| main.rs:2217:19:2217:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2217:25:2217:29 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2217:45:2219:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2218:13:2218:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2226:19:2226:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2226:25:2226:29 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2226:25:2226:29 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2226:46:2228:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2227:13:2227:18 | * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2227:14:2227:18 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2227:14:2227:18 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2235:19:2235:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2235:25:2235:29 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2235:46:2241:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:13:2240:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2236:13:2240:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:16:2236:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2236:22:2238:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2236:22:2238:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2237:17:2237:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2237:17:2237:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2238:20:2240:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2238:20:2240:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2239:17:2239:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2239:17:2239:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2250:19:2250:22 | SelfParam | | main.rs:2244:5:2244:19 | S | +| main.rs:2250:19:2250:22 | SelfParam | T | main.rs:2246:10:2246:17 | T | +| main.rs:2250:25:2250:29 | other | | main.rs:2244:5:2244:19 | S | +| main.rs:2250:25:2250:29 | other | T | main.rs:2246:10:2246:17 | T | +| main.rs:2250:54:2252:9 | { ... } | | main.rs:2244:5:2244:19 | S | +| main.rs:2251:13:2251:39 | S(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2251:15:2251:22 | (...) | | main.rs:2246:10:2246:17 | T | +| main.rs:2251:16:2251:19 | self | | main.rs:2244:5:2244:19 | S | +| main.rs:2251:16:2251:19 | self | T | main.rs:2246:10:2246:17 | T | +| main.rs:2251:16:2251:21 | self.0 | | main.rs:2246:10:2246:17 | T | +| main.rs:2251:31:2251:35 | other | | main.rs:2244:5:2244:19 | S | +| main.rs:2251:31:2251:35 | other | T | main.rs:2246:10:2246:17 | T | +| main.rs:2251:31:2251:37 | other.0 | | main.rs:2246:10:2246:17 | T | +| main.rs:2259:19:2259:22 | SelfParam | | main.rs:2244:5:2244:19 | S | +| main.rs:2259:19:2259:22 | SelfParam | T | main.rs:2255:10:2255:17 | T | +| main.rs:2259:25:2259:29 | other | | main.rs:2255:10:2255:17 | T | +| main.rs:2259:51:2261:9 | { ... } | | main.rs:2244:5:2244:19 | S | +| main.rs:2260:13:2260:37 | S(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2260:15:2260:22 | (...) | | main.rs:2255:10:2255:17 | T | +| main.rs:2260:16:2260:19 | self | | main.rs:2244:5:2244:19 | S | +| main.rs:2260:16:2260:19 | self | T | main.rs:2255:10:2255:17 | T | +| main.rs:2260:16:2260:21 | self.0 | | main.rs:2255:10:2255:17 | T | +| main.rs:2260:31:2260:35 | other | | main.rs:2255:10:2255:17 | T | +| main.rs:2271:19:2271:22 | SelfParam | | main.rs:2244:5:2244:19 | S | +| main.rs:2271:19:2271:22 | SelfParam | T | main.rs:2264:14:2264:14 | T | +| main.rs:2271:25:2271:29 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2271:25:2271:29 | other | TRef | main.rs:2264:14:2264:14 | T | +| main.rs:2271:55:2273:9 | { ... } | | main.rs:2244:5:2244:19 | S | +| main.rs:2272:13:2272:37 | S(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2272:15:2272:22 | (...) | | main.rs:2264:14:2264:14 | T | +| main.rs:2272:16:2272:19 | self | | main.rs:2244:5:2244:19 | S | +| main.rs:2272:16:2272:19 | self | T | main.rs:2264:14:2264:14 | T | +| main.rs:2272:16:2272:21 | self.0 | | main.rs:2264:14:2264:14 | T | +| main.rs:2272:31:2272:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2272:31:2272:35 | other | TRef | main.rs:2264:14:2264:14 | T | +| main.rs:2278:20:2278:24 | value | | main.rs:2276:18:2276:18 | T | +| main.rs:2283:20:2283:24 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2283:40:2285:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2284:13:2284:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2290:20:2290:24 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2290:41:2296:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2291:13:2295:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2291:13:2295:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| main.rs:2291:16:2291:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2291:22:2293:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2291:22:2293:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2292:17:2292:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2292:17:2292:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2293:20:2295:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2293:20:2295:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2294:17:2294:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2294:17:2294:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2301:21:2301:25 | value | | main.rs:2299:19:2299:19 | T | +| main.rs:2301:31:2301:31 | x | | main.rs:2299:5:2302:5 | Self [trait MyFrom2] | +| main.rs:2306:21:2306:25 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2306:33:2306:33 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2306:48:2308:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2307:13:2307:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2313:21:2313:25 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2313:34:2313:34 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2313:49:2319:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2314:13:2318:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2314:16:2314:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2314:22:2316:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2315:17:2315:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2316:20:2318:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2317:17:2317:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2324:15:2324:15 | x | | main.rs:2322:5:2328:5 | Self [trait MySelfTrait] | +| main.rs:2327:15:2327:15 | x | | main.rs:2322:5:2328:5 | Self [trait MySelfTrait] | +| main.rs:2332:15:2332:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2332:31:2334:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2333:13:2333:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2333:13:2333:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2333:17:2333:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2337:15:2337:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2337:32:2339:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2338:13:2338:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2338:13:2338:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2338:17:2338:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2344:15:2344:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2344:31:2346:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2345:13:2345:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2345:13:2345:13 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2349:15:2349:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2349:32:2351:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2350:13:2350:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2354:16:2379:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2355:13:2355:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2355:22:2355:23 | 73 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2355:22:2355:23 | 73 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2356:9:2356:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2356:9:2356:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2356:18:2356:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2357:9:2357:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2357:9:2357:23 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2357:18:2357:22 | &5i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2357:18:2357:22 | &5i64 | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2357:19:2357:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2358:9:2358:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2358:9:2358:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2358:18:2358:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2360:9:2360:15 | S(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2360:9:2360:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2360:9:2360:31 | ... .my_add(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2360:11:2360:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2360:24:2360:30 | S(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2360:24:2360:30 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2360:26:2360:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2361:9:2361:15 | S(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2361:9:2361:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2361:11:2361:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2361:24:2361:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2362:9:2362:15 | S(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2362:9:2362:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2362:9:2362:29 | ... .my_add(...) | | main.rs:2244:5:2244:19 | S | +| main.rs:2362:11:2362:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2362:24:2362:28 | &3i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2362:24:2362:28 | &3i64 | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2362:25:2362:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2364:13:2364:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2364:17:2364:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2364:30:2364:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2365:13:2365:13 | y | | {EXTERNAL LOCATION} | i64 | +| main.rs:2365:17:2365:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2365:30:2365:33 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2366:13:2366:13 | z | | {EXTERNAL LOCATION} | i64 | +| main.rs:2366:22:2366:43 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2366:38:2366:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2367:9:2367:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2367:23:2367:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2367:30:2367:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2368:9:2368:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2368:23:2368:26 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2368:29:2368:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2369:9:2369:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2369:27:2369:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2369:34:2369:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2371:9:2371:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2371:17:2371:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2372:9:2372:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2372:17:2372:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2373:9:2373:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2373:18:2373:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2374:9:2374:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2374:18:2374:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2375:9:2375:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2375:25:2375:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2376:9:2376:30 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2376:25:2376:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2377:9:2377:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2377:25:2377:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2378:9:2378:29 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2378:25:2378:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2386:26:2388:9 | { ... } | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2387:13:2387:25 | MyCallable {...} | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2390:17:2390:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2390:17:2390:21 | SelfParam | TRef | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2390:31:2392:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2391:13:2391:13 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2391:13:2391:13 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2395:16:2502:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2398:9:2398:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2398:13:2398:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2398:18:2398:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2398:18:2398:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2398:19:2398:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2398:22:2398:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2398:25:2398:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2398:28:2398:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2399:9:2399:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2399:18:2399:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2399:18:2399:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2399:18:2399:41 | ... .map(...) | | {EXTERNAL LOCATION} | [;] | +| main.rs:2399:19:2399:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2399:22:2399:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2399:25:2399:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2399:32:2399:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:2399:32:2399:40 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| main.rs:2399:40:2399:40 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2399:43:2399:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2400:9:2400:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2400:13:2400:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2400:18:2400:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2400:18:2400:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2400:18:2400:38 | ... .into_iter() | | {EXTERNAL LOCATION} | IntoIter | +| main.rs:2400:18:2400:38 | ... .into_iter() | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2400:19:2400:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2400:22:2400:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2400:25:2400:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2400:40:2400:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2402:13:2402:17 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2402:13:2402:17 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2402:13:2402:17 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | +| main.rs:2402:21:2402:31 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2402:21:2402:31 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2402:21:2402:31 | [...] | TArray | {EXTERNAL LOCATION} | u8 | +| main.rs:2402:22:2402:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2402:27:2402:27 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2402:27:2402:27 | 2 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2402:30:2402:30 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2402:30:2402:30 | 3 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2403:9:2403:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2403:13:2403:13 | u | | {EXTERNAL LOCATION} | i32 | +| main.rs:2403:13:2403:13 | u | | {EXTERNAL LOCATION} | u8 | +| main.rs:2403:18:2403:22 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2403:18:2403:22 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2403:18:2403:22 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | +| main.rs:2403:24:2403:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2405:13:2405:17 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2405:13:2405:17 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2405:21:2405:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2405:21:2405:29 | [1u16; 3] | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2405:22:2405:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2405:28:2405:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2406:9:2406:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2406:13:2406:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2406:18:2406:22 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2406:18:2406:22 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2406:24:2406:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2408:13:2408:17 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2408:13:2408:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2408:26:2408:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2408:31:2408:39 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2408:31:2408:39 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2408:31:2408:39 | [...] | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2408:32:2408:32 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2408:32:2408:32 | 1 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2408:35:2408:35 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2408:35:2408:35 | 2 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2408:38:2408:38 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2408:38:2408:38 | 3 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2409:9:2409:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2409:13:2409:13 | u | | {EXTERNAL LOCATION} | u32 | +| main.rs:2409:18:2409:22 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2409:18:2409:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2409:24:2409:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2411:13:2411:17 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2411:13:2411:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2411:26:2411:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2411:31:2411:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2411:31:2411:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2411:31:2411:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2411:32:2411:32 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2411:32:2411:32 | 1 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2411:35:2411:35 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2412:9:2412:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2412:13:2412:13 | u | | {EXTERNAL LOCATION} | u64 | +| main.rs:2412:18:2412:22 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2412:18:2412:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2412:24:2412:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2414:17:2414:24 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2414:17:2414:24 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2414:17:2414:24 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2414:28:2414:48 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2414:28:2414:48 | [...] | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2414:28:2414:48 | [...] | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2414:29:2414:33 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:29:2414:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2414:36:2414:40 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:36:2414:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2414:43:2414:47 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2414:43:2414:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2415:9:2415:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2415:13:2415:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:2415:13:2415:13 | s | TRef | {EXTERNAL LOCATION} | & | +| main.rs:2415:13:2415:13 | s | TRef.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2415:18:2415:26 | &strings1 | | {EXTERNAL LOCATION} | & | +| main.rs:2415:18:2415:26 | &strings1 | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2415:18:2415:26 | &strings1 | TRef.TArray | {EXTERNAL LOCATION} | & | +| main.rs:2415:18:2415:26 | &strings1 | TRef.TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2415:19:2415:26 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2415:19:2415:26 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2415:19:2415:26 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2415:28:2415:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2416:9:2416:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2416:13:2416:13 | s | | {EXTERNAL LOCATION} | &mut | +| main.rs:2416:13:2416:13 | s | TRefMut | {EXTERNAL LOCATION} | & | +| main.rs:2416:13:2416:13 | s | TRefMut.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2416:18:2416:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | +| main.rs:2416:18:2416:30 | &mut strings1 | TRefMut | {EXTERNAL LOCATION} | [;] | +| main.rs:2416:18:2416:30 | &mut strings1 | TRefMut.TArray | {EXTERNAL LOCATION} | & | +| main.rs:2416:18:2416:30 | &mut strings1 | TRefMut.TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2416:23:2416:30 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2416:23:2416:30 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2416:23:2416:30 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2416:32:2416:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2417:9:2417:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2417:13:2417:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:2417:13:2417:13 | s | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2417:18:2417:25 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2417:18:2417:25 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2417:18:2417:25 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2417:27:2417:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2419:13:2419:20 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2419:13:2419:20 | strings2 | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2420:9:2424:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2420:9:2424:9 | [...] | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2421:13:2421:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2421:26:2421:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2421:26:2421:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2422:13:2422:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2422:26:2422:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2422:26:2422:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2423:13:2423:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2423:26:2423:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2423:26:2423:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2425:9:2425:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2425:13:2425:13 | s | | {EXTERNAL LOCATION} | String | +| main.rs:2425:18:2425:25 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2425:18:2425:25 | strings2 | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2425:27:2425:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2427:13:2427:20 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2427:13:2427:20 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2427:13:2427:20 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | +| main.rs:2428:9:2432:9 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2428:9:2432:9 | &... | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2428:9:2432:9 | &... | TRef.TArray | {EXTERNAL LOCATION} | String | +| main.rs:2428:10:2432:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2428:10:2432:9 | [...] | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2429:13:2429:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2429:26:2429:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2429:26:2429:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2430:13:2430:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2430:26:2430:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2430:26:2430:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2431:13:2431:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2431:26:2431:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2431:26:2431:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2433:9:2433:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2433:13:2433:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:2433:13:2433:13 | s | TRef | {EXTERNAL LOCATION} | String | +| main.rs:2433:18:2433:25 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2433:18:2433:25 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2433:18:2433:25 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | +| main.rs:2433:27:2433:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2435:13:2435:21 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2435:13:2435:21 | callables | TArray | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2435:25:2435:81 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2435:25:2435:81 | [...] | TArray | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2435:26:2435:42 | ...::new(...) | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2435:45:2435:61 | ...::new(...) | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2435:64:2435:80 | ...::new(...) | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2436:9:2440:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2436:13:2436:13 | c | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2437:12:2437:20 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2437:12:2437:20 | callables | TArray | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2438:9:2440:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2439:17:2439:22 | result | | {EXTERNAL LOCATION} | i64 | +| main.rs:2439:26:2439:26 | c | | main.rs:2383:5:2383:24 | MyCallable | +| main.rs:2439:26:2439:33 | c.call() | | {EXTERNAL LOCATION} | i64 | +| main.rs:2444:9:2444:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2444:13:2444:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2444:18:2444:18 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2444:18:2444:22 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2444:18:2444:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2444:21:2444:22 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2444:24:2444:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2445:9:2445:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2445:13:2445:13 | u | | {EXTERNAL LOCATION} | Range | +| main.rs:2445:13:2445:13 | u | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2445:13:2445:13 | u | Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2445:18:2445:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2445:18:2445:26 | [...] | TArray | {EXTERNAL LOCATION} | Range | +| main.rs:2445:18:2445:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2445:18:2445:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2445:19:2445:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2445:19:2445:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2445:19:2445:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2445:19:2445:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2445:24:2445:25 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2445:24:2445:25 | 10 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2445:28:2445:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2446:13:2446:17 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2446:13:2446:17 | range | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2446:21:2446:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2446:21:2446:25 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2446:21:2446:25 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2446:24:2446:25 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2447:9:2447:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2447:13:2447:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2447:18:2447:22 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2447:18:2447:22 | range | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2447:24:2447:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2448:13:2448:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2448:26:2448:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2449:9:2449:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2449:18:2449:48 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2449:19:2449:36 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2449:19:2449:36 | [...] | TArray | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:20:2449:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:26:2449:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:32:2449:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2449:38:2449:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2449:50:2449:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2451:13:2451:18 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2451:13:2451:18 | range1 | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2452:9:2455:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | +| main.rs:2452:9:2455:9 | ...::Range {...} | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2453:20:2453:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2454:18:2454:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2456:9:2456:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2456:13:2456:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2456:18:2456:23 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2456:18:2456:23 | range1 | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2456:25:2456:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2460:13:2460:17 | vals3 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2460:21:2460:33 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2460:26:2460:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2460:29:2460:29 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2460:32:2460:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2461:9:2461:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2461:18:2461:22 | vals3 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2461:24:2461:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2463:13:2463:18 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2463:13:2463:18 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2463:13:2463:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2463:32:2463:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2463:32:2463:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2463:32:2463:43 | [...] | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2463:32:2463:52 | ... .to_vec() | | {EXTERNAL LOCATION} | Vec | +| main.rs:2463:32:2463:52 | ... .to_vec() | A | {EXTERNAL LOCATION} | Global | +| main.rs:2463:32:2463:52 | ... .to_vec() | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2463:33:2463:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2463:39:2463:39 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2463:42:2463:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2464:9:2464:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2464:13:2464:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2464:18:2464:23 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2464:18:2464:23 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2464:18:2464:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2464:25:2464:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2466:22:2466:33 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2466:22:2466:33 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2466:22:2466:33 | [...] | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2466:23:2466:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2466:29:2466:29 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2466:32:2466:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2467:9:2467:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2467:25:2467:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2469:13:2469:17 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2469:13:2469:17 | vals5 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2469:13:2469:17 | vals5 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2469:13:2469:17 | vals5 | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2469:21:2469:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2469:21:2469:43 | ...::from(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2469:21:2469:43 | ...::from(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2469:21:2469:43 | ...::from(...) | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2469:31:2469:42 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2469:31:2469:42 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2469:31:2469:42 | [...] | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2469:32:2469:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2469:38:2469:38 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2469:41:2469:41 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2470:9:2470:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2470:13:2470:13 | u | | {EXTERNAL LOCATION} | i32 | +| main.rs:2470:13:2470:13 | u | | {EXTERNAL LOCATION} | u32 | +| main.rs:2470:18:2470:22 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2470:18:2470:22 | vals5 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2470:18:2470:22 | vals5 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2470:18:2470:22 | vals5 | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2470:24:2470:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2472:13:2472:17 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2472:13:2472:17 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2472:13:2472:17 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2472:13:2472:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2472:32:2472:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2472:32:2472:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2472:32:2472:43 | [...] | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2472:32:2472:60 | ... .collect() | | {EXTERNAL LOCATION} | Vec | +| main.rs:2472:32:2472:60 | ... .collect() | A | {EXTERNAL LOCATION} | Global | +| main.rs:2472:32:2472:60 | ... .collect() | T | {EXTERNAL LOCATION} | & | +| main.rs:2472:32:2472:60 | ... .collect() | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2472:33:2472:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2472:39:2472:39 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2472:42:2472:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2473:9:2473:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2473:13:2473:13 | u | | {EXTERNAL LOCATION} | & | +| main.rs:2473:13:2473:13 | u | TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2473:18:2473:22 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2473:18:2473:22 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2473:18:2473:22 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2473:18:2473:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2473:24:2473:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2475:17:2475:21 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2475:17:2475:21 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2475:17:2475:21 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2475:25:2475:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2475:25:2475:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2475:25:2475:34 | ...::new(...) | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2476:9:2476:13 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2476:9:2476:13 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2476:9:2476:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2476:9:2476:23 | vals7.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2476:20:2476:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2477:9:2477:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2477:13:2477:13 | u | | {EXTERNAL LOCATION} | u8 | +| main.rs:2477:18:2477:22 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2477:18:2477:22 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2477:18:2477:22 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2477:24:2477:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2479:13:2479:19 | matrix1 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2479:23:2479:50 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2479:28:2479:37 | (...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2479:28:2479:37 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2479:33:2479:33 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2479:36:2479:36 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2479:40:2479:49 | (...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2479:40:2479:49 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2479:45:2479:45 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2479:48:2479:48 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2481:13:2481:13 | _ | | {EXTERNAL LOCATION} | () | +| main.rs:2481:17:2484:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2481:28:2481:34 | matrix1 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2481:36:2484:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2482:13:2483:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2482:29:2483:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2486:17:2486:20 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2486:17:2486:20 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2486:17:2486:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2486:17:2486:20 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2486:17:2486:20 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2486:17:2486:20 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2486:17:2486:20 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2486:24:2486:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2486:24:2486:55 | ...::new(...) | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2486:24:2486:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2486:24:2486:55 | ...::new(...) | V | {EXTERNAL LOCATION} | Box | +| main.rs:2486:24:2486:55 | ...::new(...) | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2486:24:2486:55 | ...::new(...) | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2486:24:2486:55 | ...::new(...) | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2487:9:2487:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2487:9:2487:12 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2487:9:2487:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2487:9:2487:12 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2487:9:2487:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2487:9:2487:12 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2487:9:2487:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2487:9:2487:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2487:9:2487:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2487:9:2487:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2487:9:2487:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | +| main.rs:2487:9:2487:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2487:21:2487:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2487:24:2487:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2487:24:2487:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2487:24:2487:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:2487:24:2487:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2487:33:2487:37 | "one" | | {EXTERNAL LOCATION} | & | +| main.rs:2487:33:2487:37 | "one" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2488:9:2488:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2488:9:2488:12 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2488:9:2488:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2488:9:2488:12 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2488:9:2488:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2488:9:2488:12 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2488:9:2488:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2488:9:2488:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2488:9:2488:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2488:9:2488:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2488:9:2488:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | +| main.rs:2488:9:2488:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2488:21:2488:21 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2488:24:2488:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2488:24:2488:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2488:24:2488:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:2488:24:2488:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2488:33:2488:37 | "two" | | {EXTERNAL LOCATION} | & | +| main.rs:2488:33:2488:37 | "two" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2489:9:2489:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2489:13:2489:15 | key | | {EXTERNAL LOCATION} | & | +| main.rs:2489:13:2489:15 | key | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2489:20:2489:23 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2489:20:2489:23 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2489:20:2489:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2489:20:2489:23 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2489:20:2489:23 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2489:20:2489:23 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2489:20:2489:23 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2489:20:2489:30 | map1.keys() | | {EXTERNAL LOCATION} | Keys | +| main.rs:2489:20:2489:30 | map1.keys() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2489:20:2489:30 | map1.keys() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2489:20:2489:30 | map1.keys() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2489:20:2489:30 | map1.keys() | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2489:20:2489:30 | map1.keys() | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2489:32:2489:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2490:9:2490:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2490:13:2490:17 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2490:13:2490:17 | value | TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2490:13:2490:17 | value | TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2490:13:2490:17 | value | TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2490:13:2490:17 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2490:22:2490:25 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2490:22:2490:25 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2490:22:2490:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2490:22:2490:25 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2490:22:2490:25 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2490:22:2490:25 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2490:22:2490:25 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2490:22:2490:34 | map1.values() | | {EXTERNAL LOCATION} | Values | +| main.rs:2490:22:2490:34 | map1.values() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2490:22:2490:34 | map1.values() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2490:22:2490:34 | map1.values() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2490:22:2490:34 | map1.values() | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2490:22:2490:34 | map1.values() | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2490:36:2490:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2491:9:2491:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2491:13:2491:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2491:13:2491:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | +| main.rs:2491:13:2491:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2491:13:2491:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | +| main.rs:2491:13:2491:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2491:13:2491:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2491:13:2491:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2491:13:2491:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2491:14:2491:16 | key | | {EXTERNAL LOCATION} | & | +| main.rs:2491:14:2491:16 | key | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2491:19:2491:23 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2491:19:2491:23 | value | TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2491:19:2491:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2491:19:2491:23 | value | TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2491:19:2491:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2491:29:2491:32 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2491:29:2491:32 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2491:29:2491:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2491:29:2491:32 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2491:29:2491:32 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2491:29:2491:32 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2491:29:2491:32 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2491:29:2491:39 | map1.iter() | | {EXTERNAL LOCATION} | Iter | +| main.rs:2491:29:2491:39 | map1.iter() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2491:29:2491:39 | map1.iter() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2491:29:2491:39 | map1.iter() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2491:29:2491:39 | map1.iter() | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2491:29:2491:39 | map1.iter() | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2491:41:2491:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2492:9:2492:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2492:13:2492:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2492:13:2492:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | +| main.rs:2492:13:2492:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2492:13:2492:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | +| main.rs:2492:13:2492:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2492:13:2492:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2492:13:2492:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2492:13:2492:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2492:14:2492:16 | key | | {EXTERNAL LOCATION} | & | +| main.rs:2492:14:2492:16 | key | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2492:19:2492:23 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2492:19:2492:23 | value | TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2492:19:2492:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2492:19:2492:23 | value | TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2492:19:2492:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2492:29:2492:33 | &map1 | | {EXTERNAL LOCATION} | & | +| main.rs:2492:29:2492:33 | &map1 | TRef | {EXTERNAL LOCATION} | HashMap | +| main.rs:2492:29:2492:33 | &map1 | TRef.K | {EXTERNAL LOCATION} | i32 | +| main.rs:2492:29:2492:33 | &map1 | TRef.S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2492:29:2492:33 | &map1 | TRef.V | {EXTERNAL LOCATION} | Box | +| main.rs:2492:29:2492:33 | &map1 | TRef.V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2492:29:2492:33 | &map1 | TRef.V.T | {EXTERNAL LOCATION} | & | +| main.rs:2492:29:2492:33 | &map1 | TRef.V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2492:30:2492:33 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2492:30:2492:33 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2492:30:2492:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2492:30:2492:33 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2492:30:2492:33 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2492:30:2492:33 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2492:30:2492:33 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2492:35:2492:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2496:17:2496:17 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2496:26:2496:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2496:26:2496:26 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2498:13:2498:13 | _ | | {EXTERNAL LOCATION} | () | +| main.rs:2498:17:2501:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2498:23:2498:23 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2498:23:2498:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2498:27:2498:28 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2499:9:2501:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2500:13:2500:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2500:13:2500:18 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:2500:18:2500:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2512:40:2514:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2512:40:2514:9 | { ... } | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2512:40:2514:9 | { ... } | T.T | main.rs:2511:10:2511:19 | T | +| main.rs:2513:13:2513:16 | None | | {EXTERNAL LOCATION} | Option | +| main.rs:2513:13:2513:16 | None | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2513:13:2513:16 | None | T.T | main.rs:2511:10:2511:19 | T | +| main.rs:2516:30:2518:9 | { ... } | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2516:30:2518:9 | { ... } | T | main.rs:2511:10:2511:19 | T | +| main.rs:2517:13:2517:28 | S1(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2517:13:2517:28 | S1(...) | T | main.rs:2511:10:2511:19 | T | +| main.rs:2517:16:2517:27 | ...::default(...) | | main.rs:2511:10:2511:19 | T | +| main.rs:2520:19:2520:22 | SelfParam | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2520:19:2520:22 | SelfParam | T | main.rs:2511:10:2511:19 | T | +| main.rs:2520:33:2522:9 | { ... } | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2520:33:2522:9 | { ... } | T | main.rs:2511:10:2511:19 | T | +| main.rs:2521:13:2521:16 | self | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2521:13:2521:16 | self | T | main.rs:2511:10:2511:19 | T | +| main.rs:2533:15:2533:15 | x | | main.rs:2533:12:2533:12 | T | +| main.rs:2533:26:2535:5 | { ... } | | main.rs:2533:12:2533:12 | T | +| main.rs:2534:9:2534:9 | x | | main.rs:2533:12:2533:12 | T | +| main.rs:2537:16:2559:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2538:13:2538:14 | x1 | | {EXTERNAL LOCATION} | Option | +| main.rs:2538:13:2538:14 | x1 | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2538:13:2538:14 | x1 | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2538:34:2538:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2538:34:2538:48 | ...::assoc_fun(...) | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2538:34:2538:48 | ...::assoc_fun(...) | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2539:13:2539:14 | x2 | | {EXTERNAL LOCATION} | Option | +| main.rs:2539:13:2539:14 | x2 | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2539:13:2539:14 | x2 | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2539:18:2539:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2539:18:2539:38 | ...::assoc_fun(...) | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2539:18:2539:38 | ...::assoc_fun(...) | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2540:13:2540:14 | x3 | | {EXTERNAL LOCATION} | Option | +| main.rs:2540:13:2540:14 | x3 | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2540:13:2540:14 | x3 | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2540:18:2540:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2540:18:2540:32 | ...::assoc_fun(...) | T | main.rs:2506:5:2506:20 | S1 | +| main.rs:2540:18:2540:32 | ...::assoc_fun(...) | T.T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2541:13:2541:14 | x4 | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2541:13:2541:14 | x4 | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2541:18:2541:48 | ...::method(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2541:18:2541:48 | ...::method(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2541:35:2541:47 | ...::default(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2541:35:2541:47 | ...::default(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2542:13:2542:14 | x5 | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2542:13:2542:14 | x5 | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2542:18:2542:42 | ...::method(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2542:18:2542:42 | ...::method(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2542:29:2542:41 | ...::default(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2542:29:2542:41 | ...::default(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2543:13:2543:14 | x6 | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2543:13:2543:14 | x6 | T4 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2543:18:2543:45 | S4::<...>(...) | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2543:18:2543:45 | S4::<...>(...) | T4 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2543:27:2543:44 | ...::default(...) | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2544:13:2544:14 | x7 | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2544:13:2544:14 | x7 | T4 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2544:18:2544:23 | S4(...) | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2544:18:2544:23 | S4(...) | T4 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2544:21:2544:22 | S2 | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2545:13:2545:14 | x8 | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2545:13:2545:14 | x8 | T4 | {EXTERNAL LOCATION} | i32 | +| main.rs:2545:18:2545:22 | S4(...) | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2545:18:2545:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | +| main.rs:2545:21:2545:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2546:13:2546:14 | x9 | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2546:13:2546:14 | x9 | T4 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2546:18:2546:34 | S4(...) | | main.rs:2527:5:2527:27 | S4 | +| main.rs:2546:18:2546:34 | S4(...) | T4 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2546:21:2546:33 | ...::default(...) | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2547:13:2547:15 | x10 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2547:13:2547:15 | x10 | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2547:19:2550:9 | S5::<...> {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2547:19:2550:9 | S5::<...> {...} | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2549:20:2549:37 | ...::default(...) | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2551:13:2551:15 | x11 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2551:13:2551:15 | x11 | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2551:19:2551:34 | S5 {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2551:19:2551:34 | S5 {...} | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2551:31:2551:32 | S2 | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2552:13:2552:15 | x12 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2552:13:2552:15 | x12 | T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:2552:19:2552:33 | S5 {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2552:19:2552:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:2552:31:2552:31 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2553:13:2553:15 | x13 | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2553:13:2553:15 | x13 | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2553:19:2556:9 | S5 {...} | | main.rs:2529:5:2531:5 | S5 | +| main.rs:2553:19:2556:9 | S5 {...} | T5 | main.rs:2508:5:2509:14 | S2 | +| main.rs:2555:20:2555:32 | ...::default(...) | | main.rs:2508:5:2509:14 | S2 | +| main.rs:2557:13:2557:15 | x14 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2557:19:2557:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2557:30:2557:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2558:13:2558:15 | x15 | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2558:13:2558:15 | x15 | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2558:19:2558:37 | ...::default(...) | | main.rs:2506:5:2506:20 | S1 | +| main.rs:2558:19:2558:37 | ...::default(...) | T | main.rs:2508:5:2509:14 | S2 | +| main.rs:2567:35:2569:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2567:35:2569:9 | { ... } | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2567:35:2569:9 | { ... } | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2568:13:2568:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2568:13:2568:26 | TupleExpr | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2568:13:2568:26 | TupleExpr | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2568:14:2568:18 | S1 {...} | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2568:21:2568:25 | S1 {...} | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2570:16:2570:19 | SelfParam | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2570:22:2570:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2573:16:2607:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2574:13:2574:13 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2574:13:2574:13 | a | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2574:13:2574:13 | a | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2574:17:2574:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2574:17:2574:30 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2574:17:2574:30 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:17:2575:17 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2575:17:2575:17 | b | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:17:2575:17 | b | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:21:2575:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2575:21:2575:34 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2575:21:2575:34 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:13:2576:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2576:13:2576:18 | TuplePat | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:13:2576:18 | TuplePat | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:14:2576:14 | c | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:17:2576:17 | d | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:22:2576:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2576:22:2576:35 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2576:22:2576:35 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:13:2577:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2577:13:2577:22 | TuplePat | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:13:2577:22 | TuplePat | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:18:2577:18 | e | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:21:2577:21 | f | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:26:2577:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2577:26:2577:39 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2577:26:2577:39 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:13:2578:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2578:13:2578:26 | TuplePat | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:13:2578:26 | TuplePat | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:18:2578:18 | g | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:25:2578:25 | h | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:30:2578:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2578:30:2578:43 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2578:30:2578:43 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2580:9:2580:9 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2580:9:2580:9 | a | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2580:9:2580:9 | a | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2580:9:2580:11 | a.0 | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2580:9:2580:17 | ... .foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2581:9:2581:9 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2581:9:2581:9 | b | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2581:9:2581:9 | b | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2581:9:2581:11 | b.1 | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2581:9:2581:17 | ... .foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2582:9:2582:9 | c | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2582:9:2582:15 | c.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2583:9:2583:9 | d | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2583:9:2583:15 | d.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2584:9:2584:9 | e | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2584:9:2584:15 | e.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2585:9:2585:9 | f | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2585:9:2585:15 | f.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2586:9:2586:9 | g | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2586:9:2586:15 | g.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2587:9:2587:9 | h | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2587:9:2587:15 | h.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2592:13:2592:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2592:17:2592:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2593:13:2593:13 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2593:17:2593:34 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2594:13:2594:16 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2594:13:2594:16 | pair | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2594:13:2594:16 | pair | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2594:20:2594:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2594:20:2594:25 | TupleExpr | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2594:20:2594:25 | TupleExpr | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2594:21:2594:21 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2594:24:2594:24 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2595:13:2595:13 | i | | {EXTERNAL LOCATION} | i64 | +| main.rs:2595:22:2595:25 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2595:22:2595:25 | pair | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2595:22:2595:25 | pair | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2595:22:2595:27 | pair.0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2596:13:2596:13 | j | | {EXTERNAL LOCATION} | bool | +| main.rs:2596:23:2596:26 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2596:23:2596:26 | pair | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2596:23:2596:26 | pair | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2596:23:2596:28 | pair.1 | | {EXTERNAL LOCATION} | bool | +| main.rs:2598:13:2598:16 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2598:13:2598:16 | pair | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2598:13:2598:16 | pair | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2598:20:2598:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2598:20:2598:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2598:20:2598:32 | ... .into() | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2598:20:2598:32 | ... .into() | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2598:20:2598:32 | ... .into() | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2598:21:2598:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2598:24:2598:24 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2599:9:2602:9 | match pair { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2599:15:2599:18 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2599:15:2599:18 | pair | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2599:15:2599:18 | pair | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:13:2600:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2600:13:2600:18 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:13:2600:18 | TuplePat | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:14:2600:14 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:17:2600:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:23:2600:42 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2600:30:2600:41 | "unexpected" | | {EXTERNAL LOCATION} | & | +| main.rs:2600:30:2600:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2600:30:2600:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2600:30:2600:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2601:13:2601:13 | _ | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2601:13:2601:13 | _ | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2601:13:2601:13 | _ | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2601:18:2601:35 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2601:25:2601:34 | "expected" | | {EXTERNAL LOCATION} | & | +| main.rs:2601:25:2601:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2601:25:2601:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2601:25:2601:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2603:13:2603:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2603:17:2603:20 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2603:17:2603:20 | pair | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2603:17:2603:20 | pair | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2603:17:2603:22 | pair.0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2605:13:2605:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2605:13:2605:13 | y | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2605:13:2605:13 | y | TRef.T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2605:13:2605:13 | y | TRef.T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2605:17:2605:31 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2605:17:2605:31 | &... | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2605:17:2605:31 | &... | TRef.T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2605:17:2605:31 | &... | TRef.T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2605:18:2605:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2605:18:2605:31 | ...::get_pair(...) | T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2605:18:2605:31 | ...::get_pair(...) | T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2606:9:2606:9 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2606:9:2606:9 | y | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2606:9:2606:9 | y | TRef.T0 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2606:9:2606:9 | y | TRef.T1 | main.rs:2563:5:2564:16 | S1 | +| main.rs:2606:9:2606:11 | y.0 | | main.rs:2563:5:2564:16 | S1 | +| main.rs:2606:9:2606:17 | ... .foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2612:27:2634:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2613:13:2613:23 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2613:13:2613:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2613:13:2613:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2613:27:2613:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2613:27:2613:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2613:27:2613:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2613:36:2613:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2616:9:2624:9 | match boxed_value { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2616:15:2616:25 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2616:15:2616:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2616:15:2616:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2617:13:2617:19 | box 100 | | {EXTERNAL LOCATION} | Box | +| main.rs:2617:13:2617:19 | box 100 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2617:13:2617:19 | box 100 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2617:17:2617:19 | 100 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2617:24:2619:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2618:17:2618:37 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2618:26:2618:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2618:26:2618:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2618:26:2618:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2618:26:2618:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2618:26:2618:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2620:13:2620:17 | box ... | | {EXTERNAL LOCATION} | Box | +| main.rs:2620:13:2620:17 | box ... | A | {EXTERNAL LOCATION} | Global | +| main.rs:2620:13:2620:17 | box ... | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2620:22:2623:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2622:17:2622:52 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2622:26:2622:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2622:26:2622:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2622:26:2622:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2622:26:2622:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2622:26:2622:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2627:13:2627:22 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2627:13:2627:22 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:13:2627:22 | nested_box | T | {EXTERNAL LOCATION} | Box | +| main.rs:2627:13:2627:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:13:2627:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2627:26:2627:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2627:26:2627:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:26:2627:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2627:26:2627:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:26:2627:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2627:35:2627:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2627:35:2627:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2627:35:2627:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2627:44:2627:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2628:9:2633:9 | match nested_box { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2628:15:2628:24 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2628:15:2628:24 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2628:15:2628:24 | nested_box | T | {EXTERNAL LOCATION} | Box | +| main.rs:2628:15:2628:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2628:15:2628:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2629:13:2629:21 | box ... | | {EXTERNAL LOCATION} | Box | +| main.rs:2629:13:2629:21 | box ... | A | {EXTERNAL LOCATION} | Global | +| main.rs:2629:13:2629:21 | box ... | T | {EXTERNAL LOCATION} | Box | +| main.rs:2629:13:2629:21 | box ... | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2629:13:2629:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2629:26:2632:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2631:17:2631:60 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2631:26:2631:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2631:26:2631:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2631:26:2631:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2631:26:2631:59 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2631:26:2631:59 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2643:36:2645:9 | { ... } | | main.rs:2640:5:2640:22 | Path | +| main.rs:2644:13:2644:19 | Path {...} | | main.rs:2640:5:2640:22 | Path | +| main.rs:2647:29:2647:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2647:29:2647:33 | SelfParam | TRef | main.rs:2640:5:2640:22 | Path | +| main.rs:2647:59:2649:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:2647:59:2649:9 | { ... } | E | {EXTERNAL LOCATION} | () | +| main.rs:2647:59:2649:9 | { ... } | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2648:13:2648:30 | Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2648:13:2648:30 | Ok(...) | E | {EXTERNAL LOCATION} | () | +| main.rs:2648:13:2648:30 | Ok(...) | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2648:16:2648:29 | ...::new(...) | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2655:39:2657:9 | { ... } | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2656:13:2656:22 | PathBuf {...} | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2665:18:2665:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2665:18:2665:22 | SelfParam | TRef | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2665:34:2669:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2665:34:2669:9 | { ... } | TRef | main.rs:2640:5:2640:22 | Path | +| main.rs:2667:33:2667:43 | ...::new(...) | | main.rs:2640:5:2640:22 | Path | +| main.rs:2668:13:2668:17 | &path | | {EXTERNAL LOCATION} | & | +| main.rs:2668:13:2668:17 | &path | TRef | main.rs:2640:5:2640:22 | Path | +| main.rs:2668:14:2668:17 | path | | main.rs:2640:5:2640:22 | Path | +| main.rs:2672:16:2680:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2673:13:2673:17 | path1 | | main.rs:2640:5:2640:22 | Path | +| main.rs:2673:21:2673:31 | ...::new(...) | | main.rs:2640:5:2640:22 | Path | +| main.rs:2674:13:2674:17 | path2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2674:13:2674:17 | path2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2674:13:2674:17 | path2 | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2674:21:2674:25 | path1 | | main.rs:2640:5:2640:22 | Path | +| main.rs:2674:21:2674:40 | path1.canonicalize() | | {EXTERNAL LOCATION} | Result | +| main.rs:2674:21:2674:40 | path1.canonicalize() | E | {EXTERNAL LOCATION} | () | +| main.rs:2674:21:2674:40 | path1.canonicalize() | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2675:13:2675:17 | path3 | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2675:21:2675:25 | path2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2675:21:2675:25 | path2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2675:21:2675:25 | path2 | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2675:21:2675:34 | path2.unwrap() | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2677:13:2677:20 | pathbuf1 | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2677:24:2677:37 | ...::new(...) | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2678:13:2678:20 | pathbuf2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2678:13:2678:20 | pathbuf2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2678:13:2678:20 | pathbuf2 | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2678:24:2678:31 | pathbuf1 | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2678:24:2678:46 | pathbuf1.canonicalize() | | {EXTERNAL LOCATION} | Result | +| main.rs:2678:24:2678:46 | pathbuf1.canonicalize() | E | {EXTERNAL LOCATION} | () | +| main.rs:2678:24:2678:46 | pathbuf1.canonicalize() | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2679:13:2679:20 | pathbuf3 | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2679:24:2679:31 | pathbuf2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2679:24:2679:31 | pathbuf2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2679:24:2679:31 | pathbuf2 | T | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2679:24:2679:40 | pathbuf2.unwrap() | | main.rs:2652:5:2652:25 | PathBuf | +| main.rs:2685:14:2685:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2685:14:2685:18 | SelfParam | TRef | main.rs:2684:5:2686:5 | Self [trait MyTrait] | +| main.rs:2692:14:2692:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2692:14:2692:18 | SelfParam | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2692:14:2692:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2692:28:2694:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2693:13:2693:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2693:13:2693:16 | self | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2693:13:2693:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2693:13:2693:18 | self.0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2698:14:2698:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2698:14:2698:18 | SelfParam | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2698:14:2698:18 | SelfParam | TRef.T | main.rs:2688:5:2689:19 | S | +| main.rs:2698:14:2698:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2698:28:2700:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2699:13:2699:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2699:13:2699:16 | self | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2699:13:2699:16 | self | TRef.T | main.rs:2688:5:2689:19 | S | +| main.rs:2699:13:2699:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2699:13:2699:18 | self.0 | | main.rs:2688:5:2689:19 | S | +| main.rs:2699:13:2699:18 | self.0 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2699:13:2699:21 | ... .0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2704:15:2704:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2704:15:2704:19 | SelfParam | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2704:15:2704:19 | SelfParam | TRef.T | main.rs:2703:10:2703:16 | T | +| main.rs:2704:33:2706:9 | { ... } | | main.rs:2688:5:2689:19 | S | +| main.rs:2704:33:2706:9 | { ... } | T | main.rs:2688:5:2689:19 | S | +| main.rs:2704:33:2706:9 | { ... } | T.T | main.rs:2703:10:2703:16 | T | +| main.rs:2705:13:2705:24 | S(...) | | main.rs:2688:5:2689:19 | S | +| main.rs:2705:13:2705:24 | S(...) | T | main.rs:2688:5:2689:19 | S | +| main.rs:2705:13:2705:24 | S(...) | T.T | main.rs:2703:10:2703:16 | T | +| main.rs:2705:15:2705:23 | S(...) | | main.rs:2688:5:2689:19 | S | +| main.rs:2705:15:2705:23 | S(...) | T | main.rs:2703:10:2703:16 | T | +| main.rs:2705:17:2705:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2705:17:2705:20 | self | TRef | main.rs:2688:5:2689:19 | S | +| main.rs:2705:17:2705:20 | self | TRef.T | main.rs:2703:10:2703:16 | T | +| main.rs:2705:17:2705:22 | self.0 | | main.rs:2703:10:2703:16 | T | +| main.rs:2709:14:2709:14 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2709:48:2726:5 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2709:48:2726:5 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2709:48:2726:5 | { ... } | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2709:48:2726:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2710:13:2710:13 | x | | main.rs:2688:5:2689:19 | S | +| main.rs:2710:13:2710:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2710:17:2715:9 | if b {...} else {...} | | main.rs:2688:5:2689:19 | S | +| main.rs:2710:17:2715:9 | if b {...} else {...} | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2710:20:2710:20 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2710:22:2713:9 | { ... } | | main.rs:2688:5:2689:19 | S | +| main.rs:2710:22:2713:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2711:17:2711:17 | y | | main.rs:2688:5:2689:19 | S | +| main.rs:2711:17:2711:17 | y | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2711:21:2711:38 | ...::default(...) | | main.rs:2688:5:2689:19 | S | +| main.rs:2711:21:2711:38 | ...::default(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2712:13:2712:13 | y | | main.rs:2688:5:2689:19 | S | +| main.rs:2712:13:2712:13 | y | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2713:16:2715:9 | { ... } | | main.rs:2688:5:2689:19 | S | +| main.rs:2713:16:2715:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2714:13:2714:16 | S(...) | | main.rs:2688:5:2689:19 | S | +| main.rs:2714:13:2714:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2714:15:2714:15 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2719:13:2719:13 | x | | main.rs:2688:5:2689:19 | S | +| main.rs:2719:13:2719:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2719:17:2719:20 | S(...) | | main.rs:2688:5:2689:19 | S | +| main.rs:2719:17:2719:20 | S(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2719:19:2719:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:9:2725:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box | +| main.rs:2720:9:2725:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global | +| main.rs:2720:9:2725:9 | if b {...} else {...} | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2720:9:2725:9 | if b {...} else {...} | T | main.rs:2688:5:2689:19 | S | +| main.rs:2720:9:2725:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:9:2725:9 | if b {...} else {...} | T.T | main.rs:2688:5:2689:19 | S | +| main.rs:2720:9:2725:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:9:2725:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:12:2720:12 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2720:14:2723:9 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2720:14:2723:9 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2720:14:2723:9 | { ... } | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2720:14:2723:9 | { ... } | T | main.rs:2688:5:2689:19 | S | +| main.rs:2720:14:2723:9 | { ... } | T.T | main.rs:2688:5:2689:19 | S | +| main.rs:2720:14:2723:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:14:2723:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2721:17:2721:17 | x | | main.rs:2688:5:2689:19 | S | +| main.rs:2721:17:2721:17 | x | T | main.rs:2688:5:2689:19 | S | +| main.rs:2721:17:2721:17 | x | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2721:21:2721:21 | x | | main.rs:2688:5:2689:19 | S | +| main.rs:2721:21:2721:21 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2721:21:2721:26 | x.m2() | | main.rs:2688:5:2689:19 | S | +| main.rs:2721:21:2721:26 | x.m2() | T | main.rs:2688:5:2689:19 | S | +| main.rs:2721:21:2721:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2722:13:2722:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2722:13:2722:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2722:13:2722:23 | ...::new(...) | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2722:13:2722:23 | ...::new(...) | T | main.rs:2688:5:2689:19 | S | +| main.rs:2722:13:2722:23 | ...::new(...) | T.T | main.rs:2688:5:2689:19 | S | +| main.rs:2722:13:2722:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2722:13:2722:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2722:22:2722:22 | x | | main.rs:2688:5:2689:19 | S | +| main.rs:2722:22:2722:22 | x | T | main.rs:2688:5:2689:19 | S | +| main.rs:2722:22:2722:22 | x | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2723:16:2725:9 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2723:16:2725:9 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2723:16:2725:9 | { ... } | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2723:16:2725:9 | { ... } | T | main.rs:2688:5:2689:19 | S | +| main.rs:2723:16:2725:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2723:16:2725:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2724:13:2724:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2724:13:2724:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2724:13:2724:23 | ...::new(...) | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2724:13:2724:23 | ...::new(...) | T | main.rs:2688:5:2689:19 | S | +| main.rs:2724:13:2724:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2724:13:2724:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2724:22:2724:22 | x | | main.rs:2688:5:2689:19 | S | +| main.rs:2724:22:2724:22 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2730:22:2734:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2731:18:2731:18 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2731:33:2733:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2732:13:2732:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2732:13:2732:17 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:2732:17:2732:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2739:11:2739:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2739:30:2747:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2741:13:2741:13 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2741:17:2745:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2742:13:2744:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2742:16:2742:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2742:21:2744:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2743:24:2743:25 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2746:9:2746:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2750:20:2757:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2753:26:2753:27 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2755:9:2755:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2755:18:2755:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2755:18:2755:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2755:18:2755:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2755:18:2755:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2755:18:2755:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2756:9:2756:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2759:20:2761:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2760:16:2760:16 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2764:11:2764:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2764:30:2772:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2765:13:2765:13 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2765:17:2769:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2766:13:2768:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2766:16:2766:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2766:21:2768:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2767:24:2767:25 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2770:9:2770:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2770:18:2770:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2770:18:2770:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2770:18:2770:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2770:18:2770:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2770:18:2770:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2770:29:2770:29 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2771:9:2771:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2776:16:2823:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2777:13:2777:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2777:13:2777:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2777:17:2777:20 | None | | {EXTERNAL LOCATION} | Option | +| main.rs:2777:17:2777:20 | None | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2778:13:2778:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2778:13:2778:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2778:30:2778:30 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2778:30:2778:30 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2779:13:2779:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2779:13:2779:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2779:17:2779:35 | ...::None | | {EXTERNAL LOCATION} | Option | +| main.rs:2779:17:2779:35 | ...::None | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2780:13:2780:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2780:13:2780:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2780:17:2780:35 | ...::None::<...> | | {EXTERNAL LOCATION} | Option | +| main.rs:2780:17:2780:35 | ...::None::<...> | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2782:26:2782:28 | opt | | {EXTERNAL LOCATION} | Option | +| main.rs:2782:26:2782:28 | opt | T | main.rs:2782:23:2782:23 | T | +| main.rs:2782:42:2782:42 | x | | main.rs:2782:23:2782:23 | T | +| main.rs:2782:48:2782:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2784:13:2784:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2784:13:2784:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2784:17:2784:20 | None | | {EXTERNAL LOCATION} | Option | +| main.rs:2784:17:2784:20 | None | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2785:9:2785:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2785:20:2785:20 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2785:20:2785:20 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2785:23:2785:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2792:13:2792:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2792:13:2792:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2792:13:2792:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2792:17:2792:39 | ...::A {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2792:17:2792:39 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2792:17:2792:39 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2792:37:2792:37 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2793:13:2793:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2793:13:2793:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2793:13:2793:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2793:40:2793:40 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2793:40:2793:40 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2793:40:2793:40 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2794:13:2794:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2794:13:2794:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2794:13:2794:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2794:17:2794:52 | ...::A {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2794:17:2794:52 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2794:17:2794:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2794:50:2794:50 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2796:13:2796:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2796:13:2796:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2796:13:2796:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2796:17:2798:9 | ...::B::<...> {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2796:17:2798:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2796:17:2798:9 | ...::B::<...> {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2797:20:2797:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2800:29:2800:29 | e | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2800:29:2800:29 | e | T1 | main.rs:2800:26:2800:26 | T | +| main.rs:2800:29:2800:29 | e | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2800:53:2800:53 | x | | main.rs:2800:26:2800:26 | T | +| main.rs:2800:59:2800:60 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2803:13:2803:13 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2803:13:2803:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2803:13:2803:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2803:17:2805:9 | ...::B {...} | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2803:17:2805:9 | ...::B {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2803:17:2805:9 | ...::B {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2804:20:2804:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2806:9:2806:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2806:23:2806:23 | x | | main.rs:2787:9:2790:9 | MyEither | +| main.rs:2806:23:2806:23 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2806:23:2806:23 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2806:26:2806:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2808:13:2808:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2808:13:2808:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2808:13:2808:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2808:17:2808:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2808:17:2808:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | +| main.rs:2808:17:2808:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2808:28:2808:28 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2809:13:2809:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2809:13:2809:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2809:13:2809:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2809:38:2809:38 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2809:38:2809:38 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2809:38:2809:38 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2810:13:2810:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2810:13:2810:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2810:13:2810:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2810:17:2810:44 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2810:17:2810:44 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | +| main.rs:2810:17:2810:44 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2810:43:2810:43 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2811:13:2811:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2811:13:2811:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2811:13:2811:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2811:17:2811:44 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2811:17:2811:44 | ...::Ok::<...>(...) | E | {EXTERNAL LOCATION} | String | +| main.rs:2811:17:2811:44 | ...::Ok::<...>(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2811:43:2811:43 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2813:29:2813:31 | res | | {EXTERNAL LOCATION} | Result | +| main.rs:2813:29:2813:31 | res | E | main.rs:2813:26:2813:26 | E | +| main.rs:2813:29:2813:31 | res | T | main.rs:2813:23:2813:23 | T | +| main.rs:2813:48:2813:48 | x | | main.rs:2813:26:2813:26 | E | +| main.rs:2813:54:2813:55 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2815:13:2815:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2815:13:2815:13 | x | E | {EXTERNAL LOCATION} | bool | +| main.rs:2815:13:2815:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2815:17:2815:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2815:17:2815:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | bool | +| main.rs:2815:17:2815:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2815:28:2815:28 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2816:9:2816:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2816:20:2816:20 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2816:20:2816:20 | x | E | {EXTERNAL LOCATION} | bool | +| main.rs:2816:20:2816:20 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2816:23:2816:27 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:2818:17:2818:17 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2818:17:2818:17 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2818:17:2818:17 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2818:21:2818:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2818:21:2818:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2818:21:2818:30 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2819:9:2819:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2819:9:2819:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2819:9:2819:9 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2819:9:2819:17 | x.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2819:16:2819:16 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2821:13:2821:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:2821:17:2821:34 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2822:9:2822:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2822:9:2822:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2822:9:2822:9 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2822:9:2822:17 | x.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2822:16:2822:16 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:2829:14:2829:17 | SelfParam | | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2832:14:2832:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2832:14:2832:18 | SelfParam | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2832:21:2832:25 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2832:21:2832:25 | other | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2832:44:2834:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2832:44:2834:9 | { ... } | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2833:13:2833:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2833:13:2833:16 | self | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2833:13:2833:20 | self.f() | | {EXTERNAL LOCATION} | & | +| main.rs:2833:13:2833:20 | self.f() | TRef | main.rs:2827:5:2835:5 | Self [trait MyTrait] | +| main.rs:2839:14:2839:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| main.rs:2839:28:2841:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2840:13:2840:16 | self | | {EXTERNAL LOCATION} | i32 | +| main.rs:2846:14:2846:17 | SelfParam | | {EXTERNAL LOCATION} | usize | +| main.rs:2846:28:2848:9 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2847:13:2847:16 | self | | {EXTERNAL LOCATION} | usize | +| main.rs:2853:14:2853:17 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2853:14:2853:17 | SelfParam | TRef | main.rs:2851:10:2851:10 | T | +| main.rs:2853:28:2855:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2853:28:2855:9 | { ... } | TRef | main.rs:2851:10:2851:10 | T | +| main.rs:2854:13:2854:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2854:13:2854:16 | self | TRef | main.rs:2851:10:2851:10 | T | +| main.rs:2858:25:2862:5 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2859:17:2859:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2859:17:2859:17 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2859:21:2859:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2859:21:2859:21 | 0 | | {EXTERNAL LOCATION} | usize | +| main.rs:2860:9:2860:9 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2860:9:2860:9 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2860:9:2860:17 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:2860:13:2860:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2860:13:2860:13 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2860:13:2860:17 | x.f() | | {EXTERNAL LOCATION} | i32 | +| main.rs:2860:13:2860:17 | x.f() | | {EXTERNAL LOCATION} | usize | +| main.rs:2861:9:2861:9 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2861:9:2861:9 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2864:12:2872:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2865:13:2865:13 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2865:24:2865:24 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2865:24:2865:24 | 0 | | {EXTERNAL LOCATION} | usize | +| main.rs:2866:13:2866:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2866:13:2866:13 | y | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2866:17:2866:18 | &1 | | {EXTERNAL LOCATION} | & | +| main.rs:2866:17:2866:18 | &1 | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2866:18:2866:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2867:13:2867:13 | z | | {EXTERNAL LOCATION} | & | +| main.rs:2867:13:2867:13 | z | TRef | {EXTERNAL LOCATION} | usize | +| main.rs:2867:17:2867:17 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2867:17:2867:22 | x.g(...) | | {EXTERNAL LOCATION} | & | +| main.rs:2867:17:2867:22 | x.g(...) | TRef | {EXTERNAL LOCATION} | usize | +| main.rs:2867:21:2867:21 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2867:21:2867:21 | y | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2869:13:2869:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2869:17:2869:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2870:13:2870:13 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2870:24:2870:24 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2870:24:2870:24 | 1 | | {EXTERNAL LOCATION} | usize | +| main.rs:2871:13:2871:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:2871:17:2871:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2871:17:2871:24 | x.max(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2871:23:2871:23 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2881:11:2916:1 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2882:5:2882:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2883:5:2883:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2884:5:2884:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2884:20:2884:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2884:41:2884:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2885:5:2885:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2886:5:2886:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2887:5:2887:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2888:5:2888:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2889:5:2889:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2890:5:2890:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2891:5:2891:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2892:5:2892:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2893:5:2893:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2894:5:2894:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2895:5:2895:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2896:5:2896:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2897:5:2897:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2898:5:2898:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2899:5:2899:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2900:5:2900:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2900:5:2900:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2901:5:2901:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2902:5:2902:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2903:5:2903:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2904:5:2904:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2905:5:2905:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2906:5:2906:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2907:5:2907:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2908:5:2908:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2909:5:2909:28 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2910:5:2910:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2911:5:2911:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2912:5:2912:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2913:5:2913:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2914:5:2914:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2914:5:2914:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2914:5:2914:20 | ...::f(...) | T | main.rs:2684:5:2686:5 | dyn MyTrait | +| main.rs:2914:5:2914:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2914:16:2914:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2915:5:2915:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:13:26:133:1 | { ... } | T | {EXTERNAL LOCATION} | () | | pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option | @@ -11220,10 +11945,12 @@ inferType | pattern_matching.rs:15:31:18:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:16:13:16:16 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:16:20:16:23 | mesg | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:17:9:17:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:17:18:17:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:17:18:17:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:17:18:17:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:17:20:17:23 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:19:5:25:5 | match value { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:19:11:19:15 | value | | {EXTERNAL LOCATION} | Option | @@ -11234,10 +11961,12 @@ inferType | pattern_matching.rs:20:23:23:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:21:17:21:20 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:21:24:21:27 | mesg | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:22:13:22:30 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:22:22:22:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:22:22:22:29 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:22:22:22:29 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:22:24:22:27 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:24:9:24:12 | None | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:24:9:24:12 | None | T | {EXTERNAL LOCATION} | i32 | @@ -11248,19 +11977,23 @@ inferType | pattern_matching.rs:26:16:26:29 | value.unwrap() | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:27:9:27:12 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:27:16:27:19 | mesg | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:28:5:28:22 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:28:14:28:21 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:28:14:28:21 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:28:14:28:21 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:28:16:28:19 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:29:9:29:12 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:29:16:29:20 | value | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:29:16:29:20 | value | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:29:16:29:21 | TryExpr | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:30:5:30:22 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:30:14:30:21 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:30:14:30:21 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:30:14:30:21 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:30:16:30:19 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:32:9:32:14 | value2 | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:32:9:32:14 | value2 | TRef | {EXTERNAL LOCATION} | Option | @@ -11284,10 +12017,12 @@ inferType | pattern_matching.rs:33:33:36:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:34:13:34:16 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:34:20:34:23 | mesg | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:35:9:35:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:35:18:35:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:35:18:35:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:35:18:35:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:35:20:35:23 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:38:9:38:14 | value3 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:38:18:38:19 | 42 | | {EXTERNAL LOCATION} | i32 | @@ -11300,10 +12035,12 @@ inferType | pattern_matching.rs:40:13:40:16 | mesg | TRef | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:40:20:40:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:40:20:40:23 | mesg | TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:41:9:41:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:41:18:41:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:41:18:41:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:41:18:41:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:41:20:41:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:41:20:41:23 | mesg | TRef | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:44:9:44:14 | value4 | | {EXTERNAL LOCATION} | Option | @@ -11323,10 +12060,12 @@ inferType | pattern_matching.rs:46:13:46:16 | mesg | TRef | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:46:20:46:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:46:20:46:23 | mesg | TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:47:9:47:26 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:47:18:47:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:47:20:47:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:47:20:47:23 | mesg | TRef | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:50:13:50:18 | value5 | | {EXTERNAL LOCATION} | & | @@ -11527,28 +12266,34 @@ inferType | pattern_matching.rs:173:15:176:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:174:17:174:29 | literal_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:174:33:174:37 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:175:13:175:58 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:175:22:175:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:175:22:175:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:175:22:175:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:175:45:175:57 | literal_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:177:10:177:10 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:177:15:180:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:178:17:178:32 | negative_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:178:36:178:40 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:179:13:179:62 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:179:22:179:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:179:22:179:61 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:179:22:179:61 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:179:46:179:61 | negative_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:181:9:181:9 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:181:14:184:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:182:17:182:28 | zero_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:182:32:182:36 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:183:13:183:54 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:183:22:183:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:183:22:183:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:183:22:183:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:183:42:183:53 | zero_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:185:9:185:9 | _ | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:185:14:185:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -11560,10 +12305,12 @@ inferType | pattern_matching.rs:190:17:193:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:191:17:191:24 | pi_match | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:191:28:191:36 | float_val | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:192:13:192:48 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:192:22:192:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:192:22:192:47 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:192:22:192:47 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:192:40:192:47 | pi_match | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:194:9:194:9 | _ | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:194:14:194:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -11581,10 +12328,12 @@ inferType | pattern_matching.rs:200:17:200:27 | hello_match | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:200:31:200:40 | string_val | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:200:31:200:40 | string_val | TRef | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:201:13:201:55 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:201:22:201:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:201:22:201:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:201:22:201:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:201:44:201:54 | hello_match | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:201:44:201:54 | hello_match | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:203:9:203:9 | _ | | {EXTERNAL LOCATION} | & | @@ -11598,19 +12347,23 @@ inferType | pattern_matching.rs:208:17:211:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:209:17:209:26 | true_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:209:30:209:37 | bool_val | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:210:13:210:52 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:210:22:210:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:210:22:210:51 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:210:22:210:51 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:210:42:210:51 | true_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:212:9:212:13 | false | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:212:18:215:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:213:17:213:27 | false_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:213:31:213:38 | bool_val | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:214:13:214:54 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:214:22:214:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:214:22:214:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:214:22:214:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:214:43:214:53 | false_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:219:30:277:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:220:9:220:13 | value | | {EXTERNAL LOCATION} | i32 | @@ -11621,10 +12374,12 @@ inferType | pattern_matching.rs:224:14:227:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:225:17:225:27 | bound_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:225:31:225:31 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:226:13:226:59 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:226:22:226:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:226:22:226:58 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:226:22:226:58 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:226:48:226:58 | bound_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:231:5:236:5 | match ... { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:231:11:231:16 | &value | | {EXTERNAL LOCATION} | & | @@ -11640,10 +12395,12 @@ inferType | pattern_matching.rs:233:29:233:29 | x | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:233:29:233:29 | x | TRef | {EXTERNAL LOCATION} | & | | pattern_matching.rs:233:29:233:29 | x | TRef.TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:234:13:234:61 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:234:22:234:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:234:22:234:60 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:234:22:234:60 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:234:52:234:60 | ref_bound | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:234:52:234:60 | ref_bound | TRef | {EXTERNAL LOCATION} | & | | pattern_matching.rs:234:52:234:60 | ref_bound | TRef.TRef | {EXTERNAL LOCATION} | i32 | @@ -11658,10 +12415,12 @@ inferType | pattern_matching.rs:243:13:243:13 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:243:13:243:18 | ... += ... | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:243:18:243:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:244:13:244:57 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:244:22:244:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:244:22:244:56 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:244:22:244:56 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:244:48:244:56 | mut_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:249:9:249:20 | option_value | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:249:9:249:20 | option_value | T | {EXTERNAL LOCATION} | i32 | @@ -11678,10 +12437,12 @@ inferType | pattern_matching.rs:251:35:254:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:252:17:252:24 | at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:252:28:252:28 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:253:13:253:60 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:253:22:253:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:253:22:253:59 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:253:22:253:59 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:253:52:253:59 | at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:255:9:255:35 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:255:9:255:35 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | @@ -11691,10 +12452,12 @@ inferType | pattern_matching.rs:255:40:258:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:256:17:256:30 | range_at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:256:34:256:34 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:257:13:257:64 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:257:22:257:63 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:257:22:257:63 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:257:22:257:63 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:257:50:257:63 | range_at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:259:9:259:25 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:259:9:259:25 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | @@ -11702,18 +12465,22 @@ inferType | pattern_matching.rs:259:30:262:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:260:17:260:26 | some_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:260:30:260:30 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:261:13:261:50 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:261:22:261:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:261:22:261:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:261:22:261:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:261:40:261:49 | some_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:263:9:263:22 | ...::None | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:263:9:263:22 | ...::None | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:263:27:265:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:264:13:264:34 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:264:22:264:33 | "None value\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:264:22:264:33 | "None value\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:264:22:264:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:264:22:264:33 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:264:22:264:33 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:269:13:269:23 | ref_mut_val | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:269:27:269:30 | 5i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:270:5:276:5 | match ... { ... } | | {EXTERNAL LOCATION} | () | @@ -11738,10 +12505,12 @@ inferType | pattern_matching.rs:273:15:273:27 | ref_mut_bound | TRefMut | {EXTERNAL LOCATION} | &mut | | pattern_matching.rs:273:15:273:27 | ref_mut_bound | TRefMut.TRefMut | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:273:32:273:32 | 1 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:274:13:274:39 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:274:22:274:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:274:22:274:38 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:274:22:274:38 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:279:28:290:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:280:9:280:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:280:17:280:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | @@ -11757,10 +12526,12 @@ inferType | pattern_matching.rs:285:14:288:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:286:17:286:32 | wildcard_context | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:286:36:286:40 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:287:13:287:66 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:287:22:287:65 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:287:22:287:65 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:287:22:287:65 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:287:50:287:65 | wildcard_context | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:292:25:324:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:293:9:293:13 | value | | {EXTERNAL LOCATION} | i32 | @@ -11773,30 +12544,36 @@ inferType | pattern_matching.rs:297:19:300:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:298:17:298:31 | range_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:298:35:298:39 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:299:13:299:60 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:299:22:299:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:299:22:299:59 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:299:22:299:59 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:299:45:299:59 | range_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:301:9:301:10 | 11 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:301:9:301:12 | RangePat | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:301:17:304:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:302:17:302:26 | range_from | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:302:30:302:34 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:303:13:303:53 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:303:22:303:52 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:303:22:303:52 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:303:22:303:52 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:303:43:303:52 | range_from | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:305:9:305:12 | RangePat | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:305:12:305:12 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:305:17:308:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:306:17:306:34 | range_to_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:306:38:306:42 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:307:13:307:68 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:307:22:307:67 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:307:22:307:67 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:307:22:307:67 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:307:50:307:67 | range_to_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:309:9:309:9 | _ | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:309:14:309:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -11810,10 +12587,12 @@ inferType | pattern_matching.rs:314:22:317:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:315:17:315:30 | lowercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:315:34:315:41 | char_val | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:316:13:316:58 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:316:22:316:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:316:22:316:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:316:22:316:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:316:44:316:57 | lowercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:318:9:318:11 | 'A' | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:318:9:318:17 | RangePat | | {EXTERNAL LOCATION} | char | @@ -11821,10 +12600,12 @@ inferType | pattern_matching.rs:318:22:321:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:319:17:319:30 | uppercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:319:34:319:41 | char_val | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:320:13:320:58 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:320:22:320:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:320:22:320:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:320:22:320:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:320:44:320:57 | uppercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:322:9:322:9 | _ | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:322:14:322:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -11843,10 +12624,12 @@ inferType | pattern_matching.rs:332:16:335:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:333:17:333:27 | deref_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:333:31:333:35 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:334:13:334:59 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:334:22:334:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:334:22:334:58 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:334:22:334:58 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:334:48:334:58 | deref_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:336:9:336:10 | &... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:336:9:336:10 | &... | TRef | {EXTERNAL LOCATION} | i32 | @@ -11854,10 +12637,12 @@ inferType | pattern_matching.rs:336:15:339:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:337:17:337:27 | deref_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:337:31:337:31 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:338:13:338:61 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:338:22:338:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:338:22:338:60 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:338:22:338:60 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:338:50:338:60 | deref_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:342:5:347:5 | match ... { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:342:11:342:28 | &mut mutable_value | | {EXTERNAL LOCATION} | &mut | @@ -11872,10 +12657,12 @@ inferType | pattern_matching.rs:344:17:344:29 | mut_ref_bound | TRef | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:344:33:344:33 | x | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:344:33:344:33 | x | TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:345:13:345:62 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:345:22:345:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:345:22:345:61 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:345:22:345:61 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:345:49:345:61 | mut_ref_bound | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:345:49:345:61 | mut_ref_bound | TRef | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:349:5:354:5 | match ... { ... } | | {EXTERNAL LOCATION} | () | @@ -11892,10 +12679,12 @@ inferType | pattern_matching.rs:351:31:351:31 | x | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:351:31:351:31 | x | TRef | {EXTERNAL LOCATION} | & | | pattern_matching.rs:351:31:351:31 | x | TRef.TRef | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:352:13:352:58 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:352:22:352:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:352:22:352:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:352:22:352:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:352:47:352:57 | ref_pattern | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:352:47:352:57 | ref_pattern | TRef | {EXTERNAL LOCATION} | & | | pattern_matching.rs:352:47:352:57 | ref_pattern | TRef.TRef | {EXTERNAL LOCATION} | i32 | @@ -11912,10 +12701,12 @@ inferType | pattern_matching.rs:362:33:365:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:363:17:363:22 | origin | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:363:26:363:30 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:364:13:364:50 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:364:22:364:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:364:22:364:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:364:22:364:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:364:44:364:49 | origin | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:366:9:366:25 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:366:17:366:17 | x | | {EXTERNAL LOCATION} | i32 | @@ -11925,10 +12716,12 @@ inferType | pattern_matching.rs:367:28:367:28 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:368:17:368:28 | x_axis_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:368:32:368:36 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:369:13:369:81 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:369:22:369:80 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:369:22:369:80 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:369:22:369:80 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:369:59:369:66 | x_axis_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:369:69:369:80 | x_axis_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:371:9:371:27 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | @@ -11936,10 +12729,12 @@ inferType | pattern_matching.rs:371:32:374:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:372:17:372:27 | ten_x_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:372:31:372:35 | point | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:373:13:373:58 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:373:22:373:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:373:22:373:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:373:22:373:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:373:47:373:57 | ten_x_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:375:9:375:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:375:17:375:17 | x | | {EXTERNAL LOCATION} | i32 | @@ -11949,10 +12744,12 @@ inferType | pattern_matching.rs:376:29:376:29 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:377:17:377:25 | general_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:377:29:377:29 | y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:378:13:378:69 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:378:22:378:68 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:378:22:378:68 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:378:22:378:68 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:378:49:378:57 | general_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:378:60:378:68 | general_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:383:9:383:13 | shape | | pattern_matching.rs:145:1:150:1 | Shape | @@ -11969,10 +12766,12 @@ inferType | pattern_matching.rs:392:30:392:30 | w | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:393:17:393:27 | rect_height | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:393:31:393:31 | h | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:394:13:394:65 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:394:22:394:64 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:394:22:394:64 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:394:22:394:64 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:394:42:394:51 | rect_width | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:394:54:394:64 | rect_height | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:396:9:396:9 | _ | | pattern_matching.rs:145:1:150:1 | Shape | @@ -11995,10 +12794,12 @@ inferType | pattern_matching.rs:405:29:408:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:406:17:406:25 | red_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:406:29:406:33 | color | | pattern_matching.rs:142:1:143:25 | Color | +| pattern_matching.rs:407:13:407:49 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:407:22:407:48 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:407:22:407:48 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:407:22:407:48 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:407:40:407:48 | red_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:409:9:409:22 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:409:15:409:15 | r | | {EXTERNAL LOCATION} | u8 | @@ -12011,10 +12812,12 @@ inferType | pattern_matching.rs:411:35:411:35 | g | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:412:17:412:30 | blue_component | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:412:34:412:34 | b | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:413:13:416:13 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:414:17:415:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:414:17:415:62 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:414:17:415:62 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:415:17:415:29 | red_component | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:415:32:415:46 | green_component | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:415:49:415:62 | blue_component | | {EXTERNAL LOCATION} | u8 | @@ -12027,10 +12830,12 @@ inferType | pattern_matching.rs:422:27:425:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:423:17:423:29 | reddish_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:423:33:423:37 | color | | pattern_matching.rs:142:1:143:25 | Color | +| pattern_matching.rs:424:13:424:58 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:424:22:424:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:424:22:424:57 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:424:22:424:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:424:45:424:57 | reddish_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:426:9:426:20 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:426:15:426:15 | r | | {EXTERNAL LOCATION} | u8 | @@ -12038,10 +12843,12 @@ inferType | pattern_matching.rs:426:25:429:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:427:17:427:23 | any_red | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:427:27:427:27 | r | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:428:13:428:55 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:428:22:428:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:428:22:428:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:428:22:428:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:428:48:428:54 | any_red | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:434:9:434:15 | wrapper | | pattern_matching.rs:432:5:433:24 | Wrapper | | pattern_matching.rs:434:19:434:29 | Wrapper(...) | | pattern_matching.rs:432:5:433:24 | Wrapper | @@ -12053,10 +12860,12 @@ inferType | pattern_matching.rs:436:23:439:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:437:17:437:29 | wrapped_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:437:33:437:33 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:438:13:438:50 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:438:22:438:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:438:22:438:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:438:22:438:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:438:37:438:49 | wrapped_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:443:25:498:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:444:9:444:13 | tuple | | {EXTERNAL LOCATION} | (T_3) | @@ -12105,10 +12914,12 @@ inferType | pattern_matching.rs:449:31:449:35 | tuple | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:449:31:449:35 | tuple | T2 | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:449:31:449:35 | tuple | T2 | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:450:13:450:54 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:450:22:450:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:450:22:450:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:450:22:450:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:450:43:450:53 | exact_tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:450:43:450:53 | exact_tuple | T0 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:450:43:450:53 | exact_tuple | T1 | {EXTERNAL LOCATION} | i32 | @@ -12137,10 +12948,12 @@ inferType | pattern_matching.rs:455:17:455:26 | third_elem | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:455:30:455:30 | c | | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:455:30:455:30 | c | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:456:13:456:80 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:456:22:456:79 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:22:456:79 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:456:22:456:79 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:45:456:54 | first_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:456:57:456:67 | second_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:456:57:456:67 | second_elem | | {EXTERNAL LOCATION} | i64 | @@ -12160,10 +12973,12 @@ inferType | pattern_matching.rs:462:9:462:19 | TuplePat | T2 | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:462:9:462:19 | TuplePat | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:462:24:465:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:464:13:464:54 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:464:22:464:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:464:22:464:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:464:22:464:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:469:9:469:12 | unit | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:469:16:469:17 | TupleExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:470:5:475:5 | match unit { ... } | | {EXTERNAL LOCATION} | () | @@ -12172,10 +12987,12 @@ inferType | pattern_matching.rs:471:15:474:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:472:17:472:26 | unit_value | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:472:30:472:33 | unit | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:473:13:473:52 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:473:22:473:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:473:22:473:51 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:473:22:473:51 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:473:42:473:51 | unit_value | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:478:9:478:14 | single | | {EXTERNAL LOCATION} | (T_1) | | pattern_matching.rs:478:9:478:14 | single | T0 | {EXTERNAL LOCATION} | i32 | @@ -12191,10 +13008,12 @@ inferType | pattern_matching.rs:480:17:483:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:481:17:481:27 | single_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:481:31:481:31 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:482:13:482:61 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:482:22:482:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:482:22:482:60 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:482:22:482:60 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:482:50:482:60 | single_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:487:9:487:18 | ref_tuple1 | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:487:9:487:18 | ref_tuple1 | TRef | {EXTERNAL LOCATION} | (T_2) | @@ -12216,14 +13035,18 @@ inferType | pattern_matching.rs:488:21:488:30 | ref_tuple1 | TRef.T0 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:488:21:488:30 | ref_tuple1 | TRef.T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:488:32:491:5 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:489:9:489:28 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:489:18:489:24 | "n: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:489:18:489:24 | "n: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:489:18:489:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:489:18:489:27 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:489:18:489:27 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:490:9:490:28 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:490:18:490:24 | "m: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:490:18:490:24 | "m: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:490:18:490:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:490:18:490:27 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:490:18:490:27 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | TRef | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | TRef.T0 | {EXTERNAL LOCATION} | i32 | @@ -12242,14 +13065,18 @@ inferType | pattern_matching.rs:495:18:495:27 | ref_tuple2 | TRef | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:495:18:495:27 | ref_tuple2 | TRef.T0 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:495:18:495:27 | ref_tuple2 | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:496:5:496:24 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:496:14:496:20 | "n: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:496:14:496:20 | "n: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:496:14:496:23 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:496:14:496:23 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:496:14:496:23 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:497:5:497:24 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:497:14:497:20 | "m: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:497:14:497:20 | "m: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:497:14:497:23 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:497:14:497:23 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:497:14:497:23 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:500:33:520:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:501:9:501:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:501:17:501:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | @@ -12260,10 +13087,12 @@ inferType | pattern_matching.rs:505:16:508:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:506:17:506:27 | paren_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:506:31:506:31 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:507:13:507:62 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:507:22:507:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:507:22:507:61 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:507:22:507:61 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:507:51:507:61 | paren_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:512:9:512:13 | tuple | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:512:9:512:13 | tuple | T0 | {EXTERNAL LOCATION} | i32 | @@ -12288,10 +13117,12 @@ inferType | pattern_matching.rs:515:27:515:27 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:516:17:516:23 | paren_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:516:27:516:27 | y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:517:13:517:72 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:517:22:517:71 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:517:22:517:71 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:517:22:517:71 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:517:56:517:62 | paren_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:517:65:517:71 | paren_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:522:25:563:1 | { ... } | | {EXTERNAL LOCATION} | () | @@ -12324,10 +13155,12 @@ inferType | pattern_matching.rs:528:31:528:35 | slice | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:528:31:528:35 | slice | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:528:31:528:35 | slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:529:13:529:54 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:529:22:529:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:529:22:529:53 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:529:22:529:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:529:43:529:53 | empty_slice | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:529:43:529:53 | empty_slice | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:529:43:529:53 | empty_slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | @@ -12335,26 +13168,32 @@ inferType | pattern_matching.rs:531:9:531:11 | SlicePat | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:531:9:531:11 | SlicePat | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:531:16:534:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:533:13:533:55 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:533:22:533:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:533:22:533:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:533:22:533:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:535:9:535:23 | SlicePat | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:535:9:535:23 | SlicePat | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:535:9:535:23 | SlicePat | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:535:28:539:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:538:13:538:71 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:538:22:538:70 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:538:22:538:70 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:538:22:538:70 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:540:9:540:34 | SlicePat | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:540:9:540:34 | SlicePat | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:540:9:540:34 | SlicePat | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:540:39:550:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:544:13:549:13 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:545:17:548:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:545:17:548:34 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:545:17:548:34 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:554:9:554:13 | array | | {EXTERNAL LOCATION} | [;] | | pattern_matching.rs:554:9:554:13 | array | TArray | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:554:17:554:28 | [...] | | {EXTERNAL LOCATION} | [;] | @@ -12368,10 +13207,12 @@ inferType | pattern_matching.rs:556:9:556:17 | SlicePat | | {EXTERNAL LOCATION} | [;] | | pattern_matching.rs:556:9:556:17 | SlicePat | TArray | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:556:22:561:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:560:13:560:71 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:560:22:560:70 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:560:22:560:70 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:560:22:560:70 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:565:24:601:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:567:27:567:28 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:568:9:568:13 | value | | {EXTERNAL LOCATION} | i32 | @@ -12382,10 +13223,12 @@ inferType | pattern_matching.rs:571:21:574:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:572:17:572:27 | const_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:572:31:572:35 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:573:13:573:57 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:573:22:573:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:573:22:573:56 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:573:22:573:56 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:573:46:573:56 | const_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:575:9:575:9 | _ | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:575:14:575:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -12400,20 +13243,24 @@ inferType | pattern_matching.rs:581:9:581:22 | ...::None | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:581:9:581:22 | ...::None | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:581:27:583:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:582:13:582:36 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:582:22:582:35 | "None variant\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:582:22:582:35 | "None variant\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:582:22:582:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:582:22:582:35 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:582:22:582:35 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:584:9:584:25 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:584:9:584:25 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:584:24:584:24 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:584:30:587:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:585:17:585:26 | some_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:585:30:585:30 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:586:13:586:50 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:586:22:586:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:586:22:586:49 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:586:22:586:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:586:40:586:49 | some_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:591:5:600:5 | match ... { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:591:11:591:51 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | @@ -12427,10 +13274,12 @@ inferType | pattern_matching.rs:592:39:595:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:593:17:593:24 | ok_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:593:28:593:28 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:594:13:594:46 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:594:22:594:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:594:22:594:45 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:594:22:594:45 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:594:38:594:45 | ok_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:596:9:596:35 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | | pattern_matching.rs:596:9:596:35 | ...::Err(...) | E | {EXTERNAL LOCATION} | usize | @@ -12439,10 +13288,12 @@ inferType | pattern_matching.rs:596:40:599:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:597:17:597:25 | err_value | | {EXTERNAL LOCATION} | usize | | pattern_matching.rs:597:29:597:29 | e | | {EXTERNAL LOCATION} | usize | +| pattern_matching.rs:598:13:598:44 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:598:22:598:43 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:598:22:598:43 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:598:22:598:43 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:598:35:598:43 | err_value | | {EXTERNAL LOCATION} | usize | | pattern_matching.rs:603:22:638:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:604:9:604:13 | value | | {EXTERNAL LOCATION} | i32 | @@ -12456,10 +13307,12 @@ inferType | pattern_matching.rs:608:22:611:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:609:17:609:25 | small_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:609:29:609:33 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:610:13:610:51 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:610:22:610:50 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:610:22:610:50 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:610:22:610:50 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:610:42:610:50 | small_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:612:9:612:10 | 10 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:612:9:612:15 | 10 \| 20 | | {EXTERNAL LOCATION} | i32 | @@ -12467,10 +13320,12 @@ inferType | pattern_matching.rs:612:20:615:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:613:17:613:25 | round_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:613:29:613:33 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:614:13:614:51 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:614:22:614:50 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:614:22:614:50 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:614:22:614:50 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:614:42:614:50 | round_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:616:9:616:9 | _ | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:616:14:616:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -12494,10 +13349,12 @@ inferType | pattern_matching.rs:623:26:623:26 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:624:17:624:22 | axis_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:624:26:624:26 | y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:625:13:625:63 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:625:22:625:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:625:22:625:62 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:625:22:625:62 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:625:49:625:54 | axis_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:625:57:625:62 | axis_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:627:9:627:9 | _ | | pattern_matching.rs:135:1:140:1 | Point | @@ -12514,10 +13371,12 @@ inferType | pattern_matching.rs:632:30:635:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:633:17:633:30 | range_or_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:633:34:633:38 | value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:634:13:634:52 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:634:22:634:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:634:22:634:51 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:634:22:634:51 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:634:38:634:51 | range_or_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:636:9:636:9 | _ | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:636:14:636:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -12548,10 +13407,12 @@ inferType | pattern_matching.rs:645:9:645:19 | TuplePat | T2 | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:645:9:645:19 | TuplePat | T3 | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:645:24:648:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:647:13:647:55 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:647:22:647:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:647:22:647:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:647:22:647:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:651:5:656:5 | match tuple { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:651:11:651:15 | tuple | | {EXTERNAL LOCATION} | (T_4) | | pattern_matching.rs:651:11:651:15 | tuple | T0 | {EXTERNAL LOCATION} | i32 | @@ -12564,10 +13425,12 @@ inferType | pattern_matching.rs:652:9:652:18 | TuplePat | T2 | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:652:9:652:18 | TuplePat | T3 | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:652:23:655:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:654:13:654:53 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:654:22:654:52 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:654:22:654:52 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:654:22:654:52 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:658:5:664:5 | match tuple { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:658:11:658:15 | tuple | | {EXTERNAL LOCATION} | (T_4) | | pattern_matching.rs:658:11:658:15 | tuple | T0 | {EXTERNAL LOCATION} | i32 | @@ -12580,10 +13443,12 @@ inferType | pattern_matching.rs:659:9:659:25 | TuplePat | T2 | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:659:9:659:25 | TuplePat | T3 | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:659:30:663:9 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:662:13:662:68 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:662:22:662:67 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:662:22:662:67 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:662:22:662:67 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:667:9:667:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:667:17:667:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:667:28:667:29 | 10 | | {EXTERNAL LOCATION} | i32 | @@ -12595,25 +13460,35 @@ inferType | pattern_matching.rs:669:28:672:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:670:17:670:22 | rest_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:670:26:670:26 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:671:13:671:48 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:671:22:671:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:671:22:671:47 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:671:22:671:47 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:671:42:671:47 | rest_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:676:25:696:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:678:5:678:19 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:678:17:678:18 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:678:17:678:18 | match 42i32 { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:678:17:678:18 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:679:5:679:18 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:679:17:679:17 | match 42i32 { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:679:17:679:17 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:679:17:679:17 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:694:5:694:30 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:694:21:694:25 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:694:21:694:25 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:694:21:694:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:694:21:694:29 | match 42i32 { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:694:21:694:29 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:694:28:694:29 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:695:5:695:29 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:695:21:695:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:695:21:695:28 | match 10i32 { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:695:21:695:28 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:695:28:695:28 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:698:34:724:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:700:9:700:20 | complex_data | | {EXTERNAL LOCATION} | (T_2) | @@ -12659,10 +13534,12 @@ inferType | pattern_matching.rs:706:28:706:28 | g | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:707:17:707:24 | nested_b | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:707:28:707:28 | b | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:708:13:711:13 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:709:17:710:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:709:17:710:44 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:709:17:710:44 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:710:17:710:24 | nested_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:710:27:710:34 | nested_g | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:710:37:710:44 | nested_b | | {EXTERNAL LOCATION} | u8 | @@ -12690,10 +13567,12 @@ inferType | pattern_matching.rs:714:76:717:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:715:17:715:29 | alt_complex_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:715:33:715:33 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:716:13:716:66 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:716:22:716:65 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:716:22:716:65 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:716:22:716:65 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:716:53:716:65 | alt_complex_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:719:9:719:13 | other | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:719:9:719:13 | other | T0 | pattern_matching.rs:135:1:140:1 | Point | @@ -12708,10 +13587,12 @@ inferType | pattern_matching.rs:720:33:720:37 | other | T0 | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:720:33:720:37 | other | T1 | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:720:33:720:37 | other | T1.T | pattern_matching.rs:142:1:143:25 | Color | +| pattern_matching.rs:721:13:721:63 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:721:22:721:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:721:22:721:62 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:721:22:721:62 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:721:50:721:62 | other_complex | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:721:50:721:62 | other_complex | T0 | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:721:50:721:62 | other_complex | T1 | pattern_matching.rs:152:1:156:1 | MyOption | @@ -12903,10 +13784,12 @@ inferType | pattern_matching.rs:796:22:796:22 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:797:13:797:18 | loop_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:797:22:797:22 | y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:798:9:798:59 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:798:18:798:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:798:18:798:58 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:798:18:798:58 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:798:45:798:50 | loop_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:798:53:798:58 | loop_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:802:9:802:20 | option_value | | pattern_matching.rs:152:1:156:1 | MyOption | @@ -12924,10 +13807,12 @@ inferType | pattern_matching.rs:803:50:806:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:804:13:804:20 | if_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:804:24:804:24 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:805:9:805:55 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:805:18:805:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:805:18:805:54 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:805:18:805:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:805:47:805:54 | if_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:13:809:17 | stack | | {EXTERNAL LOCATION} | Vec | | pattern_matching.rs:809:13:809:17 | stack | A | {EXTERNAL LOCATION} | Global | @@ -12950,10 +13835,12 @@ inferType | pattern_matching.rs:810:37:813:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:811:13:811:23 | while_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:811:27:811:27 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:812:9:812:43 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:812:18:812:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:812:18:812:42 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:812:18:812:42 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:812:32:812:42 | while_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:816:9:816:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:816:17:816:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | @@ -12966,10 +13853,12 @@ inferType | pattern_matching.rs:818:23:821:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:819:17:819:23 | guard_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:819:27:819:27 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:820:13:820:45 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:820:22:820:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:820:22:820:44 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:820:22:820:44 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:820:38:820:44 | guard_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:822:9:822:9 | _ | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:822:14:822:15 | { ... } | | {EXTERNAL LOCATION} | () | diff --git a/rust/ql/test/library-tests/type-inference/type-inference.ql b/rust/ql/test/library-tests/type-inference/type-inference.ql index 81cad0f975e..c4653f557ac 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.ql +++ b/rust/ql/test/library-tests/type-inference/type-inference.ql @@ -1,7 +1,7 @@ import rust import utils.test.InlineExpectationsTest -import codeql.rust.internal.Type -import codeql.rust.internal.TypeInference as TypeInference +import codeql.rust.internal.typeinference.Type +import codeql.rust.internal.typeinference.TypeInference as TypeInference import TypeInference private predicate relevantNode(AstNode n) { diff --git a/rust/ql/test/library-tests/variables/Cfg.expected b/rust/ql/test/library-tests/variables/Cfg.expected index f93586d373b..d3297eb8c30 100644 --- a/rust/ql/test/library-tests/variables/Cfg.expected +++ b/rust/ql/test/library-tests/variables/Cfg.expected @@ -14,9 +14,9 @@ edges | main.rs:7:14:7:20 | ...::format_args_nl!... | main.rs:7:14:7:20 | MacroExpr | | | main.rs:7:14:7:20 | ExprStmt | main.rs:7:5:7:12 | ...::_print | | | main.rs:7:14:7:20 | FormatArgsExpr | main.rs:7:14:7:20 | ...::format_args_nl!... | | -| main.rs:7:14:7:20 | MacroBlockExpr | main.rs:7:5:7:21 | println!... | | | main.rs:7:14:7:20 | MacroExpr | main.rs:7:14:7:20 | ...::_print(...) | | -| main.rs:7:14:7:20 | { ... } | main.rs:7:14:7:20 | MacroBlockExpr | | +| main.rs:7:14:7:20 | { ... } | main.rs:7:5:7:21 | println!... | | +| main.rs:7:14:7:20 | { ... } | main.rs:7:14:7:20 | { ... } | | | main.rs:7:20:7:20 | s | main.rs:7:14:7:20 | FormatArgsExpr | | | main.rs:10:1:13:1 | enter fn print_i64 | main.rs:10:14:10:14 | i | | | main.rs:10:1:13:1 | exit fn print_i64 (normal) | main.rs:10:1:13:1 | exit fn print_i64 | | @@ -33,9 +33,9 @@ edges | main.rs:12:14:12:20 | ...::format_args_nl!... | main.rs:12:14:12:20 | MacroExpr | | | main.rs:12:14:12:20 | ExprStmt | main.rs:12:5:12:12 | ...::_print | | | main.rs:12:14:12:20 | FormatArgsExpr | main.rs:12:14:12:20 | ...::format_args_nl!... | | -| main.rs:12:14:12:20 | MacroBlockExpr | main.rs:12:5:12:21 | println!... | | | main.rs:12:14:12:20 | MacroExpr | main.rs:12:14:12:20 | ...::_print(...) | | -| main.rs:12:14:12:20 | { ... } | main.rs:12:14:12:20 | MacroBlockExpr | | +| main.rs:12:14:12:20 | { ... } | main.rs:12:5:12:21 | println!... | | +| main.rs:12:14:12:20 | { ... } | main.rs:12:14:12:20 | { ... } | | | main.rs:12:20:12:20 | i | main.rs:12:14:12:20 | FormatArgsExpr | | | main.rs:15:1:17:1 | enter fn print_i64_ref | main.rs:15:18:15:18 | i | | | main.rs:15:1:17:1 | exit fn print_i64_ref (normal) | main.rs:15:1:17:1 | exit fn print_i64_ref | | @@ -264,8 +264,8 @@ edges | main.rs:106:19:106:28 | x.unwrap() | main.rs:106:9:106:29 | print_str(...) | | | main.rs:107:9:107:13 | "not yet implemented" | main.rs:107:9:107:13 | ...::panic(...) | | | main.rs:107:9:107:13 | ...::panic | main.rs:107:9:107:13 | "not yet implemented" | | -| main.rs:107:9:107:13 | ...::panic(...) | main.rs:107:9:107:13 | MacroBlockExpr | | -| main.rs:107:9:107:13 | MacroBlockExpr | main.rs:107:9:107:15 | todo!... | | +| main.rs:107:9:107:13 | ...::panic(...) | main.rs:107:9:107:13 | { ... } | | +| main.rs:107:9:107:13 | { ... } | main.rs:107:9:107:15 | todo!... | | | main.rs:107:9:107:15 | MacroExpr | main.rs:103:10:108:5 | { ... } | | | main.rs:107:9:107:15 | todo!... | main.rs:107:9:107:15 | MacroExpr | | | main.rs:109:5:109:13 | print_str | main.rs:109:15:109:15 | x | | @@ -451,9 +451,9 @@ edges | main.rs:192:22:192:51 | ...::format_args_nl!... | main.rs:192:22:192:51 | MacroExpr | | | main.rs:192:22:192:51 | ExprStmt | main.rs:192:13:192:20 | ...::_print | | | main.rs:192:22:192:51 | FormatArgsExpr | main.rs:192:22:192:51 | ...::format_args_nl!... | | -| main.rs:192:22:192:51 | MacroBlockExpr | main.rs:192:13:192:52 | println!... | | | main.rs:192:22:192:51 | MacroExpr | main.rs:192:22:192:51 | ...::_print(...) | | -| main.rs:192:22:192:51 | { ... } | main.rs:192:22:192:51 | MacroBlockExpr | | +| main.rs:192:22:192:51 | { ... } | main.rs:192:13:192:52 | println!... | | +| main.rs:192:22:192:51 | { ... } | main.rs:192:22:192:51 | { ... } | | | main.rs:194:9:194:29 | ...::Hello {...} | main.rs:194:26:194:27 | id | match | | main.rs:194:26:194:27 | id | main.rs:194:26:194:27 | id | | | main.rs:194:26:194:27 | id | main.rs:197:13:197:21 | print_i64 | match | diff --git a/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected b/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected index 5f74cb457c9..a47e37ae2e7 100644 --- a/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected +++ b/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected @@ -21,7 +21,6 @@ edges | src/main.rs:9:21:9:44 | ...::from(...) | src/main.rs:9:9:9:17 | file_path | provenance | | | src/main.rs:9:35:9:43 | file_name | src/main.rs:9:21:9:44 | ...::from(...) | provenance | MaD:9 | | src/main.rs:9:35:9:43 | file_name | src/main.rs:9:21:9:44 | ...::from(...) | provenance | MaD:16 | -| src/main.rs:9:35:9:43 | file_name | src/main.rs:9:21:9:44 | ...::from(...) | provenance | MaD:17 | | src/main.rs:11:24:11:32 | file_path | src/main.rs:11:5:11:22 | ...::read_to_string | provenance | MaD:6 Sink:MaD:6 | | src/main.rs:38:11:38:19 | file_path | src/main.rs:41:52:41:60 | file_path | provenance | | | src/main.rs:41:9:41:17 | file_path | src/main.rs:46:24:46:32 | file_path | provenance | | @@ -29,7 +28,6 @@ edges | src/main.rs:41:38:41:61 | ...::from(...) | src/main.rs:41:21:41:62 | public_path.join(...) | provenance | MaD:14 | | src/main.rs:41:52:41:60 | file_path | src/main.rs:41:38:41:61 | ...::from(...) | provenance | MaD:9 | | src/main.rs:41:52:41:60 | file_path | src/main.rs:41:38:41:61 | ...::from(...) | provenance | MaD:16 | -| src/main.rs:41:52:41:60 | file_path | src/main.rs:41:38:41:61 | ...::from(...) | provenance | MaD:17 | | src/main.rs:46:24:46:32 | file_path | src/main.rs:46:5:46:22 | ...::read_to_string | provenance | MaD:6 Sink:MaD:6 | | src/main.rs:63:11:63:19 | file_path | src/main.rs:66:32:66:40 | file_path | provenance | | | src/main.rs:66:9:66:17 | file_path [&ref] | src/main.rs:71:24:71:32 | file_path [&ref] | provenance | | @@ -43,9 +41,9 @@ edges | src/main.rs:79:38:79:61 | ...::from(...) | src/main.rs:79:21:79:62 | public_path.join(...) | provenance | MaD:14 | | src/main.rs:79:52:79:60 | file_path | src/main.rs:79:38:79:61 | ...::from(...) | provenance | MaD:9 | | src/main.rs:79:52:79:60 | file_path | src/main.rs:79:38:79:61 | ...::from(...) | provenance | MaD:16 | -| src/main.rs:79:52:79:60 | file_path | src/main.rs:79:38:79:61 | ...::from(...) | provenance | MaD:17 | | src/main.rs:80:9:80:17 | file_path | src/main.rs:85:24:85:32 | file_path | provenance | | | src/main.rs:80:21:80:29 | file_path | src/main.rs:80:21:80:44 | file_path.canonicalize() [Ok] | provenance | MaD:11 | +| src/main.rs:80:21:80:29 | file_path | src/main.rs:80:21:80:44 | file_path.canonicalize() [Ok] | provenance | MaD:17 | | src/main.rs:80:21:80:44 | file_path.canonicalize() [Ok] | src/main.rs:80:21:80:53 | ... .unwrap() | provenance | MaD:13 | | src/main.rs:80:21:80:53 | ... .unwrap() | src/main.rs:80:9:80:17 | file_path | provenance | | | src/main.rs:85:24:85:32 | file_path | src/main.rs:85:5:85:22 | ...::read_to_string | provenance | MaD:6 Sink:MaD:6 | @@ -140,7 +138,7 @@ models | 14 | Summary: ::join; Argument[0]; ReturnValue; taint | | 15 | Summary: ::new; Argument[0].Reference; ReturnValue.Reference; value | | 16 | Summary: ::from; Argument[0].Field[alloc::borrow::Cow::Owned(0)]; ReturnValue; value | -| 17 | Summary: ::from; Argument[0]; ReturnValue; taint | +| 17 | Summary: ::deref; Argument[self].Reference.Field[std::path::PathBuf::inner]; ReturnValue.Reference; value | nodes | src/main.rs:7:11:7:19 | file_name | semmle.label | file_name | | src/main.rs:9:9:9:17 | file_path | semmle.label | file_path | diff --git a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected index 808d4848e48..57034006055 100644 --- a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected +++ b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected @@ -224,8 +224,8 @@ models | 24 | Source: std::env::args; ReturnValue.Element; commandargs | | 25 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | | 26 | Summary: ::add; Argument[0].Reference; ReturnValue; taint | -| 27 | Summary: ::add; Argument[self,0]; ReturnValue; taint | -| 28 | Summary: ::as_str; Argument[self]; ReturnValue; value | +| 27 | Summary: ::add; Argument[self]; ReturnValue; taint | +| 28 | Summary: ::as_str; Argument[self].Reference; ReturnValue.Reference; taint | | 29 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | | 30 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | | 31 | Summary: ::unwrap_or; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | diff --git a/rust/ql/test/query-tests/security/CWE-117/LogInjection.expected b/rust/ql/test/query-tests/security/CWE-117/LogInjection.expected index d812380d9c7..e326a87c42d 100644 --- a/rust/ql/test/query-tests/security/CWE-117/LogInjection.expected +++ b/rust/ql/test/query-tests/security/CWE-117/LogInjection.expected @@ -1,8 +1,14 @@ #select +| main.rs:15:5:15:9 | ...::log | main.rs:8:29:8:37 | ...::args | main.rs:15:5:15:9 | ...::log | Log entry depends on a $@. | main.rs:8:29:8:37 | ...::args | user-provided value | | main.rs:16:5:16:9 | ...::log | main.rs:10:22:10:34 | ...::var | main.rs:16:5:16:9 | ...::log | Log entry depends on a $@. | main.rs:10:22:10:34 | ...::var | user-provided value | | main.rs:17:5:17:10 | ...::log | main.rs:11:23:11:44 | ...::get | main.rs:17:5:17:10 | ...::log | Log entry depends on a $@. | main.rs:11:23:11:44 | ...::get | user-provided value | +| main.rs:18:5:18:10 | ...::log | main.rs:8:29:8:37 | ...::args | main.rs:18:5:18:10 | ...::log | Log entry depends on a $@. | main.rs:8:29:8:37 | ...::args | user-provided value | | main.rs:19:5:19:10 | ...::log | main.rs:10:22:10:34 | ...::var | main.rs:19:5:19:10 | ...::log | Log entry depends on a $@. | main.rs:10:22:10:34 | ...::var | user-provided value | +| main.rs:23:5:23:9 | ...::log | main.rs:8:29:8:37 | ...::args | main.rs:23:5:23:9 | ...::log | Log entry depends on a $@. | main.rs:8:29:8:37 | ...::args | user-provided value | +| main.rs:27:5:27:9 | ...::log | main.rs:8:29:8:37 | ...::args | main.rs:27:5:27:9 | ...::log | Log entry depends on a $@. | main.rs:8:29:8:37 | ...::args | user-provided value | +| main.rs:30:5:30:9 | ...::log | main.rs:8:29:8:37 | ...::args | main.rs:30:5:30:9 | ...::log | Log entry depends on a $@. | main.rs:8:29:8:37 | ...::args | user-provided value | | main.rs:30:5:30:9 | ...::log | main.rs:11:23:11:44 | ...::get | main.rs:30:5:30:9 | ...::log | Log entry depends on a $@. | main.rs:11:23:11:44 | ...::get | user-provided value | +| main.rs:66:5:66:9 | ...::log | main.rs:8:29:8:37 | ...::args | main.rs:66:5:66:9 | ...::log | Log entry depends on a $@. | main.rs:8:29:8:37 | ...::args | user-provided value | | main.rs:112:9:112:13 | ...::log | main.rs:109:25:109:38 | ...::args | main.rs:112:9:112:13 | ...::log | Log entry depends on a $@. | main.rs:109:25:109:38 | ...::args | user-provided value | | main.rs:113:9:113:13 | ...::log | main.rs:109:25:109:38 | ...::args | main.rs:113:9:113:13 | ...::log | Log entry depends on a $@. | main.rs:109:25:109:38 | ...::args | user-provided value | | main.rs:114:9:114:14 | ...::log | main.rs:109:25:109:38 | ...::args | main.rs:114:9:114:14 | ...::log | Log entry depends on a $@. | main.rs:109:25:109:38 | ...::args | user-provided value | @@ -12,22 +18,59 @@ | main.rs:126:9:126:16 | ...::_print | main.rs:123:25:123:37 | ...::var | main.rs:126:9:126:16 | ...::_print | Log entry depends on a $@. | main.rs:123:25:123:37 | ...::var | user-provided value | | main.rs:127:9:127:17 | ...::_eprint | main.rs:123:25:123:37 | ...::var | main.rs:127:9:127:17 | ...::_eprint | Log entry depends on a $@. | main.rs:123:25:123:37 | ...::var | user-provided value | edges +| main.rs:8:9:8:12 | args [element] | main.rs:9:20:9:23 | args [element] | provenance | | +| main.rs:8:29:8:37 | ...::args | main.rs:8:29:8:39 | ...::args(...) [element] | provenance | Src:MaD:5 | +| main.rs:8:29:8:39 | ...::args(...) [element] | main.rs:8:29:8:49 | ... .collect() [element] | provenance | MaD:9 | +| main.rs:8:29:8:49 | ... .collect() [element] | main.rs:8:9:8:12 | args [element] | provenance | | +| main.rs:9:9:9:16 | username | main.rs:15:11:15:36 | MacroExpr | provenance | | +| main.rs:9:9:9:16 | username | main.rs:18:12:18:37 | MacroExpr | provenance | | +| main.rs:9:9:9:16 | username | main.rs:22:33:22:63 | MacroExpr | provenance | | +| main.rs:9:9:9:16 | username | main.rs:26:55:26:62 | username | provenance | | +| main.rs:9:9:9:16 | username | main.rs:30:11:30:66 | MacroExpr | provenance | | +| main.rs:9:9:9:16 | username | main.rs:52:29:52:36 | username | provenance | | +| main.rs:9:20:9:23 | args [element] | main.rs:9:20:9:30 | args.get(...) [Some, &ref] | provenance | MaD:12 | +| main.rs:9:20:9:30 | args.get(...) [Some, &ref] | main.rs:9:20:9:64 | ... .unwrap_or(...) [&ref] | provenance | MaD:13 | +| main.rs:9:20:9:64 | ... .unwrap_or(...) [&ref] | main.rs:9:20:9:72 | ... .clone() | provenance | MaD:8 | +| main.rs:9:20:9:72 | ... .clone() | main.rs:9:9:9:16 | username | provenance | | | main.rs:10:9:10:18 | user_input | main.rs:16:11:16:44 | MacroExpr | provenance | | | main.rs:10:9:10:18 | user_input | main.rs:19:12:19:39 | MacroExpr | provenance | | | main.rs:10:22:10:34 | ...::var | main.rs:10:22:10:48 | ...::var(...) [Ok] | provenance | Src:MaD:6 | -| main.rs:10:22:10:48 | ...::var(...) [Ok] | main.rs:10:22:10:81 | ... .unwrap_or(...) | provenance | MaD:10 | +| main.rs:10:22:10:48 | ...::var(...) [Ok] | main.rs:10:22:10:81 | ... .unwrap_or(...) | provenance | MaD:16 | | main.rs:10:22:10:81 | ... .unwrap_or(...) | main.rs:10:9:10:18 | user_input | provenance | | | main.rs:11:9:11:19 | remote_data | main.rs:17:12:17:46 | MacroExpr | provenance | | | main.rs:11:9:11:19 | remote_data | main.rs:30:11:30:66 | MacroExpr | provenance | | | main.rs:11:23:11:44 | ...::get | main.rs:11:23:11:71 | ...::get(...) [Ok] | provenance | Src:MaD:4 | -| main.rs:11:23:11:71 | ...::get(...) [Ok] | main.rs:11:23:12:17 | ... .unwrap() | provenance | MaD:9 | -| main.rs:11:23:12:17 | ... .unwrap() | main.rs:11:23:12:24 | ... .text() [Ok] | provenance | MaD:12 | -| main.rs:11:23:12:24 | ... .text() [Ok] | main.rs:11:23:12:61 | ... .unwrap_or(...) | provenance | MaD:10 | +| main.rs:11:23:11:71 | ...::get(...) [Ok] | main.rs:11:23:12:17 | ... .unwrap() | provenance | MaD:15 | +| main.rs:11:23:12:17 | ... .unwrap() | main.rs:11:23:12:24 | ... .text() [Ok] | provenance | MaD:18 | +| main.rs:11:23:12:24 | ... .text() [Ok] | main.rs:11:23:12:61 | ... .unwrap_or(...) | provenance | MaD:16 | | main.rs:11:23:12:61 | ... .unwrap_or(...) | main.rs:11:9:11:19 | remote_data | provenance | | +| main.rs:15:11:15:36 | MacroExpr | main.rs:15:5:15:9 | ...::log | provenance | MaD:1 Sink:MaD:1 | | main.rs:16:11:16:44 | MacroExpr | main.rs:16:5:16:9 | ...::log | provenance | MaD:1 Sink:MaD:1 | | main.rs:17:12:17:46 | MacroExpr | main.rs:17:5:17:10 | ...::log | provenance | MaD:1 Sink:MaD:1 | +| main.rs:18:12:18:37 | MacroExpr | main.rs:18:5:18:10 | ...::log | provenance | MaD:1 Sink:MaD:1 | | main.rs:19:12:19:39 | MacroExpr | main.rs:19:5:19:10 | ...::log | provenance | MaD:1 Sink:MaD:1 | +| main.rs:22:9:22:21 | formatted_msg | main.rs:23:11:23:29 | MacroExpr | provenance | | +| main.rs:22:33:22:63 | ...::format(...) | main.rs:22:33:22:63 | { ... } | provenance | | +| main.rs:22:33:22:63 | ...::must_use(...) | main.rs:22:9:22:21 | formatted_msg | provenance | | +| main.rs:22:33:22:63 | MacroExpr | main.rs:22:33:22:63 | ...::format(...) | provenance | MaD:19 | +| main.rs:22:33:22:63 | { ... } | main.rs:22:33:22:63 | ...::must_use(...) | provenance | MaD:20 | +| main.rs:23:11:23:29 | MacroExpr | main.rs:23:5:23:9 | ...::log | provenance | MaD:1 Sink:MaD:1 | +| main.rs:26:9:26:18 | concat_msg | main.rs:27:11:27:26 | MacroExpr | provenance | | +| main.rs:26:22:26:62 | ... + ... | main.rs:26:9:26:18 | concat_msg | provenance | | +| main.rs:26:54:26:62 | &username [&ref] | main.rs:26:22:26:62 | ... + ... | provenance | MaD:11 | +| main.rs:26:55:26:62 | username | main.rs:26:54:26:62 | &username [&ref] | provenance | | +| main.rs:27:11:27:26 | MacroExpr | main.rs:27:5:27:9 | ...::log | provenance | MaD:1 Sink:MaD:1 | | main.rs:30:11:30:66 | MacroExpr | main.rs:30:5:30:9 | ...::log | provenance | MaD:1 Sink:MaD:1 | +| main.rs:52:28:52:36 | &username [&ref] | main.rs:56:27:56:40 | ...: ... [&ref] | provenance | | +| main.rs:52:29:52:36 | username | main.rs:52:28:52:36 | &username [&ref] | provenance | | +| main.rs:56:27:56:40 | ...: ... [&ref] | main.rs:65:38:65:45 | username [&ref] | provenance | | +| main.rs:65:9:65:17 | user_info [UserInfo] | main.rs:66:28:66:36 | user_info [UserInfo] | provenance | | +| main.rs:65:21:65:59 | UserInfo {...} [UserInfo] | main.rs:65:9:65:17 | user_info [UserInfo] | provenance | | +| main.rs:65:38:65:45 | username [&ref] | main.rs:65:38:65:57 | username.to_string() | provenance | MaD:7 | +| main.rs:65:38:65:57 | username.to_string() | main.rs:65:21:65:59 | UserInfo {...} [UserInfo] | provenance | | +| main.rs:66:11:66:41 | MacroExpr | main.rs:66:5:66:9 | ...::log | provenance | MaD:1 Sink:MaD:1 | +| main.rs:66:28:66:36 | user_info [UserInfo] | main.rs:66:28:66:41 | user_info.name | provenance | | +| main.rs:66:28:66:41 | user_info.name | main.rs:66:11:66:41 | MacroExpr | provenance | | | main.rs:109:13:109:21 | user_data | main.rs:112:15:112:35 | MacroExpr | provenance | | | main.rs:109:13:109:21 | user_data | main.rs:113:15:113:38 | MacroExpr | provenance | | | main.rs:109:13:109:21 | user_data | main.rs:114:16:114:37 | MacroExpr | provenance | | @@ -35,8 +78,8 @@ edges | main.rs:109:13:109:21 | user_data | main.rs:116:16:116:37 | MacroExpr | provenance | | | main.rs:109:13:109:21 | user_data | main.rs:119:15:119:75 | MacroExpr | provenance | | | main.rs:109:25:109:38 | ...::args | main.rs:109:25:109:40 | ...::args(...) [element] | provenance | Src:MaD:5 | -| main.rs:109:25:109:40 | ...::args(...) [element] | main.rs:109:25:109:47 | ... .nth(...) [Some] | provenance | MaD:7 | -| main.rs:109:25:109:47 | ... .nth(...) [Some] | main.rs:109:25:109:67 | ... .unwrap_or_default() | provenance | MaD:8 | +| main.rs:109:25:109:40 | ...::args(...) [element] | main.rs:109:25:109:47 | ... .nth(...) [Some] | provenance | MaD:10 | +| main.rs:109:25:109:47 | ... .nth(...) [Some] | main.rs:109:25:109:67 | ... .unwrap_or_default() | provenance | MaD:14 | | main.rs:109:25:109:67 | ... .unwrap_or_default() | main.rs:109:13:109:21 | user_data | provenance | | | main.rs:112:15:112:35 | MacroExpr | main.rs:112:9:112:13 | ...::log | provenance | MaD:1 Sink:MaD:1 | | main.rs:113:15:113:38 | MacroExpr | main.rs:113:9:113:13 | ...::log | provenance | MaD:1 Sink:MaD:1 | @@ -47,7 +90,7 @@ edges | main.rs:123:13:123:21 | user_data | main.rs:126:18:126:38 | MacroExpr | provenance | | | main.rs:123:13:123:21 | user_data | main.rs:127:19:127:49 | MacroExpr | provenance | | | main.rs:123:25:123:37 | ...::var | main.rs:123:25:123:45 | ...::var(...) [Ok] | provenance | Src:MaD:6 | -| main.rs:123:25:123:45 | ...::var(...) [Ok] | main.rs:123:25:123:65 | ... .unwrap_or_default() | provenance | MaD:11 | +| main.rs:123:25:123:45 | ...::var(...) [Ok] | main.rs:123:25:123:65 | ... .unwrap_or_default() | provenance | MaD:17 | | main.rs:123:25:123:65 | ... .unwrap_or_default() | main.rs:123:13:123:21 | user_data | provenance | | | main.rs:126:18:126:38 | MacroExpr | main.rs:126:9:126:16 | ...::_print | provenance | MaD:3 Sink:MaD:3 | | main.rs:127:19:127:49 | MacroExpr | main.rs:127:9:127:17 | ...::_eprint | provenance | MaD:2 Sink:MaD:2 | @@ -58,13 +101,30 @@ models | 4 | Source: reqwest::blocking::get; ReturnValue.Field[core::result::Result::Ok(0)]; remote | | 5 | Source: std::env::args; ReturnValue.Element; commandargs | | 6 | Source: std::env::var; ReturnValue.Field[core::result::Result::Ok(0)]; environment | -| 7 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | -| 8 | Summary: ::unwrap_or_default; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | -| 9 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 10 | Summary: ::unwrap_or; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 11 | Summary: ::unwrap_or_default; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 12 | Summary: ::text; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 7 | Summary: <_ as alloc::string::ToString>::to_string; Argument[self].Reference; ReturnValue; taint | +| 8 | Summary: <_ as core::clone::Clone>::clone; Argument[self].Reference; ReturnValue; value | +| 9 | Summary: <_ as core::iter::traits::iterator::Iterator>::collect; Argument[self].Element; ReturnValue.Element; value | +| 10 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value | +| 11 | Summary: ::add; Argument[0].Reference; ReturnValue; taint | +| 12 | Summary: ::deref; Argument[self].Reference.Element; ReturnValue.Reference.Element; value | +| 13 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 14 | Summary: ::unwrap_or_default; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | +| 15 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 16 | Summary: ::unwrap_or; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 17 | Summary: ::unwrap_or_default; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 18 | Summary: ::text; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | +| 19 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | +| 20 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | nodes +| main.rs:8:9:8:12 | args [element] | semmle.label | args [element] | +| main.rs:8:29:8:37 | ...::args | semmle.label | ...::args | +| main.rs:8:29:8:39 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | +| main.rs:8:29:8:49 | ... .collect() [element] | semmle.label | ... .collect() [element] | +| main.rs:9:9:9:16 | username | semmle.label | username | +| main.rs:9:20:9:23 | args [element] | semmle.label | args [element] | +| main.rs:9:20:9:30 | args.get(...) [Some, &ref] | semmle.label | args.get(...) [Some, &ref] | +| main.rs:9:20:9:64 | ... .unwrap_or(...) [&ref] | semmle.label | ... .unwrap_or(...) [&ref] | +| main.rs:9:20:9:72 | ... .clone() | semmle.label | ... .clone() | | main.rs:10:9:10:18 | user_input | semmle.label | user_input | | main.rs:10:22:10:34 | ...::var | semmle.label | ...::var | | main.rs:10:22:10:48 | ...::var(...) [Ok] | semmle.label | ...::var(...) [Ok] | @@ -75,14 +135,42 @@ nodes | main.rs:11:23:12:17 | ... .unwrap() | semmle.label | ... .unwrap() | | main.rs:11:23:12:24 | ... .text() [Ok] | semmle.label | ... .text() [Ok] | | main.rs:11:23:12:61 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | +| main.rs:15:5:15:9 | ...::log | semmle.label | ...::log | +| main.rs:15:11:15:36 | MacroExpr | semmle.label | MacroExpr | | main.rs:16:5:16:9 | ...::log | semmle.label | ...::log | | main.rs:16:11:16:44 | MacroExpr | semmle.label | MacroExpr | | main.rs:17:5:17:10 | ...::log | semmle.label | ...::log | | main.rs:17:12:17:46 | MacroExpr | semmle.label | MacroExpr | +| main.rs:18:5:18:10 | ...::log | semmle.label | ...::log | +| main.rs:18:12:18:37 | MacroExpr | semmle.label | MacroExpr | | main.rs:19:5:19:10 | ...::log | semmle.label | ...::log | | main.rs:19:12:19:39 | MacroExpr | semmle.label | MacroExpr | +| main.rs:22:9:22:21 | formatted_msg | semmle.label | formatted_msg | +| main.rs:22:33:22:63 | ...::format(...) | semmle.label | ...::format(...) | +| main.rs:22:33:22:63 | ...::must_use(...) | semmle.label | ...::must_use(...) | +| main.rs:22:33:22:63 | MacroExpr | semmle.label | MacroExpr | +| main.rs:22:33:22:63 | { ... } | semmle.label | { ... } | +| main.rs:23:5:23:9 | ...::log | semmle.label | ...::log | +| main.rs:23:11:23:29 | MacroExpr | semmle.label | MacroExpr | +| main.rs:26:9:26:18 | concat_msg | semmle.label | concat_msg | +| main.rs:26:22:26:62 | ... + ... | semmle.label | ... + ... | +| main.rs:26:54:26:62 | &username [&ref] | semmle.label | &username [&ref] | +| main.rs:26:55:26:62 | username | semmle.label | username | +| main.rs:27:5:27:9 | ...::log | semmle.label | ...::log | +| main.rs:27:11:27:26 | MacroExpr | semmle.label | MacroExpr | | main.rs:30:5:30:9 | ...::log | semmle.label | ...::log | | main.rs:30:11:30:66 | MacroExpr | semmle.label | MacroExpr | +| main.rs:52:28:52:36 | &username [&ref] | semmle.label | &username [&ref] | +| main.rs:52:29:52:36 | username | semmle.label | username | +| main.rs:56:27:56:40 | ...: ... [&ref] | semmle.label | ...: ... [&ref] | +| main.rs:65:9:65:17 | user_info [UserInfo] | semmle.label | user_info [UserInfo] | +| main.rs:65:21:65:59 | UserInfo {...} [UserInfo] | semmle.label | UserInfo {...} [UserInfo] | +| main.rs:65:38:65:45 | username [&ref] | semmle.label | username [&ref] | +| main.rs:65:38:65:57 | username.to_string() | semmle.label | username.to_string() | +| main.rs:66:5:66:9 | ...::log | semmle.label | ...::log | +| main.rs:66:11:66:41 | MacroExpr | semmle.label | MacroExpr | +| main.rs:66:28:66:36 | user_info [UserInfo] | semmle.label | user_info [UserInfo] | +| main.rs:66:28:66:41 | user_info.name | semmle.label | user_info.name | | main.rs:109:13:109:21 | user_data | semmle.label | user_data | | main.rs:109:25:109:38 | ...::args | semmle.label | ...::args | | main.rs:109:25:109:40 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | diff --git a/rust/ql/test/query-tests/security/CWE-117/main.rs b/rust/ql/test/query-tests/security/CWE-117/main.rs index f5001846d1b..9fb3558b3d2 100644 --- a/rust/ql/test/query-tests/security/CWE-117/main.rs +++ b/rust/ql/test/query-tests/security/CWE-117/main.rs @@ -5,29 +5,29 @@ fn main() { env_logger::init(); // Sources of user input - let args: Vec = env::args().collect(); - let username = args.get(1).unwrap_or(&String::from("Guest")).clone(); // $ MISSING: Source=commandargs + let args: Vec = env::args().collect(); // $ Source=commandargs + let username = args.get(1).unwrap_or(&String::from("Guest")).clone(); let user_input = std::env::var("USER_INPUT").unwrap_or("default".to_string()); // $ Source=environment let remote_data = reqwest::blocking::get("http://example.com/user") // $ Source=remote .unwrap().text().unwrap_or("remote_user".to_string()); // BAD: Direct logging of user input - info!("User login: {}", username); // $ MISSING: Alert[rust/log-injection] + info!("User login: {}", username); // $ Alert[rust/log-injection]=commandargs warn!("Warning for user: {}", user_input); // $ Alert[rust/log-injection]=environment error!("Error processing: {}", remote_data); // $ Alert[rust/log-injection]=remote - debug!("Debug info: {}", username); // $ MISSING: Alert[rust/log-injection] + debug!("Debug info: {}", username); // $ Alert[rust/log-injection]=commandargs trace!("Trace data: {}", user_input); // $ Alert[rust/log-injection]=environment // BAD: Formatted strings with user input let formatted_msg = format!("Processing user: {}", username); - info!("{}", formatted_msg); // $ MISSING: Alert[rust/log-injection] + info!("{}", formatted_msg); // $ Alert[rust/log-injection]=commandargs // BAD: String concatenation with user input let concat_msg = "User activity: ".to_string() + &username; - info!("{}", concat_msg); // $ MISSING: Alert[rust/log-injection] + info!("{}", concat_msg); // $ Alert[rust/log-injection]=commandargs // BAD: Complex formatting - info!("User {} accessed resource at {}", username, remote_data); // $ Alert[rust/log-injection]=remote + info!("User {} accessed resource at {}", username, remote_data); // $ Alert[rust/log-injection]=remote Alert[rust/log-injection]=commandargs // GOOD: Sanitized input let sanitized_username = username.replace('\n', "").replace('\r', ""); @@ -63,7 +63,7 @@ fn test_complex_scenarios(username: &str, user_input: &str) { // BAD: Through struct fields let user_info = UserInfo { name: username.to_string() }; - info!("User info: {}", user_info.name); // $ MISSING: Alert[rust/log-injection] + info!("User info: {}", user_info.name); // $ Alert[rust/log-injection]=commandargs // GOOD: After sanitization let clean_input = sanitize_input(user_input); diff --git a/rust/ql/test/query-tests/security/CWE-295/DisabledCertificateCheck.expected b/rust/ql/test/query-tests/security/CWE-295/DisabledCertificateCheck.expected index bbc67f6fd18..dd4fd929404 100644 --- a/rust/ql/test/query-tests/security/CWE-295/DisabledCertificateCheck.expected +++ b/rust/ql/test/query-tests/security/CWE-295/DisabledCertificateCheck.expected @@ -15,6 +15,7 @@ | main.rs:109:4:109:34 | danger_accept_invalid_hostnames | main.rs:107:17:107:31 | ...::exists | main.rs:109:4:109:34 | danger_accept_invalid_hostnames | Disabling TLS certificate validation can expose the application to man-in-the-middle attacks. | | main.rs:115:4:115:34 | danger_accept_invalid_hostnames | main.rs:113:43:113:50 | metadata | main.rs:115:4:115:34 | danger_accept_invalid_hostnames | Disabling TLS certificate validation can expose the application to man-in-the-middle attacks. | | main.rs:121:4:121:34 | danger_accept_invalid_hostnames | main.rs:119:11:119:27 | ...::metadata | main.rs:121:4:121:34 | danger_accept_invalid_hostnames | Disabling TLS certificate validation can expose the application to man-in-the-middle attacks. | +| main.rs:134:4:134:34 | danger_accept_invalid_hostnames | main.rs:129:14:129:27 | ...::stdin | main.rs:134:4:134:34 | danger_accept_invalid_hostnames | Disabling TLS certificate validation can expose the application to man-in-the-middle attacks. | | main.rs:146:4:146:34 | danger_accept_invalid_hostnames | main.rs:144:39:144:42 | true | main.rs:146:4:146:34 | danger_accept_invalid_hostnames | Disabling TLS certificate validation can expose the application to man-in-the-middle attacks. | edges | main.rs:4:32:4:35 | true | main.rs:4:4:4:30 | danger_accept_invalid_certs | provenance | MaD:1 Sink:MaD:1 | @@ -37,21 +38,33 @@ edges | main.rs:93:32:93:47 | sometimes_global | main.rs:93:4:93:30 | danger_accept_invalid_certs | provenance | MaD:1 Sink:MaD:1 | | main.rs:107:6:107:7 | b1 | main.rs:109:36:109:37 | b1 | provenance | | | main.rs:107:17:107:31 | ...::exists | main.rs:107:17:107:42 | ...::exists(...) [Ok] | provenance | Src:MaD:8 | -| main.rs:107:17:107:42 | ...::exists(...) [Ok] | main.rs:107:17:107:51 | ... .unwrap() | provenance | MaD:10 | +| main.rs:107:17:107:42 | ...::exists(...) [Ok] | main.rs:107:17:107:51 | ... .unwrap() | provenance | MaD:13 | | main.rs:107:17:107:51 | ... .unwrap() | main.rs:107:6:107:7 | b1 | provenance | | | main.rs:109:36:109:37 | b1 | main.rs:109:4:109:34 | danger_accept_invalid_hostnames | provenance | MaD:2 Sink:MaD:2 | | main.rs:113:6:113:7 | b2 | main.rs:115:36:115:37 | b2 | provenance | | -| main.rs:113:11:113:52 | ... .metadata() [Ok] | main.rs:113:11:113:61 | ... .unwrap() | provenance | MaD:10 | -| main.rs:113:11:113:61 | ... .unwrap() | main.rs:113:11:113:71 | ... .is_file() | provenance | MaD:12 | +| main.rs:113:11:113:52 | ... .metadata() [Ok] | main.rs:113:11:113:61 | ... .unwrap() | provenance | MaD:13 | +| main.rs:113:11:113:61 | ... .unwrap() | main.rs:113:11:113:71 | ... .is_file() | provenance | MaD:16 | | main.rs:113:11:113:71 | ... .is_file() | main.rs:113:6:113:7 | b2 | provenance | | | main.rs:113:43:113:50 | metadata | main.rs:113:11:113:52 | ... .metadata() [Ok] | provenance | Src:MaD:7 | | main.rs:115:36:115:37 | b2 | main.rs:115:4:115:34 | danger_accept_invalid_hostnames | provenance | MaD:2 Sink:MaD:2 | | main.rs:119:6:119:7 | b3 | main.rs:121:36:121:37 | b3 | provenance | | | main.rs:119:11:119:27 | ...::metadata | main.rs:119:11:119:38 | ...::metadata(...) [Ok] | provenance | Src:MaD:9 | -| main.rs:119:11:119:38 | ...::metadata(...) [Ok] | main.rs:119:11:119:47 | ... .unwrap() | provenance | MaD:10 | -| main.rs:119:11:119:47 | ... .unwrap() | main.rs:119:11:119:56 | ... .is_dir() | provenance | MaD:11 | +| main.rs:119:11:119:38 | ...::metadata(...) [Ok] | main.rs:119:11:119:47 | ... .unwrap() | provenance | MaD:13 | +| main.rs:119:11:119:47 | ... .unwrap() | main.rs:119:11:119:56 | ... .is_dir() | provenance | MaD:15 | | main.rs:119:11:119:56 | ... .is_dir() | main.rs:119:6:119:7 | b3 | provenance | | | main.rs:121:36:121:37 | b3 | main.rs:121:4:121:34 | danger_accept_invalid_hostnames | provenance | MaD:2 Sink:MaD:2 | +| main.rs:129:6:129:10 | input | main.rs:130:2:130:6 | input | provenance | | +| main.rs:129:14:129:27 | ...::stdin | main.rs:129:14:129:29 | ...::stdin(...) | provenance | Src:MaD:10 MaD:10 | +| main.rs:129:14:129:29 | ...::stdin(...) | main.rs:129:6:129:10 | input | provenance | | +| main.rs:130:2:130:6 | input | main.rs:130:18:130:32 | [post] &mut input_line [&ref] | provenance | MaD:17 | +| main.rs:130:18:130:32 | [post] &mut input_line [&ref] | main.rs:130:23:130:32 | [post] input_line | provenance | | +| main.rs:130:23:130:32 | [post] input_line | main.rs:132:17:132:26 | input_line | provenance | | +| main.rs:132:6:132:7 | b4 | main.rs:134:36:134:37 | b4 | provenance | | +| main.rs:132:17:132:26 | input_line | main.rs:132:17:132:42 | input_line.parse() [Ok] | provenance | MaD:11 | +| main.rs:132:17:132:26 | input_line | main.rs:132:17:132:42 | input_line.parse() [Ok] | provenance | MaD:12 | +| main.rs:132:17:132:42 | input_line.parse() [Ok] | main.rs:132:17:132:59 | ... .unwrap_or(...) | provenance | MaD:14 | +| main.rs:132:17:132:59 | ... .unwrap_or(...) | main.rs:132:6:132:7 | b4 | provenance | | +| main.rs:134:36:134:37 | b4 | main.rs:134:4:134:34 | danger_accept_invalid_hostnames | provenance | MaD:2 Sink:MaD:2 | | main.rs:144:6:144:7 | b6 | main.rs:146:36:146:37 | b6 | provenance | | | main.rs:144:39:144:42 | true | main.rs:144:6:144:7 | b6 | provenance | | | main.rs:146:36:146:37 | b6 | main.rs:146:4:146:34 | danger_accept_invalid_hostnames | provenance | MaD:2 Sink:MaD:2 | @@ -66,9 +79,14 @@ models | 7 | Source: ::metadata; ReturnValue.Field[core::result::Result::Ok(0)]; file | | 8 | Source: std::fs::exists; ReturnValue.Field[core::result::Result::Ok(0)]; file | | 9 | Source: std::fs::metadata; ReturnValue.Field[core::result::Result::Ok(0)]; file | -| 10 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 11 | Summary: ::is_dir; Argument[self].Reference; ReturnValue; taint | -| 12 | Summary: ::is_file; Argument[self].Reference; ReturnValue; taint | +| 10 | Source: std::io::stdio::stdin; ReturnValue; stdin | +| 11 | Summary: <_ as core::ops::deref::Deref>::deref; Argument[self].Reference; ReturnValue.Reference; taint | +| 12 | Summary: ::deref; Argument[self]; ReturnValue; value | +| 13 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 14 | Summary: ::unwrap_or; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | +| 15 | Summary: ::is_dir; Argument[self].Reference; ReturnValue; taint | +| 16 | Summary: ::is_file; Argument[self].Reference; ReturnValue; taint | +| 17 | Summary: ::read_line; Argument[self].Reference; Argument[0].Reference; taint | nodes | main.rs:4:4:4:30 | danger_accept_invalid_certs | semmle.label | danger_accept_invalid_certs | | main.rs:4:32:4:35 | true | semmle.label | true | @@ -121,6 +139,18 @@ nodes | main.rs:119:11:119:56 | ... .is_dir() | semmle.label | ... .is_dir() | | main.rs:121:4:121:34 | danger_accept_invalid_hostnames | semmle.label | danger_accept_invalid_hostnames | | main.rs:121:36:121:37 | b3 | semmle.label | b3 | +| main.rs:129:6:129:10 | input | semmle.label | input | +| main.rs:129:14:129:27 | ...::stdin | semmle.label | ...::stdin | +| main.rs:129:14:129:29 | ...::stdin(...) | semmle.label | ...::stdin(...) | +| main.rs:130:2:130:6 | input | semmle.label | input | +| main.rs:130:18:130:32 | [post] &mut input_line [&ref] | semmle.label | [post] &mut input_line [&ref] | +| main.rs:130:23:130:32 | [post] input_line | semmle.label | [post] input_line | +| main.rs:132:6:132:7 | b4 | semmle.label | b4 | +| main.rs:132:17:132:26 | input_line | semmle.label | input_line | +| main.rs:132:17:132:42 | input_line.parse() [Ok] | semmle.label | input_line.parse() [Ok] | +| main.rs:132:17:132:59 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | +| main.rs:134:4:134:34 | danger_accept_invalid_hostnames | semmle.label | danger_accept_invalid_hostnames | +| main.rs:134:36:134:37 | b4 | semmle.label | b4 | | main.rs:144:6:144:7 | b6 | semmle.label | b6 | | main.rs:144:39:144:42 | true | semmle.label | true | | main.rs:146:4:146:34 | danger_accept_invalid_hostnames | semmle.label | danger_accept_invalid_hostnames | diff --git a/rust/ql/test/query-tests/security/CWE-295/main.rs b/rust/ql/test/query-tests/security/CWE-295/main.rs index 6088e6fc1be..e8c20c1d6df 100644 --- a/rust/ql/test/query-tests/security/CWE-295/main.rs +++ b/rust/ql/test/query-tests/security/CWE-295/main.rs @@ -126,12 +126,12 @@ fn test_threat_model_source() { // (these are a little closer to something real) let mut input_line = String::new(); - let input = std::io::stdin(); + let input = std::io::stdin(); // $ Source=stdin input.read_line(&mut input_line).unwrap(); let b4: bool = input_line.parse::().unwrap_or(false); let _client = native_tls::TlsConnector::builder() - .danger_accept_invalid_hostnames(b4) // $ MISSING: Alert[rust/disabled-certificate-check]=stdin + .danger_accept_invalid_hostnames(b4) // $ Alert[rust/disabled-certificate-check]=stdin .build() .unwrap(); diff --git a/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected b/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected index e399f4ce0b7..61de9de03b5 100644 --- a/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected +++ b/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected @@ -136,7 +136,6 @@ edges | test_logging.rs:94:11:94:28 | MacroExpr | test_logging.rs:94:5:94:9 | ...::log | provenance | MaD:11 Sink:MaD:11 | | test_logging.rs:96:9:96:10 | m2 | test_logging.rs:97:11:97:18 | MacroExpr | provenance | | | test_logging.rs:96:14:96:49 | ... + ... | test_logging.rs:96:9:96:10 | m2 | provenance | | -| test_logging.rs:96:41:96:49 | &password | test_logging.rs:96:14:96:49 | ... + ... | provenance | MaD:17 | | test_logging.rs:96:41:96:49 | &password | test_logging.rs:96:14:96:49 | ... + ... | provenance | MaD:16 | | test_logging.rs:96:41:96:49 | &password [&ref] | test_logging.rs:96:14:96:49 | ... + ... | provenance | MaD:16 | | test_logging.rs:96:42:96:49 | password | test_logging.rs:96:41:96:49 | &password | provenance | Config | @@ -145,8 +144,8 @@ edges | test_logging.rs:99:9:99:10 | m3 | test_logging.rs:100:11:100:18 | MacroExpr | provenance | | | test_logging.rs:99:22:99:45 | ...::format(...) | test_logging.rs:99:22:99:45 | { ... } | provenance | | | test_logging.rs:99:22:99:45 | ...::must_use(...) | test_logging.rs:99:9:99:10 | m3 | provenance | | -| test_logging.rs:99:22:99:45 | MacroExpr | test_logging.rs:99:22:99:45 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:99:22:99:45 | { ... } | test_logging.rs:99:22:99:45 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:99:22:99:45 | MacroExpr | test_logging.rs:99:22:99:45 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:99:22:99:45 | { ... } | test_logging.rs:99:22:99:45 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:99:38:99:45 | password | test_logging.rs:99:22:99:45 | MacroExpr | provenance | | | test_logging.rs:100:11:100:18 | MacroExpr | test_logging.rs:100:5:100:9 | ...::log | provenance | MaD:11 Sink:MaD:11 | | test_logging.rs:118:12:118:41 | MacroExpr | test_logging.rs:118:5:118:10 | ...::log | provenance | MaD:11 Sink:MaD:11 | @@ -167,8 +166,8 @@ edges | test_logging.rs:176:34:176:79 | MacroExpr | test_logging.rs:176:33:176:79 | &... [&ref] | provenance | | | test_logging.rs:176:42:176:78 | ...::format(...) | test_logging.rs:176:42:176:78 | { ... } | provenance | | | test_logging.rs:176:42:176:78 | ...::must_use(...) | test_logging.rs:176:34:176:79 | MacroExpr | provenance | | -| test_logging.rs:176:42:176:78 | MacroExpr | test_logging.rs:176:42:176:78 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:176:42:176:78 | { ... } | test_logging.rs:176:42:176:78 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:176:42:176:78 | MacroExpr | test_logging.rs:176:42:176:78 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:176:42:176:78 | { ... } | test_logging.rs:176:42:176:78 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:176:70:176:78 | password2 | test_logging.rs:176:42:176:78 | MacroExpr | provenance | | | test_logging.rs:180:35:180:81 | &... | test_logging.rs:180:24:180:33 | log_expect | provenance | MaD:3 Sink:MaD:3 | | test_logging.rs:180:35:180:81 | &... [&ref] | test_logging.rs:180:24:180:33 | log_expect | provenance | MaD:3 Sink:MaD:3 | @@ -176,8 +175,8 @@ edges | test_logging.rs:180:36:180:81 | MacroExpr | test_logging.rs:180:35:180:81 | &... [&ref] | provenance | | | test_logging.rs:180:44:180:80 | ...::format(...) | test_logging.rs:180:44:180:80 | { ... } | provenance | | | test_logging.rs:180:44:180:80 | ...::must_use(...) | test_logging.rs:180:36:180:81 | MacroExpr | provenance | | -| test_logging.rs:180:44:180:80 | MacroExpr | test_logging.rs:180:44:180:80 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:180:44:180:80 | { ... } | test_logging.rs:180:44:180:80 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:180:44:180:80 | MacroExpr | test_logging.rs:180:44:180:80 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:180:44:180:80 | { ... } | test_logging.rs:180:44:180:80 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:180:72:180:80 | password2 | test_logging.rs:180:44:180:80 | MacroExpr | provenance | | | test_logging.rs:183:9:183:19 | err_result2 [Err] | test_logging.rs:184:13:184:23 | err_result2 [Err] | provenance | | | test_logging.rs:183:47:183:68 | Err(...) [Err] | test_logging.rs:183:9:183:19 | err_result2 [Err] | provenance | | @@ -220,40 +219,40 @@ edges | test_logging.rs:226:36:226:59 | ...::Some(...) [Some] | test_logging.rs:226:13:226:28 | ...::assert_failed | provenance | MaD:9 Sink:MaD:9 | | test_logging.rs:226:36:226:59 | MacroExpr | test_logging.rs:226:36:226:59 | ...::Some(...) [Some] | provenance | | | test_logging.rs:226:52:226:59 | password | test_logging.rs:226:36:226:59 | MacroExpr | provenance | | -| test_logging.rs:229:30:229:62 | MacroExpr | test_logging.rs:229:30:229:71 | ... .as_str() [&ref] | provenance | MaD:19 | +| test_logging.rs:229:30:229:62 | MacroExpr | test_logging.rs:229:30:229:71 | ... .as_str() [&ref] | provenance | MaD:18 | | test_logging.rs:229:30:229:71 | ... .as_str() [&ref] | test_logging.rs:229:23:229:28 | expect | provenance | MaD:2 Sink:MaD:2 | | test_logging.rs:229:38:229:61 | ...::format(...) | test_logging.rs:229:38:229:61 | { ... } | provenance | | | test_logging.rs:229:38:229:61 | ...::must_use(...) | test_logging.rs:229:30:229:62 | MacroExpr | provenance | | -| test_logging.rs:229:38:229:61 | MacroExpr | test_logging.rs:229:38:229:61 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:229:38:229:61 | { ... } | test_logging.rs:229:38:229:61 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:229:38:229:61 | MacroExpr | test_logging.rs:229:38:229:61 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:229:38:229:61 | { ... } | test_logging.rs:229:38:229:61 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:229:54:229:61 | password | test_logging.rs:229:38:229:61 | MacroExpr | provenance | | -| test_logging.rs:242:16:242:50 | MacroExpr | test_logging.rs:242:16:242:61 | ... .as_bytes() [&ref] | provenance | MaD:18 | -| test_logging.rs:242:16:242:61 | ... .as_bytes() [&ref] | test_logging.rs:242:10:242:14 | write | provenance | MaD:7 Sink:MaD:7 | +| test_logging.rs:242:16:242:50 | MacroExpr | test_logging.rs:242:16:242:61 | ... .as_bytes() [&ref, element] | provenance | MaD:17 | +| test_logging.rs:242:16:242:61 | ... .as_bytes() [&ref, element] | test_logging.rs:242:10:242:14 | write | provenance | MaD:7 Sink:MaD:7 Sink:MaD:7 | | test_logging.rs:242:24:242:49 | ...::format(...) | test_logging.rs:242:24:242:49 | { ... } | provenance | | | test_logging.rs:242:24:242:49 | ...::must_use(...) | test_logging.rs:242:16:242:50 | MacroExpr | provenance | | -| test_logging.rs:242:24:242:49 | MacroExpr | test_logging.rs:242:24:242:49 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:242:24:242:49 | { ... } | test_logging.rs:242:24:242:49 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:242:24:242:49 | MacroExpr | test_logging.rs:242:24:242:49 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:242:24:242:49 | { ... } | test_logging.rs:242:24:242:49 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:242:42:242:49 | password | test_logging.rs:242:24:242:49 | MacroExpr | provenance | | -| test_logging.rs:245:20:245:54 | MacroExpr | test_logging.rs:245:20:245:65 | ... .as_bytes() [&ref] | provenance | MaD:18 | -| test_logging.rs:245:20:245:65 | ... .as_bytes() [&ref] | test_logging.rs:245:10:245:18 | write_all | provenance | MaD:8 Sink:MaD:8 | +| test_logging.rs:245:20:245:54 | MacroExpr | test_logging.rs:245:20:245:65 | ... .as_bytes() [&ref, element] | provenance | MaD:17 | +| test_logging.rs:245:20:245:65 | ... .as_bytes() [&ref, element] | test_logging.rs:245:10:245:18 | write_all | provenance | MaD:8 Sink:MaD:8 Sink:MaD:8 | | test_logging.rs:245:28:245:53 | ...::format(...) | test_logging.rs:245:28:245:53 | { ... } | provenance | | | test_logging.rs:245:28:245:53 | ...::must_use(...) | test_logging.rs:245:20:245:54 | MacroExpr | provenance | | -| test_logging.rs:245:28:245:53 | MacroExpr | test_logging.rs:245:28:245:53 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:245:28:245:53 | { ... } | test_logging.rs:245:28:245:53 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:245:28:245:53 | MacroExpr | test_logging.rs:245:28:245:53 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:245:28:245:53 | { ... } | test_logging.rs:245:28:245:53 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:245:46:245:53 | password | test_logging.rs:245:28:245:53 | MacroExpr | provenance | | -| test_logging.rs:248:15:248:49 | MacroExpr | test_logging.rs:248:15:248:60 | ... .as_bytes() [&ref] | provenance | MaD:18 | -| test_logging.rs:248:15:248:60 | ... .as_bytes() [&ref] | test_logging.rs:248:9:248:13 | write | provenance | MaD:7 Sink:MaD:7 | +| test_logging.rs:248:15:248:49 | MacroExpr | test_logging.rs:248:15:248:60 | ... .as_bytes() [&ref, element] | provenance | MaD:17 | +| test_logging.rs:248:15:248:60 | ... .as_bytes() [&ref, element] | test_logging.rs:248:9:248:13 | write | provenance | MaD:7 Sink:MaD:7 Sink:MaD:7 | | test_logging.rs:248:23:248:48 | ...::format(...) | test_logging.rs:248:23:248:48 | { ... } | provenance | | | test_logging.rs:248:23:248:48 | ...::must_use(...) | test_logging.rs:248:15:248:49 | MacroExpr | provenance | | -| test_logging.rs:248:23:248:48 | MacroExpr | test_logging.rs:248:23:248:48 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:248:23:248:48 | { ... } | test_logging.rs:248:23:248:48 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:248:23:248:48 | MacroExpr | test_logging.rs:248:23:248:48 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:248:23:248:48 | { ... } | test_logging.rs:248:23:248:48 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:248:41:248:48 | password | test_logging.rs:248:23:248:48 | MacroExpr | provenance | | -| test_logging.rs:251:15:251:49 | MacroExpr | test_logging.rs:251:15:251:60 | ... .as_bytes() [&ref] | provenance | MaD:18 | -| test_logging.rs:251:15:251:60 | ... .as_bytes() [&ref] | test_logging.rs:251:9:251:13 | write | provenance | MaD:6 Sink:MaD:6 | +| test_logging.rs:251:15:251:49 | MacroExpr | test_logging.rs:251:15:251:60 | ... .as_bytes() [&ref, element] | provenance | MaD:17 | +| test_logging.rs:251:15:251:60 | ... .as_bytes() [&ref, element] | test_logging.rs:251:9:251:13 | write | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | | test_logging.rs:251:23:251:48 | ...::format(...) | test_logging.rs:251:23:251:48 | { ... } | provenance | | | test_logging.rs:251:23:251:48 | ...::must_use(...) | test_logging.rs:251:15:251:49 | MacroExpr | provenance | | -| test_logging.rs:251:23:251:48 | MacroExpr | test_logging.rs:251:23:251:48 | ...::format(...) | provenance | MaD:20 | -| test_logging.rs:251:23:251:48 | { ... } | test_logging.rs:251:23:251:48 | ...::must_use(...) | provenance | MaD:21 | +| test_logging.rs:251:23:251:48 | MacroExpr | test_logging.rs:251:23:251:48 | ...::format(...) | provenance | MaD:19 | +| test_logging.rs:251:23:251:48 | { ... } | test_logging.rs:251:23:251:48 | ...::must_use(...) | provenance | MaD:20 | | test_logging.rs:251:41:251:48 | password | test_logging.rs:251:23:251:48 | MacroExpr | provenance | | models | 1 | Sink: ::log_expect; Argument[0]; log-injection | @@ -272,11 +271,10 @@ models | 14 | Sink: std::io::stdio::_print; Argument[0]; log-injection | | 15 | Summary: <_ as core::clone::Clone>::clone; Argument[self].Reference; ReturnValue; value | | 16 | Summary: ::add; Argument[0].Reference; ReturnValue; taint | -| 17 | Summary: ::add; Argument[self,0]; ReturnValue; taint | -| 18 | Summary: ::as_bytes; Argument[self]; ReturnValue; value | -| 19 | Summary: ::as_str; Argument[self]; ReturnValue; value | -| 20 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | -| 21 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | +| 17 | Summary: ::as_bytes; Argument[self].Reference; ReturnValue.Reference.Element; taint | +| 18 | Summary: ::as_str; Argument[self].Reference; ReturnValue.Reference; taint | +| 19 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | +| 20 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | nodes | test_logging.rs:42:5:42:10 | ...::log | semmle.label | ...::log | | test_logging.rs:42:12:42:35 | MacroExpr | semmle.label | MacroExpr | @@ -491,7 +489,7 @@ nodes | test_logging.rs:229:54:229:61 | password | semmle.label | password | | test_logging.rs:242:10:242:14 | write | semmle.label | write | | test_logging.rs:242:16:242:50 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:242:16:242:61 | ... .as_bytes() [&ref] | semmle.label | ... .as_bytes() [&ref] | +| test_logging.rs:242:16:242:61 | ... .as_bytes() [&ref, element] | semmle.label | ... .as_bytes() [&ref, element] | | test_logging.rs:242:24:242:49 | ...::format(...) | semmle.label | ...::format(...) | | test_logging.rs:242:24:242:49 | ...::must_use(...) | semmle.label | ...::must_use(...) | | test_logging.rs:242:24:242:49 | MacroExpr | semmle.label | MacroExpr | @@ -499,7 +497,7 @@ nodes | test_logging.rs:242:42:242:49 | password | semmle.label | password | | test_logging.rs:245:10:245:18 | write_all | semmle.label | write_all | | test_logging.rs:245:20:245:54 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:245:20:245:65 | ... .as_bytes() [&ref] | semmle.label | ... .as_bytes() [&ref] | +| test_logging.rs:245:20:245:65 | ... .as_bytes() [&ref, element] | semmle.label | ... .as_bytes() [&ref, element] | | test_logging.rs:245:28:245:53 | ...::format(...) | semmle.label | ...::format(...) | | test_logging.rs:245:28:245:53 | ...::must_use(...) | semmle.label | ...::must_use(...) | | test_logging.rs:245:28:245:53 | MacroExpr | semmle.label | MacroExpr | @@ -507,7 +505,7 @@ nodes | test_logging.rs:245:46:245:53 | password | semmle.label | password | | test_logging.rs:248:9:248:13 | write | semmle.label | write | | test_logging.rs:248:15:248:49 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:248:15:248:60 | ... .as_bytes() [&ref] | semmle.label | ... .as_bytes() [&ref] | +| test_logging.rs:248:15:248:60 | ... .as_bytes() [&ref, element] | semmle.label | ... .as_bytes() [&ref, element] | | test_logging.rs:248:23:248:48 | ...::format(...) | semmle.label | ...::format(...) | | test_logging.rs:248:23:248:48 | ...::must_use(...) | semmle.label | ...::must_use(...) | | test_logging.rs:248:23:248:48 | MacroExpr | semmle.label | MacroExpr | @@ -515,7 +513,7 @@ nodes | test_logging.rs:248:41:248:48 | password | semmle.label | password | | test_logging.rs:251:9:251:13 | write | semmle.label | write | | test_logging.rs:251:15:251:49 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:251:15:251:60 | ... .as_bytes() [&ref] | semmle.label | ... .as_bytes() [&ref] | +| test_logging.rs:251:15:251:60 | ... .as_bytes() [&ref, element] | semmle.label | ... .as_bytes() [&ref, element] | | test_logging.rs:251:23:251:48 | ...::format(...) | semmle.label | ...::format(...) | | test_logging.rs:251:23:251:48 | ...::must_use(...) | semmle.label | ...::must_use(...) | | test_logging.rs:251:23:251:48 | MacroExpr | semmle.label | MacroExpr | diff --git a/rust/ql/test/query-tests/security/CWE-312/CleartextStorageDatabase.expected b/rust/ql/test/query-tests/security/CWE-312/CleartextStorageDatabase.expected index 23a715355f4..732b422c65f 100644 --- a/rust/ql/test/query-tests/security/CWE-312/CleartextStorageDatabase.expected +++ b/rust/ql/test/query-tests/security/CWE-312/CleartextStorageDatabase.expected @@ -15,7 +15,6 @@ edges | test_storage.rs:71:9:71:21 | insert_query2 | test_storage.rs:139:25:139:37 | insert_query2 | provenance | | | test_storage.rs:71:25:71:114 | ... + ... | test_storage.rs:71:25:71:121 | ... + ... | provenance | MaD:7 | | test_storage.rs:71:25:71:121 | ... + ... | test_storage.rs:71:9:71:21 | insert_query2 | provenance | | -| test_storage.rs:71:96:71:114 | &... | test_storage.rs:71:25:71:114 | ... + ... | provenance | MaD:7 | | test_storage.rs:71:96:71:114 | &... | test_storage.rs:71:25:71:114 | ... + ... | provenance | MaD:6 | | test_storage.rs:71:96:71:114 | &... [&ref] | test_storage.rs:71:25:71:114 | ... + ... | provenance | MaD:6 | | test_storage.rs:71:97:71:114 | get_phone_number(...) | test_storage.rs:71:96:71:114 | &... | provenance | Config | @@ -33,7 +32,6 @@ edges | test_storage.rs:189:9:189:24 | insert_query_bad | test_storage.rs:194:25:194:40 | insert_query_bad | provenance | | | test_storage.rs:189:28:189:117 | ... + ... | test_storage.rs:189:28:189:124 | ... + ... | provenance | MaD:7 | | test_storage.rs:189:28:189:124 | ... + ... | test_storage.rs:189:9:189:24 | insert_query_bad | provenance | | -| test_storage.rs:189:99:189:117 | &... | test_storage.rs:189:28:189:117 | ... + ... | provenance | MaD:7 | | test_storage.rs:189:99:189:117 | &... | test_storage.rs:189:28:189:117 | ... + ... | provenance | MaD:6 | | test_storage.rs:189:99:189:117 | &... [&ref] | test_storage.rs:189:28:189:117 | ... + ... | provenance | MaD:6 | | test_storage.rs:189:100:189:117 | get_phone_number(...) | test_storage.rs:189:99:189:117 | &... | provenance | Config | @@ -41,7 +39,6 @@ edges | test_storage.rs:190:9:190:24 | select_query_bad | test_storage.rs:196:35:196:50 | select_query_bad | provenance | | | test_storage.rs:190:28:190:103 | ... + ... | test_storage.rs:190:28:190:109 | ... + ... | provenance | MaD:7 | | test_storage.rs:190:28:190:109 | ... + ... | test_storage.rs:190:9:190:24 | select_query_bad | provenance | | -| test_storage.rs:190:85:190:103 | &... | test_storage.rs:190:28:190:103 | ... + ... | provenance | MaD:7 | | test_storage.rs:190:85:190:103 | &... | test_storage.rs:190:28:190:103 | ... + ... | provenance | MaD:6 | | test_storage.rs:190:85:190:103 | &... [&ref] | test_storage.rs:190:28:190:103 | ... + ... | provenance | MaD:6 | | test_storage.rs:190:86:190:103 | get_phone_number(...) | test_storage.rs:190:85:190:103 | &... | provenance | Config | @@ -66,8 +63,8 @@ models | 4 | Sink: sqlx_core::query::query; Argument[0]; sql-injection | | 5 | Sink: sqlx_core::raw_sql::raw_sql; Argument[0]; sql-injection | | 6 | Summary: ::add; Argument[0].Reference; ReturnValue; taint | -| 7 | Summary: ::add; Argument[self,0]; ReturnValue; taint | -| 8 | Summary: ::as_str; Argument[self]; ReturnValue; value | +| 7 | Summary: ::add; Argument[self]; ReturnValue; taint | +| 8 | Summary: ::as_str; Argument[self].Reference; ReturnValue.Reference; taint | nodes | test_storage.rs:71:9:71:21 | insert_query2 | semmle.label | insert_query2 | | test_storage.rs:71:25:71:114 | ... + ... | semmle.label | ... + ... | diff --git a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected index 6da53e4f4c8..a38f1b82f36 100644 --- a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected +++ b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected @@ -1,56 +1,56 @@ #select -| main.rs:18:13:18:31 | ...::realloc | main.rs:317:13:317:26 | ...::args | main.rs:18:13:18:31 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:21:13:21:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:21:13:21:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:22:13:22:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:22:13:22:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:23:13:23:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:23:13:23:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:24:13:24:36 | ...::alloc_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:24:13:24:36 | ...::alloc_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:30:13:30:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:30:13:30:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:33:13:33:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:33:13:33:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:37:13:37:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:37:13:37:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:40:13:40:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:40:13:40:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:50:13:50:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:50:13:50:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:51:13:51:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:51:13:51:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:53:13:53:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:53:13:53:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:54:13:54:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:54:13:54:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:59:13:59:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:59:13:59:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:61:13:61:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:61:13:61:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:63:13:63:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:63:13:63:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:64:13:64:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:64:13:64:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:65:13:65:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:65:13:65:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:68:13:68:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:68:13:68:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:88:13:88:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:88:13:88:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:96:17:96:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:96:17:96:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:102:17:102:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:102:17:102:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:103:17:103:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:103:17:103:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:109:17:109:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:109:17:109:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:111:17:111:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:111:17:111:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:146:17:146:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:146:17:146:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:148:17:148:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:148:17:148:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:152:13:152:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:152:13:152:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:155:13:155:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:155:13:155:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:162:17:162:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:162:17:162:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:169:17:169:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:169:17:169:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:177:13:177:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:177:13:177:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:193:32:193:36 | alloc | main.rs:317:13:317:26 | ...::args | main.rs:193:32:193:36 | alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:194:32:194:43 | alloc_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:194:32:194:43 | alloc_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:194:32:194:43 | alloc_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:194:32:194:43 | alloc_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:195:32:195:39 | allocate | main.rs:317:13:317:26 | ...::args | main.rs:195:32:195:39 | allocate | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:196:32:196:46 | allocate_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:196:32:196:46 | allocate_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:197:32:197:39 | allocate | main.rs:317:13:317:26 | ...::args | main.rs:197:32:197:39 | allocate | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:198:32:198:46 | allocate_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:198:32:198:46 | allocate_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:202:32:202:38 | realloc | main.rs:317:13:317:26 | ...::args | main.rs:202:32:202:38 | realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:202:32:202:38 | realloc | main.rs:317:13:317:26 | ...::args | main.rs:202:32:202:38 | realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:208:40:208:43 | grow | main.rs:317:13:317:26 | ...::args | main.rs:208:40:208:43 | grow | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:210:40:210:50 | grow_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:210:40:210:50 | grow_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:213:36:213:41 | shrink | main.rs:317:13:317:26 | ...::args | main.rs:213:36:213:41 | shrink | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:219:13:219:24 | ...::malloc | main.rs:317:13:317:26 | ...::args | main.rs:219:13:219:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:220:13:220:31 | ...::aligned_alloc | main.rs:317:13:317:26 | ...::args | main.rs:220:13:220:31 | ...::aligned_alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:222:13:222:24 | ...::calloc | main.rs:317:13:317:26 | ...::args | main.rs:222:13:222:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:223:13:223:24 | ...::calloc | main.rs:317:13:317:26 | ...::args | main.rs:223:13:223:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:224:13:224:25 | ...::realloc | main.rs:317:13:317:26 | ...::args | main.rs:224:13:224:25 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:230:13:230:44 | ...::try_with_capacity_in | main.rs:317:13:317:26 | ...::args | main.rs:230:13:230:44 | ...::try_with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:231:13:231:40 | ...::with_capacity_in | main.rs:317:13:317:26 | ...::args | main.rs:231:13:231:40 | ...::with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:284:22:284:38 | ...::alloc | main.rs:308:25:308:38 | ...::args | main.rs:284:22:284:38 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:308:25:308:38 | ...::args | user-provided value | +| main.rs:18:13:18:31 | ...::realloc | main.rs:320:13:320:26 | ...::args | main.rs:18:13:18:31 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:21:13:21:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:21:13:21:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:22:13:22:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:22:13:22:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:23:13:23:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:23:13:23:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:24:13:24:36 | ...::alloc_zeroed | main.rs:320:13:320:26 | ...::args | main.rs:24:13:24:36 | ...::alloc_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:30:13:30:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:30:13:30:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:33:13:33:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:33:13:33:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:37:13:37:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:37:13:37:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:40:13:40:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:40:13:40:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:50:13:50:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:50:13:50:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:51:13:51:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:51:13:51:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:53:13:53:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:53:13:53:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:54:13:54:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:54:13:54:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:59:13:59:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:59:13:59:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:61:13:61:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:61:13:61:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:63:13:63:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:63:13:63:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:64:13:64:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:64:13:64:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:65:13:65:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:65:13:65:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:68:13:68:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:68:13:68:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:88:13:88:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:88:13:88:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:96:17:96:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:96:17:96:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:102:17:102:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:102:17:102:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:103:17:103:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:103:17:103:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:109:17:109:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:109:17:109:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:111:17:111:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:111:17:111:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:146:17:146:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:146:17:146:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:148:17:148:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:148:17:148:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:152:13:152:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:152:13:152:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:155:13:155:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:155:13:155:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:162:17:162:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:162:17:162:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:169:17:169:33 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:169:17:169:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:177:13:177:29 | ...::alloc | main.rs:320:13:320:26 | ...::args | main.rs:177:13:177:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:193:32:193:36 | alloc | main.rs:320:13:320:26 | ...::args | main.rs:193:32:193:36 | alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:194:32:194:43 | alloc_zeroed | main.rs:320:13:320:26 | ...::args | main.rs:194:32:194:43 | alloc_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:195:32:195:39 | allocate | main.rs:320:13:320:26 | ...::args | main.rs:195:32:195:39 | allocate | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:196:32:196:46 | allocate_zeroed | main.rs:320:13:320:26 | ...::args | main.rs:196:32:196:46 | allocate_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:197:32:197:39 | allocate | main.rs:320:13:320:26 | ...::args | main.rs:197:32:197:39 | allocate | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:198:32:198:46 | allocate_zeroed | main.rs:320:13:320:26 | ...::args | main.rs:198:32:198:46 | allocate_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:202:32:202:38 | realloc | main.rs:320:13:320:26 | ...::args | main.rs:202:32:202:38 | realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:208:40:208:43 | grow | main.rs:320:13:320:26 | ...::args | main.rs:208:40:208:43 | grow | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:210:40:210:50 | grow_zeroed | main.rs:320:13:320:26 | ...::args | main.rs:210:40:210:50 | grow_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:213:36:213:41 | shrink | main.rs:320:13:320:26 | ...::args | main.rs:213:36:213:41 | shrink | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:219:13:219:24 | ...::malloc | main.rs:320:13:320:26 | ...::args | main.rs:219:13:219:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:220:13:220:31 | ...::aligned_alloc | main.rs:320:13:320:26 | ...::args | main.rs:220:13:220:31 | ...::aligned_alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:222:13:222:24 | ...::calloc | main.rs:320:13:320:26 | ...::args | main.rs:222:13:222:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:223:13:223:24 | ...::calloc | main.rs:320:13:320:26 | ...::args | main.rs:223:13:223:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:224:13:224:25 | ...::realloc | main.rs:320:13:320:26 | ...::args | main.rs:224:13:224:25 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:228:13:228:41 | ...::try_with_capacity | main.rs:320:13:320:26 | ...::args | main.rs:228:13:228:41 | ...::try_with_capacity | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:229:13:229:37 | ...::with_capacity | main.rs:320:13:320:26 | ...::args | main.rs:229:13:229:37 | ...::with_capacity | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:230:13:230:44 | ...::try_with_capacity_in | main.rs:320:13:320:26 | ...::args | main.rs:230:13:230:44 | ...::try_with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:231:13:231:40 | ...::with_capacity_in | main.rs:320:13:320:26 | ...::args | main.rs:231:13:231:40 | ...::with_capacity_in | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:320:13:320:26 | ...::args | user-provided value | +| main.rs:287:22:287:38 | ...::alloc | main.rs:311:25:311:38 | ...::args | main.rs:287:22:287:38 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:311:25:311:38 | ...::args | user-provided value | edges | main.rs:12:36:12:43 | ...: usize | main.rs:18:41:18:41 | v | provenance | | | main.rs:18:41:18:41 | v | main.rs:18:13:18:31 | ...::realloc | provenance | MaD:17 Sink:MaD:17 | @@ -81,7 +81,6 @@ edges | main.rs:32:9:32:10 | l5 | main.rs:33:31:33:32 | l5 | provenance | | | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | main.rs:32:9:32:10 | l5 | provenance | | | main.rs:32:60:32:60 | v | main.rs:32:60:32:89 | ... * ... | provenance | MaD:27 | -| main.rs:32:60:32:60 | v | main.rs:32:60:32:89 | ... * ... | provenance | MaD:46 | | main.rs:32:60:32:89 | ... * ... | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | | main.rs:33:31:33:32 | l5 | main.rs:33:13:33:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:35:9:35:10 | s6 | main.rs:36:60:36:61 | s6 | provenance | | @@ -89,7 +88,6 @@ edges | main.rs:35:15:35:49 | ... * ... | main.rs:35:14:35:54 | ... + ... | provenance | MaD:24 | | main.rs:35:49:35:49 | v | main.rs:35:15:35:49 | ... * ... | provenance | MaD:26 | | main.rs:35:49:35:49 | v | main.rs:35:15:35:49 | ... * ... | provenance | MaD:25 | -| main.rs:35:49:35:49 | v | main.rs:35:15:35:49 | ... * ... | provenance | MaD:45 | | main.rs:36:9:36:10 | l6 | main.rs:37:31:37:32 | l6 | provenance | | | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | main.rs:36:9:36:10 | l6 | provenance | | | main.rs:36:60:36:61 | s6 | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | provenance | MaD:37 | @@ -200,13 +198,13 @@ edges | main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | main.rs:151:15:151:78 | ... .unwrap() | provenance | MaD:44 | | main.rs:151:15:151:78 | ... .unwrap() | main.rs:151:9:151:11 | l10 | provenance | | | main.rs:151:48:151:68 | ...::min(...) | main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | -| main.rs:151:62:151:62 | v | main.rs:151:48:151:68 | ...::min(...) | provenance | MaD:48 | +| main.rs:151:62:151:62 | v | main.rs:151:48:151:68 | ...::min(...) | provenance | MaD:46 | | main.rs:152:31:152:33 | l10 | main.rs:152:13:152:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:154:9:154:11 | l11 | main.rs:155:31:155:33 | l11 | provenance | | | main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | main.rs:154:15:154:78 | ... .unwrap() | provenance | MaD:44 | | main.rs:154:15:154:78 | ... .unwrap() | main.rs:154:9:154:11 | l11 | provenance | | | main.rs:154:48:154:68 | ...::max(...) | main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | -| main.rs:154:62:154:62 | v | main.rs:154:48:154:68 | ...::max(...) | provenance | MaD:47 | +| main.rs:154:62:154:62 | v | main.rs:154:48:154:68 | ...::max(...) | provenance | MaD:45 | | main.rs:155:31:155:33 | l11 | main.rs:155:13:155:29 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | | main.rs:161:13:161:15 | l13 | main.rs:162:35:162:37 | l13 | provenance | | | main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | main.rs:161:19:161:68 | ... .unwrap() | provenance | MaD:44 | @@ -222,14 +220,13 @@ edges | main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | main.rs:192:14:192:56 | ... .unwrap() | provenance | MaD:44 | | main.rs:192:14:192:56 | ... .unwrap() | main.rs:192:9:192:10 | l2 | provenance | | | main.rs:192:46:192:46 | v | main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | provenance | MaD:31 | -| main.rs:193:38:193:39 | l2 | main.rs:193:32:193:36 | alloc | provenance | MaD:10 Sink:MaD:10 | +| main.rs:193:38:193:39 | l2 | main.rs:193:32:193:36 | alloc | provenance | MaD:12 Sink:MaD:12 | | main.rs:193:38:193:39 | l2 | main.rs:194:45:194:46 | l2 | provenance | | -| main.rs:194:45:194:46 | l2 | main.rs:194:32:194:43 | alloc_zeroed | provenance | MaD:11 Sink:MaD:11 | -| main.rs:194:45:194:46 | l2 | main.rs:194:32:194:43 | alloc_zeroed | provenance | MaD:12 Sink:MaD:12 | +| main.rs:194:45:194:46 | l2 | main.rs:194:32:194:43 | alloc_zeroed | provenance | MaD:13 Sink:MaD:13 | | main.rs:194:45:194:46 | l2 | main.rs:195:41:195:42 | l2 | provenance | | -| main.rs:195:41:195:42 | l2 | main.rs:195:32:195:39 | allocate | provenance | MaD:5 Sink:MaD:5 | +| main.rs:195:41:195:42 | l2 | main.rs:195:32:195:39 | allocate | provenance | MaD:7 Sink:MaD:7 | | main.rs:195:41:195:42 | l2 | main.rs:196:48:196:49 | l2 | provenance | | -| main.rs:196:48:196:49 | l2 | main.rs:196:32:196:46 | allocate_zeroed | provenance | MaD:6 Sink:MaD:6 | +| main.rs:196:48:196:49 | l2 | main.rs:196:32:196:46 | allocate_zeroed | provenance | MaD:8 Sink:MaD:8 | | main.rs:196:48:196:49 | l2 | main.rs:197:41:197:42 | l2 | provenance | | | main.rs:197:41:197:42 | l2 | main.rs:197:32:197:39 | allocate | provenance | MaD:1 Sink:MaD:1 | | main.rs:197:41:197:42 | l2 | main.rs:198:48:198:49 | l2 | provenance | | @@ -237,11 +234,10 @@ edges | main.rs:198:48:198:49 | l2 | main.rs:208:53:208:54 | l2 | provenance | | | main.rs:198:48:198:49 | l2 | main.rs:210:60:210:61 | l2 | provenance | | | main.rs:198:48:198:49 | l2 | main.rs:213:51:213:52 | l2 | provenance | | -| main.rs:202:48:202:48 | v | main.rs:202:32:202:38 | realloc | provenance | MaD:13 Sink:MaD:13 | | main.rs:202:48:202:48 | v | main.rs:202:32:202:38 | realloc | provenance | MaD:14 Sink:MaD:14 | -| main.rs:208:53:208:54 | l2 | main.rs:208:40:208:43 | grow | provenance | MaD:7 Sink:MaD:7 | -| main.rs:210:60:210:61 | l2 | main.rs:210:40:210:50 | grow_zeroed | provenance | MaD:8 Sink:MaD:8 | -| main.rs:213:51:213:52 | l2 | main.rs:213:36:213:41 | shrink | provenance | MaD:9 Sink:MaD:9 | +| main.rs:208:53:208:54 | l2 | main.rs:208:40:208:43 | grow | provenance | MaD:9 Sink:MaD:9 | +| main.rs:210:60:210:61 | l2 | main.rs:210:40:210:50 | grow_zeroed | provenance | MaD:10 Sink:MaD:10 | +| main.rs:213:51:213:52 | l2 | main.rs:213:36:213:41 | shrink | provenance | MaD:11 Sink:MaD:11 | | main.rs:217:27:217:34 | ...: usize | main.rs:219:26:219:26 | v | provenance | | | main.rs:219:26:219:26 | v | main.rs:219:13:219:24 | ...::malloc | provenance | MaD:20 Sink:MaD:20 | | main.rs:219:26:219:26 | v | main.rs:220:36:220:36 | v | provenance | | @@ -252,60 +248,63 @@ edges | main.rs:223:26:223:26 | v | main.rs:223:13:223:24 | ...::calloc | provenance | MaD:19 Sink:MaD:19 | | main.rs:223:26:223:26 | v | main.rs:224:31:224:31 | v | provenance | | | main.rs:224:31:224:31 | v | main.rs:224:13:224:25 | ...::realloc | provenance | MaD:21 Sink:MaD:21 | -| main.rs:227:24:227:31 | ...: usize | main.rs:230:46:230:46 | v | provenance | | -| main.rs:230:46:230:46 | v | main.rs:230:13:230:44 | ...::try_with_capacity_in | provenance | MaD:3 Sink:MaD:3 | +| main.rs:227:24:227:31 | ...: usize | main.rs:228:43:228:43 | v | provenance | | +| main.rs:228:43:228:43 | v | main.rs:228:13:228:41 | ...::try_with_capacity | provenance | MaD:3 Sink:MaD:3 | +| main.rs:228:43:228:43 | v | main.rs:229:39:229:39 | v | provenance | | +| main.rs:229:39:229:39 | v | main.rs:229:13:229:37 | ...::with_capacity | provenance | MaD:5 Sink:MaD:5 | +| main.rs:229:39:229:39 | v | main.rs:230:46:230:46 | v | provenance | | +| main.rs:230:46:230:46 | v | main.rs:230:13:230:44 | ...::try_with_capacity_in | provenance | MaD:4 Sink:MaD:4 | | main.rs:230:46:230:46 | v | main.rs:231:42:231:42 | v | provenance | | -| main.rs:231:42:231:42 | v | main.rs:231:13:231:40 | ...::with_capacity_in | provenance | MaD:4 Sink:MaD:4 | -| main.rs:279:24:279:41 | ...: String | main.rs:280:21:280:30 | user_input | provenance | | -| main.rs:280:9:280:17 | num_bytes | main.rs:282:54:282:62 | num_bytes | provenance | | -| main.rs:280:21:280:30 | user_input | main.rs:280:21:280:47 | user_input.parse() [Ok] | provenance | MaD:28 | -| main.rs:280:21:280:30 | user_input | main.rs:280:21:280:47 | user_input.parse() [Ok] | provenance | MaD:29 | -| main.rs:280:21:280:47 | user_input.parse() [Ok] | main.rs:280:21:280:48 | TryExpr | provenance | | -| main.rs:280:21:280:48 | TryExpr | main.rs:280:21:280:77 | ... * ... | provenance | MaD:27 | -| main.rs:280:21:280:48 | TryExpr | main.rs:280:21:280:77 | ... * ... | provenance | MaD:46 | -| main.rs:280:21:280:77 | ... * ... | main.rs:280:9:280:17 | num_bytes | provenance | | -| main.rs:282:9:282:14 | layout | main.rs:284:40:284:45 | layout | provenance | | -| main.rs:282:18:282:66 | ...::from_size_align(...) [Ok] | main.rs:282:18:282:75 | ... .unwrap() | provenance | MaD:44 | -| main.rs:282:18:282:75 | ... .unwrap() | main.rs:282:9:282:14 | layout | provenance | | -| main.rs:282:54:282:62 | num_bytes | main.rs:282:18:282:66 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | -| main.rs:284:40:284:45 | layout | main.rs:284:22:284:38 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:308:25:308:38 | ...::args | main.rs:308:25:308:40 | ...::args(...) [element] | provenance | Src:MaD:22 | -| main.rs:308:25:308:40 | ...::args(...) [element] | main.rs:308:25:308:47 | ... .nth(...) [Some] | provenance | MaD:23 | -| main.rs:308:25:308:47 | ... .nth(...) [Some] | main.rs:308:25:308:74 | ... .unwrap_or(...) | provenance | MaD:42 | -| main.rs:308:25:308:74 | ... .unwrap_or(...) | main.rs:279:24:279:41 | ...: String | provenance | | -| main.rs:317:9:317:9 | v | main.rs:320:34:320:34 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:321:42:321:42 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:322:36:322:36 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:323:27:323:27 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:324:25:324:25 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:325:22:325:22 | v | provenance | | -| main.rs:317:13:317:26 | ...::args | main.rs:317:13:317:28 | ...::args(...) [element] | provenance | Src:MaD:22 | -| main.rs:317:13:317:28 | ...::args(...) [element] | main.rs:317:13:317:35 | ... .nth(...) [Some] | provenance | MaD:23 | -| main.rs:317:13:317:35 | ... .nth(...) [Some] | main.rs:317:13:317:65 | ... .unwrap_or(...) | provenance | MaD:42 | -| main.rs:317:13:317:65 | ... .unwrap_or(...) | main.rs:317:13:317:82 | ... .parse() [Ok] | provenance | MaD:28 | -| main.rs:317:13:317:65 | ... .unwrap_or(...) | main.rs:317:13:317:82 | ... .parse() [Ok] | provenance | MaD:29 | -| main.rs:317:13:317:82 | ... .parse() [Ok] | main.rs:317:13:317:91 | ... .unwrap() | provenance | MaD:44 | -| main.rs:317:13:317:91 | ... .unwrap() | main.rs:317:9:317:9 | v | provenance | | -| main.rs:320:34:320:34 | v | main.rs:12:36:12:43 | ...: usize | provenance | | -| main.rs:321:42:321:42 | v | main.rs:43:44:43:51 | ...: usize | provenance | | -| main.rs:322:36:322:36 | v | main.rs:91:38:91:45 | ...: usize | provenance | | -| main.rs:323:27:323:27 | v | main.rs:183:29:183:36 | ...: usize | provenance | | -| main.rs:324:25:324:25 | v | main.rs:217:27:217:34 | ...: usize | provenance | | -| main.rs:325:22:325:22 | v | main.rs:227:24:227:31 | ...: usize | provenance | | +| main.rs:231:42:231:42 | v | main.rs:231:13:231:40 | ...::with_capacity_in | provenance | MaD:6 Sink:MaD:6 | +| main.rs:282:24:282:41 | ...: String | main.rs:283:21:283:30 | user_input | provenance | | +| main.rs:283:9:283:17 | num_bytes | main.rs:285:54:285:62 | num_bytes | provenance | | +| main.rs:283:21:283:30 | user_input | main.rs:283:21:283:47 | user_input.parse() [Ok] | provenance | MaD:28 | +| main.rs:283:21:283:30 | user_input | main.rs:283:21:283:47 | user_input.parse() [Ok] | provenance | MaD:29 | +| main.rs:283:21:283:47 | user_input.parse() [Ok] | main.rs:283:21:283:48 | TryExpr | provenance | | +| main.rs:283:21:283:48 | TryExpr | main.rs:283:21:283:77 | ... * ... | provenance | MaD:27 | +| main.rs:283:21:283:77 | ... * ... | main.rs:283:9:283:17 | num_bytes | provenance | | +| main.rs:285:9:285:14 | layout | main.rs:287:40:287:45 | layout | provenance | | +| main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | main.rs:285:18:285:75 | ... .unwrap() | provenance | MaD:44 | +| main.rs:285:18:285:75 | ... .unwrap() | main.rs:285:9:285:14 | layout | provenance | | +| main.rs:285:54:285:62 | num_bytes | main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | provenance | MaD:36 | +| main.rs:287:40:287:45 | layout | main.rs:287:22:287:38 | ...::alloc | provenance | MaD:15 Sink:MaD:15 | +| main.rs:311:25:311:38 | ...::args | main.rs:311:25:311:40 | ...::args(...) [element] | provenance | Src:MaD:22 | +| main.rs:311:25:311:40 | ...::args(...) [element] | main.rs:311:25:311:47 | ... .nth(...) [Some] | provenance | MaD:23 | +| main.rs:311:25:311:47 | ... .nth(...) [Some] | main.rs:311:25:311:74 | ... .unwrap_or(...) | provenance | MaD:42 | +| main.rs:311:25:311:74 | ... .unwrap_or(...) | main.rs:282:24:282:41 | ...: String | provenance | | +| main.rs:320:9:320:9 | v | main.rs:323:34:323:34 | v | provenance | | +| main.rs:320:9:320:9 | v | main.rs:324:42:324:42 | v | provenance | | +| main.rs:320:9:320:9 | v | main.rs:325:36:325:36 | v | provenance | | +| main.rs:320:9:320:9 | v | main.rs:326:27:326:27 | v | provenance | | +| main.rs:320:9:320:9 | v | main.rs:327:25:327:25 | v | provenance | | +| main.rs:320:9:320:9 | v | main.rs:328:22:328:22 | v | provenance | | +| main.rs:320:13:320:26 | ...::args | main.rs:320:13:320:28 | ...::args(...) [element] | provenance | Src:MaD:22 | +| main.rs:320:13:320:28 | ...::args(...) [element] | main.rs:320:13:320:35 | ... .nth(...) [Some] | provenance | MaD:23 | +| main.rs:320:13:320:35 | ... .nth(...) [Some] | main.rs:320:13:320:65 | ... .unwrap_or(...) | provenance | MaD:42 | +| main.rs:320:13:320:65 | ... .unwrap_or(...) | main.rs:320:13:320:82 | ... .parse() [Ok] | provenance | MaD:28 | +| main.rs:320:13:320:65 | ... .unwrap_or(...) | main.rs:320:13:320:82 | ... .parse() [Ok] | provenance | MaD:29 | +| main.rs:320:13:320:82 | ... .parse() [Ok] | main.rs:320:13:320:91 | ... .unwrap() | provenance | MaD:44 | +| main.rs:320:13:320:91 | ... .unwrap() | main.rs:320:9:320:9 | v | provenance | | +| main.rs:323:34:323:34 | v | main.rs:12:36:12:43 | ...: usize | provenance | | +| main.rs:324:42:324:42 | v | main.rs:43:44:43:51 | ...: usize | provenance | | +| main.rs:325:36:325:36 | v | main.rs:91:38:91:45 | ...: usize | provenance | | +| main.rs:326:27:326:27 | v | main.rs:183:29:183:36 | ...: usize | provenance | | +| main.rs:327:25:327:25 | v | main.rs:217:27:217:34 | ...: usize | provenance | | +| main.rs:328:22:328:22 | v | main.rs:227:24:227:31 | ...: usize | provenance | | models | 1 | Sink: ::allocate; Argument[0]; alloc-layout | | 2 | Sink: ::allocate_zeroed; Argument[0]; alloc-layout | -| 3 | Sink: ::try_with_capacity_in; Argument[0]; alloc-layout | -| 4 | Sink: ::with_capacity_in; Argument[0]; alloc-layout | -| 5 | Sink: ::allocate; Argument[0]; alloc-layout | -| 6 | Sink: ::allocate_zeroed; Argument[0]; alloc-layout | -| 7 | Sink: ::grow; Argument[2]; alloc-layout | -| 8 | Sink: ::grow_zeroed; Argument[2]; alloc-layout | -| 9 | Sink: ::shrink; Argument[2]; alloc-layout | -| 10 | Sink: ::alloc; Argument[0]; alloc-size | -| 11 | Sink: ::alloc_zeroed; Argument[0]; alloc-layout | -| 12 | Sink: ::alloc_zeroed; Argument[0]; alloc-size | -| 13 | Sink: ::realloc; Argument[2]; alloc-layout | +| 3 | Sink: ::try_with_capacity; Argument[0]; alloc-layout | +| 4 | Sink: ::try_with_capacity_in; Argument[0]; alloc-layout | +| 5 | Sink: ::with_capacity; Argument[0]; alloc-layout | +| 6 | Sink: ::with_capacity_in; Argument[0]; alloc-layout | +| 7 | Sink: ::allocate; Argument[0]; alloc-size | +| 8 | Sink: ::allocate_zeroed; Argument[0]; alloc-size | +| 9 | Sink: ::grow; Argument[2]; alloc-size | +| 10 | Sink: ::grow_zeroed; Argument[2]; alloc-size | +| 11 | Sink: ::shrink; Argument[2]; alloc-size | +| 12 | Sink: ::alloc; Argument[0]; alloc-size | +| 13 | Sink: ::alloc_zeroed; Argument[0]; alloc-size | | 14 | Sink: ::realloc; Argument[2]; alloc-size | | 15 | Sink: alloc::alloc::alloc; Argument[0]; alloc-layout | | 16 | Sink: alloc::alloc::alloc_zeroed; Argument[0]; alloc-layout | @@ -337,10 +336,8 @@ models | 42 | Summary: ::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | | 43 | Summary: ::expect; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | | 44 | Summary: ::unwrap; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | -| 45 | Summary: ::mul; Argument[0]; ReturnValue; taint | -| 46 | Summary: ::mul; Argument[self]; ReturnValue; taint | -| 47 | Summary: core::cmp::max; Argument[0]; ReturnValue; value | -| 48 | Summary: core::cmp::min; Argument[0]; ReturnValue; value | +| 45 | Summary: core::cmp::max; Argument[0]; ReturnValue; value | +| 46 | Summary: core::cmp::min; Argument[0]; ReturnValue; value | nodes | main.rs:12:36:12:43 | ...: usize | semmle.label | ...: usize | | main.rs:18:13:18:31 | ...::realloc | semmle.label | ...::realloc | @@ -511,7 +508,6 @@ nodes | main.rs:193:32:193:36 | alloc | semmle.label | alloc | | main.rs:193:38:193:39 | l2 | semmle.label | l2 | | main.rs:194:32:194:43 | alloc_zeroed | semmle.label | alloc_zeroed | -| main.rs:194:32:194:43 | alloc_zeroed | semmle.label | alloc_zeroed | | main.rs:194:45:194:46 | l2 | semmle.label | l2 | | main.rs:195:32:195:39 | allocate | semmle.label | allocate | | main.rs:195:41:195:42 | l2 | semmle.label | l2 | @@ -522,7 +518,6 @@ nodes | main.rs:198:32:198:46 | allocate_zeroed | semmle.label | allocate_zeroed | | main.rs:198:48:198:49 | l2 | semmle.label | l2 | | main.rs:202:32:202:38 | realloc | semmle.label | realloc | -| main.rs:202:32:202:38 | realloc | semmle.label | realloc | | main.rs:202:48:202:48 | v | semmle.label | v | | main.rs:208:40:208:43 | grow | semmle.label | grow | | main.rs:208:53:208:54 | l2 | semmle.label | l2 | @@ -542,37 +537,41 @@ nodes | main.rs:224:13:224:25 | ...::realloc | semmle.label | ...::realloc | | main.rs:224:31:224:31 | v | semmle.label | v | | main.rs:227:24:227:31 | ...: usize | semmle.label | ...: usize | +| main.rs:228:13:228:41 | ...::try_with_capacity | semmle.label | ...::try_with_capacity | +| main.rs:228:43:228:43 | v | semmle.label | v | +| main.rs:229:13:229:37 | ...::with_capacity | semmle.label | ...::with_capacity | +| main.rs:229:39:229:39 | v | semmle.label | v | | main.rs:230:13:230:44 | ...::try_with_capacity_in | semmle.label | ...::try_with_capacity_in | | main.rs:230:46:230:46 | v | semmle.label | v | | main.rs:231:13:231:40 | ...::with_capacity_in | semmle.label | ...::with_capacity_in | | main.rs:231:42:231:42 | v | semmle.label | v | -| main.rs:279:24:279:41 | ...: String | semmle.label | ...: String | -| main.rs:280:9:280:17 | num_bytes | semmle.label | num_bytes | -| main.rs:280:21:280:30 | user_input | semmle.label | user_input | -| main.rs:280:21:280:47 | user_input.parse() [Ok] | semmle.label | user_input.parse() [Ok] | -| main.rs:280:21:280:48 | TryExpr | semmle.label | TryExpr | -| main.rs:280:21:280:77 | ... * ... | semmle.label | ... * ... | -| main.rs:282:9:282:14 | layout | semmle.label | layout | -| main.rs:282:18:282:66 | ...::from_size_align(...) [Ok] | semmle.label | ...::from_size_align(...) [Ok] | -| main.rs:282:18:282:75 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:282:54:282:62 | num_bytes | semmle.label | num_bytes | -| main.rs:284:22:284:38 | ...::alloc | semmle.label | ...::alloc | -| main.rs:284:40:284:45 | layout | semmle.label | layout | -| main.rs:308:25:308:38 | ...::args | semmle.label | ...::args | -| main.rs:308:25:308:40 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | -| main.rs:308:25:308:47 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | -| main.rs:308:25:308:74 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | -| main.rs:317:9:317:9 | v | semmle.label | v | -| main.rs:317:13:317:26 | ...::args | semmle.label | ...::args | -| main.rs:317:13:317:28 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | -| main.rs:317:13:317:35 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | -| main.rs:317:13:317:65 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | -| main.rs:317:13:317:82 | ... .parse() [Ok] | semmle.label | ... .parse() [Ok] | -| main.rs:317:13:317:91 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:320:34:320:34 | v | semmle.label | v | -| main.rs:321:42:321:42 | v | semmle.label | v | -| main.rs:322:36:322:36 | v | semmle.label | v | -| main.rs:323:27:323:27 | v | semmle.label | v | -| main.rs:324:25:324:25 | v | semmle.label | v | -| main.rs:325:22:325:22 | v | semmle.label | v | +| main.rs:282:24:282:41 | ...: String | semmle.label | ...: String | +| main.rs:283:9:283:17 | num_bytes | semmle.label | num_bytes | +| main.rs:283:21:283:30 | user_input | semmle.label | user_input | +| main.rs:283:21:283:47 | user_input.parse() [Ok] | semmle.label | user_input.parse() [Ok] | +| main.rs:283:21:283:48 | TryExpr | semmle.label | TryExpr | +| main.rs:283:21:283:77 | ... * ... | semmle.label | ... * ... | +| main.rs:285:9:285:14 | layout | semmle.label | layout | +| main.rs:285:18:285:66 | ...::from_size_align(...) [Ok] | semmle.label | ...::from_size_align(...) [Ok] | +| main.rs:285:18:285:75 | ... .unwrap() | semmle.label | ... .unwrap() | +| main.rs:285:54:285:62 | num_bytes | semmle.label | num_bytes | +| main.rs:287:22:287:38 | ...::alloc | semmle.label | ...::alloc | +| main.rs:287:40:287:45 | layout | semmle.label | layout | +| main.rs:311:25:311:38 | ...::args | semmle.label | ...::args | +| main.rs:311:25:311:40 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | +| main.rs:311:25:311:47 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | +| main.rs:311:25:311:74 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | +| main.rs:320:9:320:9 | v | semmle.label | v | +| main.rs:320:13:320:26 | ...::args | semmle.label | ...::args | +| main.rs:320:13:320:28 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | +| main.rs:320:13:320:35 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | +| main.rs:320:13:320:65 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | +| main.rs:320:13:320:82 | ... .parse() [Ok] | semmle.label | ... .parse() [Ok] | +| main.rs:320:13:320:91 | ... .unwrap() | semmle.label | ... .unwrap() | +| main.rs:323:34:323:34 | v | semmle.label | v | +| main.rs:324:42:324:42 | v | semmle.label | v | +| main.rs:325:36:325:36 | v | semmle.label | v | +| main.rs:326:27:326:27 | v | semmle.label | v | +| main.rs:327:25:327:25 | v | semmle.label | v | +| main.rs:328:22:328:22 | v | semmle.label | v | subpaths diff --git a/rust/ql/test/query-tests/security/CWE-770/main.rs b/rust/ql/test/query-tests/security/CWE-770/main.rs index 1f549cb2675..916bc55ad7d 100644 --- a/rust/ql/test/query-tests/security/CWE-770/main.rs +++ b/rust/ql/test/query-tests/security/CWE-770/main.rs @@ -225,8 +225,8 @@ unsafe fn test_libc_alloc(v: usize) { } unsafe fn test_vectors(v: usize) { - let _ = Vec::::try_with_capacity(v).unwrap(); // $ MISSING: Alert[rust/uncontrolled-allocation-size] - let _ = Vec::::with_capacity(v); // $ MISSING: Alert[rust/uncontrolled-allocation-size] + let _ = Vec::::try_with_capacity(v).unwrap(); // $ Alert[rust/uncontrolled-allocation-size]=arg1 + let _ = Vec::::with_capacity(v); // $ Alert[rust/uncontrolled-allocation-size]=arg1 let _ = Vec::::try_with_capacity_in(v, std::alloc::Global).unwrap(); // $ Alert[rust/uncontrolled-allocation-size]=arg1 let _ = Vec::::with_capacity_in(v, std::alloc::Global); // $ Alert[rust/uncontrolled-allocation-size]=arg1 @@ -238,6 +238,9 @@ unsafe fn test_vectors(v: usize) { v1.resize(v, 1); // $ MISSING: Alert[rust/uncontrolled-allocation-size] v1.set_len(v); // $ MISSING: Alert[rust/uncontrolled-allocation-size] + let mut v2 = vec![1, 2, 3, 4, 5, 6]; + let _ = v2.split_off(v); // GOOD (any allocation is bounded by the initial size of the vector) + let l2 = std::alloc::Layout::new::<[u64; 200]>(); let m2 = std::ptr::NonNull::::new(std::alloc::alloc(l2).cast::()).unwrap(); let _ = Vec::::from_parts(m2, v, 200); // $ MISSING: Alert[rust/uncontrolled-allocation-size] diff --git a/rust/ql/test/query-tests/security/CWE-798/HardcodedCryptographicValue.expected b/rust/ql/test/query-tests/security/CWE-798/HardcodedCryptographicValue.expected index 381615208f0..1d9837feafe 100644 --- a/rust/ql/test/query-tests/security/CWE-798/HardcodedCryptographicValue.expected +++ b/rust/ql/test/query-tests/security/CWE-798/HardcodedCryptographicValue.expected @@ -23,32 +23,32 @@ edges | test_cipher.rs:18:28:18:36 | &... [&ref] | test_cipher.rs:18:9:18:14 | const1 [&ref] | provenance | | | test_cipher.rs:18:29:18:36 | [0u8; 16] | test_cipher.rs:18:28:18:36 | &... [&ref] | provenance | | | test_cipher.rs:19:49:19:79 | ...::from_slice(...) [&ref] | test_cipher.rs:19:30:19:47 | ...::new | provenance | MaD:3 Sink:MaD:3 | -| test_cipher.rs:19:73:19:78 | const1 [&ref] | test_cipher.rs:19:49:19:79 | ...::from_slice(...) [&ref] | provenance | MaD:24 | +| test_cipher.rs:19:73:19:78 | const1 [&ref] | test_cipher.rs:19:49:19:79 | ...::from_slice(...) [&ref] | provenance | MaD:23 | | test_cipher.rs:25:9:25:14 | const4 [&ref] | test_cipher.rs:26:66:26:71 | const4 [&ref] | provenance | | | test_cipher.rs:25:28:25:36 | &... [&ref] | test_cipher.rs:25:9:25:14 | const4 [&ref] | provenance | | | test_cipher.rs:25:29:25:36 | [0u8; 16] | test_cipher.rs:25:28:25:36 | &... [&ref] | provenance | | | test_cipher.rs:26:42:26:72 | ...::from_slice(...) [&ref] | test_cipher.rs:26:30:26:40 | ...::new | provenance | MaD:4 Sink:MaD:4 | -| test_cipher.rs:26:66:26:71 | const4 [&ref] | test_cipher.rs:26:42:26:72 | ...::from_slice(...) [&ref] | provenance | MaD:24 | +| test_cipher.rs:26:66:26:71 | const4 [&ref] | test_cipher.rs:26:42:26:72 | ...::from_slice(...) [&ref] | provenance | MaD:23 | | test_cipher.rs:29:9:29:14 | const5 [&ref] | test_cipher.rs:30:95:30:100 | const5 [&ref] | provenance | | | test_cipher.rs:29:28:29:36 | &... [&ref] | test_cipher.rs:29:9:29:14 | const5 [&ref] | provenance | | | test_cipher.rs:29:29:29:36 | [0u8; 16] | test_cipher.rs:29:28:29:36 | &... [&ref] | provenance | | | test_cipher.rs:30:72:30:101 | ...::from_slice(...) [&ref] | test_cipher.rs:30:30:30:40 | ...::new | provenance | MaD:5 Sink:MaD:5 | -| test_cipher.rs:30:95:30:100 | const5 [&ref] | test_cipher.rs:30:72:30:101 | ...::from_slice(...) [&ref] | provenance | MaD:24 | +| test_cipher.rs:30:95:30:100 | const5 [&ref] | test_cipher.rs:30:72:30:101 | ...::from_slice(...) [&ref] | provenance | MaD:23 | | test_cipher.rs:37:9:37:14 | const7 | test_cipher.rs:38:74:38:79 | const7 | provenance | | | test_cipher.rs:37:27:37:74 | [...] | test_cipher.rs:37:9:37:14 | const7 | provenance | | | test_cipher.rs:38:49:38:80 | ...::from_slice(...) [&ref] | test_cipher.rs:38:30:38:47 | ...::new | provenance | MaD:3 Sink:MaD:3 | -| test_cipher.rs:38:73:38:79 | &const7 [&ref] | test_cipher.rs:38:49:38:80 | ...::from_slice(...) [&ref] | provenance | MaD:24 | +| test_cipher.rs:38:73:38:79 | &const7 [&ref] | test_cipher.rs:38:49:38:80 | ...::from_slice(...) [&ref] | provenance | MaD:23 | | test_cipher.rs:38:74:38:79 | const7 | test_cipher.rs:38:73:38:79 | &const7 [&ref] | provenance | | | test_cipher.rs:41:9:41:14 | const8 [&ref] | test_cipher.rs:42:73:42:78 | const8 [&ref] | provenance | | | test_cipher.rs:41:28:41:76 | &... [&ref] | test_cipher.rs:41:9:41:14 | const8 [&ref] | provenance | | | test_cipher.rs:41:29:41:76 | [...] | test_cipher.rs:41:28:41:76 | &... [&ref] | provenance | | | test_cipher.rs:42:49:42:79 | ...::from_slice(...) [&ref] | test_cipher.rs:42:30:42:47 | ...::new | provenance | MaD:3 Sink:MaD:3 | -| test_cipher.rs:42:73:42:78 | const8 [&ref] | test_cipher.rs:42:49:42:79 | ...::from_slice(...) [&ref] | provenance | MaD:24 | +| test_cipher.rs:42:73:42:78 | const8 [&ref] | test_cipher.rs:42:49:42:79 | ...::from_slice(...) [&ref] | provenance | MaD:23 | | test_cipher.rs:50:9:50:15 | const10 [element] | test_cipher.rs:51:75:51:81 | const10 [element] | provenance | | | test_cipher.rs:50:37:50:52 | ...::zeroed | test_cipher.rs:50:37:50:54 | ...::zeroed(...) [element] | provenance | Src:MaD:7 | | test_cipher.rs:50:37:50:54 | ...::zeroed(...) [element] | test_cipher.rs:50:9:50:15 | const10 [element] | provenance | | | test_cipher.rs:51:50:51:82 | ...::from_slice(...) [&ref, element] | test_cipher.rs:51:31:51:48 | ...::new | provenance | MaD:3 Sink:MaD:3 Sink:MaD:3 | -| test_cipher.rs:51:74:51:81 | &const10 [&ref, element] | test_cipher.rs:51:50:51:82 | ...::from_slice(...) [&ref, element] | provenance | MaD:24 | +| test_cipher.rs:51:74:51:81 | &const10 [&ref, element] | test_cipher.rs:51:50:51:82 | ...::from_slice(...) [&ref, element] | provenance | MaD:23 | | test_cipher.rs:51:75:51:81 | const10 [element] | test_cipher.rs:51:74:51:81 | &const10 [&ref, element] | provenance | | | test_cipher.rs:73:9:73:14 | const2 [&ref] | test_cipher.rs:74:46:74:51 | const2 [&ref] | provenance | | | test_cipher.rs:73:18:73:26 | &... [&ref] | test_cipher.rs:73:9:73:14 | const2 [&ref] | provenance | | @@ -72,7 +72,7 @@ edges | test_cookie.rs:38:28:38:36 | [0u8; 64] | test_cookie.rs:38:18:38:37 | ...::from(...) | provenance | MaD:22 | | test_cookie.rs:42:34:42:39 | array2 | test_cookie.rs:42:14:42:32 | ...::from | provenance | MaD:2 Sink:MaD:2 | | test_cookie.rs:49:9:49:14 | array3 [element] | test_cookie.rs:53:34:53:39 | array3 [element] | provenance | | -| test_cookie.rs:49:23:49:25 | 0u8 | test_cookie.rs:49:23:49:29 | ...::from_elem(...) [element] | provenance | MaD:25 | +| test_cookie.rs:49:23:49:25 | 0u8 | test_cookie.rs:49:23:49:29 | ...::from_elem(...) [element] | provenance | MaD:24 | | test_cookie.rs:49:23:49:29 | ...::from_elem(...) [element] | test_cookie.rs:49:9:49:14 | array3 [element] | provenance | | | test_cookie.rs:53:34:53:39 | array3 [element] | test_cookie.rs:53:14:53:32 | ...::from | provenance | MaD:2 Sink:MaD:2 | | test_heuristic.rs:44:9:44:16 | const_iv [&ref] | test_heuristic.rs:45:41:45:48 | const_iv | provenance | | @@ -85,7 +85,6 @@ edges | test_heuristic.rs:70:23:70:35 | ... << ... | test_heuristic.rs:70:22:70:62 | ... ^ ... | provenance | MaD:15 | | test_heuristic.rs:70:34:70:35 | 32 | test_heuristic.rs:70:23:70:35 | ... << ... | provenance | MaD:17 | | test_heuristic.rs:70:34:70:35 | 32 | test_heuristic.rs:70:23:70:35 | ... << ... | provenance | MaD:16 | -| test_heuristic.rs:70:34:70:35 | 32 | test_heuristic.rs:70:23:70:35 | ... << ... | provenance | MaD:23 | | test_heuristic.rs:70:41:70:61 | ... & ... | test_heuristic.rs:70:22:70:62 | ... ^ ... | provenance | MaD:14 | | test_heuristic.rs:70:41:70:61 | ... & ... | test_heuristic.rs:70:22:70:62 | ... ^ ... | provenance | MaD:13 | | test_heuristic.rs:70:52:70:61 | 0xFFFFFFFF | test_heuristic.rs:70:41:70:61 | ... & ... | provenance | MaD:12 | @@ -108,14 +107,13 @@ models | 15 | Summary: <_ as core::ops::bit::BitXor>::bitxor; Argument[self]; ReturnValue; taint | | 16 | Summary: <_ as core::ops::bit::Shl>::shl; Argument[0].Reference; ReturnValue; taint | | 17 | Summary: <_ as core::ops::bit::Shl>::shl; Argument[0]; ReturnValue; taint | -| 18 | Summary: ::from; Argument[0].Field[0]; ReturnValue; value | -| 19 | Summary: ::from; Argument[0].Field[alloc::borrow::Cow::Owned(0)]; ReturnValue; value | -| 20 | Summary: ::from; Argument[0].Field[alloc::bstr::ByteString(0)]; ReturnValue; value | -| 21 | Summary: ::from; Argument[0].Field[alloc::collections::binary_heap::BinaryHeap::data]; ReturnValue; value | -| 22 | Summary: ::from; Argument[0].Field[alloc::string::String::vec]; ReturnValue; value | -| 23 | Summary: ::shl; Argument[0]; ReturnValue; taint | -| 24 | Summary: ::from_slice; Argument[0].Reference; ReturnValue.Reference; value | -| 25 | Summary: alloc::vec::from_elem; Argument[0]; ReturnValue.Element; value | +| 18 | Summary: ::from; Argument[0].Field[alloc::borrow::Cow::Owned(0)]; ReturnValue; value | +| 19 | Summary: ::from; Argument[0].Field[alloc::bstr::ByteString(0)]; ReturnValue; value | +| 20 | Summary: ::from; Argument[0].Field[alloc::collections::binary_heap::BinaryHeap::data]; ReturnValue; value | +| 21 | Summary: ::from; Argument[0].Field[alloc::string::String::vec]; ReturnValue; value | +| 22 | Summary: ::from; Argument[0]; ReturnValue; taint | +| 23 | Summary: ::from_slice; Argument[0].Reference; ReturnValue.Reference; value | +| 24 | Summary: alloc::vec::from_elem; Argument[0]; ReturnValue.Element; value | nodes | test_cipher.rs:18:9:18:14 | const1 [&ref] | semmle.label | const1 [&ref] | | test_cipher.rs:18:28:18:36 | &... [&ref] | semmle.label | &... [&ref] | diff --git a/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected b/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected index 69573c73857..92e11e895cd 100644 --- a/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected +++ b/rust/ql/test/query-tests/security/CWE-825/AccessAfterLifetime.expected @@ -137,7 +137,7 @@ edges | lifetime.rs:443:6:443:7 | p1 | lifetime.rs:446:13:446:14 | p1 | provenance | | | lifetime.rs:443:6:443:7 | p1 | lifetime.rs:450:2:450:10 | return p1 | provenance | | | lifetime.rs:443:23:443:44 | ...::from_ref(...) | lifetime.rs:443:6:443:7 | p1 | provenance | | -| lifetime.rs:443:42:443:43 | r1 | lifetime.rs:443:23:443:44 | ...::from_ref(...) | provenance | MaD:3 | +| lifetime.rs:443:42:443:43 | r1 | lifetime.rs:443:23:443:44 | ...::from_ref(...) | provenance | MaD:5 | | lifetime.rs:450:2:450:10 | return p1 | lifetime.rs:454:11:454:29 | get_ptr_from_ref(...) | provenance | | | lifetime.rs:450:2:450:10 | return p1 | lifetime.rs:460:13:460:31 | get_ptr_from_ref(...) | provenance | | | lifetime.rs:454:6:454:7 | p1 | lifetime.rs:459:13:459:14 | p1 | provenance | | @@ -158,18 +158,23 @@ edges | main.rs:18:9:18:10 | p1 [&ref] | main.rs:21:19:21:20 | p1 | provenance | | | main.rs:18:9:18:10 | p1 [&ref] | main.rs:29:19:29:20 | p1 | provenance | | | main.rs:18:14:18:29 | ...::as_ptr(...) [&ref] | main.rs:18:9:18:10 | p1 [&ref] | provenance | | -| main.rs:18:26:18:28 | &b1 | main.rs:18:14:18:29 | ...::as_ptr(...) [&ref] | provenance | MaD:2 | +| main.rs:18:26:18:28 | &b1 | main.rs:18:14:18:29 | ...::as_ptr(...) [&ref] | provenance | MaD:3 | +| main.rs:18:26:18:28 | &b1 | main.rs:18:14:18:29 | ...::as_ptr(...) [&ref] | provenance | MaD:4 | | main.rs:44:9:44:10 | p2 [&ref] | main.rs:51:23:51:24 | p2 | provenance | | | main.rs:44:9:44:10 | p2 [&ref] | main.rs:64:23:64:24 | p2 | provenance | | | main.rs:44:14:44:29 | ...::as_ptr(...) [&ref] | main.rs:44:9:44:10 | p2 [&ref] | provenance | | -| main.rs:44:26:44:28 | &b2 | main.rs:44:14:44:29 | ...::as_ptr(...) [&ref] | provenance | MaD:2 | +| main.rs:44:26:44:28 | &b2 | main.rs:44:14:44:29 | ...::as_ptr(...) [&ref] | provenance | MaD:3 | +| main.rs:44:26:44:28 | &b2 | main.rs:44:14:44:29 | ...::as_ptr(...) [&ref] | provenance | MaD:4 | | main.rs:47:9:47:10 | p3 [&ref] | main.rs:52:23:52:24 | p3 | provenance | | | main.rs:47:14:47:37 | ...::as_mut_ptr(...) [&ref] | main.rs:47:9:47:10 | p3 [&ref] | provenance | | | main.rs:47:30:47:36 | &mut b3 | main.rs:47:14:47:37 | ...::as_mut_ptr(...) [&ref] | provenance | MaD:1 | +| main.rs:47:30:47:36 | &mut b3 | main.rs:47:14:47:37 | ...::as_mut_ptr(...) [&ref] | provenance | MaD:2 | models -| 1 | Summary: ::as_mut_ptr; Argument[0].Reference.Reference; ReturnValue.Reference; value | -| 2 | Summary: ::as_ptr; Argument[0].Reference.Reference; ReturnValue.Reference; value | -| 3 | Summary: core::ptr::from_ref; Argument[0]; ReturnValue; value | +| 1 | Summary: ::as_mut_ptr; Argument[0].Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | +| 2 | Summary: ::as_mut_ptr; Argument[0].Reference.Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | +| 3 | Summary: ::as_ptr; Argument[0].Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | +| 4 | Summary: ::as_ptr; Argument[0].Reference.Field[alloc::boxed::Box(0)]; ReturnValue.Reference; value | +| 5 | Summary: core::ptr::from_ref; Argument[0]; ReturnValue; value | nodes | deallocation.rs:242:6:242:7 | p1 | semmle.label | p1 | | deallocation.rs:242:30:242:38 | &raw const my_buffer | semmle.label | &raw const my_buffer | diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index 8896e5809f2..6fb45ae05b9 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -1440,28 +1440,6 @@ class _: """ -class MacroBlockExpr(Expr): - """ - A sequence of statements generated by a `MacroCall`. For example: - ```rust - macro_rules! my_macro { - () => { - let mut x = 40; - x += 2; - x - }; - } - - my_macro!(); // this macro expands to a sequence of statements (and an expression) - ``` - """ - - __cfg__ = True - - statements: list[Stmt] | child - tail_expr: optional[Expr] | child - - @annotate(MacroTypeRepr) class _: """ diff --git a/rust/tools/builtins/mentions.rs b/rust/tools/builtins/mentions.rs index a3731164893..11b3bda6a52 100644 --- a/rust/tools/builtins/mentions.rs +++ b/rust/tools/builtins/mentions.rs @@ -3,4 +3,4 @@ use std::future::Future; fn mention_dyn_future(f: &dyn Future) {} -fn mention_dyn_fn_once(f: &dyn FnOnce() -> F) {} +fn mention_dyn_fn(f: &dyn Fn() -> F) {} diff --git a/shared/concepts/CHANGELOG.md b/shared/concepts/CHANGELOG.md index e2c7978d2b6..161a5091515 100644 --- a/shared/concepts/CHANGELOG.md +++ b/shared/concepts/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.0.14 + +No user-facing changes. + +## 0.0.13 + +No user-facing changes. + ## 0.0.12 No user-facing changes. diff --git a/shared/concepts/change-notes/released/0.0.13.md b/shared/concepts/change-notes/released/0.0.13.md new file mode 100644 index 00000000000..f679eaf0313 --- /dev/null +++ b/shared/concepts/change-notes/released/0.0.13.md @@ -0,0 +1,3 @@ +## 0.0.13 + +No user-facing changes. diff --git a/shared/concepts/change-notes/released/0.0.14.md b/shared/concepts/change-notes/released/0.0.14.md new file mode 100644 index 00000000000..63b4d50ca45 --- /dev/null +++ b/shared/concepts/change-notes/released/0.0.14.md @@ -0,0 +1,3 @@ +## 0.0.14 + +No user-facing changes. diff --git a/shared/concepts/codeql-pack.release.yml b/shared/concepts/codeql-pack.release.yml index 997fb8da83c..ca29e45d0a6 100644 --- a/shared/concepts/codeql-pack.release.yml +++ b/shared/concepts/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.12 +lastReleaseVersion: 0.0.14 diff --git a/shared/concepts/qlpack.yml b/shared/concepts/qlpack.yml index 8c44a51ff93..0acc44a77e6 100644 --- a/shared/concepts/qlpack.yml +++ b/shared/concepts/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/concepts -version: 0.0.13-dev +version: 0.0.15-dev groups: shared library: true dependencies: diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index 523f7667b24..a0141238ede 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.0.24 + +No user-facing changes. + +## 2.0.23 + +No user-facing changes. + ## 2.0.22 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/2.0.23.md b/shared/controlflow/change-notes/released/2.0.23.md new file mode 100644 index 00000000000..ab6f6f171ed --- /dev/null +++ b/shared/controlflow/change-notes/released/2.0.23.md @@ -0,0 +1,3 @@ +## 2.0.23 + +No user-facing changes. diff --git a/shared/controlflow/change-notes/released/2.0.24.md b/shared/controlflow/change-notes/released/2.0.24.md new file mode 100644 index 00000000000..6547901c334 --- /dev/null +++ b/shared/controlflow/change-notes/released/2.0.24.md @@ -0,0 +1,3 @@ +## 2.0.24 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 980bdfe195b..1460df314d5 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.22 +lastReleaseVersion: 2.0.24 diff --git a/shared/controlflow/codeql/controlflow/Guards.qll b/shared/controlflow/codeql/controlflow/Guards.qll index b313afcdb6b..f6774db1eb9 100644 --- a/shared/controlflow/codeql/controlflow/Guards.qll +++ b/shared/controlflow/codeql/controlflow/Guards.qll @@ -1364,7 +1364,7 @@ module Make< /** * Holds if the guard `g` validates the expression `e` upon evaluating to `val`. */ - private predicate guardChecks(Guard g, Expr e, GuardValue val, P par) { + predicate guardChecks(Guard g, Expr e, GuardValue val, P par) { guardChecks0(g, e, val, par) or exists(NonOverridableMethodCall call, ParameterPosition ppos, ArgumentPosition apos | diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 37ae8d21aaf..fe9c546bd4a 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 2.0.23-dev +version: 2.0.25-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 8ade6c20ef4..2190138e037 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.0.24 + +No user-facing changes. + +## 2.0.23 + +No user-facing changes. + ## 2.0.22 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/2.0.23.md b/shared/dataflow/change-notes/released/2.0.23.md new file mode 100644 index 00000000000..ab6f6f171ed --- /dev/null +++ b/shared/dataflow/change-notes/released/2.0.23.md @@ -0,0 +1,3 @@ +## 2.0.23 + +No user-facing changes. diff --git a/shared/dataflow/change-notes/released/2.0.24.md b/shared/dataflow/change-notes/released/2.0.24.md new file mode 100644 index 00000000000..6547901c334 --- /dev/null +++ b/shared/dataflow/change-notes/released/2.0.24.md @@ -0,0 +1,3 @@ +## 2.0.24 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 980bdfe195b..1460df314d5 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.22 +lastReleaseVersion: 2.0.24 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 33335ec904f..f1c036d74df 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 2.0.23-dev +version: 2.0.25-dev groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 27e5fb03dfa..40e305bad35 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.39.md b/shared/mad/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/shared/mad/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.40.md b/shared/mad/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/shared/mad/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/shared/mad/codeql/mad/modelgenerator/internal/ModelGeneratorImpl.qll b/shared/mad/codeql/mad/modelgenerator/internal/ModelGeneratorImpl.qll index 8abe4563580..ca60fb637c9 100644 --- a/shared/mad/codeql/mad/modelgenerator/internal/ModelGeneratorImpl.qll +++ b/shared/mad/codeql/mad/modelgenerator/internal/ModelGeneratorImpl.qll @@ -115,6 +115,9 @@ signature module ModelGeneratorCommonInputSig, dbscheme_path: PathBuf, ql_library_path: PathBuf, + regenerate_instructions: &str, ) -> std::io::Result<()> { let dbscheme_file = File::create(dbscheme_path).map_err(|e| { tracing::error!("Failed to create dbscheme file: {}", e); @@ -26,8 +27,9 @@ pub fn generate( writeln!( dbscheme_writer, "// CodeQL database schema for {}\n\ - // Automatically generated from the tree-sitter grammar; do not edit\n", - languages[0].name + // Automatically generated from the tree-sitter grammar; do not edit\n\ + // To regenerate, {}\n", + languages[0].name, regenerate_instructions )?; writeln!(dbscheme_writer, include_str!("prefix.dbscheme"))?; diff --git a/shared/tree-sitter-extractor/src/generator/prefix.dbscheme b/shared/tree-sitter-extractor/src/generator/prefix.dbscheme index a52390bed1a..d59777f5e3d 100644 --- a/shared/tree-sitter-extractor/src/generator/prefix.dbscheme +++ b/shared/tree-sitter-extractor/src/generator/prefix.dbscheme @@ -106,11 +106,23 @@ yaml_locations(unique int locatable: @yaml_locatable ref, @yaml_locatable = @yaml_node | @yaml_error; /*- Database metadata -*/ + +/** + * The CLI will automatically emit applicable tuples for this table, + * such as `databaseMetadata("isOverlay", "true")` when building an + * overlay database. + */ databaseMetadata( string metadataKey: string ref, string value: string ref ); +/*- Overlay support -*/ + +/** + * The CLI will automatically emit tuples for each new/modified/deleted file + * when building an overlay database. + */ overlayChangedFiles( string path: string ref ); diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index ad2c71497db..6a9afbe090a 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.39.md b/shared/tutorial/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.40.md b/shared/tutorial/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index a1ea6bd35cf..8ffe365de0a 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.39-dev +version: 1.0.41-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 38e81a0275d..37cada86362 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.39.md b/shared/typeflow/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.40.md b/shared/typeflow/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index e2e41e87b79..773700f2ac1 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.39-dev +version: 1.0.41-dev groups: shared library: true dependencies: diff --git a/shared/typeinference/CHANGELOG.md b/shared/typeinference/CHANGELOG.md index d5252bfc0c4..2daa850c9cd 100644 --- a/shared/typeinference/CHANGELOG.md +++ b/shared/typeinference/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.0.21 + +No user-facing changes. + +## 0.0.20 + +No user-facing changes. + ## 0.0.19 No user-facing changes. diff --git a/shared/typeinference/change-notes/released/0.0.20.md b/shared/typeinference/change-notes/released/0.0.20.md new file mode 100644 index 00000000000..98daf20a59a --- /dev/null +++ b/shared/typeinference/change-notes/released/0.0.20.md @@ -0,0 +1,3 @@ +## 0.0.20 + +No user-facing changes. diff --git a/shared/typeinference/change-notes/released/0.0.21.md b/shared/typeinference/change-notes/released/0.0.21.md new file mode 100644 index 00000000000..d32472e976d --- /dev/null +++ b/shared/typeinference/change-notes/released/0.0.21.md @@ -0,0 +1,3 @@ +## 0.0.21 + +No user-facing changes. diff --git a/shared/typeinference/codeql-pack.release.yml b/shared/typeinference/codeql-pack.release.yml index f406319f372..0c15c351db4 100644 --- a/shared/typeinference/codeql-pack.release.yml +++ b/shared/typeinference/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.19 +lastReleaseVersion: 0.0.21 diff --git a/shared/typeinference/qlpack.yml b/shared/typeinference/qlpack.yml index 0a5b99e7f11..323af6d7d5d 100644 --- a/shared/typeinference/qlpack.yml +++ b/shared/typeinference/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeinference -version: 0.0.20-dev +version: 0.0.22-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index 81415ed396f..769f68dd3dd 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.0.24 + +No user-facing changes. + +## 2.0.23 + +No user-facing changes. + ## 2.0.22 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/2.0.23.md b/shared/typetracking/change-notes/released/2.0.23.md new file mode 100644 index 00000000000..ab6f6f171ed --- /dev/null +++ b/shared/typetracking/change-notes/released/2.0.23.md @@ -0,0 +1,3 @@ +## 2.0.23 + +No user-facing changes. diff --git a/shared/typetracking/change-notes/released/2.0.24.md b/shared/typetracking/change-notes/released/2.0.24.md new file mode 100644 index 00000000000..6547901c334 --- /dev/null +++ b/shared/typetracking/change-notes/released/2.0.24.md @@ -0,0 +1,3 @@ +## 2.0.24 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 980bdfe195b..1460df314d5 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.22 +lastReleaseVersion: 2.0.24 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index e657f74f636..3c2758e0907 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 2.0.23-dev +version: 2.0.25-dev groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 6c9dced04a3..5ef65f8781d 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.39.md b/shared/typos/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/shared/typos/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.40.md b/shared/typos/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/shared/typos/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 31dfb14955f..07154ada547 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.39-dev +version: 1.0.41-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 30fd964656d..1c818e1f21d 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,11 @@ +## 2.0.27 + +No user-facing changes. + +## 2.0.26 + +No user-facing changes. + ## 2.0.25 No user-facing changes. diff --git a/shared/util/change-notes/released/2.0.26.md b/shared/util/change-notes/released/2.0.26.md new file mode 100644 index 00000000000..9b1fe95f577 --- /dev/null +++ b/shared/util/change-notes/released/2.0.26.md @@ -0,0 +1,3 @@ +## 2.0.26 + +No user-facing changes. diff --git a/shared/util/change-notes/released/2.0.27.md b/shared/util/change-notes/released/2.0.27.md new file mode 100644 index 00000000000..639cf77090e --- /dev/null +++ b/shared/util/change-notes/released/2.0.27.md @@ -0,0 +1,3 @@ +## 2.0.27 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index f54d8620118..a047558f018 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.25 +lastReleaseVersion: 2.0.27 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index fed06829e33..0b10b300a47 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 2.0.26-dev +version: 2.0.28-dev groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index 5c7447a15dd..cb8550f886b 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.39.md b/shared/xml/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/shared/xml/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.40.md b/shared/xml/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/shared/xml/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 079ebe8518c..86ac177bdbf 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.39-dev +version: 1.0.41-dev groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 073ffd8edae..82c9137dbbf 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.0.40 + +No user-facing changes. + +## 1.0.39 + +No user-facing changes. + ## 1.0.38 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.39.md b/shared/yaml/change-notes/released/1.0.39.md new file mode 100644 index 00000000000..cf832bc49f9 --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.39.md @@ -0,0 +1,3 @@ +## 1.0.39 + +No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.40.md b/shared/yaml/change-notes/released/1.0.40.md new file mode 100644 index 00000000000..3f2f101b3b7 --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.40.md @@ -0,0 +1,3 @@ +## 1.0.40 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index b14e9763a8d..326e4b5da67 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.38 +lastReleaseVersion: 1.0.40 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 1e60008ca44..9e3dec90b6d 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.39-dev +version: 1.0.41-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index da1d658ad02..efad17a8e8b 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 6.2.0 + +### Major Analysis Improvements + +* Upgraded to allow analysis of Swift 6.2.3. +* Upgraded to allow analysis of Swift 6.2.2. + +## 6.1.4 + +No user-facing changes. + ## 6.1.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/2025-12-11-swift-6.2.2.md b/swift/ql/lib/change-notes/2025-12-11-swift-6.2.2.md deleted file mode 100644 index 27927802dba..00000000000 --- a/swift/ql/lib/change-notes/2025-12-11-swift-6.2.2.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Upgraded to allow analysis of Swift 6.2.2. \ No newline at end of file diff --git a/swift/ql/lib/change-notes/2025-12-18-swift-6.2.3.md b/swift/ql/lib/change-notes/2025-12-18-swift-6.2.3.md deleted file mode 100644 index b8106460049..00000000000 --- a/swift/ql/lib/change-notes/2025-12-18-swift-6.2.3.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Upgraded to allow analysis of Swift 6.2.3. \ No newline at end of file diff --git a/swift/ql/lib/change-notes/released/6.1.4.md b/swift/ql/lib/change-notes/released/6.1.4.md new file mode 100644 index 00000000000..7c4728fafa4 --- /dev/null +++ b/swift/ql/lib/change-notes/released/6.1.4.md @@ -0,0 +1,3 @@ +## 6.1.4 + +No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/6.2.0.md b/swift/ql/lib/change-notes/released/6.2.0.md new file mode 100644 index 00000000000..065e47507e9 --- /dev/null +++ b/swift/ql/lib/change-notes/released/6.2.0.md @@ -0,0 +1,6 @@ +## 6.2.0 + +### Major Analysis Improvements + +* Upgraded to allow analysis of Swift 6.2.3. +* Upgraded to allow analysis of Swift 6.2.2. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index e641a874973..35c46c599f0 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 6.1.3 +lastReleaseVersion: 6.2.0 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 3e1437148de..84482a72c80 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 6.1.4-dev +version: 6.2.1-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index d3fc5577d26..b555657d87a 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.2.14 + +No user-facing changes. + +## 1.2.13 + +No user-facing changes. + ## 1.2.12 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.2.13.md b/swift/ql/src/change-notes/released/1.2.13.md new file mode 100644 index 00000000000..09ae7c67ca6 --- /dev/null +++ b/swift/ql/src/change-notes/released/1.2.13.md @@ -0,0 +1,3 @@ +## 1.2.13 + +No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.2.14.md b/swift/ql/src/change-notes/released/1.2.14.md new file mode 100644 index 00000000000..a46ed3aa08f --- /dev/null +++ b/swift/ql/src/change-notes/released/1.2.14.md @@ -0,0 +1,3 @@ +## 1.2.14 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 3f5f457c354..ef55ed9564a 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.12 +lastReleaseVersion: 1.2.14 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 82f916cc3cc..61ca00447b2 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.2.13-dev +version: 1.2.15-dev groups: - swift - queries